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 // ------------------------------------------------------------------------- 40 ODatabaseMetaDataResultSetMetaData::~ODatabaseMetaDataResultSetMetaData() 41 { 42 } 43 // ------------------------------------------------------------------------- 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 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 61 sal_Int32 SAL_CALL ODatabaseMetaDataResultSetMetaData::getColumnCount( ) throw(SQLException, RuntimeException) 62 { 63 return m_mColumns.size(); 64 } 65 // ------------------------------------------------------------------------- 66 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 75 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getSchemaName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException) 76 { 77 return ::rtl::OUString(); 78 } 79 // ------------------------------------------------------------------------- 80 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 95 ::rtl::OUString SAL_CALL ODatabaseMetaDataResultSetMetaData::getCatalogName( sal_Int32 /*column*/ ) throw(SQLException, RuntimeException) 96 { 97 return ::rtl::OUString(); 98 } 99 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 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 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 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 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 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 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 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ----------------------------------------------------------------------------- 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 // ----------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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 // ------------------------------------------------------------------------- 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