1 /*************************************************************************
3 * $RCSfile: propertyids.cxx,v $
7 * last change: $Author: rt $ $Date: 2008-04-10 16:38:16 $
9 * The Contents of this file are made available subject to the terms of
12 * Copyright (c) 2003 by Sun Microsystems, Inc.
13 * All rights reserved.
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 * 3. Neither the name of Sun Microsystems, Inc. nor the names of its
24 * contributors may be used to endorse or promote products derived
25 * from this software without specific prior written permission.
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
30 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
31 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
36 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
37 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *************************************************************************/
41 #include <osl/diagnose.h>
42 #include "propertyids.hxx"
43 namespace connectivity
47 const sal_Char
* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; }
48 const sal_Char
* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; }
49 const sal_Char
* getPROPERTY_MAXROWS() { return "MaxRows"; }
50 const sal_Char
* getPROPERTY_CURSORNAME() { return "CursorName"; }
51 const sal_Char
* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; }
52 const sal_Char
* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; }
53 const sal_Char
* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; }
54 const sal_Char
* getPROPERTY_FETCHSIZE() { return "FetchSize"; }
55 const sal_Char
* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; }
56 const sal_Char
* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; }
58 const sal_Char
* getPROPERTY_NAME() { return "Name"; }
59 const sal_Char
* getPROPERTY_TYPE() { return "Type"; }
60 const sal_Char
* getPROPERTY_TYPENAME() { return "TypeName"; }
61 const sal_Char
* getPROPERTY_PRECISION() { return "Precision"; }
62 const sal_Char
* getPROPERTY_SCALE() { return "Scale"; }
63 const sal_Char
* getPROPERTY_ISNULLABLE() { return "IsNullable"; }
64 const sal_Char
* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; }
65 const sal_Char
* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; }
66 const sal_Char
* getPROPERTY_DESCRIPTION() { return "Description"; }
67 const sal_Char
* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; }
69 const sal_Char
* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; }
70 const sal_Char
* getPROPERTY_UPDATERULE() { return "UpdateRule"; }
71 const sal_Char
* getPROPERTY_DELETERULE() { return "DeleteRule"; }
72 const sal_Char
* getPROPERTY_CATALOG() { return "Catalog"; }
73 const sal_Char
* getPROPERTY_ISUNIQUE() { return "IsUnique"; }
74 const sal_Char
* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; }
75 const sal_Char
* getPROPERTY_ISCLUSTERED() { return "IsClustered"; }
76 const sal_Char
* getPROPERTY_ISASCENDING() { return "IsAscending"; }
77 const sal_Char
* getPROPERTY_SCHEMANAME() { return "SchemaName"; }
78 const sal_Char
* getPROPERTY_CATALOGNAME() { return "CatalogName"; }
79 const sal_Char
* getPROPERTY_COMMAND() { return "Command"; }
80 const sal_Char
* getPROPERTY_CHECKOPTION() { return "CheckOption"; }
81 const sal_Char
* getPROPERTY_PASSWORD() { return "Password"; }
82 const sal_Char
* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; }
84 const sal_Char
* getSTAT_INVALID_INDEX() { return "Invalid descriptor index"; }
86 const sal_Char
* getPROPERTY_FUNCTION() { return "Function"; }
87 const sal_Char
* getPROPERTY_TABLENAME() { return "TableName"; }
88 const sal_Char
* getPROPERTY_REALNAME() { return "RealName"; }
89 const sal_Char
* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; }
90 const sal_Char
* getPROPERTY_ISCURRENCY() { return "IsCurrency"; }
91 const sal_Char
* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; }
93 const sal_Char
* getPROPERTY_FORMATKEY() { return "FormatKey"; }
94 const sal_Char
* getPROPERTY_LOCALE() { return "Locale"; }
96 const sal_Char
* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; }
97 const sal_Char
* getPROPERTY_PRIVILEGES() { return "Privileges"; }
98 //============================================================
100 //============================================================
101 const sal_Char
* getERRORMSG_SEQUENCE() { return "Function sequence error"; }
102 const sal_Char
* getSQLSTATE_SEQUENCE() { return "HY010"; }
103 const sal_Char
* getSQLSTATE_GENERAL() { return "HY0000"; }
104 const sal_Char
* getSTR_DELIMITER() { return "/"; }
106 OPropertyMap::~OPropertyMap()
108 ::std::map
<sal_Int32
, rtl_uString
*>::iterator aIter
= m_aPropertyMap
.begin();
109 for(;aIter
!= m_aPropertyMap
.end();++aIter
)
111 rtl_uString_release(aIter
->second
);
113 // ------------------------------------------------------------------------------
114 ::rtl::OUString
OPropertyMap::getNameByIndex(sal_Int32 _nIndex
) const
116 ::rtl::OUString sRet
;
117 ::std::map
<sal_Int32
, rtl_uString
*>::const_iterator aIter
= m_aPropertyMap
.find(_nIndex
);
118 if(aIter
== m_aPropertyMap
.end())
119 sRet
= const_cast<OPropertyMap
*>(this)->fillValue(_nIndex
);
121 sRet
= aIter
->second
;
124 // ------------------------------------------------------------------------------
125 ::rtl::OUString
OPropertyMap::fillValue(sal_Int32 _nIndex
)
127 rtl_uString
* pStr
= NULL
;
130 case PROPERTY_ID_QUERYTIMEOUT
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_QUERYTIMEOUT() ); break; }
131 case PROPERTY_ID_MAXFIELDSIZE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_MAXFIELDSIZE() ); break; }
132 case PROPERTY_ID_MAXROWS
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_MAXROWS() ); break; }
133 case PROPERTY_ID_CURSORNAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_CURSORNAME() ); break; }
134 case PROPERTY_ID_RESULTSETCONCURRENCY
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_RESULTSETCONCURRENCY() ); break; }
135 case PROPERTY_ID_RESULTSETTYPE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_RESULTSETTYPE() ); break; }
136 case PROPERTY_ID_FETCHDIRECTION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_FETCHDIRECTION() ); break; }
137 case PROPERTY_ID_FETCHSIZE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_FETCHSIZE() ); break; }
138 case PROPERTY_ID_ESCAPEPROCESSING
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ESCAPEPROCESSING() ); break; }
139 case PROPERTY_ID_USEBOOKMARKS
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_USEBOOKMARKS() ); break; }
141 case PROPERTY_ID_NAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_NAME() ); break; }
142 case PROPERTY_ID_TYPE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_TYPE() ); break; }
143 case PROPERTY_ID_TYPENAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_TYPENAME() ); break; }
144 case PROPERTY_ID_PRECISION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_PRECISION() ); break; }
145 case PROPERTY_ID_SCALE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_SCALE() ); break; }
146 case PROPERTY_ID_ISNULLABLE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISNULLABLE() ); break; }
147 case PROPERTY_ID_ISAUTOINCREMENT
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISAUTOINCREMENT() ); break; }
148 case PROPERTY_ID_ISROWVERSION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISROWVERSION() ); break; }
149 case PROPERTY_ID_DESCRIPTION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_DESCRIPTION() ); break; }
150 case PROPERTY_ID_DEFAULTVALUE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_DEFAULTVALUE() ); break; }
152 case PROPERTY_ID_REFERENCEDTABLE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_REFERENCEDTABLE() ); break; }
153 case PROPERTY_ID_UPDATERULE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_UPDATERULE() ); break; }
154 case PROPERTY_ID_DELETERULE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_DELETERULE() ); break; }
155 case PROPERTY_ID_CATALOG
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_CATALOG() ); break; }
156 case PROPERTY_ID_ISUNIQUE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISUNIQUE() ); break; }
157 case PROPERTY_ID_ISPRIMARYKEYINDEX
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISPRIMARYKEYINDEX() ); break; }
158 case PROPERTY_ID_ISCLUSTERED
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISCLUSTERED() ); break; }
159 case PROPERTY_ID_ISASCENDING
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISASCENDING() ); break; }
160 case PROPERTY_ID_SCHEMANAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_SCHEMANAME() ); break; }
161 case PROPERTY_ID_CATALOGNAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_CATALOGNAME() ); break; }
163 case PROPERTY_ID_COMMAND
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_COMMAND() ); break; }
164 case PROPERTY_ID_CHECKOPTION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_CHECKOPTION() ); break; }
165 case PROPERTY_ID_PASSWORD
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_PASSWORD() ); break; }
166 case PROPERTY_ID_RELATEDCOLUMN
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_RELATEDCOLUMN() ); break; }
168 case PROPERTY_ID_FUNCTION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_FUNCTION() ); break; }
169 case PROPERTY_ID_TABLENAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_TABLENAME() ); break; }
170 case PROPERTY_ID_REALNAME
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_REALNAME() ); break; }
171 case PROPERTY_ID_DBASEPRECISIONCHANGED
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_DBASEPRECISIONCHANGED() ); break; }
172 case PROPERTY_ID_ISCURRENCY
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISCURRENCY() ); break; }
173 case PROPERTY_ID_ISBOOKMARKABLE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_ISBOOKMARKABLE() ); break; }
174 case PROPERTY_ID_INVALID_INDEX
: { rtl_uString_newFromAscii(&pStr
,getSTAT_INVALID_INDEX() ); break; }
175 case PROPERTY_ID_ERRORMSG_SEQUENCE
: { rtl_uString_newFromAscii(&pStr
,getERRORMSG_SEQUENCE() ); break; }
176 case PROPERTY_ID_HY010
: { rtl_uString_newFromAscii(&pStr
,getSQLSTATE_SEQUENCE() ); break; }
177 case PROPERTY_ID_HY0000
: { rtl_uString_newFromAscii(&pStr
,getSQLSTATE_GENERAL() ); break; }
178 case PROPERTY_ID_DELIMITER
: { rtl_uString_newFromAscii(&pStr
,getSTR_DELIMITER() ); break; }
179 case PROPERTY_ID_FORMATKEY
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_FORMATKEY() ); break; }
180 case PROPERTY_ID_LOCALE
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_LOCALE() ); break; }
181 case PROPERTY_ID_AUTOINCREMENTCREATION
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_AUTOINCREMENTCREATION() ); break; }
182 case PROPERTY_ID_PRIVILEGES
: { rtl_uString_newFromAscii(&pStr
,getPROPERTY_PRIVILEGES() ); break; }
184 m_aPropertyMap
[_nIndex
] = pStr
;