1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 29*cdf0e10cSrcweir #include "precompiled_connectivity.hxx" 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include "propertyids.hxx" 32*cdf0e10cSrcweir 33*cdf0e10cSrcweir namespace dbtools 34*cdf0e10cSrcweir { 35*cdf0e10cSrcweir const sal_Char* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; } 36*cdf0e10cSrcweir const sal_Char* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; } 37*cdf0e10cSrcweir const sal_Char* getPROPERTY_MAXROWS() { return "MaxRows"; } 38*cdf0e10cSrcweir const sal_Char* getPROPERTY_CURSORNAME() { return "CursorName"; } 39*cdf0e10cSrcweir const sal_Char* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; } 40*cdf0e10cSrcweir const sal_Char* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; } 41*cdf0e10cSrcweir const sal_Char* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; } 42*cdf0e10cSrcweir const sal_Char* getPROPERTY_FETCHSIZE() { return "FetchSize"; } 43*cdf0e10cSrcweir const sal_Char* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; } 44*cdf0e10cSrcweir const sal_Char* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; } 45*cdf0e10cSrcweir 46*cdf0e10cSrcweir const sal_Char* getPROPERTY_NAME() { return "Name"; } 47*cdf0e10cSrcweir const sal_Char* getPROPERTY_TYPE() { return "Type"; } 48*cdf0e10cSrcweir const sal_Char* getPROPERTY_TYPENAME() { return "TypeName"; } 49*cdf0e10cSrcweir const sal_Char* getPROPERTY_PRECISION() { return "Precision"; } 50*cdf0e10cSrcweir const sal_Char* getPROPERTY_SCALE() { return "Scale"; } 51*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISNULLABLE() { return "IsNullable"; } 52*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; } 53*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; } 54*cdf0e10cSrcweir const sal_Char* getPROPERTY_DESCRIPTION() { return "Description"; } 55*cdf0e10cSrcweir const sal_Char* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; } 56*cdf0e10cSrcweir 57*cdf0e10cSrcweir const sal_Char* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; } 58*cdf0e10cSrcweir const sal_Char* getPROPERTY_UPDATERULE() { return "UpdateRule"; } 59*cdf0e10cSrcweir const sal_Char* getPROPERTY_DELETERULE() { return "DeleteRule"; } 60*cdf0e10cSrcweir const sal_Char* getPROPERTY_CATALOG() { return "Catalog"; } 61*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISUNIQUE() { return "IsUnique"; } 62*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; } 63*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISCLUSTERED() { return "IsClustered"; } 64*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISASCENDING() { return "IsAscending"; } 65*cdf0e10cSrcweir const sal_Char* getPROPERTY_SCHEMANAME() { return "SchemaName"; } 66*cdf0e10cSrcweir const sal_Char* getPROPERTY_CATALOGNAME() { return "CatalogName"; } 67*cdf0e10cSrcweir const sal_Char* getPROPERTY_COMMAND() { return "Command"; } 68*cdf0e10cSrcweir const sal_Char* getPROPERTY_CHECKOPTION() { return "CheckOption"; } 69*cdf0e10cSrcweir const sal_Char* getPROPERTY_PASSWORD() { return "Password"; } 70*cdf0e10cSrcweir const sal_Char* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; } 71*cdf0e10cSrcweir 72*cdf0e10cSrcweir const sal_Char* getPROPERTY_FUNCTION() { return "Function"; } 73*cdf0e10cSrcweir const sal_Char* getPROPERTY_AGGREGATEFUNCTION() { return "AggregateFunction"; } 74*cdf0e10cSrcweir const sal_Char* getPROPERTY_TABLENAME() { return "TableName"; } 75*cdf0e10cSrcweir const sal_Char* getPROPERTY_REALNAME() { return "RealName"; } 76*cdf0e10cSrcweir const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; } 77*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISCURRENCY() { return "IsCurrency"; } 78*cdf0e10cSrcweir const sal_Char* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; } 79*cdf0e10cSrcweir 80*cdf0e10cSrcweir const sal_Char* getPROPERTY_FORMATKEY() { return "FormatKey"; } 81*cdf0e10cSrcweir const sal_Char* getPROPERTY_LOCALE() { return "Locale"; } 82*cdf0e10cSrcweir 83*cdf0e10cSrcweir const sal_Char* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; } 84*cdf0e10cSrcweir const sal_Char* getPROPERTY_PRIVILEGES() { return "Privileges"; } 85*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_HAVINGCLAUSE() { return "HavingClause"; } 86*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_ISSIGNED() { return "IsSigned"; } 87*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_ISSEARCHABLE() { return "IsSearchable"; } 88*cdf0e10cSrcweir 89*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_APPLYFILTER() { return "ApplyFilter"; } 90*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_FILTER() { return "Filter"; } 91*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_MASTERFIELDS() { return "MasterFields"; } 92*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_DETAILFIELDS() { return "DetailFields"; } 93*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_FIELDTYPE() { return "FieldType"; } 94*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_VALUE() { return "Value"; } 95*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_ACTIVE_CONNECTION() { return "ActiveConnection"; } 96*cdf0e10cSrcweir const sal_Char* getPROPERTY_ID_LABEL() { return "Label"; } 97*cdf0e10cSrcweir 98*cdf0e10cSrcweir //============================================================ 99*cdf0e10cSrcweir //= error messages 100*cdf0e10cSrcweir //============================================================ 101*cdf0e10cSrcweir const sal_Char* getSQLSTATE_SEQUENCE() { return "HY010"; } 102*cdf0e10cSrcweir const sal_Char* getSTR_DELIMITER() { return "/"; } 103*cdf0e10cSrcweir 104*cdf0e10cSrcweir 105*cdf0e10cSrcweir 106*cdf0e10cSrcweir OPropertyMap::~OPropertyMap() 107*cdf0e10cSrcweir { 108*cdf0e10cSrcweir ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); 109*cdf0e10cSrcweir for(;aIter != m_aPropertyMap.end();++aIter) 110*cdf0e10cSrcweir if(aIter->second) 111*cdf0e10cSrcweir rtl_uString_release(aIter->second); 112*cdf0e10cSrcweir } 113*cdf0e10cSrcweir // ------------------------------------------------------------------------------ 114*cdf0e10cSrcweir ::rtl::OUString OPropertyMap::getNameByIndex(sal_Int32 _nIndex) const 115*cdf0e10cSrcweir { 116*cdf0e10cSrcweir ::rtl::OUString sRet; 117*cdf0e10cSrcweir ::std::map<sal_Int32 , rtl_uString*>::const_iterator aIter = m_aPropertyMap.find(_nIndex); 118*cdf0e10cSrcweir if(aIter == m_aPropertyMap.end()) 119*cdf0e10cSrcweir sRet = const_cast<OPropertyMap*>(this)->fillValue(_nIndex); 120*cdf0e10cSrcweir else 121*cdf0e10cSrcweir sRet = aIter->second; 122*cdf0e10cSrcweir return sRet; 123*cdf0e10cSrcweir } 124*cdf0e10cSrcweir // ------------------------------------------------------------------------------ 125*cdf0e10cSrcweir ::rtl::OUString OPropertyMap::fillValue(sal_Int32 _nIndex) 126*cdf0e10cSrcweir { 127*cdf0e10cSrcweir rtl_uString* pStr = NULL; 128*cdf0e10cSrcweir switch(_nIndex) 129*cdf0e10cSrcweir { 130*cdf0e10cSrcweir case PROPERTY_ID_QUERYTIMEOUT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_QUERYTIMEOUT() ); break; } 131*cdf0e10cSrcweir case PROPERTY_ID_MAXFIELDSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXFIELDSIZE() ); break; } 132*cdf0e10cSrcweir case PROPERTY_ID_MAXROWS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXROWS() ); break; } 133*cdf0e10cSrcweir case PROPERTY_ID_CURSORNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CURSORNAME() ); break; } 134*cdf0e10cSrcweir case PROPERTY_ID_RESULTSETCONCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETCONCURRENCY() ); break; } 135*cdf0e10cSrcweir case PROPERTY_ID_RESULTSETTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETTYPE() ); break; } 136*cdf0e10cSrcweir case PROPERTY_ID_FETCHDIRECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHDIRECTION() ); break; } 137*cdf0e10cSrcweir case PROPERTY_ID_FETCHSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHSIZE() ); break; } 138*cdf0e10cSrcweir case PROPERTY_ID_ESCAPEPROCESSING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ESCAPEPROCESSING() ); break; } 139*cdf0e10cSrcweir case PROPERTY_ID_USEBOOKMARKS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_USEBOOKMARKS() ); break; } 140*cdf0e10cSrcweir // Column 141*cdf0e10cSrcweir case PROPERTY_ID_NAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_NAME() ); break; } 142*cdf0e10cSrcweir case PROPERTY_ID_TYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPE() ); break; } 143*cdf0e10cSrcweir case PROPERTY_ID_TYPENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPENAME() ); break; } 144*cdf0e10cSrcweir case PROPERTY_ID_PRECISION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRECISION() ); break; } 145*cdf0e10cSrcweir case PROPERTY_ID_SCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCALE() ); break; } 146*cdf0e10cSrcweir case PROPERTY_ID_ISNULLABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISNULLABLE() ); break; } 147*cdf0e10cSrcweir case PROPERTY_ID_ISAUTOINCREMENT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISAUTOINCREMENT() ); break; } 148*cdf0e10cSrcweir case PROPERTY_ID_ISROWVERSION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISROWVERSION() ); break; } 149*cdf0e10cSrcweir case PROPERTY_ID_DESCRIPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DESCRIPTION() ); break; } 150*cdf0e10cSrcweir case PROPERTY_ID_DEFAULTVALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DEFAULTVALUE() ); break; } 151*cdf0e10cSrcweir 152*cdf0e10cSrcweir case PROPERTY_ID_REFERENCEDTABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REFERENCEDTABLE() ); break; } 153*cdf0e10cSrcweir case PROPERTY_ID_UPDATERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_UPDATERULE() ); break; } 154*cdf0e10cSrcweir case PROPERTY_ID_DELETERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DELETERULE() ); break; } 155*cdf0e10cSrcweir case PROPERTY_ID_CATALOG: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOG() ); break; } 156*cdf0e10cSrcweir case PROPERTY_ID_ISUNIQUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISUNIQUE() ); break; } 157*cdf0e10cSrcweir case PROPERTY_ID_ISPRIMARYKEYINDEX: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISPRIMARYKEYINDEX() ); break; } 158*cdf0e10cSrcweir case PROPERTY_ID_ISCLUSTERED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCLUSTERED() ); break; } 159*cdf0e10cSrcweir case PROPERTY_ID_ISASCENDING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISASCENDING() ); break; } 160*cdf0e10cSrcweir case PROPERTY_ID_SCHEMANAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCHEMANAME() ); break; } 161*cdf0e10cSrcweir case PROPERTY_ID_CATALOGNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOGNAME() ); break; } 162*cdf0e10cSrcweir 163*cdf0e10cSrcweir case PROPERTY_ID_COMMAND: { rtl_uString_newFromAscii(&pStr,getPROPERTY_COMMAND() ); break; } 164*cdf0e10cSrcweir case PROPERTY_ID_CHECKOPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CHECKOPTION() ); break; } 165*cdf0e10cSrcweir case PROPERTY_ID_PASSWORD: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PASSWORD() ); break; } 166*cdf0e10cSrcweir case PROPERTY_ID_RELATEDCOLUMN: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RELATEDCOLUMN() ); break; } 167*cdf0e10cSrcweir 168*cdf0e10cSrcweir case PROPERTY_ID_FUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FUNCTION() ); break; } 169*cdf0e10cSrcweir case PROPERTY_ID_AGGREGATEFUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AGGREGATEFUNCTION() ); break; } 170*cdf0e10cSrcweir case PROPERTY_ID_TABLENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TABLENAME() ); break; } 171*cdf0e10cSrcweir case PROPERTY_ID_REALNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REALNAME() ); break; } 172*cdf0e10cSrcweir case PROPERTY_ID_DBASEPRECISIONCHANGED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DBASEPRECISIONCHANGED()); break; } 173*cdf0e10cSrcweir case PROPERTY_ID_ISCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCURRENCY() ); break; } 174*cdf0e10cSrcweir case PROPERTY_ID_ISBOOKMARKABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISBOOKMARKABLE() ); break; } 175*cdf0e10cSrcweir case PROPERTY_ID_HY010: { rtl_uString_newFromAscii(&pStr,getSQLSTATE_SEQUENCE() ); break; } 176*cdf0e10cSrcweir case PROPERTY_ID_DELIMITER: { rtl_uString_newFromAscii(&pStr,getSTR_DELIMITER() ); break; } 177*cdf0e10cSrcweir case PROPERTY_ID_FORMATKEY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FORMATKEY() ); break; } 178*cdf0e10cSrcweir case PROPERTY_ID_LOCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_LOCALE() ); break; } 179*cdf0e10cSrcweir case PROPERTY_ID_AUTOINCREMENTCREATION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AUTOINCREMENTCREATION()); break; } 180*cdf0e10cSrcweir case PROPERTY_ID_PRIVILEGES: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRIVILEGES() ); break; } 181*cdf0e10cSrcweir case PROPERTY_ID_HAVINGCLAUSE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_HAVINGCLAUSE() ); break; } 182*cdf0e10cSrcweir case PROPERTY_ID_ISSIGNED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ISSIGNED() ); break; } 183*cdf0e10cSrcweir case PROPERTY_ID_ISSEARCHABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ISSEARCHABLE() ); break; } 184*cdf0e10cSrcweir case PROPERTY_ID_LABEL: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_LABEL() ); break; } 185*cdf0e10cSrcweir case PROPERTY_ID_APPLYFILTER: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_APPLYFILTER() ); break; } 186*cdf0e10cSrcweir case PROPERTY_ID_FILTER: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_FILTER() ); break; } 187*cdf0e10cSrcweir case PROPERTY_ID_MASTERFIELDS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_MASTERFIELDS() ); break; } 188*cdf0e10cSrcweir case PROPERTY_ID_DETAILFIELDS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_DETAILFIELDS() ); break; } 189*cdf0e10cSrcweir case PROPERTY_ID_FIELDTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_FIELDTYPE() ); break; } 190*cdf0e10cSrcweir case PROPERTY_ID_VALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_VALUE() ); break; } 191*cdf0e10cSrcweir case PROPERTY_ID_ACTIVE_CONNECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ACTIVE_CONNECTION() ); break; } 192*cdf0e10cSrcweir } 193*cdf0e10cSrcweir m_aPropertyMap[_nIndex] = pStr; 194*cdf0e10cSrcweir return pStr; 195*cdf0e10cSrcweir } 196*cdf0e10cSrcweir } 197*cdf0e10cSrcweir 198*cdf0e10cSrcweir 199