| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| #ifndef _OSL_DIAGNOSE_H_ |
| #include <osl/diagnose.h> |
| #endif |
| #include "mysqlc_propertyids.hxx" |
| |
| using ::rtl::OUString; |
| |
| namespace connectivity |
| { |
| namespace mysqlc |
| { |
| const sal_Char* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; } |
| const sal_Char* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; } |
| const sal_Char* getPROPERTY_MAXROWS() { return "MaxRows"; } |
| const sal_Char* getPROPERTY_CURSORNAME() { return "CursorName"; } |
| const sal_Char* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; } |
| const sal_Char* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; } |
| const sal_Char* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; } |
| const sal_Char* getPROPERTY_FETCHSIZE() { return "FetchSize"; } |
| const sal_Char* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; } |
| const sal_Char* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; } |
| |
| const sal_Char* getPROPERTY_NAME() { return "Name"; } |
| const sal_Char* getPROPERTY_TYPE() { return "Type"; } |
| const sal_Char* getPROPERTY_TYPENAME() { return "TypeName"; } |
| const sal_Char* getPROPERTY_PRECISION() { return "Precision"; } |
| const sal_Char* getPROPERTY_SCALE() { return "Scale"; } |
| const sal_Char* getPROPERTY_ISNULLABLE() { return "IsNullable"; } |
| const sal_Char* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; } |
| const sal_Char* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; } |
| const sal_Char* getPROPERTY_DESCRIPTION() { return "Description"; } |
| const sal_Char* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; } |
| |
| const sal_Char* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; } |
| const sal_Char* getPROPERTY_UPDATERULE() { return "UpdateRule"; } |
| const sal_Char* getPROPERTY_DELETERULE() { return "DeleteRule"; } |
| const sal_Char* getPROPERTY_CATALOG() { return "Catalog"; } |
| const sal_Char* getPROPERTY_ISUNIQUE() { return "IsUnique"; } |
| const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; } |
| const sal_Char* getPROPERTY_ISCLUSTERED() { return "IsClustered"; } |
| const sal_Char* getPROPERTY_ISASCENDING() { return "IsAscending"; } |
| const sal_Char* getPROPERTY_SCHEMANAME() { return "SchemaName"; } |
| const sal_Char* getPROPERTY_CATALOGNAME() { return "CatalogName"; } |
| const sal_Char* getPROPERTY_COMMAND() { return "Command"; } |
| const sal_Char* getPROPERTY_CHECKOPTION() { return "CheckOption"; } |
| const sal_Char* getPROPERTY_PASSWORD() { return "Password"; } |
| const sal_Char* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; } |
| |
| const sal_Char* getSTAT_INVALID_INDEX() { return "Invalid descriptor index"; } |
| |
| const sal_Char* getPROPERTY_FUNCTION() { return "Function"; } |
| const sal_Char* getPROPERTY_TABLENAME() { return "TableName"; } |
| const sal_Char* getPROPERTY_REALNAME() { return "RealName"; } |
| const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; } |
| const sal_Char* getPROPERTY_ISCURRENCY() { return "IsCurrency"; } |
| const sal_Char* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; } |
| |
| const sal_Char* getPROPERTY_FORMATKEY() { return "FormatKey"; } |
| const sal_Char* getPROPERTY_LOCALE() { return "Locale"; } |
| |
| const sal_Char* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; } |
| const sal_Char* getPROPERTY_PRIVILEGES() { return "Privileges"; } |
| //============================================================ |
| //= error messages |
| //============================================================ |
| const sal_Char* getERRORMSG_SEQUENCE() { return "Function sequence error"; } |
| const sal_Char* getSQLSTATE_SEQUENCE() { return "HY010"; } |
| const sal_Char* getSQLSTATE_GENERAL() { return "HY0000"; } |
| const sal_Char* getSTR_DELIMITER() { return "/"; } |
| |
| |
| |
| /* {{{ OPropertyMap::~OPropertyMap() -I- */ |
| OPropertyMap::~OPropertyMap() |
| { |
| ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); |
| for(; aIter != m_aPropertyMap.end(); ++aIter) { |
| if (aIter->second) { |
| rtl_uString_release(aIter->second); |
| } |
| } |
| } |
| /* }}} */ |
| |
| |
| /* {{{ OPropertyMap::getNameByIndex() -I- */ |
| OUString OPropertyMap::getNameByIndex(sal_Int32 idx) const |
| { |
| OUString sRet; |
| ::std::map<sal_Int32 , rtl_uString*>::const_iterator aIter = m_aPropertyMap.find(idx); |
| if (aIter == m_aPropertyMap.end()) { |
| sRet = const_cast<OPropertyMap*>(this)->fillValue(idx); |
| } else { |
| sRet = aIter->second; |
| } |
| return sRet; |
| } |
| /* }}} */ |
| |
| typedef const sal_Char * (*property_callback)(); |
| |
| static const property_callback property_callbacks[PROPERTY_ID_LAST] = |
| { |
| NULL, /* PROPERTY_ID_FIRST */ |
| getPROPERTY_QUERYTIMEOUT, |
| getPROPERTY_MAXFIELDSIZE, |
| getPROPERTY_MAXROWS, |
| getPROPERTY_CURSORNAME, |
| getPROPERTY_RESULTSETCONCURRENCY, |
| getPROPERTY_RESULTSETTYPE, |
| getPROPERTY_FETCHDIRECTION, |
| getPROPERTY_FETCHSIZE, |
| getPROPERTY_ESCAPEPROCESSING, |
| getPROPERTY_USEBOOKMARKS, |
| // Column |
| getPROPERTY_NAME, |
| getPROPERTY_TYPE, |
| getPROPERTY_TYPENAME, |
| getPROPERTY_PRECISION, |
| getPROPERTY_SCALE, |
| getPROPERTY_ISNULLABLE, |
| getPROPERTY_ISAUTOINCREMENT, |
| getPROPERTY_ISROWVERSION, |
| getPROPERTY_DESCRIPTION, |
| getPROPERTY_DEFAULTVALUE, |
| |
| getPROPERTY_REFERENCEDTABLE, |
| getPROPERTY_UPDATERULE, |
| getPROPERTY_DELETERULE, |
| getPROPERTY_CATALOG, |
| getPROPERTY_ISUNIQUE, |
| getPROPERTY_ISPRIMARYKEYINDEX, |
| getPROPERTY_ISCLUSTERED, |
| getPROPERTY_ISASCENDING, |
| getPROPERTY_SCHEMANAME, |
| getPROPERTY_CATALOGNAME, |
| |
| getPROPERTY_COMMAND, |
| getPROPERTY_CHECKOPTION, |
| getPROPERTY_PASSWORD, |
| getPROPERTY_RELATEDCOLUMN, |
| |
| getPROPERTY_FUNCTION, |
| getPROPERTY_TABLENAME, |
| getPROPERTY_REALNAME, |
| getPROPERTY_DBASEPRECISIONCHANGED, |
| getPROPERTY_ISCURRENCY, |
| getPROPERTY_ISBOOKMARKABLE, |
| getSTAT_INVALID_INDEX, |
| getERRORMSG_SEQUENCE, |
| getSQLSTATE_SEQUENCE, |
| getSQLSTATE_GENERAL, |
| getSTR_DELIMITER, |
| getPROPERTY_FORMATKEY, |
| getPROPERTY_LOCALE, |
| getPROPERTY_AUTOINCREMENTCREATION, |
| getPROPERTY_PRIVILEGES, |
| }; |
| |
| |
| /* {{{ OPropertyMap::fillValue() -I- */ |
| OUString OPropertyMap::fillValue(sal_Int32 idx) |
| { |
| rtl_uString* pStr = NULL; |
| rtl_uString_newFromAscii(&pStr, property_callbacks[idx]()); |
| m_aPropertyMap[idx] = pStr; |
| return pStr; |
| } |
| /* }}} */ |
| |
| } /* mysqlc */ |
| } /* connectivity */ |
| |
| /* |
| * Local variables: |
| * tab-width: 4 |
| * c-basic-offset: 4 |
| * End: |
| * vim600: noet sw=4 ts=4 fdm=marker |
| * vim<600: noet sw=4 ts=4 |
| */ |