1 /************************************************************************* 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * 4 * Copyright 2008 by Sun Microsystems, Inc. 5 * 6 * OpenOffice.org - a multi-platform office productivity suite 7 * 8 * $RCSfile: mysqlc_propertyids.cxx,v $ 9 * 10 * $Revision: 1.1.2.2 $ 11 * 12 * This file is part of OpenOffice.org. 13 * 14 * OpenOffice.org is free software: you can redistribute it and/or modify 15 * it under the terms of the GNU Lesser General Public License version 3 16 * only, as published by the Free Software Foundation. 17 * 18 * OpenOffice.org is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU Lesser General Public License version 3 for more details 22 * (a copy is included in the LICENSE file that accompanied this code). 23 * 24 * You should have received a copy of the GNU Lesser General Public License 25 * version 3 along with OpenOffice.org. If not, see 26 * <http://www.openoffice.org/license.html> 27 * for a copy of the LGPLv3 License. 28 ************************************************************************/ 29 30 #ifndef _OSL_DIAGNOSE_H_ 31 #include <osl/diagnose.h> 32 #endif 33 #include "mysqlc_propertyids.hxx" 34 35 using ::rtl::OUString; 36 37 namespace connectivity 38 { 39 namespace mysqlc 40 { 41 const sal_Char* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; } 42 const sal_Char* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; } 43 const sal_Char* getPROPERTY_MAXROWS() { return "MaxRows"; } 44 const sal_Char* getPROPERTY_CURSORNAME() { return "CursorName"; } 45 const sal_Char* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; } 46 const sal_Char* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; } 47 const sal_Char* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; } 48 const sal_Char* getPROPERTY_FETCHSIZE() { return "FetchSize"; } 49 const sal_Char* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; } 50 const sal_Char* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; } 51 52 const sal_Char* getPROPERTY_NAME() { return "Name"; } 53 const sal_Char* getPROPERTY_TYPE() { return "Type"; } 54 const sal_Char* getPROPERTY_TYPENAME() { return "TypeName"; } 55 const sal_Char* getPROPERTY_PRECISION() { return "Precision"; } 56 const sal_Char* getPROPERTY_SCALE() { return "Scale"; } 57 const sal_Char* getPROPERTY_ISNULLABLE() { return "IsNullable"; } 58 const sal_Char* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; } 59 const sal_Char* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; } 60 const sal_Char* getPROPERTY_DESCRIPTION() { return "Description"; } 61 const sal_Char* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; } 62 63 const sal_Char* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; } 64 const sal_Char* getPROPERTY_UPDATERULE() { return "UpdateRule"; } 65 const sal_Char* getPROPERTY_DELETERULE() { return "DeleteRule"; } 66 const sal_Char* getPROPERTY_CATALOG() { return "Catalog"; } 67 const sal_Char* getPROPERTY_ISUNIQUE() { return "IsUnique"; } 68 const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; } 69 const sal_Char* getPROPERTY_ISCLUSTERED() { return "IsClustered"; } 70 const sal_Char* getPROPERTY_ISASCENDING() { return "IsAscending"; } 71 const sal_Char* getPROPERTY_SCHEMANAME() { return "SchemaName"; } 72 const sal_Char* getPROPERTY_CATALOGNAME() { return "CatalogName"; } 73 const sal_Char* getPROPERTY_COMMAND() { return "Command"; } 74 const sal_Char* getPROPERTY_CHECKOPTION() { return "CheckOption"; } 75 const sal_Char* getPROPERTY_PASSWORD() { return "Password"; } 76 const sal_Char* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; } 77 78 const sal_Char* getSTAT_INVALID_INDEX() { return "Invalid descriptor index"; } 79 80 const sal_Char* getPROPERTY_FUNCTION() { return "Function"; } 81 const sal_Char* getPROPERTY_TABLENAME() { return "TableName"; } 82 const sal_Char* getPROPERTY_REALNAME() { return "RealName"; } 83 const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; } 84 const sal_Char* getPROPERTY_ISCURRENCY() { return "IsCurrency"; } 85 const sal_Char* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; } 86 87 const sal_Char* getPROPERTY_FORMATKEY() { return "FormatKey"; } 88 const sal_Char* getPROPERTY_LOCALE() { return "Locale"; } 89 90 const sal_Char* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; } 91 const sal_Char* getPROPERTY_PRIVILEGES() { return "Privileges"; } 92 //============================================================ 93 //= error messages 94 //============================================================ 95 const sal_Char* getERRORMSG_SEQUENCE() { return "Function sequence error"; } 96 const sal_Char* getSQLSTATE_SEQUENCE() { return "HY010"; } 97 const sal_Char* getSQLSTATE_GENERAL() { return "HY0000"; } 98 const sal_Char* getSTR_DELIMITER() { return "/"; } 99 100 101 102 /* {{{ OPropertyMap::~OPropertyMap() -I- */ 103 OPropertyMap::~OPropertyMap() 104 { 105 ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); 106 for(; aIter != m_aPropertyMap.end(); ++aIter) { 107 if (aIter->second) { 108 rtl_uString_release(aIter->second); 109 } 110 } 111 } 112 /* }}} */ 113 114 115 /* {{{ OPropertyMap::getNameByIndex() -I- */ 116 OUString OPropertyMap::getNameByIndex(sal_Int32 idx) const 117 { 118 OUString sRet; 119 ::std::map<sal_Int32 , rtl_uString*>::const_iterator aIter = m_aPropertyMap.find(idx); 120 if (aIter == m_aPropertyMap.end()) { 121 sRet = const_cast<OPropertyMap*>(this)->fillValue(idx); 122 } else { 123 sRet = aIter->second; 124 } 125 return sRet; 126 } 127 /* }}} */ 128 129 typedef const sal_Char * (*property_callback)(); 130 131 static const property_callback property_callbacks[PROPERTY_ID_LAST] = 132 { 133 NULL, /* PROPERTY_ID_FIRST */ 134 getPROPERTY_QUERYTIMEOUT, 135 getPROPERTY_MAXFIELDSIZE, 136 getPROPERTY_MAXROWS, 137 getPROPERTY_CURSORNAME, 138 getPROPERTY_RESULTSETCONCURRENCY, 139 getPROPERTY_RESULTSETTYPE, 140 getPROPERTY_FETCHDIRECTION, 141 getPROPERTY_FETCHSIZE, 142 getPROPERTY_ESCAPEPROCESSING, 143 getPROPERTY_USEBOOKMARKS, 144 // Column 145 getPROPERTY_NAME, 146 getPROPERTY_TYPE, 147 getPROPERTY_TYPENAME, 148 getPROPERTY_PRECISION, 149 getPROPERTY_SCALE, 150 getPROPERTY_ISNULLABLE, 151 getPROPERTY_ISAUTOINCREMENT, 152 getPROPERTY_ISROWVERSION, 153 getPROPERTY_DESCRIPTION, 154 getPROPERTY_DEFAULTVALUE, 155 156 getPROPERTY_REFERENCEDTABLE, 157 getPROPERTY_UPDATERULE, 158 getPROPERTY_DELETERULE, 159 getPROPERTY_CATALOG, 160 getPROPERTY_ISUNIQUE, 161 getPROPERTY_ISPRIMARYKEYINDEX, 162 getPROPERTY_ISCLUSTERED, 163 getPROPERTY_ISASCENDING, 164 getPROPERTY_SCHEMANAME, 165 getPROPERTY_CATALOGNAME, 166 167 getPROPERTY_COMMAND, 168 getPROPERTY_CHECKOPTION, 169 getPROPERTY_PASSWORD, 170 getPROPERTY_RELATEDCOLUMN, 171 172 getPROPERTY_FUNCTION, 173 getPROPERTY_TABLENAME, 174 getPROPERTY_REALNAME, 175 getPROPERTY_DBASEPRECISIONCHANGED, 176 getPROPERTY_ISCURRENCY, 177 getPROPERTY_ISBOOKMARKABLE, 178 getSTAT_INVALID_INDEX, 179 getERRORMSG_SEQUENCE, 180 getSQLSTATE_SEQUENCE, 181 getSQLSTATE_GENERAL, 182 getSTR_DELIMITER, 183 getPROPERTY_FORMATKEY, 184 getPROPERTY_LOCALE, 185 getPROPERTY_AUTOINCREMENTCREATION, 186 getPROPERTY_PRIVILEGES, 187 }; 188 189 190 /* {{{ OPropertyMap::fillValue() -I- */ 191 OUString OPropertyMap::fillValue(sal_Int32 idx) 192 { 193 rtl_uString* pStr = NULL; 194 rtl_uString_newFromAscii(&pStr, property_callbacks[idx]()); 195 m_aPropertyMap[idx] = pStr; 196 return pStr; 197 } 198 /* }}} */ 199 200 } /* mysqlc */ 201 } /* connectivity */ 202 203 /* 204 * Local variables: 205 * tab-width: 4 206 * c-basic-offset: 4 207 * End: 208 * vim600: noet sw=4 ts=4 fdm=marker 209 * vim<600: noet sw=4 ts=4 210 */ 211