1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #include <osl/diagnose.h> 25 #include "propertyids.hxx" 26 namespace connectivity 27 { 28 namespace skeleton 29 { getPROPERTY_QUERYTIMEOUT()30 const sal_Char* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; } getPROPERTY_MAXFIELDSIZE()31 const sal_Char* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; } getPROPERTY_MAXROWS()32 const sal_Char* getPROPERTY_MAXROWS() { return "MaxRows"; } getPROPERTY_CURSORNAME()33 const sal_Char* getPROPERTY_CURSORNAME() { return "CursorName"; } getPROPERTY_RESULTSETCONCURRENCY()34 const sal_Char* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; } getPROPERTY_RESULTSETTYPE()35 const sal_Char* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; } getPROPERTY_FETCHDIRECTION()36 const sal_Char* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; } getPROPERTY_FETCHSIZE()37 const sal_Char* getPROPERTY_FETCHSIZE() { return "FetchSize"; } getPROPERTY_ESCAPEPROCESSING()38 const sal_Char* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; } getPROPERTY_USEBOOKMARKS()39 const sal_Char* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; } 40 getPROPERTY_NAME()41 const sal_Char* getPROPERTY_NAME() { return "Name"; } getPROPERTY_TYPE()42 const sal_Char* getPROPERTY_TYPE() { return "Type"; } getPROPERTY_TYPENAME()43 const sal_Char* getPROPERTY_TYPENAME() { return "TypeName"; } getPROPERTY_PRECISION()44 const sal_Char* getPROPERTY_PRECISION() { return "Precision"; } getPROPERTY_SCALE()45 const sal_Char* getPROPERTY_SCALE() { return "Scale"; } getPROPERTY_ISNULLABLE()46 const sal_Char* getPROPERTY_ISNULLABLE() { return "IsNullable"; } getPROPERTY_ISAUTOINCREMENT()47 const sal_Char* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; } getPROPERTY_ISROWVERSION()48 const sal_Char* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; } getPROPERTY_DESCRIPTION()49 const sal_Char* getPROPERTY_DESCRIPTION() { return "Description"; } getPROPERTY_DEFAULTVALUE()50 const sal_Char* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; } 51 getPROPERTY_REFERENCEDTABLE()52 const sal_Char* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; } getPROPERTY_UPDATERULE()53 const sal_Char* getPROPERTY_UPDATERULE() { return "UpdateRule"; } getPROPERTY_DELETERULE()54 const sal_Char* getPROPERTY_DELETERULE() { return "DeleteRule"; } getPROPERTY_CATALOG()55 const sal_Char* getPROPERTY_CATALOG() { return "Catalog"; } getPROPERTY_ISUNIQUE()56 const sal_Char* getPROPERTY_ISUNIQUE() { return "IsUnique"; } getPROPERTY_ISPRIMARYKEYINDEX()57 const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; } getPROPERTY_ISCLUSTERED()58 const sal_Char* getPROPERTY_ISCLUSTERED() { return "IsClustered"; } getPROPERTY_ISASCENDING()59 const sal_Char* getPROPERTY_ISASCENDING() { return "IsAscending"; } getPROPERTY_SCHEMANAME()60 const sal_Char* getPROPERTY_SCHEMANAME() { return "SchemaName"; } getPROPERTY_CATALOGNAME()61 const sal_Char* getPROPERTY_CATALOGNAME() { return "CatalogName"; } getPROPERTY_COMMAND()62 const sal_Char* getPROPERTY_COMMAND() { return "Command"; } getPROPERTY_CHECKOPTION()63 const sal_Char* getPROPERTY_CHECKOPTION() { return "CheckOption"; } getPROPERTY_PASSWORD()64 const sal_Char* getPROPERTY_PASSWORD() { return "Password"; } getPROPERTY_RELATEDCOLUMN()65 const sal_Char* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; } 66 getSTAT_INVALID_INDEX()67 const sal_Char* getSTAT_INVALID_INDEX() { return "Invalid descriptor index"; } 68 getPROPERTY_FUNCTION()69 const sal_Char* getPROPERTY_FUNCTION() { return "Function"; } getPROPERTY_TABLENAME()70 const sal_Char* getPROPERTY_TABLENAME() { return "TableName"; } getPROPERTY_REALNAME()71 const sal_Char* getPROPERTY_REALNAME() { return "RealName"; } getPROPERTY_DBASEPRECISIONCHANGED()72 const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; } getPROPERTY_ISCURRENCY()73 const sal_Char* getPROPERTY_ISCURRENCY() { return "IsCurrency"; } getPROPERTY_ISBOOKMARKABLE()74 const sal_Char* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; } 75 getPROPERTY_FORMATKEY()76 const sal_Char* getPROPERTY_FORMATKEY() { return "FormatKey"; } getPROPERTY_LOCALE()77 const sal_Char* getPROPERTY_LOCALE() { return "Locale"; } 78 getPROPERTY_AUTOINCREMENTCREATION()79 const sal_Char* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; } getPROPERTY_PRIVILEGES()80 const sal_Char* getPROPERTY_PRIVILEGES() { return "Privileges"; } 81 //============================================================ 82 //= error messages 83 //============================================================ getERRORMSG_SEQUENCE()84 const sal_Char* getERRORMSG_SEQUENCE() { return "Function sequence error"; } getSQLSTATE_SEQUENCE()85 const sal_Char* getSQLSTATE_SEQUENCE() { return "HY010"; } getSQLSTATE_GENERAL()86 const sal_Char* getSQLSTATE_GENERAL() { return "HY0000"; } getSTR_DELIMITER()87 const sal_Char* getSTR_DELIMITER() { return "/"; } 88 ~OPropertyMap()89 OPropertyMap::~OPropertyMap() 90 { 91 ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); 92 for(;aIter != m_aPropertyMap.end();++aIter) 93 if(aIter->second) 94 rtl_uString_release(aIter->second); 95 } 96 // ------------------------------------------------------------------------------ getNameByIndex(sal_Int32 _nIndex) const97 ::rtl::OUString OPropertyMap::getNameByIndex(sal_Int32 _nIndex) const 98 { 99 ::rtl::OUString sRet; 100 ::std::map<sal_Int32 , rtl_uString*>::const_iterator aIter = m_aPropertyMap.find(_nIndex); 101 if(aIter == m_aPropertyMap.end()) 102 sRet = const_cast<OPropertyMap*>(this)->fillValue(_nIndex); 103 else 104 sRet = aIter->second; 105 return sRet; 106 } 107 // ------------------------------------------------------------------------------ fillValue(sal_Int32 _nIndex)108 ::rtl::OUString OPropertyMap::fillValue(sal_Int32 _nIndex) 109 { 110 rtl_uString* pStr = NULL; 111 switch(_nIndex) 112 { 113 case PROPERTY_ID_QUERYTIMEOUT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_QUERYTIMEOUT() ); break; } 114 case PROPERTY_ID_MAXFIELDSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXFIELDSIZE() ); break; } 115 case PROPERTY_ID_MAXROWS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXROWS() ); break; } 116 case PROPERTY_ID_CURSORNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CURSORNAME() ); break; } 117 case PROPERTY_ID_RESULTSETCONCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETCONCURRENCY() ); break; } 118 case PROPERTY_ID_RESULTSETTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETTYPE() ); break; } 119 case PROPERTY_ID_FETCHDIRECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHDIRECTION() ); break; } 120 case PROPERTY_ID_FETCHSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHSIZE() ); break; } 121 case PROPERTY_ID_ESCAPEPROCESSING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ESCAPEPROCESSING() ); break; } 122 case PROPERTY_ID_USEBOOKMARKS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_USEBOOKMARKS() ); break; } 123 // Column 124 case PROPERTY_ID_NAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_NAME() ); break; } 125 case PROPERTY_ID_TYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPE() ); break; } 126 case PROPERTY_ID_TYPENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPENAME() ); break; } 127 case PROPERTY_ID_PRECISION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRECISION() ); break; } 128 case PROPERTY_ID_SCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCALE() ); break; } 129 case PROPERTY_ID_ISNULLABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISNULLABLE() ); break; } 130 case PROPERTY_ID_ISAUTOINCREMENT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISAUTOINCREMENT() ); break; } 131 case PROPERTY_ID_ISROWVERSION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISROWVERSION() ); break; } 132 case PROPERTY_ID_DESCRIPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DESCRIPTION() ); break; } 133 case PROPERTY_ID_DEFAULTVALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DEFAULTVALUE() ); break; } 134 135 case PROPERTY_ID_REFERENCEDTABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REFERENCEDTABLE() ); break; } 136 case PROPERTY_ID_UPDATERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_UPDATERULE() ); break; } 137 case PROPERTY_ID_DELETERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DELETERULE() ); break; } 138 case PROPERTY_ID_CATALOG: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOG() ); break; } 139 case PROPERTY_ID_ISUNIQUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISUNIQUE() ); break; } 140 case PROPERTY_ID_ISPRIMARYKEYINDEX: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISPRIMARYKEYINDEX() ); break; } 141 case PROPERTY_ID_ISCLUSTERED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCLUSTERED() ); break; } 142 case PROPERTY_ID_ISASCENDING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISASCENDING() ); break; } 143 case PROPERTY_ID_SCHEMANAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCHEMANAME() ); break; } 144 case PROPERTY_ID_CATALOGNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOGNAME() ); break; } 145 146 case PROPERTY_ID_COMMAND: { rtl_uString_newFromAscii(&pStr,getPROPERTY_COMMAND() ); break; } 147 case PROPERTY_ID_CHECKOPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CHECKOPTION() ); break; } 148 case PROPERTY_ID_PASSWORD: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PASSWORD() ); break; } 149 case PROPERTY_ID_RELATEDCOLUMN: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RELATEDCOLUMN() ); break; } 150 151 case PROPERTY_ID_FUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FUNCTION() ); break; } 152 case PROPERTY_ID_TABLENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TABLENAME() ); break; } 153 case PROPERTY_ID_REALNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REALNAME() ); break; } 154 case PROPERTY_ID_DBASEPRECISIONCHANGED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DBASEPRECISIONCHANGED() ); break; } 155 case PROPERTY_ID_ISCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCURRENCY() ); break; } 156 case PROPERTY_ID_ISBOOKMARKABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISBOOKMARKABLE() ); break; } 157 case PROPERTY_ID_INVALID_INDEX: { rtl_uString_newFromAscii(&pStr,getSTAT_INVALID_INDEX() ); break; } 158 case PROPERTY_ID_ERRORMSG_SEQUENCE: { rtl_uString_newFromAscii(&pStr,getERRORMSG_SEQUENCE() ); break; } 159 case PROPERTY_ID_HY010: { rtl_uString_newFromAscii(&pStr,getSQLSTATE_SEQUENCE() ); break; } 160 case PROPERTY_ID_HY0000: { rtl_uString_newFromAscii(&pStr,getSQLSTATE_GENERAL() ); break; } 161 case PROPERTY_ID_DELIMITER: { rtl_uString_newFromAscii(&pStr,getSTR_DELIMITER() ); break; } 162 case PROPERTY_ID_FORMATKEY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FORMATKEY() ); break; } 163 case PROPERTY_ID_LOCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_LOCALE() ); break; } 164 case PROPERTY_ID_AUTOINCREMENTCREATION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AUTOINCREMENTCREATION() ); break; } 165 case PROPERTY_ID_PRIVILEGES: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRIVILEGES() ); break; } 166 } 167 m_aPropertyMap[_nIndex] = pStr; 168 return pStr; 169 } 170 } 171 } 172