xref: /AOO41X/main/connectivity/source/commontools/FDatabaseMetaDataResultSetMetaData.cxx (revision 9b5730f6ddef7eb82608ca4d31dc0d7678e652cf)
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 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_connectivity.hxx"
26 #include "FDatabaseMetaDataResultSetMetaData.hxx"
27 #include <com/sun/star/sdbc/DataType.hpp>
28 #include <com/sun/star/sdbc/ProcedureResult.hpp>
29 #include <com/sun/star/sdbc/ColumnValue.hpp>
30 
31 using namespace connectivity;
32 using namespace ::com::sun::star::beans;
33 using namespace ::com::sun::star::uno;
34 using namespace ::com::sun::star::sdbcx;
35 using namespace ::com::sun::star::sdbc;
36 using namespace ::com::sun::star::container;
37 using namespace ::com::sun::star::lang;
38 
39 // -------------------------------------------------------------------------
~ODatabaseMetaDataResultSetMetaData()40 ODatabaseMetaDataResultSetMetaData::~ODatabaseMetaDataResultSetMetaData()
41 {
42 }
43 // -------------------------------------------------------------------------
getColumnDisplaySize(sal_Int32 column)44 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnDisplaySize( sal_Int32 column ) throw(SQLException, RuntimeException)
45 {
46     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
47         return (*m_mColumnsIter).second.getColumnDisplaySize();
48 
49     return 0;
50 }
51 // -------------------------------------------------------------------------
52 
getColumnType(sal_Int32 column)53 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnType( sal_Int32 column ) throw(SQLException, RuntimeException)
54 {
55     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
56         return (*m_mColumnsIter).second.getColumnType();
57     return 1;
58 }
59 // -------------------------------------------------------------------------
60 
getColumnCount()61 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnCount(  ) throw(SQLException, RuntimeException)
62 {
63     return m_mColumns.size();
64 }
65 // -------------------------------------------------------------------------
66 
isCaseSensitive(sal_Int32 column)67 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isCaseSensitive( sal_Int32 column ) throw(SQLException, RuntimeException)
68 {
69     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
70         return (*m_mColumnsIter).second.isCaseSensitive();
71     return sal_True;
72 }
73 // -------------------------------------------------------------------------
74 
getSchemaName(sal_Int32)75 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getSchemaName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
76 {
77     return ::rtl::OUString();
78 }
79 // -------------------------------------------------------------------------
80 
getColumnName(sal_Int32 column)81 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnName( sal_Int32 column ) throw(SQLException, RuntimeException)
82 {
83     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
84         return (*m_mColumnsIter).second.getColumnName();
85     return ::rtl::OUString();
86 }
87 // -------------------------------------------------------------------------
getTableName(sal_Int32 column)88 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getTableName( sal_Int32 column ) throw(SQLException, RuntimeException)
89 {
90     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
91         return (*m_mColumnsIter).second.getTableName();
92     return ::rtl::OUString();
93 }
94 // -------------------------------------------------------------------------
getCatalogName(sal_Int32)95 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getCatalogName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
96 {
97     return ::rtl::OUString();
98 }
99 // -------------------------------------------------------------------------
getColumnTypeName(sal_Int32 column)100 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnTypeName( sal_Int32 column ) throw(SQLException, RuntimeException)
101 {
102     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
103         return (*m_mColumnsIter).second.getColumnTypeName();
104     return ::rtl::OUString();
105 }
106 // -------------------------------------------------------------------------
getColumnLabel(sal_Int32 column)107 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnLabel( sal_Int32 column ) throw(SQLException, RuntimeException)
108 {
109     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
110         return (*m_mColumnsIter).second.getColumnLabel();
111     return getColumnName(column);
112 }
113 // -------------------------------------------------------------------------
getColumnServiceName(sal_Int32 column)114 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnServiceName( sal_Int32 column ) throw(SQLException, RuntimeException)
115 {
116     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
117         return (*m_mColumnsIter).second.getColumnServiceName();
118     return ::rtl::OUString();
119 }
120 // -------------------------------------------------------------------------
121 
isCurrency(sal_Int32 column)122 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isCurrency( sal_Int32 column ) throw(SQLException, RuntimeException)
123 {
124     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
125         return (*m_mColumnsIter).second.isCurrency();
126     return sal_False;
127 }
128 // -------------------------------------------------------------------------
129 
isAutoIncrement(sal_Int32 column)130 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isAutoIncrement( sal_Int32 column ) throw(SQLException, RuntimeException)
131 {
132     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
133         return (*m_mColumnsIter).second.isAutoIncrement();
134     return sal_False;
135 }
136 // -------------------------------------------------------------------------
137 
138 
isSigned(sal_Int32 column)139 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isSigned( sal_Int32 column ) throw(SQLException, RuntimeException)
140 {
141     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
142         return (*m_mColumnsIter).second.isSigned();
143     return sal_False;
144 }
145 // -------------------------------------------------------------------------
getPrecision(sal_Int32 column)146 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getPrecision( sal_Int32 column ) throw(SQLException, RuntimeException)
147 {
148     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
149         return (*m_mColumnsIter).second.getPrecision();
150     return 0;
151 }
152 // -------------------------------------------------------------------------
getScale(sal_Int32 column)153 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getScale( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
154 {
155     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
156         return (*m_mColumnsIter).second.getScale();
157 
158     return 0;
159 }
160 // -------------------------------------------------------------------------
161 
isNullable(sal_Int32 column)162 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::isNullable( sal_Int32 column ) throw(SQLException, RuntimeException)
163 {
164     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
165         return (*m_mColumnsIter).second.isNullable();
166 
167     return sal_False;
168 }
169 // -------------------------------------------------------------------------
170 
isSearchable(sal_Int32 column)171 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isSearchable( sal_Int32 column ) throw(SQLException, RuntimeException)
172 {
173     if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
174         return (*m_mColumnsIter).second.isSearchable();
175     return sal_True;
176 }
177 // -------------------------------------------------------------------------
178 
isReadOnly(sal_Int32)179 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isReadOnly( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
180 {
181 //  if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
182 //      return (*m_mColumnsIter).second.isReadOnly();
183 
184     return sal_True;
185 }
186 // -------------------------------------------------------------------------
187 
isDefinitelyWritable(sal_Int32)188 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isDefinitelyWritable( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException)
189 {
190 //  if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
191 //      return (*m_mColumnsIter).second.isDefinitelyWritable();
192 
193     return sal_False;
194 ;
195 }
196 // -------------------------------------------------------------------------
isWritable(sal_Int32 column)197 sal_Bool SAL_CALL ODatabaseMetaDataResultSetMetaData::isWritable( sal_Int32 column ) throw(SQLException, RuntimeException)
198 {
199 //  if(m_mColumns.size() && (m_mColumnsIter = m_mColumns.find(column)) != m_mColumns.end())
200 //      return (*m_mColumnsIter).second.isWritable();
201     return isDefinitelyWritable(column);
202 }
203 // -------------------------------------------------------------------------
setColumnPrivilegesMap()204 void ODatabaseMetaDataResultSetMetaData::setColumnPrivilegesMap()
205 {
206     setColumnMap();
207     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("GRANTOR"),
208                 ColumnValue::NULLABLE,
209         3,3,0,
210                 DataType::VARCHAR);
211     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("GRANTEE"),
212                 ColumnValue::NULLABLE,
213         3,3,0,
214                 DataType::VARCHAR);
215     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PRIVILEGE"),
216                 ColumnValue::NULLABLE,
217         3,3,0,
218                 DataType::VARCHAR);
219     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("IS_GRANTABLE"),
220                 ColumnValue::NULLABLE,
221         3,3,0,
222                 DataType::VARCHAR);
223 }
224 // -----------------------------------------------------------------------------
setTableNameMap()225 void ODatabaseMetaDataResultSetMetaData::setTableNameMap()
226 {
227     m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_CAT"),
228                 ColumnValue::NULLABLE,
229         3,3,0,
230                 DataType::VARCHAR);
231     m_mColumns[2] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_SCHEM"),
232                 ColumnValue::NULLABLE,
233         3,3,0,
234                 DataType::VARCHAR);
235     m_mColumns[3] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_NAME"),
236                 ColumnValue::NO_NULLS,
237         3,3,0,
238                 DataType::VARCHAR);
239 }
240 // -----------------------------------------------------------------------------
setColumnMap()241 void ODatabaseMetaDataResultSetMetaData::setColumnMap()
242 {
243     setTableNameMap();
244     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_NAME"),
245                 ColumnValue::NO_NULLS,
246         3,3,0,
247                 DataType::VARCHAR);
248 }
249 // -------------------------------------------------------------------------
setColumnsMap()250 void ODatabaseMetaDataResultSetMetaData::setColumnsMap()
251 {
252     setColumnMap();
253 
254     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DATA_TYPE"),
255                 ColumnValue::NO_NULLS,
256         0,0,0,
257                 DataType::INTEGER);
258     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TYPE_NAME"),
259                 ColumnValue::NO_NULLS,
260         0,0,0,
261                 DataType::VARCHAR);
262     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_SIZE"),
263                 ColumnValue::NO_NULLS,
264         3,3,0,
265                 DataType::INTEGER);
266     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("BUFFER_LENGTH"),
267                 ColumnValue::NULLABLE,
268         3,3,0,
269                 DataType::INTEGER);
270     m_mColumns[9] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DECIMAL_DIGITS"),
271                 ColumnValue::NO_NULLS,
272         0,0,0,
273                 DataType::INTEGER);
274     m_mColumns[10] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("NUM_PREC_RADIX"),
275                 ColumnValue::NO_NULLS,
276         0,0,0,
277                 DataType::INTEGER);
278     m_mColumns[11] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("NULLABLE"),
279                 ColumnValue::NO_NULLS,
280         1,1,0,
281                 DataType::INTEGER);
282     m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("REMARKS"),
283                 ColumnValue::NULLABLE,
284         0,0,0,
285                 DataType::VARCHAR);
286     m_mColumns[13] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_DEF"),
287                 ColumnValue::NULLABLE,
288         0,0,0,
289                 DataType::VARCHAR);
290     m_mColumns[14] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SQL_DATA_TYPE"),
291                 ColumnValue::NO_NULLS,
292         1,1,0,
293                 DataType::INTEGER);
294     m_mColumns[15] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SQL_DATETIME_SUB"),
295                 ColumnValue::NO_NULLS,
296         1,1,0,
297                 DataType::INTEGER);
298     m_mColumns[16] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("CHAR_OCTET_LENGTH"),
299                 ColumnValue::NO_NULLS,
300         1,1,0,
301                 DataType::INTEGER);
302     m_mColumns[17] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("ORDINAL_POSITION"),
303                 ColumnValue::NO_NULLS,
304         1,1,0,
305                 DataType::INTEGER);
306     m_mColumns[18] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("IS_NULLABLE"),
307                 ColumnValue::NO_NULLS,
308         1,1,0,
309                 DataType::VARCHAR);
310 }
311 // -------------------------------------------------------------------------
setTablesMap()312 void ODatabaseMetaDataResultSetMetaData::setTablesMap()
313 {
314     setTableNameMap();
315     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_TYPE"),
316                 ColumnValue::NO_NULLS,
317         0,0,0,
318                 DataType::VARCHAR);
319     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("REMARKS"),
320                 ColumnValue::NULLABLE,
321         0,0,0,
322                 DataType::VARCHAR);
323 }
324 // -------------------------------------------------------------------------
setProcedureNameMap()325 void ODatabaseMetaDataResultSetMetaData::setProcedureNameMap()
326 {
327    m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PROCEDURE_CAT"),
328                 ColumnValue::NULLABLE,
329         0,0,0,
330                 DataType::VARCHAR);
331     m_mColumns[2] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PROCEDURE_SCHEM"),
332                 ColumnValue::NULLABLE,
333         0,0,0,
334                 DataType::VARCHAR);
335     m_mColumns[3] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PROCEDURE_NAME"),
336                 ColumnValue::NO_NULLS,
337         0,0,0,
338                 DataType::VARCHAR);
339 }
340 // -------------------------------------------------------------------------
setProcedureColumnsMap()341 void ODatabaseMetaDataResultSetMetaData::setProcedureColumnsMap()
342 {
343     setProcedureNameMap();
344     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_NAME"),
345                 ColumnValue::NO_NULLS,
346         0,0,0,
347                 DataType::VARCHAR);
348     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_TYPE"),
349                 ColumnValue::NO_NULLS,
350         0,0,0,
351                 DataType::INTEGER);
352     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DATA_TYPE"),
353                 ColumnValue::NO_NULLS,
354         0,0,0,
355                 DataType::INTEGER);
356     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TYPE_NAME"),
357                 ColumnValue::NULLABLE,
358         0,0,0,
359                 DataType::VARCHAR);
360     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PRECISION"),
361                 ColumnValue::NO_NULLS,
362         0,0,0,
363                 DataType::INTEGER);
364     m_mColumns[9] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("LENGTH"),
365                 ColumnValue::NO_NULLS,
366         0,0,0,
367                 DataType::INTEGER);
368     m_mColumns[10] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SCALE"),
369                 ColumnValue::NO_NULLS,
370         0,0,0,
371                 DataType::INTEGER);
372     m_mColumns[11] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("RADIX"),
373                 ColumnValue::NO_NULLS,
374         0,0,0,
375                 DataType::INTEGER);
376     m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("NULLABLE"),
377                 ColumnValue::NO_NULLS,
378         0,0,0,
379                 DataType::INTEGER);
380     m_mColumns[13] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("REMARKS"),
381                 ColumnValue::NULLABLE,
382         0,0,0,
383                 DataType::VARCHAR);
384 
385 }
386 // -------------------------------------------------------------------------
setPrimaryKeysMap()387 void ODatabaseMetaDataResultSetMetaData::setPrimaryKeysMap()
388 {
389     setColumnMap();
390     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("KEY_SEQ"),
391                 ColumnValue::NO_NULLS,
392         1,1,0,
393                 DataType::INTEGER);
394     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PK_NAME"),
395                 ColumnValue::NULLABLE,
396         0,0,0,
397                 DataType::VARCHAR);
398 }
399 // -------------------------------------------------------------------------
setIndexInfoMap()400 void ODatabaseMetaDataResultSetMetaData::setIndexInfoMap()
401 {
402     setTableNameMap();
403     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("NON_UNIQUE"),
404                 ColumnValue::NO_NULLS,
405         1,1,0,
406                 DataType::BIT);
407     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("INDEX_QUALIFIER"),
408                 ColumnValue::NULLABLE,
409         0,0,0,
410                 DataType::VARCHAR);
411     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("INDEX_NAME"),
412                 ColumnValue::NULLABLE,
413         0,0,0,
414                 DataType::VARCHAR);
415     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TYPE"),
416                 ColumnValue::NO_NULLS,
417         0,0,0,
418                 DataType::INTEGER);
419     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("ORDINAL_POSITION"),
420                 ColumnValue::NO_NULLS,
421         0,0,0,
422                 DataType::INTEGER);
423     m_mColumns[9] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_NAME"),
424                 ColumnValue::NO_NULLS,
425         0,0,0,
426                 DataType::VARCHAR);
427     m_mColumns[10] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("ASC_OR_DESC"),
428                 ColumnValue::NULLABLE,
429         0,0,0,
430                 DataType::VARCHAR);
431     m_mColumns[11] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("CARDINALITY"),
432                 ColumnValue::NO_NULLS,
433         0,0,0,
434                 DataType::INTEGER);
435     m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PAGES"),
436                 ColumnValue::NO_NULLS,
437         0,0,0,
438                 DataType::INTEGER);
439     m_mColumns[13] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FILTER_CONDITION"),
440                 ColumnValue::NULLABLE,
441         0,0,0,
442                 DataType::VARCHAR);
443 }
444 // -------------------------------------------------------------------------
setTablePrivilegesMap()445 void ODatabaseMetaDataResultSetMetaData::setTablePrivilegesMap()
446 {
447     setTableNameMap();
448     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("GRANTOR"),
449                 ColumnValue::NULLABLE,
450         0,0,0,
451                 DataType::VARCHAR);
452     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("GRANTEE"),
453                 ColumnValue::NO_NULLS,
454         0,0,0,
455                 DataType::VARCHAR);
456     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PRIVILEGE"),
457                 ColumnValue::NULLABLE,
458         0,0,0,
459                 DataType::VARCHAR);
460     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("IS_GRANTABLE"),
461                 ColumnValue::NULLABLE,
462         0,0,0,
463                 DataType::VARCHAR);
464 }
465 // -------------------------------------------------------------------------
setCrossReferenceMap()466 void ODatabaseMetaDataResultSetMetaData::setCrossReferenceMap()
467 {
468     m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PKTABLE_CAT"),
469                 ColumnValue::NULLABLE,
470         0,0,0,
471                 DataType::VARCHAR);
472     m_mColumns[2] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PKTABLE_SCHEM"),
473                 ColumnValue::NULLABLE,
474         0,0,0,
475                 DataType::VARCHAR);
476     m_mColumns[3] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PKTABLE_NAME"),
477                 ColumnValue::NO_NULLS,
478         0,0,0,
479                 DataType::VARCHAR);
480     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PKCOLUMN_NAME"),
481                 ColumnValue::NO_NULLS,
482         0,0,0,
483                 DataType::VARCHAR);
484     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FKTABLE_CAT"),
485                 ColumnValue::NULLABLE,
486         0,0,0,
487                 DataType::VARCHAR);
488     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FKTABLE_SCHEM"),
489                 ColumnValue::NULLABLE,
490         0,0,0,
491                 DataType::VARCHAR);
492     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FKTABLE_NAME"),
493                 ColumnValue::NO_NULLS,
494         0,0,0,
495                 DataType::VARCHAR);
496     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FKCOLUMN_NAME"),
497                 ColumnValue::NO_NULLS,
498         0,0,0,
499                 DataType::VARCHAR);
500 
501     m_mColumns[9] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("KEY_SEQ"),
502                 ColumnValue::NO_NULLS,
503         1,1,0,
504                 DataType::INTEGER);
505     m_mColumns[10] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("UPDATE_RULE"),
506                 ColumnValue::NO_NULLS,
507         1,1,0,
508                 DataType::INTEGER);
509     m_mColumns[11] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DELETE_RULE"),
510                 ColumnValue::NO_NULLS,
511         1,1,0,
512                 DataType::INTEGER);
513     m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FK_NAME"),
514                 ColumnValue::NULLABLE,
515         0,0,0,
516                 DataType::VARCHAR);
517     m_mColumns[13] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PK_NAME"),
518                 ColumnValue::NULLABLE,
519         0,0,0,
520                 DataType::VARCHAR);
521     m_mColumns[14] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DEFERRABILITY"),
522                 ColumnValue::NO_NULLS,
523         1,1,0,
524                 DataType::INTEGER);
525 }
526 // -------------------------------------------------------------------------
setTypeInfoMap()527 void ODatabaseMetaDataResultSetMetaData::setTypeInfoMap()
528 {
529     m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TYPE_NAME"),
530                 ColumnValue::NO_NULLS,
531         0,0,0,
532                 DataType::VARCHAR);
533     m_mColumns[2] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DATA_TYPE"),
534                 ColumnValue::NO_NULLS,
535         1,1,0,
536                 DataType::INTEGER);
537     m_mColumns[3] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PRECISION"),
538                 ColumnValue::NO_NULLS,
539         1,1,0,
540                 DataType::INTEGER);
541     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("LITERAL_PREFIX"),
542                 ColumnValue::NULLABLE,
543         0,0,0,
544                 DataType::VARCHAR);
545     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("LITERAL_SUFFIX"),
546                 ColumnValue::NULLABLE,
547         0,0,0,
548                 DataType::VARCHAR);
549     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("CREATE_PARAMS"),
550                 ColumnValue::NULLABLE,
551         0,0,0,
552                 DataType::VARCHAR);
553     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("NULLABLE"),
554                 ColumnValue::NO_NULLS,
555         1,1,0,
556                 DataType::INTEGER);
557     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("CASE_SENSITIVE"),
558                 ColumnValue::NO_NULLS,
559         1,1,0,
560                 DataType::BIT);
561     m_mColumns[9] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SEARCHABLE"),
562                 ColumnValue::NO_NULLS,
563         1,1,0,
564                 DataType::INTEGER);
565     m_mColumns[10] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("UNSIGNED_ATTRIBUTE"),
566                 ColumnValue::NO_NULLS,
567         1,1,0,
568                 DataType::BIT);
569     m_mColumns[11] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("FIXED_PREC_SCALE"),
570                 ColumnValue::NO_NULLS,
571         1,1,0,
572                 DataType::BIT);
573     m_mColumns[12] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("AUTO_INCREMENT"),
574                 ColumnValue::NO_NULLS,
575         1,1,0,
576                 DataType::BIT);
577     m_mColumns[13] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("LOCAL_TYPE_NAME"),
578                 ColumnValue::NO_NULLS,
579         0,0,0,
580                 DataType::VARCHAR);
581     m_mColumns[14] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("MINIMUM_SCALE"),
582                 ColumnValue::NO_NULLS,
583         0,0,0,
584                 DataType::INTEGER);
585     m_mColumns[15] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("MAXIMUM_SCALE"),
586                 ColumnValue::NO_NULLS,
587         0,0,0,
588                 DataType::INTEGER);
589     m_mColumns[16] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SQL_DATA_TYPE"),
590                 ColumnValue::NO_NULLS,
591         1,1,0,
592                 DataType::INTEGER);
593     m_mColumns[17] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SQL_DATETIME_SUB"),
594                 ColumnValue::NO_NULLS,
595         1,1,0,
596                 DataType::INTEGER);
597     m_mColumns[18] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("NUM_PREC_RADIX"),
598                 ColumnValue::NO_NULLS,
599         1,1,0,
600                 DataType::INTEGER);
601 }
602 // -------------------------------------------------------------------------
setProceduresMap()603 void ODatabaseMetaDataResultSetMetaData::setProceduresMap()
604 {
605     setProcedureNameMap();
606     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("RESERVED1"),
607                 ColumnValue::NULLABLE,
608         0,0,0,
609                 DataType::VARCHAR);
610     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("RESERVED2"),
611                 ColumnValue::NULLABLE,
612         0,0,0,
613                 DataType::VARCHAR);
614     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("RESERVED3"),
615                 ColumnValue::NULLABLE,
616         0,0,0,
617                 DataType::VARCHAR);
618     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("REMARKS"),
619                 ColumnValue::NULLABLE,
620         0,0,0,
621                 DataType::VARCHAR);
622     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PROCEDURE_TYPE"),
623                 ColumnValue::NO_NULLS,
624         1,1,0,
625                 DataType::INTEGER);
626 }
627 // -------------------------------------------------------------------------
setTableTypes()628 void ODatabaseMetaDataResultSetMetaData::setTableTypes()
629 {
630     m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_TYPE"),
631                 ColumnValue::NULLABLE,
632         0,0,0,
633                 DataType::VARCHAR);
634 }
635 // -------------------------------------------------------------------------
setCatalogsMap()636 void ODatabaseMetaDataResultSetMetaData::setCatalogsMap()
637 {
638     m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_CAT"),
639                 ColumnValue::NULLABLE,
640         0,0,0,
641                 DataType::VARCHAR);
642 }
643 // -------------------------------------------------------------------------
setSchemasMap()644 void ODatabaseMetaDataResultSetMetaData::setSchemasMap()
645 {
646     m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TABLE_SCHEM"),
647                 ColumnValue::NULLABLE,
648         0,0,0,
649                 DataType::VARCHAR);
650 }
651 // -------------------------------------------------------------------------
setVersionColumnsMap()652 void ODatabaseMetaDataResultSetMetaData::setVersionColumnsMap()
653 {
654    m_mColumns[1] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("SCOPE"),
655                 ColumnValue::NO_NULLS,
656         0,0,0,
657                 DataType::INTEGER);
658     m_mColumns[2] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_NAME"),
659                 ColumnValue::NO_NULLS,
660         0,0,0,
661                 DataType::VARCHAR);
662     m_mColumns[3] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DATA_TYPE"),
663                 ColumnValue::NO_NULLS,
664         0,0,0,
665                 DataType::INTEGER);
666     m_mColumns[4] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("TYPE_NAME"),
667                 ColumnValue::NO_NULLS,
668         0,0,0,
669                 DataType::VARCHAR);
670     m_mColumns[5] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("COLUMN_SIZE"),
671                 ColumnValue::NO_NULLS,
672         0,0,0,
673                 DataType::INTEGER);
674     m_mColumns[6] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("BUFFER_LENGTH"),
675                 ColumnValue::NO_NULLS,
676         0,0,0,
677                 DataType::INTEGER);
678     m_mColumns[7] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("DECIMAL_DIGITS"),
679                 ColumnValue::NULLABLE,
680         0,0,0,
681                 DataType::INTEGER);
682     m_mColumns[8] = OColumn(::rtl::OUString(),::rtl::OUString::createFromAscii("PSEUDO_COLUMN"),
683                 ColumnValue::NO_NULLS,
684         0,0,0,
685                 DataType::INTEGER);
686 }
687 
688 
689