File indexing completed on 2025-08-03 08:22:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152
0153
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173
0174
0175
0176
0177
0178
0179
0180
0181
0182
0183
0184
0185
0186
0187
0188
0189
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205
0206
0207
0208
0209
0210
0211
0212
0213
0214
0215
0216
0217
0218
0219
0220
0221
0222
0223
0224
0225
0226
0227
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267
0268
0269
0270
0271
0272
0273
0274
0275
0276
0277
0278
0279
0280
0281
0282
0283
0284
0285
0286
0287
0288
0289
0290
0291
0292
0293
0294
0295
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334
0335
0336
0337
0338
0339
0340
0341
0342
0343
0344
0345
0346
0347
0348
0349
0350
0351
0352
0353
0354
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364
0365
0366
0367
0368
0369
0370
0371
0372
0373
0374
0375
0376
0377
0378
0379
0380
0381
0382
0383
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393
0394
0395
0396
0397
0398
0399
0400
0401
0402
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414
0415
0416
0417
0418
0419
0420
0421
0422
0423
0424
0425 #include "ODBCDatabaseMetaData.h"
0426 #include "ODBCResultSet.h"
0427 #include "ODBCConnection.h"
0428 #include <RDBC/odbc++/databasemetadata.h>
0429 #include <RDBC/odbc++/resultset.h>
0430
0431 using namespace odbc;
0432 using namespace std;
0433
0434 ClassImpQ(ODBCDatabaseMetaData)
0435
0436
0437
0438 ODBCDatabaseMetaData::ODBCDatabaseMetaData(TSQLConnection* connection,void* imp):
0439 TSQLDatabaseMetaData(connection,imp)
0440 {
0441
0442
0443 }
0444
0445
0446 ODBCDatabaseMetaData::~ODBCDatabaseMetaData()
0447 {
0448
0449
0450 fConnection = 0;
0451
0452
0453 }
0454
0455
0456 Bool_t ODBCDatabaseMetaData::AllProceduresAreCallable()
0457 {
0458
0459
0460
0461
0462
0463
0464
0465
0466 Bool_t return_value = kFALSE;
0467
0468 if(!fImp) { Destroyed(); return return_value; }
0469 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0470
0471 try {
0472 return_value = imp->allProceduresAreCallable();
0473
0474 } catch(odbc::SQLException& e) {
0475 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0476 ODBCXX_STRING_CSTR(e.getSQLState()),
0477 e.getErrorCode()) );
0478 return kFALSE;
0479 }
0480 return return_value;
0481 }
0482
0483
0484 Bool_t ODBCDatabaseMetaData::AllTablesAreSelectable()
0485 {
0486
0487
0488
0489
0490
0491
0492
0493
0494 Bool_t return_value = kFALSE;
0495
0496 if(!fImp) { Destroyed(); return return_value; }
0497 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0498
0499 try {
0500 return_value = imp->allTablesAreSelectable();
0501
0502 } catch(odbc::SQLException& e) {
0503 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0504 ODBCXX_STRING_CSTR(e.getSQLState()),
0505 e.getErrorCode()) );
0506 return kFALSE;
0507 }
0508 return return_value;
0509 }
0510
0511
0512 TString ODBCDatabaseMetaData::GetUserName()
0513 {
0514
0515
0516
0517
0518
0519
0520
0521
0522
0523
0524
0525
0526
0527 TString str;
0528
0529 if(!fImp) { Destroyed(); return str; }
0530 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0531
0532 try {
0533 str = ODBCXX_STRING_CSTR( imp->getUserName() );
0534
0535 } catch(odbc::SQLException& e) {
0536 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0537 ODBCXX_STRING_CSTR(e.getSQLState()),
0538 e.getErrorCode()) );
0539 return "";
0540 }
0541 return str;
0542 }
0543
0544
0545 Bool_t ODBCDatabaseMetaData::IsReadOnly()
0546 {
0547
0548
0549
0550
0551
0552
0553
0554
0555
0556
0557
0558
0559
0560
0561
0562
0563
0564
0565 Bool_t return_value = kTRUE;
0566
0567 if(!fImp) { Destroyed(); return return_value; }
0568 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0569
0570 try {
0571 return_value = imp->isReadOnly();
0572
0573 } catch(odbc::SQLException& e) {
0574 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0575 ODBCXX_STRING_CSTR(e.getSQLState()),
0576 e.getErrorCode()) );
0577 return kTRUE;
0578 }
0579 return return_value;
0580 }
0581
0582
0583 Bool_t ODBCDatabaseMetaData::NullsAreSortedHigh()
0584 {
0585
0586
0587
0588
0589
0590
0591
0592
0593
0594
0595 Bool_t return_value = kFALSE;
0596
0597 if(!fImp) { Destroyed(); return return_value; }
0598 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0599
0600 try {
0601 return_value = imp->nullsAreSortedHigh();
0602
0603 } catch(odbc::SQLException& e) {
0604 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0605 ODBCXX_STRING_CSTR(e.getSQLState()),
0606 e.getErrorCode()) );
0607 return kFALSE;
0608 }
0609 return return_value;
0610 }
0611
0612
0613 Bool_t ODBCDatabaseMetaData::NullsAreSortedLow()
0614 {
0615
0616
0617
0618
0619
0620
0621
0622
0623
0624
0625 Bool_t return_value = kFALSE;
0626
0627 if(!fImp) { Destroyed(); return return_value; }
0628 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0629
0630 try {
0631 return_value = imp->nullsAreSortedLow();
0632
0633 } catch(odbc::SQLException& e) {
0634 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0635 ODBCXX_STRING_CSTR(e.getSQLState()),
0636 e.getErrorCode()) );
0637 return kFALSE;
0638 }
0639 return return_value;
0640 }
0641
0642
0643 Bool_t ODBCDatabaseMetaData::NullsAreSortedAtStart()
0644 {
0645
0646
0647
0648
0649
0650
0651
0652
0653
0654
0655 Bool_t return_value = kFALSE;
0656
0657 if(!fImp) { Destroyed(); return return_value; }
0658 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0659
0660 try {
0661 return_value = imp->nullsAreSortedAtStart();
0662
0663 } catch(odbc::SQLException& e) {
0664 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0665 ODBCXX_STRING_CSTR(e.getSQLState()),
0666 e.getErrorCode()) );
0667 return kFALSE;
0668 }
0669 return return_value;
0670 }
0671
0672
0673 Bool_t ODBCDatabaseMetaData::NullsAreSortedAtEnd()
0674 {
0675
0676
0677
0678
0679
0680
0681
0682
0683
0684
0685 Bool_t return_value = kFALSE;
0686
0687 if(!fImp) { Destroyed(); return return_value; }
0688 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0689
0690 try {
0691 return_value = imp->nullsAreSortedAtEnd();
0692
0693 } catch(odbc::SQLException& e) {
0694 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0695 ODBCXX_STRING_CSTR(e.getSQLState()),
0696 e.getErrorCode()) );
0697 return kFALSE;
0698 }
0699 return return_value;
0700 }
0701
0702
0703 TString ODBCDatabaseMetaData::GetDatabaseProductName()
0704 {
0705
0706
0707
0708
0709
0710
0711
0712 TString str;
0713
0714 if(!fImp) { Destroyed(); return str; }
0715 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0716
0717 try {
0718 str = ODBCXX_STRING_CSTR( imp->getDatabaseProductName() );
0719
0720 } catch(odbc::SQLException& e) {
0721 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0722 ODBCXX_STRING_CSTR(e.getSQLState()),
0723 e.getErrorCode()) );
0724 return "";
0725 }
0726 return str;
0727 }
0728
0729
0730 TString ODBCDatabaseMetaData::GetDatabaseProductVersion()
0731 {
0732
0733
0734
0735
0736
0737
0738
0739
0740
0741
0742
0743
0744
0745
0746 TString str;
0747
0748 if(!fImp) { Destroyed(); return str; }
0749 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0750
0751 try {
0752 str = ODBCXX_STRING_CSTR( imp->getDatabaseProductVersion() );
0753
0754 } catch(odbc::SQLException& e) {
0755 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0756 ODBCXX_STRING_CSTR(e.getSQLState()),
0757 e.getErrorCode()) );
0758 return "";
0759 }
0760 return str;
0761 }
0762
0763
0764 TString ODBCDatabaseMetaData::GetDriverName()
0765 {
0766
0767
0768
0769
0770
0771
0772
0773 TString str;
0774
0775 if(!fImp) { Destroyed(); return str; }
0776 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0777
0778 try {
0779 str = ODBCXX_STRING_CSTR( imp->getDriverName() );
0780
0781 } catch(odbc::SQLException& e) {
0782 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0783 ODBCXX_STRING_CSTR(e.getSQLState()),
0784 e.getErrorCode()) );
0785 return "";
0786 }
0787 return str;
0788 }
0789
0790
0791 TString ODBCDatabaseMetaData::GetDriverVersion()
0792 {
0793
0794
0795
0796
0797
0798
0799
0800
0801
0802
0803
0804
0805
0806
0807 TString str;
0808
0809 if(!fImp) { Destroyed(); return str; }
0810 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0811
0812 try {
0813 str = ODBCXX_STRING_CSTR( imp->getDriverVersion() );
0814
0815 } catch(odbc::SQLException& e) {
0816 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0817 ODBCXX_STRING_CSTR(e.getSQLState()),
0818 e.getErrorCode()) );
0819 return "";
0820 }
0821 return str;
0822 }
0823
0824
0825 Int_t ODBCDatabaseMetaData::GetDriverMajorVersion()
0826 {
0827
0828
0829
0830
0831
0832 Int_t return_value = 0;
0833
0834 if(!fImp) { Destroyed(); return return_value; }
0835 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0836
0837 try {
0838 return_value = imp->getDriverMajorVersion();
0839
0840 } catch(odbc::SQLException& e) {
0841 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0842 ODBCXX_STRING_CSTR(e.getSQLState()),
0843 e.getErrorCode()) );
0844 return 0;
0845 }
0846 return return_value;
0847 }
0848
0849
0850 Int_t ODBCDatabaseMetaData::GetDriverMinorVersion()
0851 {
0852
0853
0854
0855
0856
0857 Int_t return_value = 0;
0858
0859 if(!fImp) { Destroyed(); return return_value; }
0860 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0861
0862 try {
0863 return_value = imp->getDriverMinorVersion();
0864
0865 } catch(odbc::SQLException& e) {
0866 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0867 ODBCXX_STRING_CSTR(e.getSQLState()),
0868 e.getErrorCode()) );
0869 return 0;
0870 }
0871 return return_value;
0872 }
0873
0874
0875 Bool_t ODBCDatabaseMetaData::UsesLocalFiles()
0876 {
0877
0878
0879
0880
0881
0882
0883
0884
0885
0886
0887
0888
0889 Bool_t return_value = kFALSE;
0890
0891 if(!fImp) { Destroyed(); return return_value; }
0892 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0893
0894 try {
0895 return_value = imp->usesLocalFiles();
0896
0897 } catch(odbc::SQLException& e) {
0898 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0899 ODBCXX_STRING_CSTR(e.getSQLState()),
0900 e.getErrorCode()) );
0901 return kFALSE;
0902 }
0903 return return_value;
0904 }
0905
0906
0907 Bool_t ODBCDatabaseMetaData::UsesLocalFilePerTable()
0908 {
0909
0910
0911
0912
0913
0914
0915
0916
0917
0918
0919
0920
0921
0922 Bool_t return_value = kFALSE;
0923
0924 if(!fImp) { Destroyed(); return return_value; }
0925 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0926
0927 try {
0928 return_value = imp->usesLocalFilePerTable();
0929
0930 } catch(odbc::SQLException& e) {
0931 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0932 ODBCXX_STRING_CSTR(e.getSQLState()),
0933 e.getErrorCode()) );
0934 return kFALSE;
0935 }
0936 return return_value;
0937 }
0938
0939
0940 Bool_t ODBCDatabaseMetaData::SupportsMixedCaseIdentifiers()
0941 {
0942
0943
0944
0945
0946
0947
0948
0949
0950
0951 Bool_t return_value = kFALSE;
0952
0953 if(!fImp) { Destroyed(); return return_value; }
0954 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0955
0956 try {
0957 return_value = imp->supportsMixedCaseIdentifiers();
0958
0959 } catch(odbc::SQLException& e) {
0960 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0961 ODBCXX_STRING_CSTR(e.getSQLState()),
0962 e.getErrorCode()) );
0963 return kFALSE;
0964 }
0965 return return_value;
0966 }
0967
0968
0969 Bool_t ODBCDatabaseMetaData::StoresUpperCaseIdentifiers()
0970 {
0971
0972
0973
0974
0975
0976
0977
0978
0979 Bool_t return_value = kFALSE;
0980
0981 if(!fImp) { Destroyed(); return return_value; }
0982 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
0983
0984 try {
0985 return_value = imp->storesUpperCaseIdentifiers();
0986
0987 } catch(odbc::SQLException& e) {
0988 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
0989 ODBCXX_STRING_CSTR(e.getSQLState()),
0990 e.getErrorCode()) );
0991 return kFALSE;
0992 }
0993 return return_value;
0994 }
0995
0996
0997 Bool_t ODBCDatabaseMetaData::StoresLowerCaseIdentifiers()
0998 {
0999
1000
1001
1002
1003
1004
1005
1006
1007 Bool_t return_value = kFALSE;
1008
1009 if(!fImp) { Destroyed(); return return_value; }
1010 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1011
1012 try {
1013 return_value = imp->storesLowerCaseIdentifiers();
1014
1015 } catch(odbc::SQLException& e) {
1016 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1017 ODBCXX_STRING_CSTR(e.getSQLState()),
1018 e.getErrorCode()) );
1019 return kFALSE;
1020 }
1021 return return_value;
1022 }
1023
1024
1025 Bool_t ODBCDatabaseMetaData::StoresMixedCaseIdentifiers()
1026 {
1027
1028
1029
1030
1031
1032
1033
1034
1035 Bool_t return_value = kFALSE;
1036
1037 if(!fImp) { Destroyed(); return return_value; }
1038 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1039
1040 try {
1041 return_value = imp->storesMixedCaseIdentifiers();
1042
1043 } catch(odbc::SQLException& e) {
1044 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1045 ODBCXX_STRING_CSTR(e.getSQLState()),
1046 e.getErrorCode()) );
1047 return kFALSE;
1048 }
1049 return return_value;
1050 }
1051
1052
1053 Bool_t ODBCDatabaseMetaData::SupportsMixedCaseQuotedIdentifiers()
1054 {
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065 Bool_t return_value = kFALSE;
1066
1067 if(!fImp) { Destroyed(); return return_value; }
1068 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1069
1070 try {
1071 return_value = imp->supportsMixedCaseQuotedIdentifiers();
1072
1073 } catch(odbc::SQLException& e) {
1074 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1075 ODBCXX_STRING_CSTR(e.getSQLState()),
1076 e.getErrorCode()) );
1077 return kFALSE;
1078 }
1079 return return_value;
1080 }
1081
1082
1083 Bool_t ODBCDatabaseMetaData::StoresUpperCaseQuotedIdentifiers()
1084 {
1085
1086
1087
1088
1089
1090
1091
1092
1093 Bool_t return_value = kFALSE;
1094
1095 if(!fImp) { Destroyed(); return return_value; }
1096 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1097
1098 try {
1099 return_value = imp->storesUpperCaseQuotedIdentifiers();
1100
1101 } catch(odbc::SQLException& e) {
1102 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1103 ODBCXX_STRING_CSTR(e.getSQLState()),
1104 e.getErrorCode()) );
1105 return kFALSE;
1106 }
1107 return return_value;
1108 }
1109
1110
1111 Bool_t ODBCDatabaseMetaData::StoresLowerCaseQuotedIdentifiers()
1112 {
1113
1114
1115
1116
1117
1118
1119
1120
1121 Bool_t return_value = kFALSE;
1122
1123 if(!fImp) { Destroyed(); return return_value; }
1124 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1125
1126 try {
1127 return_value = imp->storesLowerCaseQuotedIdentifiers();
1128
1129 } catch(odbc::SQLException& e) {
1130 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1131 ODBCXX_STRING_CSTR(e.getSQLState()),
1132 e.getErrorCode()) );
1133 return kFALSE;
1134 }
1135 return return_value;
1136 }
1137
1138
1139 Bool_t ODBCDatabaseMetaData::StoresMixedCaseQuotedIdentifiers()
1140 {
1141
1142
1143
1144
1145
1146
1147
1148
1149 Bool_t return_value = kFALSE;
1150
1151 if(!fImp) { Destroyed(); return return_value; }
1152 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1153
1154 try {
1155 return_value = imp->storesMixedCaseQuotedIdentifiers();
1156
1157 } catch(odbc::SQLException& e) {
1158 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1159 ODBCXX_STRING_CSTR(e.getSQLState()),
1160 e.getErrorCode()) );
1161 return kFALSE;
1162 }
1163 return return_value;
1164 }
1165
1166
1167 TString ODBCDatabaseMetaData::GetIdentifierQuoteString()
1168 {
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191 TString str;
1192
1193 if(!fImp) { Destroyed(); return str; }
1194 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1195
1196 try {
1197 str = ODBCXX_STRING_CSTR( imp->getIdentifierQuoteString() );
1198
1199 } catch(odbc::SQLException& e) {
1200 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1201 ODBCXX_STRING_CSTR(e.getSQLState()),
1202 e.getErrorCode()) );
1203 return "";
1204 }
1205 return str;
1206 }
1207
1208
1209 TString ODBCDatabaseMetaData::GetSQLKeywords()
1210 {
1211
1212
1213
1214
1215
1216
1217
1218
1219 TString str;
1220 if(!fImp) { Destroyed(); return str; }
1221 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1222
1223 try {
1224 str = ODBCXX_STRING_CSTR( imp->getSQLKeywords() );
1225
1226 } catch(odbc::SQLException& e) {
1227 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1228 ODBCXX_STRING_CSTR(e.getSQLState()),
1229 e.getErrorCode()) );
1230 return "";
1231 }
1232 return str;
1233 }
1234
1235
1236 TString ODBCDatabaseMetaData::GetNumericFunctions()
1237 {
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247 TString str;
1248
1249 if(!fImp) { Destroyed(); return str; }
1250 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1251
1252 try {
1253 str = ODBCXX_STRING_CSTR( imp->getNumericFunctions() );
1254
1255 } catch(odbc::SQLException& e) {
1256 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1257 ODBCXX_STRING_CSTR(e.getSQLState()),
1258 e.getErrorCode()) );
1259 return "";
1260 }
1261 return str;
1262 }
1263
1264
1265 TString ODBCDatabaseMetaData::GetStringFunctions()
1266 {
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276 TString str;
1277
1278 if(!fImp) { Destroyed(); return str; }
1279 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1280
1281 try {
1282 str = ODBCXX_STRING_CSTR( imp->getStringFunctions() );
1283
1284 } catch(odbc::SQLException& e) {
1285 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1286 ODBCXX_STRING_CSTR(e.getSQLState()),
1287 e.getErrorCode()) );
1288 return "";
1289 }
1290 return str;
1291 }
1292
1293
1294 TString ODBCDatabaseMetaData::GetSystemFunctions()
1295 {
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305 TString str;
1306
1307 if(!fImp) { Destroyed(); return str; }
1308 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1309
1310 try {
1311 str = ODBCXX_STRING_CSTR( imp->getSystemFunctions());
1312
1313 } catch(odbc::SQLException& e) {
1314 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1315 ODBCXX_STRING_CSTR(e.getSQLState()),
1316 e.getErrorCode()) );
1317 return "";
1318 }
1319 return str;
1320 }
1321
1322
1323 TString ODBCDatabaseMetaData::GetTimeDateFunctions()
1324 {
1325
1326
1327
1328
1329
1330
1331
1332 TString str;
1333
1334 if(!fImp) { Destroyed(); return str; }
1335 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1336
1337 try {
1338 str = ODBCXX_STRING_CSTR( imp->getTimeDateFunctions() );
1339
1340
1341 } catch(odbc::SQLException& e) {
1342 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1343 ODBCXX_STRING_CSTR(e.getSQLState()),
1344 e.getErrorCode()) );
1345 return "";
1346 }
1347 return str;
1348 }
1349
1350
1351 TString ODBCDatabaseMetaData::GetSearchStringEscape()
1352 {
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373 TString str;
1374
1375 if(!fImp) { Destroyed(); return str; }
1376 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1377
1378 try {
1379 str = ODBCXX_STRING_CSTR( imp->getSearchStringEscape() );
1380
1381 } catch(odbc::SQLException& e) {
1382 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1383 ODBCXX_STRING_CSTR(e.getSQLState()),
1384 e.getErrorCode()) );
1385 return "";
1386 }
1387 return str;
1388 }
1389
1390
1391 TString ODBCDatabaseMetaData::GetExtraNameCharacters()
1392 {
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402 TString str;
1403
1404 if(!fImp) { Destroyed(); return str; }
1405 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1406
1407 try {
1408 str = ODBCXX_STRING_CSTR( imp->getExtraNameCharacters() );
1409
1410 } catch(odbc::SQLException& e) {
1411 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1412 ODBCXX_STRING_CSTR(e.getSQLState()),
1413 e.getErrorCode()) );
1414 return "";
1415 }
1416 return str;
1417 }
1418
1419
1420 Bool_t ODBCDatabaseMetaData::SupportsAlterTableWithAddColumn()
1421 {
1422
1423
1424
1425
1426
1427
1428
1429 Bool_t return_value = kFALSE;
1430
1431 if(!fImp) { Destroyed(); return return_value; }
1432 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1433
1434 try {
1435 return_value = imp->supportsAlterTableWithAddColumn();
1436
1437 } catch(odbc::SQLException& e) {
1438 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1439 ODBCXX_STRING_CSTR(e.getSQLState()),
1440 e.getErrorCode()) );
1441 return kFALSE;
1442 }
1443 return return_value;
1444 }
1445
1446
1447 Bool_t ODBCDatabaseMetaData::SupportsAlterTableWithDropColumn()
1448 {
1449
1450
1451
1452
1453
1454
1455
1456 Bool_t return_value = kFALSE;
1457
1458 if(!fImp) { Destroyed(); return return_value; }
1459 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1460
1461 try {
1462 return_value = imp->supportsAlterTableWithDropColumn();
1463
1464 } catch(odbc::SQLException& e) {
1465 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1466 ODBCXX_STRING_CSTR(e.getSQLState()),
1467 e.getErrorCode()) );
1468 return kFALSE;
1469 }
1470 return return_value;
1471 }
1472
1473
1474 Bool_t ODBCDatabaseMetaData::SupportsColumnAliasing()
1475 {
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488 Bool_t return_value = kFALSE;
1489
1490 if(!fImp) { Destroyed(); return return_value; }
1491 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1492
1493 try {
1494 return_value = imp->supportsColumnAliasing();
1495
1496 } catch(odbc::SQLException& e) {
1497 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1498 ODBCXX_STRING_CSTR(e.getSQLState()),
1499 e.getErrorCode()) );
1500 return kFALSE;
1501 }
1502 return return_value;
1503 }
1504
1505
1506 Bool_t ODBCDatabaseMetaData::NullPlusNonNullIsNull()
1507 {
1508
1509
1510
1511
1512
1513
1514
1515
1516 Bool_t return_value = kFALSE;
1517
1518 if(!fImp) { Destroyed(); return return_value; }
1519 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1520
1521 try {
1522 return_value = imp->nullPlusNonNullIsNull();
1523
1524 } catch(odbc::SQLException& e) {
1525 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1526 ODBCXX_STRING_CSTR(e.getSQLState()),
1527 e.getErrorCode()) );
1528 return kFALSE;
1529 }
1530 return return_value;
1531 }
1532
1533
1534 Bool_t ODBCDatabaseMetaData::SupportsConvert()
1535 {
1536
1537
1538
1539
1540
1541
1542
1543 Bool_t return_value = kFALSE;
1544
1545 if(!fImp) { Destroyed(); return return_value; }
1546 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1547
1548 try {
1549 return_value = imp->supportsConvert();
1550
1551 } catch(odbc::SQLException& e) {
1552 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1553 ODBCXX_STRING_CSTR(e.getSQLState()),
1554 e.getErrorCode()) );
1555 return kFALSE;
1556 }
1557 return return_value;
1558 }
1559
1560
1561 Bool_t ODBCDatabaseMetaData::SupportsConvert( Int_t fromType,
1562 Int_t toType )
1563 {
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589 Bool_t return_value = kFALSE;
1590
1591 if(!fImp) { Destroyed(); return return_value; }
1592 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1593
1594 try {
1595 return_value = imp->supportsConvert( fromType,toType);
1596
1597 } catch(odbc::SQLException& e) {
1598 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1599 ODBCXX_STRING_CSTR(e.getSQLState()),
1600 e.getErrorCode()) );
1601 return kFALSE;
1602 }
1603 return return_value;
1604 }
1605
1606
1607 Bool_t ODBCDatabaseMetaData::SupportsTableCorrelationNames()
1608 {
1609
1610
1611
1612
1613
1614
1615
1616
1617 Bool_t return_value = kFALSE;
1618
1619 if(!fImp) { Destroyed(); return return_value; }
1620 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1621
1622 try {
1623 return_value = imp->supportsTableCorrelationNames();
1624
1625 } catch(odbc::SQLException& e) {
1626 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1627 ODBCXX_STRING_CSTR(e.getSQLState()),
1628 e.getErrorCode()) );
1629 return kFALSE;
1630 }
1631 return return_value;
1632 }
1633
1634
1635 Bool_t ODBCDatabaseMetaData::SupportsDifferentTableCorrelationNames()
1636 {
1637
1638
1639
1640
1641
1642
1643
1644
1645 Bool_t return_value = kFALSE;
1646
1647 if(!fImp) { Destroyed(); return return_value; }
1648 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1649
1650 try {
1651 return_value = imp->supportsDifferentTableCorrelationNames();
1652
1653 } catch(odbc::SQLException& e) {
1654 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1655 ODBCXX_STRING_CSTR(e.getSQLState()),
1656 e.getErrorCode()) );
1657 return kFALSE;
1658 }
1659 return return_value;
1660 }
1661
1662
1663 Bool_t ODBCDatabaseMetaData::SupportsExpressionsInOrderBy()
1664 {
1665
1666
1667
1668
1669
1670
1671
1672 Bool_t return_value = kFALSE;
1673
1674 if(!fImp) { Destroyed(); return return_value; }
1675 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1676
1677 try {
1678 return_value = imp->supportsExpressionsInOrderBy();
1679
1680 } catch(odbc::SQLException& e) {
1681 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1682 ODBCXX_STRING_CSTR(e.getSQLState()),
1683 e.getErrorCode()) );
1684 return kFALSE;
1685 }
1686 return return_value;
1687 }
1688
1689
1690 Bool_t ODBCDatabaseMetaData::SupportsOrderByUnrelated()
1691 {
1692
1693
1694
1695
1696
1697
1698
1699
1700 Bool_t return_value = kFALSE;
1701
1702 if(!fImp) { Destroyed(); return return_value; }
1703 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1704
1705 try {
1706 return_value = imp->supportsOrderByUnrelated();
1707
1708 } catch(odbc::SQLException& e) {
1709 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1710 ODBCXX_STRING_CSTR(e.getSQLState()),
1711 e.getErrorCode()) );
1712 return kFALSE;
1713 }
1714 return return_value;
1715 }
1716
1717
1718 Bool_t ODBCDatabaseMetaData::SupportsGroupBy()
1719 {
1720
1721
1722
1723
1724
1725
1726
1727 Bool_t return_value = kFALSE;
1728
1729 if(!fImp) { Destroyed(); return return_value; }
1730 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1731
1732 try {
1733 return_value = imp->supportsGroupBy();
1734
1735 } catch(odbc::SQLException& e) {
1736 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1737 ODBCXX_STRING_CSTR(e.getSQLState()),
1738 e.getErrorCode()) );
1739 return kFALSE;
1740 }
1741 return return_value;
1742 }
1743
1744
1745 Bool_t ODBCDatabaseMetaData::SupportsGroupByUnrelated()
1746 {
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757 Bool_t return_value = kFALSE;
1758
1759 if(!fImp) { Destroyed(); return return_value; }
1760 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1761
1762 try {
1763 return_value = imp->supportsGroupByUnrelated();
1764
1765 } catch(odbc::SQLException& e) {
1766 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1767 ODBCXX_STRING_CSTR(e.getSQLState()),
1768 e.getErrorCode()) );
1769 return kFALSE;
1770 }
1771 return return_value;
1772 }
1773
1774
1775 Bool_t ODBCDatabaseMetaData::SupportsGroupByBeyondSelect()
1776 {
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789 Bool_t return_value = kFALSE;
1790
1791 if(!fImp) { Destroyed(); return return_value; }
1792 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1793
1794 try {
1795 return_value = imp->supportsGroupByBeyondSelect();
1796
1797 } catch(odbc::SQLException& e) {
1798 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1799 ODBCXX_STRING_CSTR(e.getSQLState()),
1800 e.getErrorCode()) );
1801 return kFALSE;
1802 }
1803 return return_value;
1804 }
1805
1806
1807 Bool_t ODBCDatabaseMetaData::SupportsLikeEscapeClause()
1808 {
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818 Bool_t return_value = kFALSE;
1819
1820 if(!fImp) { Destroyed(); return return_value; }
1821 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1822
1823 try {
1824 return_value = imp->supportsLikeEscapeClause();
1825
1826 } catch(odbc::SQLException& e) {
1827 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1828 ODBCXX_STRING_CSTR(e.getSQLState()),
1829 e.getErrorCode()) );
1830 return kFALSE;
1831 }
1832 return return_value;
1833 }
1834
1835
1836 Bool_t ODBCDatabaseMetaData::SupportsMultipleResultSets()
1837 {
1838
1839
1840
1841
1842
1843
1844
1845 Bool_t return_value = kFALSE;
1846
1847 if(!fImp) { Destroyed(); return return_value; }
1848 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1849
1850 try {
1851 return_value = imp->supportsMultipleResultSets();
1852
1853 } catch(odbc::SQLException& e) {
1854 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1855 ODBCXX_STRING_CSTR(e.getSQLState()),
1856 e.getErrorCode()) );
1857 return kFALSE;
1858 }
1859 return return_value;
1860 }
1861
1862
1863 Bool_t ODBCDatabaseMetaData::SupportsMultipleTransactions()
1864 {
1865
1866
1867
1868
1869
1870
1871
1872
1873 Bool_t return_value = kFALSE;
1874
1875 if(!fImp) { Destroyed(); return return_value; }
1876 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1877
1878 try {
1879 return_value = imp->supportsMultipleTransactions();
1880
1881 } catch(odbc::SQLException& e) {
1882 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1883 ODBCXX_STRING_CSTR(e.getSQLState()),
1884 e.getErrorCode()) );
1885 return kFALSE;
1886 }
1887 return return_value;
1888 }
1889
1890
1891 Bool_t ODBCDatabaseMetaData::SupportsNonNullableColumns()
1892 {
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907 Bool_t return_value = kFALSE;
1908
1909 if(!fImp) { Destroyed(); return return_value; }
1910 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1911
1912 try {
1913 return_value = imp->supportsNonNullableColumns();
1914
1915 } catch(odbc::SQLException& e) {
1916 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1917 ODBCXX_STRING_CSTR(e.getSQLState()),
1918 e.getErrorCode()) );
1919 return kFALSE;
1920 }
1921 return return_value;
1922 }
1923
1924
1925 Bool_t ODBCDatabaseMetaData::SupportsMinimumSQLGrammar()
1926 {
1927
1928
1929
1930
1931
1932
1933
1934
1935 Bool_t return_value = kFALSE;
1936
1937 if(!fImp) { Destroyed(); return return_value; }
1938 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1939
1940 try {
1941 return_value = imp->supportsMinimumSQLGrammar();
1942
1943 } catch(odbc::SQLException& e) {
1944 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1945 ODBCXX_STRING_CSTR(e.getSQLState()),
1946 e.getErrorCode()) );
1947 return kFALSE;
1948 }
1949 return return_value;
1950 }
1951
1952
1953 Bool_t ODBCDatabaseMetaData::SupportsCoreSQLGrammar()
1954 {
1955
1956
1957
1958
1959
1960
1961
1962 Bool_t return_value = kFALSE;
1963
1964 if(!fImp) { Destroyed(); return return_value; }
1965 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1966
1967 try {
1968 return_value = imp->supportsCoreSQLGrammar();
1969
1970 } catch(odbc::SQLException& e) {
1971 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1972 ODBCXX_STRING_CSTR(e.getSQLState()),
1973 e.getErrorCode()) );
1974 return kFALSE;
1975 }
1976 return return_value;
1977 }
1978
1979
1980 Bool_t ODBCDatabaseMetaData::SupportsExtendedSQLGrammar()
1981 {
1982
1983
1984
1985
1986
1987
1988
1989 Bool_t return_value = kFALSE;
1990
1991 if(!fImp) { Destroyed(); return return_value; }
1992 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
1993
1994 try {
1995 return_value = imp->supportsExtendedSQLGrammar();
1996
1997 } catch(odbc::SQLException& e) {
1998 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
1999 ODBCXX_STRING_CSTR(e.getSQLState()),
2000 e.getErrorCode()) );
2001 return kFALSE;
2002 }
2003 return return_value;
2004 }
2005
2006
2007 Bool_t ODBCDatabaseMetaData::SupportsANSI92EntryLevelSQL()
2008 {
2009
2010
2011
2012
2013
2014
2015
2016
2017 Bool_t return_value = kFALSE;
2018
2019 if(!fImp) { Destroyed(); return return_value; }
2020 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2021
2022 try {
2023 return_value = imp->supportsANSI92EntryLevelSQL();
2024
2025 } catch(odbc::SQLException& e) {
2026 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2027 ODBCXX_STRING_CSTR(e.getSQLState()),
2028 e.getErrorCode()) );
2029 return kFALSE;
2030 }
2031 return return_value;
2032 }
2033
2034
2035 Bool_t ODBCDatabaseMetaData::SupportsANSI92IntermediateSQL()
2036 {
2037
2038
2039
2040
2041
2042
2043
2044 Bool_t return_value = kFALSE;
2045
2046 if(!fImp) { Destroyed(); return return_value; }
2047 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2048
2049 try {
2050 return_value = imp->supportsANSI92IntermediateSQL();
2051
2052 } catch(odbc::SQLException& e) {
2053 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2054 ODBCXX_STRING_CSTR(e.getSQLState()),
2055 e.getErrorCode()) );
2056 return kFALSE;
2057 }
2058 return return_value;
2059 }
2060
2061
2062 Bool_t ODBCDatabaseMetaData::SupportsANSI92FullSQL()
2063 {
2064
2065
2066
2067
2068
2069
2070
2071 Bool_t return_value = kFALSE;
2072
2073 if(!fImp) { Destroyed(); return return_value; }
2074
2075
2076 try {
2077
2078 return kTRUE;
2079
2080 } catch(odbc::SQLException& e) {
2081 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2082 ODBCXX_STRING_CSTR(e.getSQLState()),
2083 e.getErrorCode()) );
2084 return kFALSE;
2085 }
2086 return return_value;
2087 }
2088
2089
2090 Bool_t ODBCDatabaseMetaData::SupportsIntegrityEnhancementFacility()
2091 {
2092
2093
2094
2095
2096
2097
2098
2099 Bool_t return_value = kFALSE;
2100
2101 if(!fImp) { Destroyed(); return return_value; }
2102 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2103
2104 try {
2105 return_value = imp->supportsIntegrityEnhancementFacility();
2106
2107 } catch(odbc::SQLException& e) {
2108 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2109 ODBCXX_STRING_CSTR(e.getSQLState()),
2110 e.getErrorCode()) );
2111 return kFALSE;
2112 }
2113 return return_value;
2114 }
2115
2116
2117 Bool_t ODBCDatabaseMetaData::SupportsOuterJoins()
2118 {
2119
2120
2121
2122
2123
2124
2125
2126 Bool_t return_value = kFALSE;
2127
2128 if(!fImp) { Destroyed(); return return_value; }
2129 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2130
2131 try {
2132 return_value = imp->supportsOuterJoins();
2133
2134 } catch(odbc::SQLException& e) {
2135 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2136 ODBCXX_STRING_CSTR(e.getSQLState()),
2137 e.getErrorCode()) );
2138 return kFALSE;
2139 }
2140 return return_value;
2141 }
2142
2143
2144 Bool_t ODBCDatabaseMetaData::SupportsFullOuterJoins()
2145 {
2146
2147
2148
2149
2150
2151
2152
2153 Bool_t return_value = kFALSE;
2154
2155 if(!fImp) { Destroyed(); return return_value; }
2156 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2157
2158 try {
2159 return_value = imp->supportsFullOuterJoins();
2160
2161 } catch(odbc::SQLException& e) {
2162 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2163 ODBCXX_STRING_CSTR(e.getSQLState()),
2164 e.getErrorCode()) );
2165 return kFALSE;
2166 }
2167 return return_value;
2168 }
2169
2170
2171 Bool_t ODBCDatabaseMetaData::SupportsLimitedOuterJoins()
2172 {
2173
2174
2175
2176
2177
2178
2179
2180
2181 Bool_t return_value = kFALSE;
2182
2183 if(!fImp) { Destroyed(); return return_value; }
2184 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2185
2186 try {
2187 return_value = imp->supportsLimitedOuterJoins();
2188
2189 } catch(odbc::SQLException& e) {
2190 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2191 ODBCXX_STRING_CSTR(e.getSQLState()),
2192 e.getErrorCode()) );
2193 return kFALSE;
2194 }
2195 return return_value;
2196 }
2197
2198
2199 TString ODBCDatabaseMetaData::GetSchemaTerm()
2200 {
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213 TString str;
2214
2215 if(!fImp) { Destroyed(); return str; }
2216 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2217
2218 try {
2219 str = ODBCXX_STRING_CSTR( imp->getSchemaTerm() );
2220
2221 } catch(odbc::SQLException& e) {
2222 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2223 ODBCXX_STRING_CSTR(e.getSQLState()),
2224 e.getErrorCode()) );
2225 return "";
2226 }
2227 return str;
2228 }
2229
2230
2231 TString ODBCDatabaseMetaData::GetTableTerm()
2232 {
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243 TString str;
2244
2245 if(!fImp) { Destroyed(); return str; }
2246 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2247
2248 try {
2249 str = ODBCXX_STRING_CSTR( imp->getTableTerm() );
2250
2251 } catch(odbc::SQLException& e) {
2252 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2253 ODBCXX_STRING_CSTR(e.getSQLState()),
2254 e.getErrorCode()) );
2255 return "";
2256 }
2257 return str;
2258 }
2259
2260
2261 TString ODBCDatabaseMetaData::GetProcedureTerm()
2262 {
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274 TString str;
2275
2276 if(!fImp) { Destroyed(); return str; }
2277 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2278
2279 try {
2280 str = ODBCXX_STRING_CSTR( imp->getProcedureTerm() );
2281
2282 } catch(odbc::SQLException& e) {
2283 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2284 ODBCXX_STRING_CSTR(e.getSQLState()),
2285 e.getErrorCode()) );
2286 return "";
2287 }
2288 return str;
2289 }
2290
2291
2292 TString ODBCDatabaseMetaData::GetCatalogTerm()
2293 {
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306 TString str;
2307
2308 if(!fImp) { Destroyed(); return str; }
2309 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2310
2311 try {
2312 str = ODBCXX_STRING_CSTR( imp->getCatalogTerm() );
2313
2314 } catch(odbc::SQLException& e) {
2315 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2316 ODBCXX_STRING_CSTR(e.getSQLState()),
2317 e.getErrorCode()) );
2318 return "";
2319 }
2320 return str;
2321 }
2322
2323
2324 Bool_t ODBCDatabaseMetaData::IsCatalogAtStart()
2325 {
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340 Bool_t return_value = kFALSE;
2341
2342 if(!fImp) { Destroyed(); return return_value; }
2343 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2344
2345 try {
2346 return_value = imp->isCatalogAtStart();
2347
2348 } catch(odbc::SQLException& e) {
2349 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2350 ODBCXX_STRING_CSTR(e.getSQLState()),
2351 e.getErrorCode()) );
2352 return kFALSE;
2353 }
2354 return return_value;
2355 }
2356
2357
2358 TString ODBCDatabaseMetaData::GetCatalogSeparator()
2359 {
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373 TString str;
2374
2375 if(!fImp) { Destroyed(); return str; }
2376 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2377
2378 try {
2379 str = ODBCXX_STRING_CSTR( imp->getCatalogSeparator() );
2380
2381 } catch(odbc::SQLException& e) {
2382 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2383 ODBCXX_STRING_CSTR(e.getSQLState()),
2384 e.getErrorCode()) );
2385 return "";
2386 }
2387 return str;
2388 }
2389
2390
2391 Bool_t ODBCDatabaseMetaData::SupportsSchemasInDataManipulation()
2392 {
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410 Bool_t return_value = kFALSE;
2411
2412 if(!fImp) { Destroyed(); return return_value; }
2413 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2414
2415 try {
2416 return_value = imp->supportsSchemasInDataManipulation();
2417
2418 } catch(odbc::SQLException& e) {
2419 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2420 ODBCXX_STRING_CSTR(e.getSQLState()),
2421 e.getErrorCode()) );
2422 return kFALSE;
2423 }
2424 return return_value;
2425 }
2426
2427
2428 Bool_t ODBCDatabaseMetaData::SupportsSchemasInProcedureCalls()
2429 {
2430
2431
2432
2433
2434
2435
2436
2437 Bool_t return_value = kFALSE;
2438
2439 if(!fImp) { Destroyed(); return return_value; }
2440 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2441
2442 try {
2443 return_value = imp->supportsSchemasInProcedureCalls();
2444
2445 } catch(odbc::SQLException& e) {
2446 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2447 ODBCXX_STRING_CSTR(e.getSQLState()),
2448 e.getErrorCode()) );
2449 return kFALSE;
2450 }
2451 return return_value;
2452 }
2453
2454
2455 Bool_t ODBCDatabaseMetaData::SupportsSchemasInTableDefinitions()
2456 {
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470 Bool_t return_value = kFALSE;
2471
2472 if(!fImp) { Destroyed(); return return_value; }
2473 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2474
2475 try {
2476 return_value = imp->supportsSchemasInTableDefinitions();
2477
2478 } catch(odbc::SQLException& e) {
2479 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2480 ODBCXX_STRING_CSTR(e.getSQLState()),
2481 e.getErrorCode()) );
2482 return kFALSE;
2483 }
2484 return return_value;
2485 }
2486
2487
2488 Bool_t ODBCDatabaseMetaData::SupportsSchemasInIndexDefinitions()
2489 {
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500 Bool_t return_value = kFALSE;
2501
2502 if(!fImp) { Destroyed(); return return_value; }
2503 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2504
2505 try {
2506 return_value = imp->supportsSchemasInIndexDefinitions();
2507
2508 } catch(odbc::SQLException& e) {
2509 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2510 ODBCXX_STRING_CSTR(e.getSQLState()),
2511 e.getErrorCode()) );
2512 return kFALSE;
2513 }
2514 return return_value;
2515 }
2516
2517
2518 Bool_t ODBCDatabaseMetaData::SupportsSchemasInPrivilegeDefinitions()
2519 {
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532 Bool_t return_value = kFALSE;
2533
2534 if(!fImp) { Destroyed(); return return_value; }
2535 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2536
2537 try {
2538 return_value = imp->supportsSchemasInPrivilegeDefinitions();
2539
2540 } catch(odbc::SQLException& e) {
2541 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2542 ODBCXX_STRING_CSTR(e.getSQLState()),
2543 e.getErrorCode()) );
2544 return kFALSE;
2545 }
2546 return return_value;
2547 }
2548
2549
2550 Bool_t ODBCDatabaseMetaData::SupportsCatalogsInDataManipulation()
2551 {
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569 Bool_t return_value = kFALSE;
2570
2571 if(!fImp) { Destroyed(); return return_value; }
2572 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2573
2574 try {
2575 return_value = imp->supportsCatalogsInDataManipulation();
2576
2577 } catch(odbc::SQLException& e) {
2578 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2579 ODBCXX_STRING_CSTR(e.getSQLState()),
2580 e.getErrorCode()) );
2581 return kFALSE;
2582 }
2583 return return_value;
2584 }
2585
2586
2587 Bool_t ODBCDatabaseMetaData::SupportsCatalogsInProcedureCalls()
2588 {
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598 Bool_t return_value = kFALSE;
2599
2600 if(!fImp) { Destroyed(); return return_value; }
2601 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2602
2603 try {
2604 return_value = imp->supportsCatalogsInProcedureCalls();
2605
2606 } catch(odbc::SQLException& e) {
2607 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2608 ODBCXX_STRING_CSTR(e.getSQLState()),
2609 e.getErrorCode()) );
2610 return kFALSE;
2611 }
2612 return return_value;
2613 }
2614
2615
2616 Bool_t ODBCDatabaseMetaData::SupportsCatalogsInTableDefinitions()
2617 {
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629 Bool_t return_value = kFALSE;
2630
2631 if(!fImp) { Destroyed(); return return_value; }
2632 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2633
2634 try {
2635 return_value = imp->supportsCatalogsInTableDefinitions();
2636
2637 } catch(odbc::SQLException& e) {
2638 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2639 ODBCXX_STRING_CSTR(e.getSQLState()),
2640 e.getErrorCode()) );
2641 return kFALSE;
2642 }
2643 return return_value;
2644 }
2645
2646
2647 Bool_t ODBCDatabaseMetaData::SupportsCatalogsInIndexDefinitions()
2648 {
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661 Bool_t return_value = kFALSE;
2662
2663 if(!fImp) { Destroyed(); return return_value; }
2664 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2665
2666 try {
2667 return_value = imp->supportsCatalogsInIndexDefinitions();
2668
2669 } catch(odbc::SQLException& e) {
2670 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2671 ODBCXX_STRING_CSTR(e.getSQLState()),
2672 e.getErrorCode()) );
2673 return kFALSE;
2674 }
2675 return return_value;
2676 }
2677
2678
2679 Bool_t ODBCDatabaseMetaData::SupportsCatalogsInPrivilegeDefinitions()
2680 {
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693 Bool_t return_value = kFALSE;
2694
2695 if(!fImp) { Destroyed(); return return_value; }
2696 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2697
2698 try {
2699 return_value = imp->supportsCatalogsInPrivilegeDefinitions();
2700
2701 } catch(odbc::SQLException& e) {
2702 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2703 ODBCXX_STRING_CSTR(e.getSQLState()),
2704 e.getErrorCode()) );
2705 return kFALSE;
2706 }
2707 return return_value;
2708 }
2709
2710
2711 Bool_t ODBCDatabaseMetaData::SupportsPositionedDelete()
2712 {
2713
2714
2715
2716
2717
2718
2719
2720 Bool_t return_value = kFALSE;
2721
2722 if(!fImp) { Destroyed(); return return_value; }
2723 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2724
2725 try {
2726 return_value = imp->supportsPositionedDelete();
2727
2728 } catch(odbc::SQLException& e) {
2729 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2730 ODBCXX_STRING_CSTR(e.getSQLState()),
2731 e.getErrorCode()) );
2732 return kFALSE;
2733 }
2734 return return_value;
2735 }
2736
2737
2738 Bool_t ODBCDatabaseMetaData::SupportsPositionedUpdate()
2739 {
2740
2741
2742
2743
2744
2745
2746
2747 Bool_t return_value = kFALSE;
2748
2749 if(!fImp) { Destroyed(); return return_value; }
2750 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2751
2752 try {
2753 return_value = imp->supportsPositionedUpdate();
2754
2755 } catch(odbc::SQLException& e) {
2756 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2757 ODBCXX_STRING_CSTR(e.getSQLState()),
2758 e.getErrorCode()) );
2759 return kFALSE;
2760 }
2761 return return_value;
2762 }
2763
2764
2765 Bool_t ODBCDatabaseMetaData::SupportsSelectForUpdate()
2766 {
2767
2768
2769
2770
2771
2772
2773
2774 Bool_t return_value = kFALSE;
2775
2776 if(!fImp) { Destroyed(); return return_value; }
2777 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2778
2779 try {
2780 return_value = imp->supportsStoredProcedures();
2781
2782 } catch(odbc::SQLException& e) {
2783 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2784 ODBCXX_STRING_CSTR(e.getSQLState()),
2785 e.getErrorCode()) );
2786 return kFALSE;
2787 }
2788 return return_value;
2789 }
2790
2791
2792 Bool_t ODBCDatabaseMetaData::SupportsStoredProcedures()
2793 {
2794
2795
2796
2797
2798
2799
2800
2801
2802 Bool_t return_value = kFALSE;
2803
2804 if(!fImp) { Destroyed(); return return_value; }
2805 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2806
2807 try {
2808 return_value = imp->supportsStoredProcedures();
2809
2810 } catch(odbc::SQLException& e) {
2811 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2812 ODBCXX_STRING_CSTR(e.getSQLState()),
2813 e.getErrorCode()) );
2814 return kFALSE;
2815 }
2816 return return_value;
2817 }
2818
2819
2820 Bool_t ODBCDatabaseMetaData::SupportsSubqueriesInComparisons()
2821 {
2822
2823
2824
2825
2826
2827
2828
2829
2830 Bool_t return_value = kTRUE;
2831
2832 if(!fImp) { Destroyed(); return return_value; }
2833 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2834
2835 try {
2836 return_value = imp->supportsSubqueriesInComparisons();
2837
2838 } catch(odbc::SQLException& e) {
2839 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2840 ODBCXX_STRING_CSTR(e.getSQLState()),
2841 e.getErrorCode()) );
2842 return kFALSE;
2843 }
2844 return return_value;
2845 }
2846
2847
2848 Bool_t ODBCDatabaseMetaData::SupportsSubqueriesInExists()
2849 {
2850
2851
2852
2853
2854
2855
2856
2857
2858 Bool_t return_value = kFALSE;
2859
2860 if(!fImp) { Destroyed(); return return_value; }
2861 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2862
2863 try {
2864 return_value = imp->supportsSubqueriesInExists();
2865
2866 } catch(odbc::SQLException& e) {
2867 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2868 ODBCXX_STRING_CSTR(e.getSQLState()),
2869 e.getErrorCode()) );
2870 return kFALSE;
2871 }
2872 return return_value;
2873 }
2874
2875
2876 Bool_t ODBCDatabaseMetaData::SupportsSubqueriesInIns()
2877 {
2878
2879
2880
2881
2882
2883
2884
2885
2886 Bool_t return_value = kFALSE;
2887
2888 if(!fImp) { Destroyed(); return return_value; }
2889 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2890
2891 try {
2892 return_value = imp->supportsSubqueriesInIns();
2893
2894 } catch(odbc::SQLException& e) {
2895 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2896 ODBCXX_STRING_CSTR(e.getSQLState()),
2897 e.getErrorCode()) );
2898 return kFALSE;
2899 }
2900 return return_value;
2901 }
2902
2903
2904 Bool_t ODBCDatabaseMetaData::SupportsSubqueriesInQuantifieds()
2905 {
2906
2907
2908
2909
2910
2911
2912
2913
2914 Bool_t return_value = kFALSE;
2915
2916 if(!fImp) { Destroyed(); return return_value; }
2917 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2918
2919 try {
2920 return_value = imp->supportsSubqueriesInQuantifieds();
2921
2922 } catch(odbc::SQLException& e) {
2923 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2924 ODBCXX_STRING_CSTR(e.getSQLState()),
2925 e.getErrorCode()) );
2926 return kFALSE;
2927 }
2928 return return_value;
2929 }
2930
2931
2932 Bool_t ODBCDatabaseMetaData::SupportsCorrelatedSubqueries()
2933 {
2934
2935
2936
2937
2938
2939
2940
2941
2942 Bool_t return_value = kFALSE;
2943
2944 if(!fImp) { Destroyed(); return return_value; }
2945 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2946
2947 try {
2948 return_value = imp->supportsCorrelatedSubqueries();
2949
2950 } catch(odbc::SQLException& e) {
2951 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2952 ODBCXX_STRING_CSTR(e.getSQLState()),
2953 e.getErrorCode()) );
2954 return kFALSE;
2955 }
2956 return return_value;
2957 }
2958
2959
2960 Bool_t ODBCDatabaseMetaData::SupportsUnion()
2961 {
2962
2963
2964
2965
2966
2967
2968
2969
2970 Bool_t return_value = kFALSE;
2971
2972 if(!fImp) { Destroyed(); return return_value; }
2973 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
2974
2975 try {
2976 return_value = imp->supportsUnion();
2977
2978 } catch(odbc::SQLException& e) {
2979 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
2980 ODBCXX_STRING_CSTR(e.getSQLState()),
2981 e.getErrorCode()) );
2982 return kFALSE;
2983 }
2984 return return_value;
2985 }
2986
2987
2988 Bool_t ODBCDatabaseMetaData::SupportsUnionAll()
2989 {
2990
2991
2992
2993
2994
2995
2996
2997
2998 Bool_t return_value = kFALSE;
2999
3000 if(!fImp) { Destroyed(); return return_value; }
3001 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3002
3003 try {
3004 return_value = imp->supportsUnionAll();
3005
3006 } catch(odbc::SQLException& e) {
3007 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3008 ODBCXX_STRING_CSTR(e.getSQLState()),
3009 e.getErrorCode()) );
3010 return kFALSE;
3011 }
3012 return return_value;
3013 }
3014
3015
3016 Bool_t ODBCDatabaseMetaData::SupportsOpenCursorsAcrossCommit()
3017 {
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040 Bool_t return_value = kFALSE;
3041 if(!fImp) { Destroyed(); return return_value; }
3042
3043 try {
3044 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3045 return_value = imp->supportsOpenCursorsAcrossCommit();
3046
3047 } catch(odbc::SQLException& e) {
3048 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3049 ODBCXX_STRING_CSTR(e.getSQLState()),
3050 e.getErrorCode()) );
3051 return kFALSE;
3052 }
3053 return return_value;
3054 }
3055
3056
3057 Bool_t ODBCDatabaseMetaData::SupportsOpenCursorsAcrossRollback()
3058 {
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081 Bool_t return_value = kFALSE;
3082 if(!fImp) { Destroyed(); return return_value; }
3083
3084 try {
3085 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3086 return_value = imp->supportsOpenCursorsAcrossRollback();
3087
3088 } catch(odbc::SQLException& e) {
3089 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3090 ODBCXX_STRING_CSTR(e.getSQLState()),
3091 e.getErrorCode()) );
3092 return kFALSE;
3093 }
3094 return return_value;
3095 }
3096
3097
3098 Bool_t ODBCDatabaseMetaData::SupportsOpenStatementsAcrossCommit()
3099 {
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112 Bool_t return_value = kFALSE;
3113
3114 if(!fImp) { Destroyed(); return return_value; }
3115 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3116
3117 try {
3118 return_value = imp->supportsOpenStatementsAcrossCommit();
3119
3120 } catch(odbc::SQLException& e) {
3121 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3122 ODBCXX_STRING_CSTR(e.getSQLState()),
3123 e.getErrorCode()) );
3124 return kFALSE;
3125 }
3126 return return_value;
3127 }
3128
3129
3130 Bool_t ODBCDatabaseMetaData::SupportsOpenStatementsAcrossRollback()
3131 {
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144 Bool_t return_value = kFALSE;
3145
3146 if(!fImp) { Destroyed(); return return_value; }
3147 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3148
3149 try {
3150 return_value = imp->supportsOpenStatementsAcrossRollback();
3151
3152 } catch(odbc::SQLException& e) {
3153 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3154 ODBCXX_STRING_CSTR(e.getSQLState()),
3155 e.getErrorCode()) );
3156 return kFALSE;
3157 }
3158 return return_value;
3159 }
3160
3161
3162 Int_t ODBCDatabaseMetaData::GetMaxBinaryLiteralLength()
3163 {
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176 Int_t return_value = 0;
3177 if(!fImp) { Destroyed(); return return_value; }
3178
3179 try {
3180 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3181 return_value = imp->getMaxBinaryLiteralLength();
3182
3183 } catch(odbc::SQLException& e) {
3184 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3185 ODBCXX_STRING_CSTR(e.getSQLState()),
3186 e.getErrorCode()) );
3187 return 0;
3188 }
3189 return return_value;
3190 }
3191
3192
3193 Int_t ODBCDatabaseMetaData::GetMaxCharLiteralLength()
3194 {
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205 Int_t return_value = 0;
3206 if(!fImp) { Destroyed(); return return_value; }
3207
3208 try {
3209 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3210 return_value = imp->getMaxCharLiteralLength();
3211
3212 } catch(odbc::SQLException& e) {
3213 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3214 ODBCXX_STRING_CSTR(e.getSQLState()),
3215 e.getErrorCode()) );
3216 return 0;
3217 }
3218 return return_value;
3219 }
3220
3221
3222 Int_t ODBCDatabaseMetaData::GetMaxColumnNameLength()
3223 {
3224
3225
3226
3227
3228
3229
3230
3231
3232 Int_t return_value = 0;
3233 if(!fImp) { Destroyed(); return return_value; }
3234
3235 try {
3236 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3237 return_value = imp->getMaxColumnNameLength();
3238
3239 } catch(odbc::SQLException& e) {
3240 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3241 ODBCXX_STRING_CSTR(e.getSQLState()),
3242 e.getErrorCode()) );
3243 return 0;
3244 }
3245 return return_value;
3246 }
3247
3248
3249 Int_t ODBCDatabaseMetaData::GetMaxColumnsInGroupBy()
3250 {
3251
3252
3253
3254
3255
3256
3257
3258
3259 Int_t return_value = 0;
3260 if(!fImp) { Destroyed(); return return_value; }
3261
3262 try {
3263 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3264 return_value = imp->getMaxColumnsInGroupBy();
3265
3266 } catch(odbc::SQLException& e) {
3267 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3268 ODBCXX_STRING_CSTR(e.getSQLState()),
3269 e.getErrorCode()) );
3270 return 0;
3271 }
3272 return return_value;
3273 }
3274
3275
3276 Int_t ODBCDatabaseMetaData::GetMaxColumnsInIndex()
3277 {
3278
3279
3280
3281
3282
3283
3284
3285
3286 Int_t return_value = 0;
3287 if(!fImp) { Destroyed(); return return_value; }
3288
3289 try {
3290 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3291 return_value = imp->getMaxColumnsInIndex();
3292
3293 } catch(odbc::SQLException& e) {
3294 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3295 ODBCXX_STRING_CSTR(e.getSQLState()),
3296 e.getErrorCode()) );
3297 return 0;
3298 }
3299 return return_value;
3300 }
3301
3302
3303 Int_t ODBCDatabaseMetaData::GetMaxColumnsInOrderBy()
3304 {
3305
3306
3307
3308
3309
3310
3311
3312
3313 Int_t return_value = 0;
3314 if(!fImp) { Destroyed(); return return_value; }
3315
3316 try {
3317 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3318 return_value = imp->getMaxColumnsInOrderBy();
3319
3320 } catch(odbc::SQLException& e) {
3321 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3322 ODBCXX_STRING_CSTR(e.getSQLState()),
3323 e.getErrorCode()) );
3324 return 0;
3325 }
3326 return return_value;
3327 }
3328
3329
3330 Int_t ODBCDatabaseMetaData::GetMaxColumnsInSelect()
3331 {
3332
3333
3334
3335
3336
3337
3338
3339
3340 Int_t return_value = 0;
3341 if(!fImp) { Destroyed(); return return_value; }
3342
3343 try {
3344 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3345 return_value = imp->getMaxColumnsInSelect();
3346
3347 } catch(odbc::SQLException& e) {
3348 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3349 ODBCXX_STRING_CSTR(e.getSQLState()),
3350 e.getErrorCode()) );
3351 return 0;
3352 }
3353 return return_value;
3354 }
3355
3356
3357 Int_t ODBCDatabaseMetaData::GetMaxColumnsInTable()
3358 {
3359
3360
3361
3362
3363
3364
3365
3366
3367 Int_t return_value = 0;
3368 if(!fImp) { Destroyed(); return return_value; }
3369
3370 try {
3371 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3372 return_value = imp->getMaxColumnsInTable();
3373
3374 } catch(odbc::SQLException& e) {
3375 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3376 ODBCXX_STRING_CSTR(e.getSQLState()),
3377 e.getErrorCode()) );
3378 return 0;
3379 }
3380 return return_value;
3381 }
3382
3383
3384 Int_t ODBCDatabaseMetaData::GetMaxConnections()
3385 {
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396 Int_t return_value = 0;
3397 if(!fImp) { Destroyed(); return return_value; }
3398
3399 try {
3400 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3401 return_value = imp->getMaxConnections();
3402
3403 } catch(odbc::SQLException& e) {
3404 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3405 ODBCXX_STRING_CSTR(e.getSQLState()),
3406 e.getErrorCode()) );
3407 return 0;
3408 }
3409 return return_value;
3410 }
3411
3412
3413 Int_t ODBCDatabaseMetaData::GetMaxCursorNameLength()
3414 {
3415
3416
3417
3418
3419
3420
3421
3422
3423 Int_t return_value = 0;
3424 if(!fImp) { Destroyed(); return return_value; }
3425
3426 try {
3427 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3428 return_value = imp->getMaxCursorNameLength();
3429
3430 } catch(odbc::SQLException& e) {
3431 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3432 ODBCXX_STRING_CSTR(e.getSQLState()),
3433 e.getErrorCode()) );
3434 return 0;
3435 }
3436 return return_value;
3437 }
3438
3439
3440 Int_t ODBCDatabaseMetaData::GetMaxIndexLength()
3441 {
3442
3443
3444
3445
3446
3447
3448
3449
3450 Int_t return_value = 0;
3451 if(!fImp) { Destroyed(); return return_value; }
3452
3453 try {
3454 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3455 return_value = imp->getMaxIndexLength();
3456
3457 } catch(odbc::SQLException& e) {
3458 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3459 ODBCXX_STRING_CSTR(e.getSQLState()),
3460 e.getErrorCode()) );
3461 return 0;
3462 }
3463 return return_value;
3464 }
3465
3466
3467 Int_t ODBCDatabaseMetaData::GetMaxSchemaNameLength()
3468 {
3469
3470
3471
3472
3473
3474
3475
3476
3477 Int_t return_value = 0;
3478 if(!fImp) { Destroyed(); return return_value; }
3479
3480 try {
3481 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3482 return_value = imp->getMaxSchemaNameLength();
3483
3484 } catch(odbc::SQLException& e) {
3485 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3486 ODBCXX_STRING_CSTR(e.getSQLState()),
3487 e.getErrorCode()) );
3488 return 0;
3489 }
3490 return return_value;
3491 }
3492
3493
3494 Int_t ODBCDatabaseMetaData::GetMaxProcedureNameLength()
3495 {
3496
3497
3498
3499
3500
3501
3502
3503
3504 Int_t return_value = 0;
3505 if(!fImp) { Destroyed(); return return_value; }
3506
3507 try {
3508 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3509 return_value = imp->getMaxProcedureNameLength();
3510
3511 } catch(odbc::SQLException& e) {
3512 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3513 ODBCXX_STRING_CSTR(e.getSQLState()),
3514 e.getErrorCode()) );
3515 return 0;
3516 }
3517 return return_value;
3518 }
3519
3520
3521 Int_t ODBCDatabaseMetaData::GetMaxCatalogNameLength()
3522 {
3523
3524
3525
3526
3527
3528
3529
3530
3531 Int_t return_value = 0;
3532 if(!fImp) { Destroyed(); return return_value; }
3533
3534 try {
3535 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3536 return_value = imp->getMaxCatalogNameLength();
3537
3538 } catch(odbc::SQLException& e) {
3539 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3540 ODBCXX_STRING_CSTR(e.getSQLState()),
3541 e.getErrorCode()) );
3542 return 0;
3543 }
3544 return return_value;
3545 }
3546
3547
3548 Int_t ODBCDatabaseMetaData::GetMaxRowSize()
3549 {
3550
3551
3552
3553
3554
3555
3556
3557
3558 Int_t return_value = 0;
3559 if(!fImp) { Destroyed(); return return_value; }
3560
3561 try {
3562 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3563 return_value = imp->getMaxRowSize();
3564
3565 } catch(odbc::SQLException& e) {
3566 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3567 ODBCXX_STRING_CSTR(e.getSQLState()),
3568 e.getErrorCode()) );
3569 return 0;
3570 }
3571 return return_value;
3572 }
3573
3574
3575 Bool_t ODBCDatabaseMetaData::DoesMaxRowSizeIncludeBlobs()
3576 {
3577
3578
3579
3580
3581
3582
3583
3584
3585 Bool_t return_value = kFALSE;
3586 if(!fImp) { Destroyed(); return return_value; }
3587
3588 try {
3589 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3590 return_value = imp->doesMaxRowSizeIncludeBlobs();
3591
3592 } catch(odbc::SQLException& e) {
3593 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3594 ODBCXX_STRING_CSTR(e.getSQLState()),
3595 e.getErrorCode()) );
3596 return kFALSE;
3597 }
3598 return return_value;
3599 }
3600
3601
3602 Int_t ODBCDatabaseMetaData::GetMaxStatementLength()
3603 {
3604
3605
3606
3607
3608
3609
3610
3611
3612 Int_t return_value = 0;
3613 if(!fImp) { Destroyed(); return return_value; }
3614
3615 try {
3616 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3617 return_value = imp->getMaxStatementLength();
3618
3619 } catch(odbc::SQLException& e) {
3620 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3621 ODBCXX_STRING_CSTR(e.getSQLState()),
3622 e.getErrorCode()) );
3623 return 0;
3624 }
3625 return return_value;
3626 }
3627
3628
3629 Int_t ODBCDatabaseMetaData::GetMaxStatements()
3630 {
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652 Int_t return_value = 0;
3653 if(!fImp) { Destroyed(); return return_value; }
3654
3655 try {
3656 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3657 return_value = imp->getMaxStatements();
3658
3659 } catch(odbc::SQLException& e) {
3660 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3661 ODBCXX_STRING_CSTR(e.getSQLState()),
3662 e.getErrorCode()) );
3663 return 0;
3664 }
3665 return return_value;
3666 }
3667
3668
3669 Int_t ODBCDatabaseMetaData::GetMaxTableNameLength()
3670 {
3671
3672
3673
3674
3675
3676
3677
3678
3679 Int_t return_value = 0;
3680 if(!fImp) { Destroyed(); return return_value; }
3681
3682 try {
3683 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3684 return_value = imp->getMaxTableNameLength();
3685
3686 } catch(odbc::SQLException& e) {
3687 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3688 ODBCXX_STRING_CSTR(e.getSQLState()),
3689 e.getErrorCode()) );
3690 return 0;
3691 }
3692 return return_value;
3693 }
3694
3695
3696 Int_t ODBCDatabaseMetaData::GetMaxTablesInSelect()
3697 {
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713 Int_t return_value = 0;
3714 if(!fImp) { Destroyed(); return return_value; }
3715
3716 try {
3717 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3718 return_value = imp->getMaxTablesInSelect();
3719
3720 } catch(odbc::SQLException& e) {
3721 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3722 ODBCXX_STRING_CSTR(e.getSQLState()),
3723 e.getErrorCode()) );
3724 return 0;
3725 }
3726 return return_value;
3727 }
3728
3729
3730 Int_t ODBCDatabaseMetaData::GetMaxUserNameLength()
3731 {
3732
3733
3734
3735
3736
3737
3738
3739
3740 Int_t return_value = 0;
3741 if(!fImp) { Destroyed(); return return_value; }
3742
3743 try {
3744 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3745 return_value = imp->getMaxUserNameLength();
3746
3747 } catch(odbc::SQLException& e) {
3748 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3749 ODBCXX_STRING_CSTR(e.getSQLState()),
3750 e.getErrorCode()) );
3751 return 0;
3752 }
3753 return return_value;
3754 }
3755
3756
3757 Int_t ODBCDatabaseMetaData::GetDefaultTransactionIsolation()
3758 {
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769 Int_t return_value = 0;
3770 if(!fImp) { Destroyed(); return return_value; }
3771
3772 try {
3773 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3774 return_value = imp->getDefaultTransactionIsolation();
3775
3776 } catch(odbc::SQLException& e) {
3777 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3778 ODBCXX_STRING_CSTR(e.getSQLState()),
3779 e.getErrorCode()) );
3780 return 0;
3781 }
3782 return return_value;
3783 }
3784
3785
3786 Bool_t ODBCDatabaseMetaData::SupportsTransactions()
3787 {
3788
3789
3790
3791
3792
3793
3794
3795
3796 Bool_t return_value = kFALSE;
3797
3798 if(!fImp) { Destroyed(); return return_value; }
3799 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3800
3801 try {
3802 return_value = imp->supportsTransactions();
3803
3804 } catch(odbc::SQLException& e) {
3805 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3806 ODBCXX_STRING_CSTR(e.getSQLState()),
3807 e.getErrorCode()) );
3808 return kFALSE;
3809 }
3810 return return_value;
3811 }
3812
3813
3814 Bool_t ODBCDatabaseMetaData::SupportsTransactionIsolationLevel(
3815 Int_t level )
3816 {
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830 Bool_t return_value = kFALSE;
3831
3832 if(!fImp) { Destroyed(); return return_value; }
3833 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3834
3835 try {
3836 return_value = imp->supportsTransactionIsolationLevel(level);
3837
3838 } catch(odbc::SQLException& e) {
3839 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3840 ODBCXX_STRING_CSTR(e.getSQLState()),
3841 e.getErrorCode()) );
3842 return kFALSE;
3843 }
3844 return return_value;
3845 }
3846
3847
3848 Bool_t ODBCDatabaseMetaData::SupportsDataDefinitionAndDataManipulationTransactions()
3849 {
3850
3851
3852
3853
3854
3855
3856
3857
3858 Bool_t return_value = kFALSE;
3859
3860 if(!fImp) { Destroyed(); return return_value; }
3861 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3862
3863 try {
3864 return_value = imp->supportsDataDefinitionAndDataManipulationTransactions();
3865
3866 } catch(odbc::SQLException& e) {
3867 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3868 ODBCXX_STRING_CSTR(e.getSQLState()),
3869 e.getErrorCode()) );
3870 return kFALSE;
3871 }
3872 return return_value;
3873 }
3874
3875
3876 Bool_t ODBCDatabaseMetaData::SupportsDataManipulationTransactionsOnly()
3877 {
3878
3879
3880
3881
3882
3883
3884
3885
3886 Bool_t return_value = kFALSE;
3887
3888 if(!fImp) { Destroyed(); return return_value; }
3889 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3890
3891 try {
3892 return_value = imp->supportsDataManipulationTransactionsOnly();
3893
3894 } catch(odbc::SQLException& e) {
3895 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3896 ODBCXX_STRING_CSTR(e.getSQLState()),
3897 e.getErrorCode()) );
3898 return kFALSE;
3899 }
3900 return return_value;
3901 }
3902
3903
3904 Bool_t ODBCDatabaseMetaData::DataDefinitionCausesTransactionCommit()
3905 {
3906
3907
3908
3909
3910
3911
3912
3913
3914 Bool_t return_value = kFALSE;
3915
3916 if(!fImp) { Destroyed(); return return_value; }
3917 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3918
3919 try {
3920 return_value = imp->dataDefinitionCausesTransactionCommit();
3921
3922 } catch(odbc::SQLException& e) {
3923 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3924 ODBCXX_STRING_CSTR(e.getSQLState()),
3925 e.getErrorCode()) );
3926 return kFALSE;
3927 }
3928 return return_value;
3929 }
3930
3931
3932 Bool_t ODBCDatabaseMetaData::DataDefinitionIgnoredInTransactions()
3933 {
3934
3935
3936
3937
3938
3939
3940
3941 Bool_t return_value = kFALSE;
3942
3943 if(!fImp) { Destroyed(); return return_value; }
3944 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
3945
3946 try {
3947 return_value = imp->dataDefinitionIgnoredInTransactions();
3948
3949 } catch(odbc::SQLException& e) {
3950 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
3951 ODBCXX_STRING_CSTR(e.getSQLState()),
3952 e.getErrorCode()) );
3953 return kFALSE;
3954 }
3955 return return_value;
3956 }
3957
3958
3959 TSQLResultSet* ODBCDatabaseMetaData::GetProcedures(
3960 const TString& catalog,
3961 const TString& schemaPattern,
3962 const TString& procedureNamePattern )
3963 {
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005 TSQLResultSet* rs = 0;
4006
4007 if(!fImp) { Destroyed(); return rs; }
4008 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4009 ClearWarnings();
4010
4011 odbc::ResultSet* imp = 0;
4012
4013 try {
4014 imp = md->getProcedures(
4015 ODBCXX_STRING_C(catalog.Data()),
4016 ODBCXX_STRING_C(schemaPattern.Data()),
4017 ODBCXX_STRING_C(procedureNamePattern.Data()) );
4018 } catch(odbc::SQLException& e) {
4019 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4020 ODBCXX_STRING_CSTR(e.getSQLState()),
4021 e.getErrorCode()) );
4022 if(imp) delete imp;
4023 return 0;
4024 }
4025 return new ODBCResultSet(0,imp);
4026 }
4027
4028
4029 TSQLResultSet* ODBCDatabaseMetaData::GetProcedureColumns(
4030 const TString& catalog,
4031 const TString& schemaPattern,
4032 const TString& procedureNamePattern,
4033 const TString& columnNamePattern )
4034 {
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106 TSQLResultSet* rs = 0;
4107
4108 if(!fImp) { Destroyed(); return rs; }
4109 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4110 ClearWarnings();
4111
4112 odbc::ResultSet* imp = 0;
4113
4114 try {
4115 imp = md->getProcedureColumns(
4116 ODBCXX_STRING_C(catalog.Data()),
4117 ODBCXX_STRING_C(schemaPattern.Data()),
4118 ODBCXX_STRING_C(procedureNamePattern.Data()),
4119 ODBCXX_STRING_C(columnNamePattern.Data()) );
4120
4121 } catch(odbc::SQLException& e) {
4122 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4123 ODBCXX_STRING_CSTR(e.getSQLState()),
4124 e.getErrorCode()) );
4125 if(imp) delete imp;
4126 return 0;
4127 }
4128 return new ODBCResultSet(0,imp);
4129 }
4130
4131
4132 TSQLResultSet* ODBCDatabaseMetaData::GetTables(
4133 const TString& catalog,
4134 const TString& schemaPattern,
4135 const TString& tableNamePattern,
4136 const TString& types )
4137 {
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178 TSQLResultSet* rs = 0;
4179
4180 if(!fImp) { Destroyed(); return rs; }
4181 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4182 ClearWarnings();
4183
4184 using namespace std;
4185
4186 std::vector<ODBCXX_STRING> vec;
4187
4188 if( types.Contains("TABLE",TString::kIgnoreCase) &&
4189 !types.Contains("SYSTEM TABLE",TString::kIgnoreCase) ) {
4190 vec.push_back(ODBCXX_STRING_C("TABLE"));
4191 } else if ( types.Contains("VIEW",TString::kIgnoreCase) ) {
4192 vec.push_back(ODBCXX_STRING_C("VIEW"));
4193 } else if ( types.Contains("SYSTEM TABLE",TString::kIgnoreCase) ) {
4194 vec.push_back(ODBCXX_STRING_C("SYSTEM TABLE"));
4195 } else if ( types.Contains("GLOBAL TEMPORARY",TString::kIgnoreCase) ) {
4196 vec.push_back(ODBCXX_STRING_C("GLOBAL TEMPORARY"));
4197 } else if ( types.Contains("LOCAL TEMPORARY",TString::kIgnoreCase) ) {
4198 vec.push_back(ODBCXX_STRING_C("LOCAL TEMPORARY"));
4199 } else if ( types.Contains("ALIAS",TString::kIgnoreCase) ) {
4200 vec.push_back(ODBCXX_STRING_C("ALIAS"));
4201 } else if ( types.Contains("SYNONYM",TString::kIgnoreCase) ) {
4202 vec.push_back(ODBCXX_STRING_C("SYNONYM"));
4203 } else if (vec.empty()) {
4204 vec.push_back(ODBCXX_STRING_C(""));
4205 }
4206
4207 odbc::ResultSet* imp = 0;
4208
4209 try {
4210 imp = md->getTables( ODBCXX_STRING_C(catalog.Data()),
4211 ODBCXX_STRING_C(schemaPattern.Data()),
4212 ODBCXX_STRING_C(tableNamePattern.Data()),
4213 vec );
4214 } catch(odbc::SQLException& e) {
4215 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4216 ODBCXX_STRING_CSTR(e.getSQLState()),
4217 e.getErrorCode()) );
4218 if(imp) delete imp;
4219 return 0;
4220 }
4221 return new ODBCResultSet(0,imp);
4222 }
4223
4224
4225 TSQLResultSet* ODBCDatabaseMetaData::GetSchemas()
4226 {
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239 TSQLResultSet* rs = 0;
4240
4241 if(!fImp) { Destroyed(); return rs; }
4242 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4243 ClearWarnings();
4244
4245 odbc::ResultSet* imp = 0;
4246
4247 try {
4248 imp = md->getSchemas();
4249 } catch(odbc::SQLException& e) {
4250 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4251 ODBCXX_STRING_CSTR(e.getSQLState()),
4252 e.getErrorCode()) );
4253 if(imp) delete imp;
4254 return 0;
4255 }
4256 return new ODBCResultSet(0,imp);
4257 }
4258
4259
4260 TSQLResultSet* ODBCDatabaseMetaData::GetCatalogs()
4261 {
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274 TSQLResultSet* rs = 0;
4275
4276 if(!fImp) { Destroyed(); return rs; }
4277 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4278 ClearWarnings();
4279
4280 odbc::ResultSet* imp = 0;
4281
4282 try {
4283 imp = md->getCatalogs();
4284 } catch(odbc::SQLException& e) {
4285 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4286 ODBCXX_STRING_CSTR(e.getSQLState()),
4287 e.getErrorCode()) );
4288
4289 if(imp) delete imp;
4290 return 0;
4291 }
4292 return new ODBCResultSet(0,imp);
4293 }
4294
4295
4296 TSQLResultSet* ODBCDatabaseMetaData::GetTableTypes()
4297 {
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314 TSQLResultSet* rs = 0;
4315
4316 if(!fImp) { Destroyed(); return rs; }
4317 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4318 ClearWarnings();
4319
4320 odbc::ResultSet* imp = 0;
4321
4322 try {
4323 imp = md->getTableTypes();
4324 } catch(odbc::SQLException& e) {
4325 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4326 ODBCXX_STRING_CSTR(e.getSQLState()),
4327 e.getErrorCode()) );
4328 if(imp) delete imp;
4329 return 0;
4330
4331 }
4332 return new ODBCResultSet(0,imp);
4333 }
4334
4335
4336 TSQLResultSet* ODBCDatabaseMetaData::GetColumns(
4337 const TString& catalog,
4338 const TString& schemaPattern,
4339 const TString& tableNamePattern,
4340 const TString& columnNamePattern )
4341 {
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415 TSQLResultSet* rs = 0;
4416
4417 if(!fImp) { Destroyed(); return rs; }
4418 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4419 ClearWarnings();
4420
4421 odbc::ResultSet* imp = 0;
4422
4423 try {
4424 imp = md->getColumns(
4425 ODBCXX_STRING_C(catalog.Data()),
4426 ODBCXX_STRING_C(schemaPattern.Data()),
4427 ODBCXX_STRING_C(tableNamePattern.Data()),
4428 ODBCXX_STRING_C(columnNamePattern.Data()) );
4429 } catch(odbc::SQLException& e) {
4430 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4431 ODBCXX_STRING_CSTR(e.getSQLState()),
4432 e.getErrorCode()) );
4433 if(imp) delete imp;
4434 return 0;
4435 }
4436 return new ODBCResultSet(0,imp);
4437 }
4438
4439
4440 TSQLResultSet* ODBCDatabaseMetaData::GetColumnPrivileges(
4441 const TString& catalog,
4442 const TString& schema,
4443 const TString& table,
4444 const TString& columnNamePattern )
4445 {
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489 TSQLResultSet* rs = 0;
4490
4491 if(!fImp) { Destroyed(); return rs; }
4492 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4493 ClearWarnings();
4494
4495 odbc::ResultSet* imp = 0;
4496
4497 try {
4498 imp = md->getColumnPrivileges(
4499 ODBCXX_STRING_C(catalog.Data()),
4500 ODBCXX_STRING_C(schema.Data()),
4501 ODBCXX_STRING_C(table.Data()),
4502 ODBCXX_STRING_C(columnNamePattern.Data()));
4503
4504 } catch(odbc::SQLException& e) {
4505 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4506 ODBCXX_STRING_CSTR(e.getSQLState()),
4507 e.getErrorCode()) );
4508 if(imp) delete imp;
4509 return 0;
4510 }
4511 return new ODBCResultSet(0,imp);
4512 }
4513
4514
4515 TSQLResultSet* ODBCDatabaseMetaData::GetTablePrivileges(
4516 const TString& catalog,
4517 const TString& schemaPattern,
4518 const TString& tableNamePattern )
4519 {
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565 TSQLResultSet* rs = 0;
4566
4567 if(!fImp) { Destroyed(); return rs; }
4568 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4569 ClearWarnings();
4570
4571 odbc::ResultSet* imp = 0;
4572
4573 try {
4574 imp = md->getTablePrivileges(
4575 ODBCXX_STRING_C(catalog.Data()),
4576 ODBCXX_STRING_C(schemaPattern.Data()),
4577 ODBCXX_STRING_C(tableNamePattern.Data()));
4578 } catch(odbc::SQLException& e) {
4579 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4580 ODBCXX_STRING_CSTR(e.getSQLState()),
4581 e.getErrorCode()) );
4582 if(imp) delete imp;
4583 return 0;
4584 }
4585 return new ODBCResultSet(0,imp);
4586 }
4587
4588
4589 TSQLResultSet* ODBCDatabaseMetaData::GetBestRowIdentifier(
4590 const TString& catalog,
4591 const TString& schema,
4592 const TString& table,
4593 Int_t scope,
4594 Bool_t nullable )
4595 {
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643 TSQLResultSet* rs = 0;
4644
4645 if(!fImp) { Destroyed(); return rs; }
4646 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4647 ClearWarnings();
4648
4649 odbc::ResultSet* imp = 0;
4650
4651 try {
4652 imp = md->getBestRowIdentifier(
4653 ODBCXX_STRING_C(catalog.Data()),
4654 ODBCXX_STRING_C(schema.Data()),
4655 ODBCXX_STRING_C(table.Data()),
4656 scope,nullable);
4657 } catch(odbc::SQLException& e) {
4658 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4659 ODBCXX_STRING_CSTR(e.getSQLState()),
4660 e.getErrorCode()) );
4661 if(imp) delete imp;
4662 return 0;
4663 }
4664 return new ODBCResultSet(0,imp);
4665 }
4666
4667
4668 TSQLResultSet* ODBCDatabaseMetaData::GetVersionColumns(
4669 const TString& catalog,
4670 const TString& schema,
4671 const TString& table )
4672 {
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711 TSQLResultSet* rs = 0;
4712
4713 if(!fImp) { Destroyed(); return rs; }
4714 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4715 ClearWarnings();
4716
4717 odbc::ResultSet* imp = 0;
4718
4719 try {
4720 imp = md->getVersionColumns( ODBCXX_STRING_C(catalog.Data()),
4721 ODBCXX_STRING_C(schema.Data()),
4722 ODBCXX_STRING_C(table.Data()) );
4723
4724 } catch(odbc::SQLException& e) {
4725 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4726 ODBCXX_STRING_CSTR(e.getSQLState()),
4727 e.getErrorCode()) );
4728 if(imp) delete imp;
4729 return 0;
4730 }
4731 return new ODBCResultSet(0,imp);
4732 }
4733
4734
4735 TSQLResultSet* ODBCDatabaseMetaData::GetPrimaryKeys(
4736 const TString& catalog,
4737 const TString& schema,
4738 const TString& table )
4739 {
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770 TSQLResultSet* rs = 0;
4771
4772 if(!fImp) { Destroyed(); return rs; }
4773 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4774 ClearWarnings();
4775
4776 odbc::ResultSet* imp = 0;
4777
4778 try {
4779 imp = md->getPrimaryKeys( ODBCXX_STRING_C(catalog.Data()),
4780 ODBCXX_STRING_C(schema.Data()),
4781 ODBCXX_STRING_C(table.Data()) );
4782 } catch(odbc::SQLException& e) {
4783 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4784 ODBCXX_STRING_CSTR(e.getSQLState()),
4785 e.getErrorCode()) );
4786 if(imp) delete imp;
4787 return 0;
4788 }
4789 return new ODBCResultSet(0,imp);
4790 }
4791
4792
4793 TSQLResultSet* ODBCDatabaseMetaData::GetImportedKeys(
4794 const TString& catalog,
4795 const TString& schema,
4796 const TString& table )
4797 {
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883 TSQLResultSet* rs = 0;
4884
4885 if(!fImp) { Destroyed(); return rs; }
4886 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4887 ClearWarnings();
4888
4889 odbc::ResultSet* imp = 0;
4890
4891 try {
4892 imp = md->getImportedKeys( ODBCXX_STRING_C(catalog.Data()),
4893 ODBCXX_STRING_C(schema.Data()),
4894 ODBCXX_STRING_C(table.Data()) );
4895
4896 } catch(odbc::SQLException& e) {
4897 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
4898 ODBCXX_STRING_CSTR(e.getSQLState()),
4899 e.getErrorCode()) );
4900 if(imp) delete imp;
4901 return 0;
4902 }
4903 return new ODBCResultSet(0,imp);
4904 }
4905
4906
4907 TSQLResultSet* ODBCDatabaseMetaData::GetExportedKeys(
4908 const TString& catalog,
4909 const TString& schema,
4910 const TString& table )
4911 {
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994 TSQLResultSet* rs = 0;
4995
4996 if(!fImp) { Destroyed(); return rs; }
4997 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
4998 ClearWarnings();
4999
5000 odbc::ResultSet* imp = 0;
5001
5002 try {
5003 imp = md->getExportedKeys( ODBCXX_STRING_C(catalog.Data()),
5004 ODBCXX_STRING_C(schema.Data()),
5005 ODBCXX_STRING_C(table.Data()) );
5006 } catch(odbc::SQLException& e) {
5007 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5008 ODBCXX_STRING_CSTR(e.getSQLState()),
5009 e.getErrorCode()) );
5010 if(imp) delete imp;
5011 return 0;
5012 }
5013 return new ODBCResultSet(0,imp);
5014 }
5015
5016
5017 TSQLResultSet* ODBCDatabaseMetaData::GetCrossReference(
5018 const TString& primaryCatalog,
5019 const TString& primarySchema,
5020 const TString& primaryTable,
5021 const TString& foreignCatalog,
5022 const TString& foreignSchema,
5023 const TString& foreignTable )
5024 {
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118 TSQLResultSet* rs = 0;
5119
5120 if(!fImp) { Destroyed(); return rs; }
5121 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
5122 ClearWarnings();
5123
5124 odbc::ResultSet* imp = 0;
5125
5126 try {
5127 imp = md->getCrossReference(
5128 ODBCXX_STRING_C(primaryCatalog.Data()),
5129 ODBCXX_STRING_C(primarySchema.Data()),
5130 ODBCXX_STRING_C(primaryTable.Data()),
5131 ODBCXX_STRING_C(foreignCatalog.Data()),
5132 ODBCXX_STRING_C(foreignSchema.Data()),
5133 ODBCXX_STRING_C(foreignTable.Data()) );
5134 } catch(odbc::SQLException& e) {
5135 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5136 ODBCXX_STRING_CSTR(e.getSQLState()),
5137 e.getErrorCode()) );
5138 if(imp) delete imp;
5139 return 0;
5140 }
5141 return new ODBCResultSet(0,imp);
5142 }
5143
5144
5145 TSQLResultSet* ODBCDatabaseMetaData::GetTypeInfo()
5146 {
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209 TSQLResultSet* rs = 0;
5210
5211 if(!fImp) { Destroyed(); return rs; }
5212 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
5213 ClearWarnings();
5214
5215 odbc::ResultSet* imp = 0;
5216
5217 try {
5218 imp = md->getTypeInfo();
5219 } catch(odbc::SQLException& e) {
5220 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5221 ODBCXX_STRING_CSTR(e.getSQLState()),
5222 e.getErrorCode()) );
5223 if(imp) delete imp;
5224 return 0;
5225 }
5226 return new ODBCResultSet(0,imp);
5227 }
5228
5229
5230 TSQLResultSet* ODBCDatabaseMetaData::GetIndexInfo(
5231 const TString& catalog,
5232 const TString& schema,
5233 const TString& table,
5234 Bool_t unique,
5235 Bool_t approximate )
5236 {
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315 TSQLResultSet* rs = 0;
5316
5317 if(!fImp) { Destroyed(); return rs; }
5318 odbc::DatabaseMetaData* md = (odbc::DatabaseMetaData*)fImp;
5319 ClearWarnings();
5320
5321 odbc::ResultSet* imp = 0;
5322
5323 try {
5324 imp = md->getIndexInfo( ODBCXX_STRING_C(catalog.Data()),
5325 ODBCXX_STRING_C(schema.Data()),
5326 ODBCXX_STRING_C(table.Data()),
5327 unique, approximate );
5328 } catch(odbc::SQLException& e) {
5329 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5330 ODBCXX_STRING_CSTR(e.getSQLState()),
5331 e.getErrorCode()) );
5332 if(imp) delete imp;
5333 return 0;
5334
5335 }
5336 return new ODBCResultSet(0,imp);
5337 }
5338
5339
5340 Bool_t ODBCDatabaseMetaData::SupportsResultSetType( Int_t type )
5341 {
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354 Bool_t return_value = kFALSE;
5355
5356 if(!fImp) { Destroyed(); return return_value; }
5357 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5358
5359 try {
5360 return_value = imp->supportsResultSetType(type);
5361
5362 } catch(odbc::SQLException& e) {
5363 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5364 ODBCXX_STRING_CSTR(e.getSQLState()),
5365 e.getErrorCode()) );
5366 return kFALSE;
5367 }
5368 return return_value;
5369 }
5370
5371
5372 Bool_t ODBCDatabaseMetaData::SupportsResultSetConcurrency( Int_t type,
5373 Int_t concurrency )
5374 {
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389 Bool_t return_value = kFALSE;
5390
5391 if(!fImp) { Destroyed(); return return_value; }
5392 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5393
5394 try {
5395 return_value = imp->supportsResultSetConcurrency( type,
5396 concurrency);
5397
5398 } catch(odbc::SQLException& e) {
5399 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5400 ODBCXX_STRING_CSTR(e.getSQLState()),
5401 e.getErrorCode()) );
5402 return kFALSE;
5403 }
5404 return return_value;
5405 }
5406
5407
5408 Bool_t ODBCDatabaseMetaData::OwnUpdatesAreVisible( Int_t type )
5409 {
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423 Bool_t return_value = kFALSE;
5424
5425 if(!fImp) { Destroyed(); return return_value; }
5426 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5427
5428 try {
5429 return_value = imp->ownUpdatesAreVisible(type);
5430
5431 } catch(odbc::SQLException& e) {
5432 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5433 ODBCXX_STRING_CSTR(e.getSQLState()),
5434 e.getErrorCode()) );
5435 return kFALSE;
5436 }
5437 return return_value;
5438 }
5439
5440
5441 Bool_t ODBCDatabaseMetaData::OwnDeletesAreVisible( Int_t type )
5442 {
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456 Bool_t return_value = kFALSE;
5457
5458 if(!fImp) { Destroyed(); return return_value; }
5459 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5460
5461 try {
5462 return_value = imp->ownDeletesAreVisible(type);
5463
5464 } catch(odbc::SQLException& e) {
5465 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5466 ODBCXX_STRING_CSTR(e.getSQLState()),
5467 e.getErrorCode()) );
5468 return kFALSE;
5469 }
5470 return return_value;
5471 }
5472
5473
5474 Bool_t ODBCDatabaseMetaData::OwnInsertsAreVisible( Int_t type )
5475 {
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489 Bool_t return_value = kFALSE;
5490
5491 if(!fImp) { Destroyed(); return return_value; }
5492 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5493
5494 try {
5495 return_value = imp->ownInsertsAreVisible(type);
5496
5497 } catch(odbc::SQLException& e) {
5498 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5499 ODBCXX_STRING_CSTR(e.getSQLState()),
5500 e.getErrorCode()) );
5501 return kFALSE;
5502 }
5503 return return_value;
5504 }
5505
5506
5507 Bool_t ODBCDatabaseMetaData::OthersUpdatesAreVisible( Int_t type )
5508 {
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520 Bool_t return_value = kFALSE;
5521
5522 if(!fImp) { Destroyed(); return return_value; }
5523 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5524
5525 try {
5526 return_value = imp->othersUpdatesAreVisible(type);
5527
5528 } catch(odbc::SQLException& e) {
5529 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5530 ODBCXX_STRING_CSTR(e.getSQLState()),
5531 e.getErrorCode()) );
5532 return kFALSE;
5533 }
5534 return return_value;
5535 }
5536
5537
5538 Bool_t ODBCDatabaseMetaData::OthersDeletesAreVisible( Int_t type )
5539 {
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551 Bool_t return_value = kFALSE;
5552
5553 if(!fImp) { Destroyed(); return return_value; }
5554 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5555
5556 try {
5557 return_value = imp->othersDeletesAreVisible(type);
5558
5559 } catch(odbc::SQLException& e) {
5560 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5561 ODBCXX_STRING_CSTR(e.getSQLState()),
5562 e.getErrorCode()) );
5563 return kFALSE;
5564 }
5565 return return_value;
5566 }
5567
5568
5569 Bool_t ODBCDatabaseMetaData::OthersInsertsAreVisible( Int_t type )
5570 {
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581 Bool_t return_value = kFALSE;
5582
5583 if(!fImp) { Destroyed(); return return_value; }
5584 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5585
5586 try {
5587 return_value = imp->othersInsertsAreVisible(type);
5588
5589 } catch(odbc::SQLException& e) {
5590 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5591 ODBCXX_STRING_CSTR(e.getSQLState()),
5592 e.getErrorCode()) );
5593 return kFALSE;
5594 }
5595 return return_value;
5596 }
5597
5598
5599 Bool_t ODBCDatabaseMetaData::UpdatesAreDetected( Int_t type )
5600 {
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613 Bool_t return_value = kFALSE;
5614
5615 if(!fImp) { Destroyed(); return return_value; }
5616 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5617
5618 try {
5619 return_value = imp->updatesAreDetected(type);
5620
5621 } catch(odbc::SQLException& e) {
5622 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5623 ODBCXX_STRING_CSTR(e.getSQLState()),
5624 e.getErrorCode()) );
5625 return kFALSE;
5626 }
5627 return return_value;
5628 }
5629
5630
5631 Bool_t ODBCDatabaseMetaData::DeletesAreDetected( Int_t type )
5632 {
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646 Bool_t return_value = kFALSE;
5647
5648 if(!fImp) { Destroyed(); return return_value; }
5649 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5650
5651 try {
5652 return_value = imp->deletesAreDetected(type);
5653
5654 } catch(odbc::SQLException& e) {
5655 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5656 ODBCXX_STRING_CSTR(e.getSQLState()),
5657 e.getErrorCode()) );
5658 return kFALSE;
5659 }
5660 return return_value;
5661 }
5662
5663
5664 Bool_t ODBCDatabaseMetaData::InsertsAreDetected( Int_t type )
5665 {
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677 Bool_t return_value = kFALSE;
5678
5679 if(!fImp) { Destroyed(); return return_value; }
5680 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5681
5682 try {
5683 return_value = imp->insertsAreDetected(type);
5684
5685 } catch(odbc::SQLException& e) {
5686 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5687 ODBCXX_STRING_CSTR(e.getSQLState()),
5688 e.getErrorCode()) );
5689 return kFALSE;
5690 }
5691 return return_value;
5692 }
5693
5694
5695 Bool_t ODBCDatabaseMetaData::SupportsBatchUpdates()
5696 {
5697
5698
5699
5700
5701
5702
5703 Bool_t return_value = kFALSE;
5704
5705 if(!fImp) { Destroyed(); return return_value; }
5706 odbc::DatabaseMetaData* imp = (odbc::DatabaseMetaData*)fImp;
5707
5708 try {
5709 return_value = imp->supportsBatchUpdates();
5710
5711 } catch(odbc::SQLException& e) {
5712 Throw( new TSQLException( ODBCXX_STRING_CSTR(e.getMessage()),
5713 ODBCXX_STRING_CSTR(e.getSQLState()),
5714 e.getErrorCode()) );
5715 return kFALSE;
5716 }
5717 return return_value;
5718 }