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