001package gudusoft.gsqlparser.sqlcmds; 002 003//import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.*; 005import gudusoft.gsqlparser.stmt.*; 006import gudusoft.gsqlparser.stmt.bigquery.TExportDataStmt; 007import gudusoft.gsqlparser.stmt.couchbase.TInferKeyspaceStmt; 008import gudusoft.gsqlparser.stmt.couchbase.TTBuildIndexesStmt; 009import gudusoft.gsqlparser.stmt.databricks.*; 010import gudusoft.gsqlparser.stmt.hana.*; 011import gudusoft.gsqlparser.stmt.hive.*; 012import gudusoft.gsqlparser.stmt.informix.*; 013import gudusoft.gsqlparser.stmt.netezza.TNetezzaGenerateStatistics; 014import gudusoft.gsqlparser.stmt.netezza.TNetezzaGroomTable; 015import gudusoft.gsqlparser.stmt.postgresql.*; 016import gudusoft.gsqlparser.stmt.presto.TResetSessionStmt; 017import gudusoft.gsqlparser.stmt.redshift.*; 018import gudusoft.gsqlparser.stmt.snowflake.*; 019import gudusoft.gsqlparser.stmt.sparksql.*; 020import gudusoft.gsqlparser.stmt.sybase.TInsertBulk; 021import gudusoft.gsqlparser.stmt.sybase.TSybaseDeleteStatistics; 022import gudusoft.gsqlparser.stmt.sybase.TSybaseWritetext; 023import gudusoft.gsqlparser.stmt.teradata.*; 024import gudusoft.gsqlparser.stmt.mysql.*; 025import gudusoft.gsqlparser.stmt.db2.*; 026import gudusoft.gsqlparser.stmt.mssql.*; 027import gudusoft.gsqlparser.stmt.oracle.*; 028import gudusoft.gsqlparser.stmt.mdx.*; 029import gudusoft.gsqlparser.stmt.vertica.*; 030 031 032public class TSqlCmds { 033 034 /** 035 * @deprecated Use standalone TSqlCmd class directly 036 */ 037 @Deprecated 038 public class TSqlCmd extends gudusoft.gsqlparser.sqlcmds.TSqlCmd { 039 public TSqlCmd() { 040 super(); 041 } 042 } 043 044 /** 045 * @deprecated Use standalone TSqlCmdList class directly 046 */ 047 @Deprecated 048 public class TSqlCmdList extends gudusoft.gsqlparser.sqlcmds.TSqlCmdList { 049 public TSqlCmdList() { 050 super(); 051 } 052 } 053 054 TSqlCmdList mssqlcmds,oraclecmds,db2cmds,mysqlcmds,accesscmds,mdxcmds,teradatacmds, 055 postgresqlcmds,netezzacmds,sybasecmds,informixcmds,hivecmds,greenplumcmds, 056 redshiftcmds,hanacmds,verticacmds,couchbasecmds,snowflakecmds,bigquerycmds, 057 sparksqlcmds,prestocmds,athenacmds,databrickscmds,gaussdbcmds; 058 059 public TSqlCmdList getSqlCmdList(EDbVendor dbVendor){ 060 TSqlCmdList sqlCmdList = null; 061 switch(dbVendor){ 062 case dbvmssql: 063 if (mssqlcmds.size() == 0) {initmssqlcmds();} 064 sqlCmdList = mssqlcmds; 065 break; 066 case dbvoracle: 067 if (oraclecmds.size() == 0) {initoraclecmds();} 068 sqlCmdList = oraclecmds; 069 break; 070 case dbvmysql: 071 if (mysqlcmds.size() == 0) {initmysqlcmds();} 072 sqlCmdList = mysqlcmds; 073 break; 074 case dbvdb2: 075 if (db2cmds.size() == 0) {initdb2cmds();} 076 sqlCmdList = db2cmds; 077 break; 078 case dbvmdx: 079 if (mdxcmds.size() == 0) {initmdxcmds();} 080 sqlCmdList = mdxcmds; 081 break; 082 case dbvteradata: 083 if (teradatacmds.size() == 0) {initteradatacmds();} 084 sqlCmdList = teradatacmds; 085 break; 086 case dbvpostgresql: 087 if (postgresqlcmds.size() == 0) {initpostgresqlcmds();} 088 sqlCmdList = postgresqlcmds; 089 break; 090 case dbvredshift: 091 if (redshiftcmds.size() == 0) {initredshiftcmds();} 092 sqlCmdList = redshiftcmds; 093 break; 094 case dbvnetezza: 095 if (netezzacmds.size() == 0) {initnetezzacmds();} 096 sqlCmdList = netezzacmds; 097 break; 098 case dbvsybase: 099 if (sybasecmds.size() == 0) {initsybasecmds();} 100 sqlCmdList = sybasecmds; 101 break; 102 case dbvinformix: 103 if (informixcmds.size() == 0) {initinformixcmds();} 104 sqlCmdList = informixcmds; 105 break; 106 case dbvhive: 107 if (hivecmds.size() == 0) {inithivecmds();} 108 sqlCmdList = hivecmds; 109 break; 110 case dbvimpala: 111 if (hivecmds.size() == 0) {inithivecmds(); 112 } 113 sqlCmdList = hivecmds; 114 break; 115 case dbvgreenplum: 116 if (greenplumcmds.size() == 0) {initgreenplumcmds(); 117 } 118 sqlCmdList = greenplumcmds; 119 break; 120 case dbvhana: 121 if (hanacmds.size() == 0) {inithanacmds(); 122 } 123 sqlCmdList = hanacmds; 124 break; 125 case dbvvertica: 126 if (verticacmds.size() == 0) {initverticacmds(); 127 } 128 sqlCmdList = verticacmds; 129 break; 130 case dbvcouchbase: 131 if (couchbasecmds.size() == 0) {initcouchbasecmds(); 132 } 133 sqlCmdList = couchbasecmds; 134 break; 135 case dbvsnowflake: 136 if (snowflakecmds.size() == 0) {initsnowflakecmds(); 137 } 138 sqlCmdList = snowflakecmds; 139 break; 140 case dbvbigquery: 141 if (bigquerycmds.size() == 0) {initbigquerycmds(); 142 } 143 sqlCmdList = bigquerycmds; 144 break; 145 case dbvsparksql: 146 if (sparksqlcmds.size() == 0) {initsparksqlcmds(); 147 } 148 sqlCmdList = sparksqlcmds; 149 break; 150 case dbvpresto: 151 if (prestocmds.size() == 0) {initprestocmds(); 152 } 153 sqlCmdList = prestocmds; 154 break; 155 case dbvathena: 156 if (athenacmds.size() == 0) {initathenacmds(); 157 } 158 sqlCmdList = athenacmds; 159 break; 160 case dbvdatabricks: 161 if (databrickscmds.size() == 0) {initdatabrickscmds(); 162 } 163 sqlCmdList = databrickscmds; 164 break; 165 case dbvgaussdb: 166 if (gaussdbcmds.size() == 0) {initgaussdbcmds(); 167 } 168 sqlCmdList = gaussdbcmds; 169 break; 170 } 171 return sqlCmdList; 172 } 173 174 ESqlStatementType gnewsqlstatementtype; 175 176 // int mssqlcmdscurrentcount,oraclecmdscurrentcount,db2cmdscurrentcount,mysqlcmdscurrentcount,mdxcmdscurrentcount ; 177 178 public TSqlCmds(){ 179// mssqlcmdscurrentcount = 0; 180// oraclecmdscurrentcount = 0; 181// db2cmdscurrentcount = 0; 182// mysqlcmdscurrentcount = 0; 183// mdxcmdscurrentcount = 0; 184 mssqlcmds = new TSqlCmdList(); 185 sybasecmds = new TSqlCmdList(); 186 oraclecmds = new TSqlCmdList(); 187 db2cmds = new TSqlCmdList(); 188 mysqlcmds = new TSqlCmdList(); 189 accesscmds = new TSqlCmdList(); 190 mdxcmds = new TSqlCmdList(); 191 teradatacmds = new TSqlCmdList(); 192 postgresqlcmds = new TSqlCmdList(); 193 netezzacmds = new TSqlCmdList(); 194 informixcmds = new TSqlCmdList(); 195 hivecmds = new TSqlCmdList(); 196 greenplumcmds = new TSqlCmdList(); 197 redshiftcmds = new TSqlCmdList(); 198 hanacmds = new TSqlCmdList(); 199 verticacmds = new TSqlCmdList(); 200 couchbasecmds = new TSqlCmdList(); 201 snowflakecmds = new TSqlCmdList(); 202 bigquerycmds = new TSqlCmdList(); 203 sparksqlcmds = new TSqlCmdList(); 204 prestocmds = new TSqlCmdList(); 205 athenacmds = new TSqlCmdList(); 206 databrickscmds = new TSqlCmdList(); 207 gaussdbcmds = new TSqlCmdList(); 208 } 209 210 void addcmds(EDbVendor dbVendor, ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5,String ptoken6,String ptoken7){ 211 TSqlCmd sc = new TSqlCmd(); 212 sc.sqlstatementtype = psqlstatementtype; 213 sc.token1 = ptoken1; 214 sc.token2 = ptoken2; 215 sc.token3 = ptoken3; 216 sc.token4 = ptoken4; 217 sc.token5 = ptoken5; 218 sc.token6 = ptoken6; 219 sc.token7 = ptoken7; 220 switch(dbVendor){ 221 case dbvmssql: 222 if (sc.token1 > TBaseType.rrw_abort){ 223 switch (sc.token1){ 224 case TBaseType.rrw_sqlserver_throw: 225 sc.token1Str = "throw"; 226 break; 227 default: 228 break; 229 } 230 } 231 mssqlcmds.add(sc); 232 break; 233 case dbvoracle: 234 oraclecmds.add(sc); 235 break; 236 case dbvmysql: 237 if (sc.token1 > TBaseType.rrw_abort){ 238 switch (sc.token1){ 239 case TBaseType.rrw_mysql_delimiter: 240 sc.token1Str = "delimiter"; 241 break; 242 case TBaseType.rrw_mysql_desc: 243 sc.token1Str = "desc"; 244 break; 245 default: 246 break; 247 } 248 } 249 mysqlcmds.add(sc); 250 break; 251 case dbvdb2: 252 db2cmds.add(sc); 253 break; 254 case dbvmdx: 255 mdxcmds.add(sc); 256 break; 257 case dbvteradata: 258 if (sc.token1 > TBaseType.rrw_abort){ 259 switch (sc.token1){ 260 case TBaseType.rrw_teradata_wait: 261 sc.token1Str = "wait"; 262 break; 263 case TBaseType.rrw_teradata_using: 264 sc.token1Str = "using"; 265 break; 266 case TBaseType.rrw_teradata_upd: 267 sc.token1Str = "update"; 268 break; 269 case TBaseType.rrw_teradata_sel: 270 sc.token1Str = "select"; 271 break; 272 case TBaseType.rrw_teradata_restart: 273 sc.token1Str = "restart"; 274 break; 275 case TBaseType.rrw_teradata_position: 276 sc.token1Str = "position"; 277 break; 278 case TBaseType.rrw_teradata_modify: 279 sc.token1Str = "modify"; 280 break; 281 case TBaseType.rrw_teradata_logon: 282 sc.token1Str = "logon"; 283 break; 284 case TBaseType.rrw_teradata_locking: 285 sc.token1Str = "locking"; 286 break; 287 case TBaseType.rrw_teradata_ins: 288 sc.token1Str = "insert"; 289 break; 290 case TBaseType.rrw_teradata_help: 291 sc.token1Str = "help"; 292 break; 293 case TBaseType.rrw_teradata_give: 294 sc.token1Str = "give"; 295 break; 296 case TBaseType.rrw_teradata_echo: 297 sc.token1Str = "echo"; 298 break; 299 case TBaseType.rrw_teradata_dump: 300 sc.token1Str = "dump"; 301 break; 302 case TBaseType.rrw_teradata_diagnostic: 303 sc.token1Str = "diagnostic"; 304 break; 305 case TBaseType.rrw_teradata_del: 306 sc.token1Str = "delete"; 307 break; 308 case TBaseType.rrw_teradata_cv: 309 sc.token1Str = "create view"; 310 break; 311 case TBaseType.rrw_teradata_collect: 312 sc.token1Str = "collect"; 313 break; 314 case TBaseType.rrw_teradata_cm: 315 sc.token1Str = "create macro"; 316 break; 317 default: 318 break; 319 } 320 } 321 teradatacmds.add(sc); 322 break; 323 case dbvpostgresql: 324 if (sc.token1 > TBaseType.rrw_abort){ 325 switch (sc.token1){ 326 case TBaseType.rrw_postgresql_cluster: 327 sc.token1Str = "cluster"; 328 break; 329 case TBaseType.rrw_postgresql_copy: 330 sc.token1Str = "copy"; 331 break; 332 case TBaseType.rrw_postgresql_discard: 333 sc.token1Str = "discard"; 334 break; 335 case TBaseType.rrw_postgresql_listen: 336 sc.token1Str = "listen"; 337 break; 338 case TBaseType.rrw_postgresql_notify: 339 sc.token1Str = "notify"; 340 break; 341 case TBaseType.rrw_postgresql_reassign: 342 sc.token1Str = "reassign"; 343 break; 344 case TBaseType.rrw_postgresql_reindex: 345 sc.token1Str = "reindex"; 346 break; 347 case TBaseType.rrw_postgresql_security: 348 sc.token1Str = "security"; 349 break; 350 case TBaseType.rrw_postgresql_unlisten: 351 sc.token1Str = "unlisten"; 352 break; 353 default: 354 break; 355 } 356 } 357 postgresqlcmds.add(sc); 358 break; 359 case dbvredshift: 360 if (sc.token1 > TBaseType.rrw_abort){ 361 switch (sc.token1){ 362 case TBaseType.rrw_redshift_cancel: 363 sc.token1Str = "cancel"; 364 break; 365 case TBaseType.rrw_redshift_copy: 366 sc.token1Str = "copy"; 367 break; 368 case TBaseType.rrw_redshift_unload: 369 sc.token1Str = "unload"; 370 break; 371 case TBaseType.rrw_redshift_vacuum: 372 sc.token1Str = "vacuum"; 373 break; 374 default: 375 break; 376 } 377 } 378 redshiftcmds.add(sc); 379 break; 380 case dbvnetezza: 381 if (sc.token1 > TBaseType.rrw_abort){ 382 switch (sc.token1){ 383 case TBaseType.rrw_netezza_copy: 384 sc.token1Str = "copy"; 385 break; 386 case TBaseType.rrw_netezza_generate: 387 sc.token1Str = "generate"; 388 break; 389 case TBaseType.rrw_netezza_groom: 390 sc.token1Str = "groom"; 391 break; 392 default: 393 break; 394 } 395 } 396 netezzacmds.add(sc); 397 break; 398 case dbvsybase: 399 400 if (sc.token1 > TBaseType.rrw_abort){ 401 switch (sc.token1){ 402 case TBaseType.rrw_sybase_dump: 403 sc.token1Str = "dump"; 404 break; 405 default: 406 break; 407 } 408 } 409 sybasecmds.add(sc); 410 break; 411 case dbvinformix: 412 if (sc.token1 > TBaseType.rrw_abort){ 413 switch (sc.token1){ 414 case TBaseType.rrw_informix_connect_to: 415 sc.token1Str = "connect to"; 416 break; 417 case TBaseType.rrw_informix_info: 418 sc.token1Str = "info"; 419 break; 420 case TBaseType.rrw_informix_output: 421 sc.token1Str = "output"; 422 break; 423 case TBaseType.rrw_informix_put: 424 sc.token1Str = "put"; 425 break; 426 case TBaseType.rrw_informix_unload: 427 sc.token1Str = "unload"; 428 break; 429 case TBaseType.rrw_informix_whenever: 430 sc.token1Str = "whenever"; 431 break; 432 default: 433 break; 434 } 435 } 436 informixcmds.add(sc); 437 break; 438 case dbvhive: 439 if (sc.token1 > TBaseType.rrw_abort){ 440 switch (sc.token1){ 441 case TBaseType.rrw_hive_desc: 442 sc.token1Str = "desc"; 443 break; 444 case TBaseType.rrw_hive_export: 445 sc.token1Str = "export"; 446 break; 447 case TBaseType.rrw_hive_import: 448 sc.token1Str = "import"; 449 break; 450 case TBaseType.rrw_hive_msck: 451 sc.token1Str = "msck"; 452 break; 453 default: 454 break; 455 } 456 } 457 hivecmds.add(sc); 458 break; 459 case dbvimpala: 460 hivecmds.add(sc); 461 break; 462 case dbvgreenplum: 463 if (sc.token1 > TBaseType.rrw_abort){ 464 switch (sc.token1){ 465 case TBaseType.rrw_greenplum_cluster: 466 sc.token1Str = "cluster"; 467 break; 468 case TBaseType.rrw_greenplum_copy: 469 sc.token1Str = "copy"; 470 break; 471 case TBaseType.rrw_greenplum_reassign: 472 sc.token1Str = "reassign"; 473 break; 474 case TBaseType.rrw_greenplum_reindex: 475 sc.token1Str = "reindex"; 476 break; 477 case TBaseType.rrw_greenplum_vacuum: 478 sc.token1Str = "vacuum"; 479 break; 480 case TBaseType.rrw_greenplum_analyse: 481 sc.token1Str = "analyse"; 482 break; 483 default: 484 break; 485 } 486 } 487 greenplumcmds.add(sc); 488 break; 489 case dbvhana: 490 if (sc.token1 > TBaseType.rrw_abort){ 491 switch (sc.token1){ 492 case TBaseType.rrw_hana_unset: 493 sc.token1Str = "unset"; 494 break; 495 case TBaseType.rrw_hana_upsert: 496 sc.token1Str = "upsert"; 497 break; 498 case TBaseType.rrw_hana_import: 499 sc.token1Str = "import"; 500 break; 501 case TBaseType.rrw_hana_export: 502 sc.token1Str = "export"; 503 break; 504 case TBaseType.rrw_hana_recover: 505 sc.token1Str = "recover"; 506 break; 507 case TBaseType.rrw_hana_unload: 508 sc.token1Str = "unload"; 509 break; 510 default: 511 break; 512 } 513 } 514 hanacmds.add(sc); 515 break; 516 case dbvvertica: 517 verticacmds.add(sc); 518 break; 519 case dbvcouchbase: 520 couchbasecmds.add(sc); 521 break; 522 case dbvsnowflake: 523 snowflakecmds.add(sc); 524 break; 525 case dbvbigquery: 526 bigquerycmds.add(sc); 527 break; 528 case dbvsparksql: 529 sparksqlcmds.add(sc); 530 break; 531 case dbvpresto: 532 prestocmds.add(sc); 533 break; 534 case dbvathena: 535 athenacmds.add(sc); 536 break; 537 case dbvdatabricks: 538 databrickscmds.add(sc); 539 break; 540 case dbvgaussdb: 541 gaussdbcmds.add(sc); 542 break; 543 } 544 } 545 546 void addmssqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 547 addcmds(EDbVendor.dbvmssql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 548 } 549 550void addsybasecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 551 addcmds(EDbVendor.dbvsybase,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 552} 553 554void addpostgresqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 555 addcmds(EDbVendor.dbvpostgresql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 556} 557 558 void addgaussdbcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 559 addcmds(EDbVendor.dbvgaussdb,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 560 } 561 562void addredshiftcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 563 addcmds(EDbVendor.dbvredshift,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 564} 565 566 void addnetezzacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 567 addcmds(EDbVendor.dbvnetezza,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 568} 569 570 571void addoraclecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 572 addcmds(EDbVendor.dbvoracle,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 573} 574 575void addhivecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 576 addcmds(EDbVendor.dbvhive,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 577} 578 579void addmysqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 580 addcmds(EDbVendor.dbvmysql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 581} 582 583void addsparksqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 584 addcmds(EDbVendor.dbvsparksql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 585} 586 587void addprestocmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 588 addcmds(EDbVendor.dbvpresto,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 589} 590 591void addathenacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 592 addcmds(EDbVendor.dbvathena,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 593} 594 595void adddatabrickscmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 596 addcmds(EDbVendor.dbvdatabricks,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 597} 598 599 600void adddb2cmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 601 addcmds(EDbVendor.dbvdb2,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 602} 603 604void addmdxcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 605 addcmds(EDbVendor.dbvmdx,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 606} 607 608void addteradatacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 609 addcmds(EDbVendor.dbvteradata,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 610} 611 612void addinformixcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 613 addcmds(EDbVendor.dbvinformix,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 614} 615 616void addgreenplumcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 617 addcmds(EDbVendor.dbvgreenplum,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 618} 619 620void addhanacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 621 addcmds(EDbVendor.dbvhana,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 622} 623 624void addverticacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 625 addcmds(EDbVendor.dbvvertica,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 626} 627 628void addcouchbasecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 629 addcmds(EDbVendor.dbvcouchbase,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 630} 631 632void addsnowflakecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 633 addcmds(EDbVendor.dbvsnowflake,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 634 } 635 636void addbigquerycmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 637 addcmds(EDbVendor.dbvbigquery,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 638} 639 640ESqlStatementType finddbcmd(TSourceToken ptoken, TSqlCmdList pdbcmds ){ 641 ESqlStatementType ret = ESqlStatementType.sstinvalid; 642 if (ptoken.tokentype != ETokenType.ttkeyword){return ret;} 643 int lcchecktokens = 0; 644 645 // Look up initial command array index in hash using first token code 646 647 int startIndex = pdbcmds.getStartIndex(ptoken.tokencode); 648 if (startIndex == -1) 649 return ret; 650 651 for(int i=startIndex; i<pdbcmds.size();i++){ 652 if ( ((TSqlCmd)pdbcmds.get(i)).token1 != ptoken.tokencode) 653 { 654 if (lcchecktokens > 0 ) {break;} 655 else 656 continue; 657 } 658 else 659 { 660 if (lcchecktokens < 1) 661 {lcchecktokens = 1;} 662 } 663 664 // first cmd tokentext is same, then check second 665 if ((((TSqlCmd)pdbcmds.get(i)).token2 == "") || (((TSqlCmd)pdbcmds.get(i)).token2 == " ") ) 666 { 667 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 668 if (((TSqlCmd)pdbcmds.get(i)).token2 == "") 669 break; 670 } 671 672 int k; 673 TSourceToken lcnextsolidtoken = nextsolidtoken(ptoken); 674 if (lcnextsolidtoken == null) break; 675 if ((((TSqlCmd)pdbcmds.get(i)).token2 == "*"))// && (lcchecktokens < 2) ) // can match any string 676 { 677 k = 0; 678 } 679 else { 680 k = TBaseType.mycomparetext(lcnextsolidtoken.toString() ,((TSqlCmd)pdbcmds.get(i)).token2); 681 } 682 if (k != 0) 683 { 684 if (lcchecktokens > 1) break; 685 else 686 continue; 687 } 688 else if (k == 0) 689 { 690 if (lcchecktokens < 2) 691 lcchecktokens = 2; 692 } 693 694 // second cmd tokentext is same, then check third 695 if ((((TSqlCmd)pdbcmds.get(i)).token3 == "") || (((TSqlCmd)pdbcmds.get(i)).token3 == " ")) 696 { 697 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 698 if (((TSqlCmd)pdbcmds.get(i)).token3 == "") 699 break; 700 } 701 702 TSourceToken lcnnextsolidtoken = nextsolidtoken(lcnextsolidtoken); 703 if (lcnnextsolidtoken == null) break; 704 if ((((TSqlCmd)pdbcmds.get(i)).token3 == "*"))// && (lcchecktokens < 3)) // can match any string 705 k = 0; 706 else 707 { 708 k = TBaseType.mycomparetext(lcnnextsolidtoken.toString(), ((TSqlCmd)pdbcmds.get(i)).token3); 709 } 710 if (k != 0) 711 { 712 if (lcchecktokens > 2) {break;} 713 else 714 continue; 715 } 716 else 717 { 718 if (lcchecktokens < 3) 719 {lcchecktokens = 3;} 720 } 721 722 // third cmd tokentext is same, then check fourth 723 if ((((TSqlCmd)pdbcmds.get(i)).token4 == "") || (((TSqlCmd)pdbcmds.get(i)).token4 == " ")) 724 { 725 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 726 if (((TSqlCmd)pdbcmds.get(i)).token4 == "") 727 break; 728 } 729 730 TSourceToken lcnnnextsolidtoken = nextsolidtoken(lcnnextsolidtoken); 731 if (lcnnnextsolidtoken == null) { break;} 732 if ((((TSqlCmd)(pdbcmds.get(i))).token4 == "*"))// && (lcchecktokens < 4)) // can match any string 733 {k = 0;} 734 else 735 {k = TBaseType.mycomparetext(lcnnnextsolidtoken.getAstext(),((TSqlCmd)pdbcmds.get(i)).token4);} 736 737 if (k != 0 ) 738 { 739 if (lcchecktokens > 3) break; 740 else 741 continue; 742 } 743 else 744 { 745 if (lcchecktokens < 4) 746 lcchecktokens = 4; 747 } 748 749 // fourth cmd tokentext is same, then check fiveth 750 if ((((TSqlCmd)pdbcmds.get(i)).token5 == "") || (((TSqlCmd)pdbcmds.get(i)).token5 == " ") ) 751 { 752 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 753 if (((TSqlCmd)pdbcmds.get(i)).token5 == "") 754 break; 755 } 756 757 TSourceToken lcnnnnextsolidtoken = nextsolidtoken(lcnnnextsolidtoken); 758 if (lcnnnnextsolidtoken == null) break; 759 if ((((TSqlCmd)pdbcmds.get(i)).token5 == "*") )//&& (lcchecktokens < 5) ) // can match any string 760 { k = 0;} 761 else 762 { k = TBaseType.mycomparetext(lcnnnnextsolidtoken.getAstext(), ((TSqlCmd)pdbcmds.get(i)).token5);} 763 if ( k != 0) 764 { 765 if (lcchecktokens > 4) break; 766 else 767 continue; 768 } 769 else 770 { 771 if (lcchecktokens < 5) 772 lcchecktokens = 5; 773 } 774 775 // fiveth cmd tokentext is same, then check sixth 776 if ((((TSqlCmd)pdbcmds.get(i)).token6 == "") || (((TSqlCmd)pdbcmds.get(i)).token6 == " ")) 777 { 778 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 779 if (((TSqlCmd)pdbcmds.get(i)).token6 == "") 780 break; 781 } 782 783 TSourceToken lcnnnnnextsolidtoken = nextsolidtoken(lcnnnnextsolidtoken); 784 if (lcnnnnnextsolidtoken == null) break; 785 if ((((TSqlCmd)pdbcmds.get(i)).token6 == "*"))// && (lcchecktokens < 6)) // can match any string 786 {k = 0;} 787 else 788 { k = TBaseType.mycomparetext(lcnnnnnextsolidtoken.getAstext(),((TSqlCmd)pdbcmds.get(i)).token6);} 789 if (k != 0) 790 { 791 if (lcchecktokens > 5) break; 792 else 793 continue; 794 } 795 else 796 { 797 if (lcchecktokens < 6) 798 lcchecktokens = 6; 799 } 800 801 // sixth cmd tokentext is same, then check seventh 802 if ((((TSqlCmd)pdbcmds.get(i)).token7 == "") || (((TSqlCmd)pdbcmds.get(i)).token7 == " ")) 803 { 804 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 805 if(((TSqlCmd)pdbcmds.get(i)).token7 == "") 806 break; 807 } 808 809 TSourceToken lcnnnnnnextsolidtoken = nextsolidtoken(lcnnnnnextsolidtoken); 810 if (lcnnnnnnextsolidtoken == null) break; 811 if ((((TSqlCmd)pdbcmds.get(i)).token7 == "*"))// && (lcchecktokens < 7)) // can match any string 812 {k = 0;} 813 else 814 { k = TBaseType.mycomparetext(lcnnnnnnextsolidtoken.getAstext(),((TSqlCmd)pdbcmds.get(i)).token7);} 815 if (k != 0) 816 { 817 if (lcchecktokens > 6 ) break; 818 else 819 continue; 820 } 821 else 822 { 823 if (lcchecktokens < 7) 824 {lcchecktokens = 7;} 825 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 826 break; 827 } 828 829 830 } //for 831 return ret; 832} 833 834TSourceToken nextsolidtoken(TSourceToken ptoken){ 835 TSourceToken ret = null; 836 if (ptoken.container == null) {return ret;} 837 ret = ptoken.container.nextsolidtoken(ptoken,1,false); 838 839 return ret; 840} 841 842void initteradatacmds(){ 843 844 addteradatacmds(ESqlStatementType.sstteradataabort, TBaseType.rrw_abort, " "," "," "," "," "," "); 845 addteradatacmds(ESqlStatementType.sstteradataalterconstraint, TBaseType.rrw_alter,"constraint"," "," "," "," "," "); 846 addteradatacmds(ESqlStatementType.sstteradataalterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 847 addteradatacmds(ESqlStatementType.sstteradataalterfunction, TBaseType.rrw_alter,"specific","function"," "," "," "," "); 848 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"method"," "," "," "," "," "); 849 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"constructor","method"," "," "," "," "); 850 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"instance","method"," "," "," "," "); 851 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"specific","method"," "," "," "," "); 852 addteradatacmds(ESqlStatementType.sstteradataalterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 853 addteradatacmds(ESqlStatementType.sstteradataalterreplicationgroup, TBaseType.rrw_alter,"replication","group"," "," "," "," "); 854 addteradatacmds(ESqlStatementType.sstteradataaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 855 addteradatacmds(ESqlStatementType.sstteradataaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 856 addteradatacmds(ESqlStatementType.sstteradataaltertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 857 addteradatacmds(ESqlStatementType.sstteradataalterzone, TBaseType.rrw_alter,"zone"," "," "," "," "," "); 858 859 addteradatacmds(ESqlStatementType.sstteradatabegindeclaresection, TBaseType.rrw_begin,"delcare","section"," "," "," "," "); 860 addteradatacmds(ESqlStatementType.sstteradatabeginlogging, TBaseType.rrw_begin,"logging"," "," "," "," "," "); 861 addteradatacmds(ESqlStatementType.sstteradatabeginquerylogging, TBaseType.rrw_begin,"query","logging"," "," "," "," "); 862 addteradatacmds(ESqlStatementType.sstteradatabegintransaction, TBaseType.rrw_begin,"transaction"," "," "," "," "," "); 863 addteradatacmds(ESqlStatementType.sstteradatabegintransaction, TBaseType.rrw_bt," "," "," "," "," "," "); 864 865 addteradatacmds(ESqlStatementType.sstteradatacall, TBaseType.rrw_call," "," "," "," "," "," "); 866 addteradatacmds(ESqlStatementType.sstteradatacheckworkload, TBaseType.rrw_check,"workload"," "," "," "," "," "); 867 addteradatacmds(ESqlStatementType.sstteradatacheckpoint, TBaseType.rrw_checkpoint," "," "," "," "," "," "); 868 addteradatacmds(ESqlStatementType.sstteradataclose, TBaseType.rrw_close," "," "," "," "," "," "); 869 870 addteradatacmds(ESqlStatementType.sstteradatacreatemacro, TBaseType.rrw_teradata_cm," "," "," "," "," "," "); 871 872 addteradatacmds(ESqlStatementType.sstteradatacollectdemographics, TBaseType.rrw_teradata_collect,"demographics"," "," "," "," "," "); 873 874 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"statistics"," "," "," "," "," "); 875 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"stats"," "," "," "," "," "); 876 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"stat"," "," "," "," "," "); 877 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"summary","statistics"," "," "," "," "); 878 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"summary","stats"," "," "," "," "); 879 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"summary","stat"," "," "," "," "); 880 881 882 addteradatacmds(ESqlStatementType.sstteradatacomment, TBaseType.rrw_comment," "," "," "," "," "," "); 883 addteradatacmds(ESqlStatementType.sstteradatacommit, TBaseType.rrw_commit," "," "," "," "," "," "); 884 addteradatacmds(ESqlStatementType.sstteradataconnect, TBaseType.rrw_connect," "," "," "," "," "," "); 885 addteradatacmds(ESqlStatementType.sstteradatacreateauthorization, TBaseType.rrw_create,"authorization"," "," "," "," "," "); 886 addteradatacmds(ESqlStatementType.sstteradatacreatecast, TBaseType.rrw_create,"cast"," "," "," "," "," "); 887 888 addteradatacmds(ESqlStatementType.sstteradatacreatemethod, TBaseType.rrw_create,"constructor","method"," "," "," "," "); 889 890 addteradatacmds(ESqlStatementType.sstteradatacreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 891 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"error","table"," "," "," "," "); 892 addteradatacmds(ESqlStatementType.sstteradatacreaterole, TBaseType.rrw_create,"external","role"," "," "," "," "); 893 894 addteradatacmds(ESqlStatementType.sstteradatacreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 895 896 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","multiset","table"," "," "); 897 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","set","table"," "," "); 898 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 899 900 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"hash","index"," "," "," "," "); 901 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 902 903 addteradatacmds(ESqlStatementType.sstteradatacreatemethod, TBaseType.rrw_create,"instance","method"," "," "," "," "); 904 905 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"join","index"," "," "," "," "); 906 907 addteradatacmds(ESqlStatementType.sstteradatacreatemacro, TBaseType.rrw_create,"macro"," "," "," "," "," "); 908 909 addteradatacmds(ESqlStatementType.sstteradatacreatemethod, TBaseType.rrw_create,"method"," "," "," "," "," "); 910 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"multiset","global","temporary","table"," "," "); 911 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"multiset","table"," "," "," "," "); 912 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"multiset","volatile","table"," "," "," "); 913 914 addteradatacmds(ESqlStatementType.sstteradatacreateordering, TBaseType.rrw_create,"ordering"," "," "," "," "," "); 915 916 addteradatacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 917 addteradatacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 918 919 addteradatacmds(ESqlStatementType.sstteradatacreateprofile, TBaseType.rrw_create,"profile"," "," "," "," "," "); 920 921 addteradatacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"recursive","view"," "," "," "," "); 922 923 addteradatacmds(ESqlStatementType.sstteradatacreatereplicationgroup, TBaseType.rrw_create,"replication","group"," "," "," "," "); 924 addteradatacmds(ESqlStatementType.sstteradatacreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 925 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"set","global","temporary","table"," "," "); 926 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"set","table"," "," "," "," "); 927 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"set","volatile","table"," "," "," "); 928 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 929 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"temporary","table"," "," "," "," "); 930 931 addteradatacmds(ESqlStatementType.sstteradatacreatetransform, TBaseType.rrw_create,"transform"," "," "," "," "," "); 932 933 addteradatacmds(ESqlStatementType.sstteradatacreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 934 935 addteradatacmds(ESqlStatementType.sstteradatacreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 936 937 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 938 939 addteradatacmds(ESqlStatementType.sstteradatacreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 940 941 addteradatacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 942 943 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"volatile","multiset","table"," "," "," "); 944 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"volatile","table"," "," "," "," "); 945 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"volatile","set","table"," "," "," "); 946 947 addteradatacmds(ESqlStatementType.sstcreatezone, TBaseType.rrw_create,"zone"," "," "," "," "," "); 948 949 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_ct," "," "," "," "," "," "); 950 951 addteradatacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_teradata_cv," "," "," "," "," "," "); 952 953 addteradatacmds(ESqlStatementType.sstteradatadatabase, TBaseType.rrw_database," "," "," "," "," "," "); 954 955 addteradatacmds(ESqlStatementType.sstteradatadeclarecursor, TBaseType.rrw_declare,"cursor"," "," "," "," "," "); 956 957 addteradatacmds(ESqlStatementType.sstteradatadeclarestatement, TBaseType.rrw_declare,"statement"," "," "," "," "," "); 958 959 addteradatacmds(ESqlStatementType.sstteradatadeclaretable, TBaseType.rrw_declare,"table"," "," "," "," "," "); 960 961 addteradatacmds(ESqlStatementType.sstdelete, TBaseType.rrw_teradata_del," "," "," "," "," "," "); 962 963 addteradatacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 964 965 addteradatacmds(ESqlStatementType.sstteradatadeletedatabase, TBaseType.rrw_delete,"database"," "," "," "," "," "); 966 967 addteradatacmds(ESqlStatementType.sstteradatadeleteuser, TBaseType.rrw_delete,"user"," "," "," "," "," "); 968 969 addteradatacmds(ESqlStatementType.sstteradatadescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 970 971 addteradatacmds(ESqlStatementType.sstteradatadiagnostic, TBaseType.rrw_teradata_diagnostic," "," "," "," "," "," "); 972 973 addteradatacmds(ESqlStatementType.sstteradatadropauthorization, TBaseType.rrw_drop,"authorization"," "," "," "," "," "); 974 975 addteradatacmds(ESqlStatementType.sstteradatadropcast, TBaseType.rrw_drop,"cast"," "," "," "," "," "); 976 addteradatacmds(ESqlStatementType.sstteradatadropconstraint, TBaseType.rrw_drop,"constraint"," "," "," "," "," "); 977 addteradatacmds(ESqlStatementType.sstteradatadropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 978 addteradatacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"error","table"," "," "," "," "); 979 addteradatacmds(ESqlStatementType.sstteradatadroprole, TBaseType.rrw_drop,"external","role"," "," "," "," "); 980 981 addteradatacmds(ESqlStatementType.sstteradatadropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 982 983 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"hash","index"," "," "," "," "); 984 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 985 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"join","index"," "," "," "," "); 986 987 addteradatacmds(ESqlStatementType.sstteradatadropmacro, TBaseType.rrw_drop,"macro"," "," "," "," "," "); 988 989 addteradatacmds(ESqlStatementType.sstteradatadropordering, TBaseType.rrw_drop,"ordering"," "," "," "," "," "); 990 991 addteradatacmds(ESqlStatementType.sstteradatadropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 992 993 addteradatacmds(ESqlStatementType.sstteradatadropprofile, TBaseType.rrw_drop,"profile"," "," "," "," "," "); 994 995 addteradatacmds(ESqlStatementType.sstteradatadropreplicationgroup, TBaseType.rrw_drop,"replication","group"," "," "," "," "); 996 997 addteradatacmds(ESqlStatementType.sstteradatadroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 998 999 addteradatacmds(ESqlStatementType.sstteradatadropfunction, TBaseType.rrw_drop,"specific","function"," "," "," "," "); 1000 1001 addteradatacmds(ESqlStatementType.sstteradatadropstatistics, TBaseType.rrw_drop,"stat"," "," "," "," "," "); 1002 addteradatacmds(ESqlStatementType.sstteradatadropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 1003 addteradatacmds(ESqlStatementType.sstteradatadropstatistics, TBaseType.rrw_drop,"stats"," "," "," "," "," "); 1004 1005 addteradatacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 1006 addteradatacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"temporary","table"," "," "," "," "); 1007 1008 addteradatacmds(ESqlStatementType.sstteradatadroptransform, TBaseType.rrw_drop,"transform"," "," "," "," "," "); 1009 1010 addteradatacmds(ESqlStatementType.sstteradatadroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 1011 1012 addteradatacmds(ESqlStatementType.sstteradatadroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 1013 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"unique","index"," "," "," "," "); 1014 1015 addteradatacmds(ESqlStatementType.sstteradatadropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 1016 1017 addteradatacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 1018 1019 addteradatacmds(ESqlStatementType.sstteradatadropzone, TBaseType.rrw_drop,"zone"," "," "," "," "," "); 1020 1021 addteradatacmds(ESqlStatementType.sstteradatadumpexplain, TBaseType.rrw_teradata_dump,"explain"," "," "," "," "," "); 1022 1023 addteradatacmds(ESqlStatementType.sstteradataecho, TBaseType.rrw_teradata_echo," "," "," "," "," "," "); 1024 1025 addteradatacmds(ESqlStatementType.sstteradataenddeclaresection, TBaseType.rrw_end,"declare","section"," "," "," "," "); 1026 1027 addteradatacmds(ESqlStatementType.sstteradataendlogging, TBaseType.rrw_end,"logging"," "," "," "," "," "); 1028 1029 addteradatacmds(ESqlStatementType.sstteradataendquerylogging, TBaseType.rrw_end,"query","logging"," "," "," "," "); 1030 1031 addteradatacmds(ESqlStatementType.sstteradataendtransaction, TBaseType.rrw_end,"transaction"," "," "," "," "," "); 1032 1033 addteradatacmds(ESqlStatementType.sstteradataendtransaction, TBaseType.rrw_et," "," "," "," "," "," "); 1034 1035 addteradatacmds(ESqlStatementType.sstteradataexecute, TBaseType.rrw_execute," "," "," "," "," "," "); 1036 1037 addteradatacmds(ESqlStatementType.sstteradataexecute, TBaseType.rrw_exec," "," "," "," "," "," "); 1038 1039 addteradatacmds(ESqlStatementType.sstteradataexecuteimmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 1040 1041 addteradatacmds(ESqlStatementType.sstteradataExit, TBaseType.rrw_teradata_exit," "," "," "," "," "," "); 1042 1043 addteradatacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 1044 1045 1046 addteradatacmds(ESqlStatementType.sstteradatafetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 1047 1048 addteradatacmds(ESqlStatementType.sstteradatagetcrash, TBaseType.rrw_get,"crash"," "," "," "," "," "); 1049 1050 addteradatacmds(ESqlStatementType.sstgetdiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 1051 1052 addteradatacmds(ESqlStatementType.sstteradatagive, TBaseType.rrw_teradata_give," "," "," "," "," "," "); 1053 1054 addteradatacmds(ESqlStatementType.sstteradatagrant, TBaseType.rrw_grant," "," "," "," "," "," "); 1055 1056 addteradatacmds(ESqlStatementType.sstteradatahelp, TBaseType.rrw_teradata_help," "," "," "," "," "," "); 1057 1058 addteradatacmds(ESqlStatementType.sstteradatainclude, TBaseType.rrw_include," "," "," "," "," "," "); 1059 1060 addteradatacmds(ESqlStatementType.sstinsert, TBaseType.rrw_teradata_ins," "," "," "," "," "," "); 1061 1062 addteradatacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 1063 1064 addteradatacmds(ESqlStatementType.sstteradatainsertexplain, TBaseType.rrw_insert,"explain"," "," "," "," "," "); 1065 1066 addteradatacmds(ESqlStatementType.sstteradatalabel, TBaseType.rrw_teradata_label," "," "," "," "," "," "); 1067 addteradatacmds(ESqlStatementType.sstteradatalock, TBaseType.rrw_lock," "," "," "," "," "," "); 1068 addteradatacmds(ESqlStatementType.sstteradatalock, TBaseType.rrw_teradata_locking," "," "," "," "," "," "); 1069 addteradatacmds(ESqlStatementType.sstteradatalogon, TBaseType.rrw_teradata_logon," "," "," "," "," "," "); 1070 1071 addteradatacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 1072 1073 addteradatacmds(ESqlStatementType.sstteradatamodifydatabase, TBaseType.rrw_teradata_modify,"database"," "," "," "," "," "); 1074 1075 addteradatacmds(ESqlStatementType.sstteradatamodifyprofile, TBaseType.rrw_teradata_modify,"profile"," "," "," "," "," "); 1076 1077 addteradatacmds(ESqlStatementType.sstteradatamodifyuser, TBaseType.rrw_teradata_modify,"user"," "," "," "," "," "); 1078 1079 addteradatacmds(ESqlStatementType.sstteradataopen, TBaseType.rrw_open," "," "," "," "," "," "); 1080 1081 addteradatacmds(ESqlStatementType.sstteradataposition, TBaseType.rrw_teradata_position," "," "," "," "," "," "); 1082 1083 addteradatacmds(ESqlStatementType.sstteradataprepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 1084 1085 addteradatacmds(ESqlStatementType.sstteradatareleaseLock, TBaseType.rrw_release,"lock"," "," "," "," "," "); 1086 1087 addteradatacmds(ESqlStatementType.sstteradatarenamefunction, TBaseType.rrw_rename,"function"," "," "," "," "," "); 1088 addteradatacmds(ESqlStatementType.sstteradatarenamemacro, TBaseType.rrw_rename,"macro"," "," "," "," "," "); 1089 addteradatacmds(ESqlStatementType.sstteradatarenameprocedure, TBaseType.rrw_rename,"procedure"," "," "," "," "," "); 1090 addteradatacmds(ESqlStatementType.sstteradatarenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 1091 addteradatacmds(ESqlStatementType.sstteradatarenametrigger, TBaseType.rrw_rename,"trigger"," "," "," "," "," "); 1092 addteradatacmds(ESqlStatementType.sstteradatarenameview, TBaseType.rrw_rename,"view"," "," "," "," "," "); 1093 1094 addteradatacmds(ESqlStatementType.sstteradatareplacecast, TBaseType.rrw_replace,"cast"," "," "," "," "," "); 1095 1096 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"constructor","method"," "," "," "," "); 1097 1098 addteradatacmds(ESqlStatementType.sstteradatareplacefunction, TBaseType.rrw_replace,"function"," "," "," "," "," "); 1099 1100 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"instance","method"," "," "," "," "); 1101 1102 addteradatacmds(ESqlStatementType.sstteradatareplacemacro, TBaseType.rrw_replace,"macro"," "," "," "," "," "); 1103 1104 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"method"," "," "," "," "," "); 1105 1106 addteradatacmds(ESqlStatementType.sstteradatareplaceordering, TBaseType.rrw_replace,"ordering"," "," "," "," "," "); 1107 1108 addteradatacmds(ESqlStatementType.sstteradatareplaceprocedure, TBaseType.rrw_replace,"procedure"," "," "," "," "," "); 1109 1110 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"specific","method"," "," "," "," "); 1111 1112 addteradatacmds(ESqlStatementType.sstteradatareplacetransform, TBaseType.rrw_replace,"transform"," "," "," "," "," "); 1113 1114 addteradatacmds(ESqlStatementType.sstteradatacreatetrigger, TBaseType.rrw_replace,"trigger"," "," "," "," "," "); 1115 1116 addteradatacmds(ESqlStatementType.sstteradatareplaceview, TBaseType.rrw_replace,"view"," "," "," "," "," "); 1117 addteradatacmds(ESqlStatementType.sstteradatareplaceview, TBaseType.rrw_replace,"recursive","view"," "," "," "," "); 1118 1119 addteradatacmds(ESqlStatementType.sstteradatarestartindexanalysis, TBaseType.rrw_teradata_restart,"index","analysis"," "," "," "," "); 1120 1121 addteradatacmds(ESqlStatementType.sstteradatarevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 1122 1123 // addteradatacmds(ESqlStatementType.sstteradatarewind, TBaseType.rrw_rewind," "," "," "," "," "," "); 1124 1125 addteradatacmds(ESqlStatementType.sstteradatarollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 1126 1127 addteradatacmds(ESqlStatementType.sstselect, TBaseType.rrw_teradata_sel," "," "," "," "," "," "); 1128 addteradatacmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 1129 1130 //addteradatacmds(ESqlStatementType.sstsetbuffersize, TBaseType.rrw_set,"buffersize"," "," "," "," "," "); 1131 addteradatacmds(ESqlStatementType.sstteradatasetrole, TBaseType.rrw_set,"role"," "," "," "," "," "); 1132 1133 addteradatacmds(ESqlStatementType.sstteradatasetsession, TBaseType.rrw_set,"session"," "," "," "," "," "); 1134 addteradatacmds(ESqlStatementType.sstteradatasetsession, TBaseType.rrw_ss," "," "," "," "," "," "); 1135// addteradatacmds(ESqlStatementType.sstteradatasetsessionaccount, TBaseType.rrw_set,"session","account"," "," "," "," "); 1136 1137 addteradatacmds(ESqlStatementType.sstteradatasettimezone, TBaseType.rrw_set,"time","zone"," "," "," "," "); 1138 1139 addteradatacmds(ESqlStatementType.sstteradatashow, TBaseType.rrw_show," "," "," "," "," "," "); 1140 1141 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"constructor","method"," "," "," "," "); 1142 1143 addteradatacmds(ESqlStatementType.sstteradatashowfunction, TBaseType.rrw_show,"function"," "," "," "," "," "); 1144 1145 addteradatacmds(ESqlStatementType.sstteradatashowindex, TBaseType.rrw_show,"hash","index"," "," "," "," "); 1146 1147 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"instance","method"," "," "," "," "); 1148 1149 addteradatacmds(ESqlStatementType.sstteradatashowindex, TBaseType.rrw_show,"join","index"," "," "," "," "); 1150 1151 addteradatacmds(ESqlStatementType.sstteradatashowmacro, TBaseType.rrw_show,"macro"," "," "," "," "," "); 1152 1153 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"method"," "," "," "," "," "); 1154 1155 addteradatacmds(ESqlStatementType.sstteradatashowprocedure, TBaseType.rrw_show,"procedure"," "," "," "," "," "); 1156 1157 addteradatacmds(ESqlStatementType.sstteradatashowreplicationgroup, TBaseType.rrw_show,"replication","group"," "," "," "," "); 1158 1159 addteradatacmds(ESqlStatementType.sstteradatashowfunction, TBaseType.rrw_show,"specific","function"," "," "," "," "); 1160 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"specific","method"," "," "," "," "); 1161 1162 addteradatacmds(ESqlStatementType.sstteradatashowtable, TBaseType.rrw_show,"table "," "," "," "," "," "); 1163 addteradatacmds(ESqlStatementType.sstteradatashowtable, TBaseType.rrw_show,"temporary","table"," "," "," "," "); 1164 1165 addteradatacmds(ESqlStatementType.sstteradatashowtrigger, TBaseType.rrw_show,"trigger"," "," "," "," "," "); 1166 addteradatacmds(ESqlStatementType.sstteradatashowtype, TBaseType.rrw_show,"type"," "," "," "," "," "); 1167 addteradatacmds(ESqlStatementType.sstteradatashowview, TBaseType.rrw_show,"view"," "," "," "," "," "); 1168 1169 //addteradatacmds(ESqlStatementType.sstteradatatest, TBaseType.rrw_test," "," "," "," "," "," "); 1170 addteradatacmds(ESqlStatementType.sstupdate, TBaseType.rrw_teradata_upd," "," "," "," "," "," "); 1171 addteradatacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1172 1173 addteradatacmds(ESqlStatementType.sstteradatausing, TBaseType.rrw_teradata_using," "," "," "," "," "," "); 1174 1175 addteradatacmds(ESqlStatementType.sstteradatawait, TBaseType.rrw_teradata_wait," "," "," "," "," "," "); 1176 //addteradatacmds(ESqlStatementType.sstteradatawhenever, TBaseType.rrw_whenever," "," "," "," "," "," "); 1177 1178} 1179 1180 void inithivecmds(){ 1181 addhivecmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1182 addhivecmds(ESqlStatementType.sstalterindex, TBaseType.rrw_alter, "index"," "," "," "," "," "); 1183 addhivecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1184 addhivecmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1185 addhivecmds(ESqlStatementType.sstanalyzeTable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1186 1187 1188 addhivecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1189 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external","table"," "," "," "," "); 1190 addhivecmds(ESqlStatementType.ssthiveCreateFunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1191 addhivecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index"," "," "," "," "," "); 1192 addhivecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 1193 1194 addhivecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","view"," "," "," "); 1195 addhivecmds(ESqlStatementType.ssthiveCreateRole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1196 addhivecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1197 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1198 addhivecmds(ESqlStatementType.ssthiveCreateFunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1199 addhivecmds(ESqlStatementType.sstCreateMacro, TBaseType.rrw_create, "temporary","macro"," "," "," "," "); 1200 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary","table"," "," "," "," "); 1201 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transactional","table"," "," "," "," "); 1202 addhivecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1203 1204 addhivecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 1205 addhivecmds(ESqlStatementType.ssthiveDesc, TBaseType.rrw_hive_desc, " "," "," "," "," "," "); 1206 1207 addhivecmds(ESqlStatementType.ssthiveDesc, TBaseType.rrw_describe, " "," "," "," "," "," "); 1208 1209 addhivecmds(ESqlStatementType.ssthiveDropDatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1210 addhivecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index"," "," "," "," "," "); 1211 addhivecmds(ESqlStatementType.ssthiveDropRole, TBaseType.rrw_drop, "role"," "," "," "," "," "); 1212 addhivecmds(ESqlStatementType.ssthiveDropDatabase, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1213 addhivecmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1214 addhivecmds(ESqlStatementType.ssthiveDropFunciton, TBaseType.rrw_drop, "temporary","function"," "," "," "," "); 1215 addhivecmds(ESqlStatementType.sstDropMacro, TBaseType.rrw_drop, "temporary","macro"," "," "," "," "); 1216 addhivecmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1217 1218 addhivecmds(ESqlStatementType.ssthiveExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1219 1220 addhivecmds(ESqlStatementType.ssthiveExportTable, TBaseType.rrw_hive_export, "table"," "," "," "," "," "); 1221 1222 addhivecmds(ESqlStatementType.ssthiveGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1223 addhivecmds(ESqlStatementType.ssthiveGrantRole, TBaseType.rrw_grant, "role"," "," "," "," "," "); 1224 1225 addhivecmds(ESqlStatementType.ssthiveImportTable, TBaseType.rrw_hive_import, "external","table"," "," "," "," "); 1226 addhivecmds(ESqlStatementType.ssthiveImportTable, TBaseType.rrw_hive_import, "from"," "," "," "," "," "); 1227 addhivecmds(ESqlStatementType.ssthiveImportTable, TBaseType.rrw_hive_import, "table"," "," "," "," "," "); 1228 1229 addhivecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1230 1231 1232 addhivecmds(ESqlStatementType.ssthiveLoad, TBaseType.rrw_load, "data"," "," "," "," "," "); 1233 1234 addhivecmds(ESqlStatementType.ssthiveLockTable, TBaseType.rrw_lock, "table"," "," "," "," "," "); 1235 1236 //merge 1237 addhivecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 1238 1239 addhivecmds(ESqlStatementType.sstmsck, TBaseType.rrw_hive_msck, " "," "," "," "," "," "); 1240 1241 addhivecmds(ESqlStatementType.ssthiveRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1242 addhivecmds(ESqlStatementType.ssthiveRevokeRole, TBaseType.rrw_revoke, "role"," "," "," "," "," "); 1243 1244 addhivecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1245 addhivecmds(ESqlStatementType.ssthiveSet, TBaseType.rrw_set, " "," "," "," "," "," "); 1246 addhivecmds(ESqlStatementType.ssthiveShow, TBaseType.rrw_show, " "," "," "," "," "," "); 1247 addhivecmds(ESqlStatementType.ssthiveShowGrants, TBaseType.rrw_show, "grant"," "," "," "," "," "); 1248 addhivecmds(ESqlStatementType.ssthiveShowRoleGrants, TBaseType.rrw_show, "role","grant"," "," "," "," "); 1249 1250 addhivecmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, "table"," "," "," "," "," "); 1251 1252 addhivecmds(ESqlStatementType.ssthiveUnlockTable, TBaseType.rrw_unlock, "table"," "," "," "," "," "); 1253 addhivecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1254 addhivecmds(ESqlStatementType.sstupsert, TBaseType.rrw_hive_upsert, " ", " ", " ", " ", " ", " "); 1255 addhivecmds(ESqlStatementType.ssthiveSwitchDatabase, TBaseType.rrw_use, " "," "," "," "," "," "); 1256 } 1257 1258 void initdatabrickscmds(){ 1259 adddatabrickscmds(ESqlStatementType.sstaddAchieve, TBaseType.rrw_add, "archive"," "," "," "," "," "); 1260 adddatabrickscmds(ESqlStatementType.sstaddAchieve, TBaseType.rrw_add, "archives"," "," "," "," "," "); 1261 adddatabrickscmds(ESqlStatementType.sstaltercatalog, TBaseType.rrw_alter, "catalog"," "," "," "," "," "); 1262 adddatabrickscmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1263 adddatabrickscmds(ESqlStatementType.sstalterlocation, TBaseType.rrw_alter, "external","location"," "," "," "," "); 1264 adddatabrickscmds(ESqlStatementType.sstAlterGroup, TBaseType.rrw_alter, "group"," "," "," "," "," "); 1265 adddatabrickscmds(ESqlStatementType.sstalterprovider, TBaseType.rrw_alter, "provider"," "," "," "," "," "); 1266 adddatabrickscmds(ESqlStatementType.sstalterrecipient, TBaseType.rrw_alter, "recipient"," "," "," "," "," "); 1267 adddatabrickscmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema"," "," "," "," "," "); 1268 adddatabrickscmds(ESqlStatementType.sstAltershare, TBaseType.rrw_alter, "share"," "," "," "," "," "); 1269 adddatabrickscmds(ESqlStatementType.sstaltercredental, TBaseType.rrw_alter, "storage","credential"," "," "," "," "); 1270 adddatabrickscmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1271 adddatabrickscmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1272 adddatabrickscmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1273 adddatabrickscmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, "tables"," "," "," "," "," "); 1274 adddatabrickscmds(ESqlStatementType.sstCacheSelect, TBaseType.rrw_cache, "select"," "," "," "," "," "); 1275 adddatabrickscmds(ESqlStatementType.sstClearCache, TBaseType.rrw_clear, "cache"," "," "," "," "," "); 1276 adddatabrickscmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment, "on"," "," "," "," "," "); 1277 adddatabrickscmds(ESqlStatementType.sstConvertToDelta, TBaseType.rrw_databricks_convert, "to","delta"," "," "," "," "); 1278 adddatabrickscmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_databricks_copy, "into"," "," "," "," "," "); 1279 adddatabrickscmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "bloomfilter","index"," "," "," "," "); 1280 adddatabrickscmds(ESqlStatementType.sstcreatecatalog, TBaseType.rrw_create, "catalog"," "," "," "," "," "); 1281 adddatabrickscmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1282 adddatabrickscmds(ESqlStatementType.sstCreateExternallocation, TBaseType.rrw_create, "external","location"," "," "," "," "); 1283 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1284 adddatabrickscmds(ESqlStatementType.sstCreategroup, TBaseType.rrw_create, "group"," "," "," "," "," "); 1285 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1286 adddatabrickscmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or","replace","table"," "," "," "); 1287 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","temp","function"," "," "); 1288 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","temp","view"," "," "); 1289 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","temporary","function"," "," "); 1290 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","temporary","view"," "," "); 1291 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","view"," "," ", " "); 1292 adddatabrickscmds(ESqlStatementType.sstcreaterecipient, TBaseType.rrw_create, "recipient"," "," "," "," "," "); 1293 adddatabrickscmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1294 adddatabrickscmds(ESqlStatementType.sstcreateshare, TBaseType.rrw_create, "share"," "," "," "," "," "); 1295 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temp","function"," "," "," "," "); 1296 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1297 adddatabrickscmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1298 adddatabrickscmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1299 adddatabrickscmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1300 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1301 adddatabrickscmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, "from"," "," "," "," "," "); 1302 adddatabrickscmds(ESqlStatementType.sstDeny, TBaseType.rrw_deny, " "," "," "," "," "," "); 1303 adddatabrickscmds(ESqlStatementType.sstdescribe, TBaseType.rrw_databricks_desc, " "," "," "," "," "," "); 1304 adddatabrickscmds(ESqlStatementType.sstdescribeCatalog, TBaseType.rrw_databricks_desc, "catalog"," "," "," "," "," "); 1305 adddatabrickscmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_databricks_desc, "function"," "," "," "," "," "); 1306 adddatabrickscmds(ESqlStatementType.sstdescribeProvider, TBaseType.rrw_databricks_desc, "provider"," "," "," "," "," "); 1307 adddatabrickscmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_databricks_desc, "query"," "," "," "," "," "); 1308 adddatabrickscmds(ESqlStatementType.sstdescribeRecipient, TBaseType.rrw_databricks_desc, "recipient"," "," "," "," "," "); 1309 adddatabrickscmds(ESqlStatementType.sstdescribeSchema, TBaseType.rrw_databricks_desc, "schema"," "," "," "," "," "); 1310 adddatabrickscmds(ESqlStatementType.sstdescribeShare, TBaseType.rrw_databricks_desc, "share"," "," "," "," "," "); 1311 adddatabrickscmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_databricks_desc, "table"," "," "," "," "," "); 1312 adddatabrickscmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe, " "," "," "," "," "," "); 1313 adddatabrickscmds(ESqlStatementType.sstdescribeCatalog, TBaseType.rrw_describe, "catalog"," "," "," "," "," "); 1314 adddatabrickscmds(ESqlStatementType.sstdescribeDatabase, TBaseType.rrw_describe, "database"," "," "," "," "," "); 1315 adddatabrickscmds(ESqlStatementType.sstdescribeLocation, TBaseType.rrw_describe, "external","location"," "," "," "," "); 1316 adddatabrickscmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_describe, "function"," "," "," "," "," "); 1317 adddatabrickscmds(ESqlStatementType.sstdescribeProvider, TBaseType.rrw_describe, "provider"," "," "," "," "," "); 1318 adddatabrickscmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_describe, "query"," "," "," "," "," "); 1319 adddatabrickscmds(ESqlStatementType.sstdescribeRecipient, TBaseType.rrw_describe, "recipient"," "," "," "," "," "); 1320 adddatabrickscmds(ESqlStatementType.sstdescribeSchema, TBaseType.rrw_describe, "schema"," "," "," "," "," "); 1321 adddatabrickscmds(ESqlStatementType.sstdescribeShare, TBaseType.rrw_describe, "share"," "," "," "," "," "); 1322 adddatabrickscmds(ESqlStatementType.sstdescribeCredential, TBaseType.rrw_describe, "storage","credential"," "," "," "," "); 1323 adddatabrickscmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_describe, "table"," "," "," "," "," "); 1324 adddatabrickscmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "bloomfilter","index"," "," "," "," "); 1325 adddatabrickscmds(ESqlStatementType.sstdropcatalog, TBaseType.rrw_drop, "catalog"," "," "," "," "," "); 1326 adddatabrickscmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1327 adddatabrickscmds(ESqlStatementType.sstdroplocation, TBaseType.rrw_drop, "external","location"," "," "," "," "); 1328 adddatabrickscmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1329 adddatabrickscmds(ESqlStatementType.sstDropGroup, TBaseType.rrw_drop, "group"," "," "," "," "," "); 1330 adddatabrickscmds(ESqlStatementType.sstdropprovider, TBaseType.rrw_drop, "provider"," "," "," "," "," "); 1331 adddatabrickscmds(ESqlStatementType.sstdroprecipient, TBaseType.rrw_drop, "recipient"," "," "," "," "," "); 1332 adddatabrickscmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1333 adddatabrickscmds(ESqlStatementType.sstdropshare, TBaseType.rrw_drop, "share"," "," "," "," "," "); 1334 adddatabrickscmds(ESqlStatementType.sstdropcredential, TBaseType.rrw_drop, "storage","credential"," "," "," "," "); 1335 adddatabrickscmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "temp","function"," "," "," "," "); 1336 adddatabrickscmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "temporary","function"," "," "," "," "); 1337 adddatabrickscmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1338 adddatabrickscmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1339 adddatabrickscmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1340 adddatabrickscmds(ESqlStatementType.sstmsckrepairtable, TBaseType.rrw_databricks_fsck, "repair"," "," "," "," "," "); 1341 adddatabrickscmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1342 adddatabrickscmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, "select","on","share"," "," "," "); 1343 adddatabrickscmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1344 adddatabrickscmds(ESqlStatementType.sstList, TBaseType.rrw_databricks_list, " "," "," "," "," "," "); 1345 adddatabrickscmds(ESqlStatementType.sstLoadData, TBaseType.rrw_load, "data"," "," "," "," "," "); 1346 adddatabrickscmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, "into"," "," "," "," "," "); 1347 adddatabrickscmds(ESqlStatementType.sstmsckrepairtable, TBaseType.rrw_databricks_msck, "repair"," "," "," "," "," "); 1348 adddatabrickscmds(ESqlStatementType.sstmsckrepairtable, TBaseType.rrw_databricks_msck, "repair","table"," "," "," "," "); 1349 adddatabrickscmds(ESqlStatementType.sstOptimize, TBaseType.rrw_optimize, " "," "," "," "," "," "); 1350 adddatabrickscmds(ESqlStatementType.sstRefresh, TBaseType.rrw_refresh, " "," "," "," "," "," "); 1351 adddatabrickscmds(ESqlStatementType.sstRefreshFunction, TBaseType.rrw_refresh, "function"," "," "," "," "," "); 1352 adddatabrickscmds(ESqlStatementType.sstRefreshTable, TBaseType.rrw_refresh, "table"," "," "," "," "," "); 1353 adddatabrickscmds(ESqlStatementType.sstReorgTable, TBaseType.rrw_databricks_reorg, "table"," "," "," "," "," "); 1354 adddatabrickscmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_replace, "table"," "," "," "," "," "); 1355 adddatabrickscmds(ESqlStatementType.sstReset, TBaseType.rrw_reset, " "," "," "," "," "," "); 1356 adddatabrickscmds(ESqlStatementType.sstRestoreTable, TBaseType.rrw_restore, " "," "," "," "," "," "); 1357 adddatabrickscmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1358 adddatabrickscmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, "select","on","share"," "," "," "); 1359 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, " "," "," "," "," "," "); 1360 adddatabrickscmds(ESqlStatementType.sstUseCatalog, TBaseType.rrw_set, "catalog"," "," "," "," "," "); 1361 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, "time","zone"," "," "," "," "); 1362 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "all","functions"," "," "," "," "); 1363 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "all","in","share"," "," "," "); 1364 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "catalogs"," "," "," "," "," "); 1365 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1366 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","table"," "," "," "," "); 1367 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "external","locations"," "," "," "," "); 1368 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1369 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants"," "," "," "," "," "); 1370 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants","on","share"," "," "," "); 1371 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants","to","recipient"," "," "," "); 1372 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "groups"," "," "," "," "," "); 1373 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "partitions"," "," "," "," "," "); 1374 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "providers"," "," "," "," "," "); 1375 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "recipients"," "," "," "," "," "); 1376 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "schemas"," "," "," "," "," "); 1377 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "shares"," "," "," "," "," "); 1378 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "storage","credentials"," "," "," "," "); 1379 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "system","functions"," "," "," "," "); 1380 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "table","extended"," "," "," "," "); 1381 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1382 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tblproperties"," "," "," "," "," "); 1383 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "user","functions"," "," "," "," "); 1384 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "users"," "," "," "," "," "); 1385 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "views"," "," "," "," "," "); 1386 adddatabrickscmds(ESqlStatementType.sstsync, TBaseType.rrw_databricks_sync, "schema"," "," "," "," "," "); 1387 adddatabrickscmds(ESqlStatementType.sstsync, TBaseType.rrw_databricks_sync, "table"," "," "," "," "," "); 1388 adddatabrickscmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table"," "," "," "," "," "); 1389 adddatabrickscmds(ESqlStatementType.sstUnCacheTable, TBaseType.rrw_databricks_uncache, "table"," "," "," "," "," "); 1390 adddatabrickscmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " "," "," "," "," "," "); 1391 adddatabrickscmds(ESqlStatementType.sstUseSchema, TBaseType.rrw_use, " "," "," "," "," "," "); 1392 adddatabrickscmds(ESqlStatementType.sstUseCatalog, TBaseType.rrw_use, "catalog"," "," "," "," "," "); 1393 adddatabrickscmds(ESqlStatementType.sstUseSchema, TBaseType.rrw_use, "database"," "," "," "," "," "); 1394 adddatabrickscmds(ESqlStatementType.sstUseSchema, TBaseType.rrw_use, "schema"," "," "," "," "," "); 1395 adddatabrickscmds(ESqlStatementType.sstVacuum, TBaseType.rrw_databricks_vacuum, " "," "," "," "," "," "); 1396 1397 adddatabrickscmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " "," "," "," "," "," "); 1398 1399 adddatabrickscmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1400 adddatabrickscmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1401 adddatabrickscmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " "," "," "," "," "," "); 1402 adddatabrickscmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_replace, "table"," "," "," "," "," "); 1403 adddatabrickscmds(ESqlStatementType.sstResetSession, TBaseType.rrw_reset, "session"," "," "," "," "," "); 1404 adddatabrickscmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1405 adddatabrickscmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " "," "," "," "," "," "); 1406 adddatabrickscmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1407 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role"," "," "," "," "," "); 1408 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session"," "," "," "," "," "); 1409 1410 adddatabrickscmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction"," "," "," "," "," "); 1411 1412 } 1413 void initprestocmds(){ 1414 addprestocmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function"," "," "," "," "," "); 1415 addprestocmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema"," "," "," "," "," "); 1416 addprestocmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1417 addprestocmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, " "," "," "," "," "," "); 1418 addprestocmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " "," "," "," "," "," "); 1419 addprestocmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " "," "," "," "," "," "); 1420 addprestocmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1421 addprestocmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1422 addprestocmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1423 addprestocmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1424 addprestocmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1425 addprestocmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1426 addprestocmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1427 addprestocmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, "prepare"," "," "," "," "," "); 1428 addprestocmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " "," "," "," "," "," "); 1429 addprestocmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe, " "," "," "," "," "," "); 1430 addprestocmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1431 addprestocmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," "," "," "," "," "); 1432 addprestocmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1433 addprestocmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1434 addprestocmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1435 addprestocmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, " "," "," "," "," "," "); 1436 addprestocmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1437 addprestocmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1438 addprestocmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1439 addprestocmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " "," "," "," "," "," "); 1440 addprestocmds(ESqlStatementType.sstResetSession, TBaseType.rrw_reset, "session"," "," "," "," "," "); 1441 addprestocmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1442 addprestocmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " "," "," "," "," "," "); 1443 addprestocmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1444 addprestocmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role"," "," "," "," "," "); 1445 addprestocmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session"," "," "," "," "," "); 1446 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "catalogs"," "," "," "," "," "); 1447 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1448 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","function"," "," "," "," "); 1449 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","table"," "," "," "," "); 1450 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","view"," "," "," "," "); 1451 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "current","roles"," "," "," "," "); 1452 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1453 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants"," "," "," "," "," "); 1454 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "role","grants"," "," "," "," "); 1455 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "roles"," "," "," "," "," "); 1456 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "schemas"," "," "," "," "," "); 1457 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "session"," "," "," "," "," "); 1458 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "stats"," "," "," "," "," "); 1459 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1460 addprestocmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction"," "," "," "," "," "); 1461 addprestocmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " "," "," "," "," "," "); 1462 addprestocmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " "," "," "," "," "," "); 1463 } 1464 1465 void initathenacmds(){ 1466 addathenacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1467 addathenacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function"," "," "," "," "," "); 1468 addathenacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "schema"," "," "," "," "," "); 1469 addathenacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1470 addathenacmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, " "," "," "," "," "," "); 1471 addathenacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " "," "," "," "," "," "); 1472 addathenacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " "," "," "," "," "," "); 1473 addathenacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1474 addathenacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1475 addathenacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1476 addathenacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1477 addathenacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1478 addathenacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1479 addathenacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1480 addathenacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external","table"," "," "," "," "); 1481 addathenacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1482 addathenacmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, "prepare"," "," "," "," "," "); 1483 addathenacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " "," "," "," "," "," "); 1484 addathenacmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe, " "," "," "," "," "," "); 1485 addathenacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1486 addathenacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1487 addathenacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," "," "," "," "," "); 1488 addathenacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1489 addathenacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1490 addathenacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1491 addathenacmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, " "," "," "," "," "," "); 1492 addathenacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1493 addathenacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1494 addathenacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1495 addathenacmds(ESqlStatementType.sstmsck, TBaseType.rrw_athena_msck, " "," "," "," "," "," "); 1496 addathenacmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " "," "," "," "," "," "); 1497 addathenacmds(ESqlStatementType.sstResetSession, TBaseType.rrw_reset, "session"," "," "," "," "," "); 1498 addathenacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1499 addathenacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " "," "," "," "," "," "); 1500 addathenacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1501 addathenacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role"," "," "," "," "," "); 1502 addathenacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session"," "," "," "," "," "); 1503 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "catalogs"," "," "," "," "," "); 1504 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1505 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","function"," "," "," "," "); 1506 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","table"," "," "," "," "); 1507 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","view"," "," "," "," "); 1508 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "current","roles"," "," "," "," "); 1509 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "databases"," "," "," "," "," "); 1510 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1511 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants"," "," "," "," "," "); 1512 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "partitions"," "," "," "," "," "); 1513 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "role","grants"," "," "," "," "); 1514 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "roles"," "," "," "," "," "); 1515 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "schemas"," "," "," "," "," "); 1516 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "session"," "," "," "," "," "); 1517 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "stats"," "," "," "," "," "); 1518 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1519 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tblproperties"," "," "," "," "," "); 1520 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "views"," "," "," "," "," "); 1521 addathenacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction"," "," "," "," "," "); 1522 addathenacmds(ESqlStatementType.sstunload, TBaseType.rrw_athena_unload, " ", " ", " ", " ", " ", " "); 1523 addathenacmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " "," "," "," "," "," "); 1524 addathenacmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " "," "," "," "," "," "); 1525 } 1526 1527 void initsparksqlcmds(){ 1528 addsparksqlcmds(ESqlStatementType.sstAddFile, TBaseType.rrw_add, "file"," "," "," "," "," "); 1529 addsparksqlcmds(ESqlStatementType.sstAddJar, TBaseType.rrw_add, "jar"," "," "," "," "," "); 1530 addsparksqlcmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1531 addsparksqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1532 addsparksqlcmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1533 addsparksqlcmds(ESqlStatementType.sstanalyzeTable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1534 addsparksqlcmds(ESqlStatementType.sstCacheTable, TBaseType.rrw_cache, "table"," "," "," "," "," "); 1535 addsparksqlcmds(ESqlStatementType.sstCacheTable, TBaseType.rrw_cache, "lazy","table"," "," "," "," "); 1536 addsparksqlcmds(ESqlStatementType.sstClearCache, TBaseType.rrw_clear, "cache"," "," "," "," "," "); 1537 addsparksqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external","table"," "," "," "," "); 1538 addsparksqlcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1539 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1540 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "global","temporary","view"," "," "," "); 1541 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1542 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","global","temporary","view"," "); 1543 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","temporary","function"," "," "); 1544 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","temporary","view"," "," "); 1545 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","view"," "," "," "); 1546 addsparksqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1547 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1548 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "temporary","view"," "," "," "," "); 1549 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1550 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_spark_desc, " "," "," "," "," "," "); 1551 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_describe, " "," "," "," "," "," "); 1552 addsparksqlcmds(ESqlStatementType.sstdescribeDatabase, TBaseType.rrw_spark_desc, "database"," "," "," "," "," "); 1553 addsparksqlcmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_spark_desc, "function"," "," "," "," "," "); 1554 addsparksqlcmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_spark_desc, "query"," "," "," "," "," "); 1555 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_spark_desc, "table"," "," "," "," "," "); 1556 addsparksqlcmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_describe, "function"," "," "," "," "," "); 1557 addsparksqlcmds(ESqlStatementType.sstdescribeDatabase, TBaseType.rrw_describe, "database"," "," "," "," "," "); 1558 addsparksqlcmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_describe, "query"," "," "," "," "," "); 1559 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_describe, "table"," "," "," "," "," "); 1560 addsparksqlcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1561 addsparksqlcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1562 addsparksqlcmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1563 addsparksqlcmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "temporary","function"," "," "," "," "); 1564 addsparksqlcmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1565 addsparksqlcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1566 addsparksqlcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1567 addsparksqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1568 addsparksqlcmds(ESqlStatementType.sstListFile, TBaseType.rrw_spark_list, "file"," "," "," "," "," "); 1569 addsparksqlcmds(ESqlStatementType.sstListJar, TBaseType.rrw_spark_list, "jar"," "," "," "," "," "); 1570 addsparksqlcmds(ESqlStatementType.sstLoadData, TBaseType.rrw_load, "data"," "," "," "," "," "); 1571 addsparksqlcmds(ESqlStatementType.sstmsck, TBaseType.rrw_spark_msck, "repair","table"," "," "," "," "); 1572 addsparksqlcmds(ESqlStatementType.sstRefresh, TBaseType.rrw_refresh, " "," "," "," "," "," "); 1573 addsparksqlcmds(ESqlStatementType.sstRefreshFunction, TBaseType.rrw_refresh, "function"," "," "," "," "," "); 1574 addsparksqlcmds(ESqlStatementType.sstRefreshTable, TBaseType.rrw_refresh, "table"," "," "," "," "," "); 1575 addsparksqlcmds(ESqlStatementType.sstReset, TBaseType.rrw_reset, " "," "," "," "," "," "); 1576 addsparksqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1577 addsparksqlcmds(ESqlStatementType.sstset, TBaseType.rrw_set, " "," "," "," "," "," "); 1578 addsparksqlcmds(ESqlStatementType.sstSetTimeZone, TBaseType.rrw_set, "time","zone"," "," "," "," "); 1579 addsparksqlcmds(ESqlStatementType.sstShowColumns, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1580 addsparksqlcmds(ESqlStatementType.sstShowCreateTable, TBaseType.rrw_show, "create","table"," "," "," "," "); 1581 addsparksqlcmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "databases"," "," "," "," "," "); 1582 addsparksqlcmds(ESqlStatementType.sstShowFunctions, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1583 addsparksqlcmds(ESqlStatementType.sstShowPartitions, TBaseType.rrw_show, "partitions"," "," "," "," "," "); 1584 addsparksqlcmds(ESqlStatementType.sstShowTableExtended, TBaseType.rrw_show, "table","extended"," "," "," "," "); 1585 addsparksqlcmds(ESqlStatementType.sstShowTables, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1586 addsparksqlcmds(ESqlStatementType.sstShowTblProperties, TBaseType.rrw_show, "tblproperties"," "," "," "," "," "); 1587 addsparksqlcmds(ESqlStatementType.sstShowUser, TBaseType.rrw_show, "user"," "," "," "," "," "); 1588 addsparksqlcmds(ESqlStatementType.sstShowViews, TBaseType.rrw_show, "views"," "," "," "," "," "); 1589 addsparksqlcmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table"," "," "," "," "," "); 1590 addsparksqlcmds(ESqlStatementType.sstrepairtable, TBaseType.rrw_repair, "table"," "," "," "," "," "); 1591 addsparksqlcmds(ESqlStatementType.sstUnCacheTable, TBaseType.rrw_spark_uncache, "table"," "," "," "," "," "); 1592 addsparksqlcmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " "," "," "," "," "," "); 1593 1594 } 1595 1596 void initmysqlcmds(){ 1597// cmd must be sort alphabetically 1598 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "algorithm"," "," "," "," "," "); 1599 addmysqlcmds(ESqlStatementType.sstmysqlalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1600 addmysqlcmds(ESqlStatementType.sstmysqlalterfunction, TBaseType.rrw_alter, "function"," "," "," "," "," "); 1601 addmysqlcmds(ESqlStatementType.sstmysqlalterprocedure, TBaseType.rrw_alter, "procedure"," "," "," "," "," "); 1602 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "sql","security","definer","view"," "," "); 1603 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "sql","security","invoker","view"," "," "); 1604 addmysqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1605 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1606 addmysqlcmds(ESqlStatementType.sstmysqlanalyzetable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1607 addmysqlcmds(ESqlStatementType.sstmysqlbackuptable, TBaseType.rrw_backup, "table"," "," "," "," "," "); 1608 addmysqlcmds(ESqlStatementType.sstmysqlstarttransaction, TBaseType.rrw_begin, " "," "," "," "," "," "); 1609 addmysqlcmds(ESqlStatementType.sstmysqlcacheindex, TBaseType.rrw_cache, "index"," "," "," "," "," "); 1610 addmysqlcmds(ESqlStatementType.sstmysqlcall, TBaseType.rrw_call," "," "," "," "," "," "); 1611 addmysqlcmds(ESqlStatementType.sstmysqlcase, TBaseType.rrw_case," "," "," "," "," "," "); 1612 addmysqlcmds(ESqlStatementType.sstmysqlchangemasterto, TBaseType.rrw_change,"master", "to"," "," "," "," "); 1613 addmysqlcmds(ESqlStatementType.sstmysqlchecktable, TBaseType.rrw_check,"table"," "," "," "," "," "); 1614 addmysqlcmds(ESqlStatementType.sstmysqlchecktable, TBaseType.rrw_check,"tables"," "," "," "," "," "); 1615 addmysqlcmds(ESqlStatementType.sstmysqlchecksumtable, TBaseType.rrw_checksum,"table"," "," "," "," "," "); 1616 addmysqlcmds(ESqlStatementType.sstmysqlclose, TBaseType.rrw_close," "," "," "," "," "," "); 1617 addmysqlcmds(ESqlStatementType.sstmysqlcommit, TBaseType.rrw_commit," "," "," "," "," "," "); 1618 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"aggregate","function"," "," "," "," "); 1619 addmysqlcmds(ESqlStatementType.sstmysqlcreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 1620 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"definer", "=", "current_user", "function"," "," "); 1621 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"definer", "=", "current_user", "procedure"," "," "); 1622 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"definer", "=", "current_user", "trigger"," "," "); 1623 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"definer", "=","*","procedure"," "," "); 1624 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"definer", "=","*","function"," "," "); 1625 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"definer", "=","*","trigger"," "," "); 1626 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"definer", "=","*","*","*","function"); 1627 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"definer", "=","*","*","*","procedure"); 1628 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"definer", "=","*","*","*","trigger"); 1629 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"fulltext","index"," "," "," "," "); 1630 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 1631 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 1632 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"or","replace","table"," "," "," "); 1633 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 1634 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","*","*","*","view"); 1635 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 1636 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"spatial","index"," "," "," "," "); 1637 addmysqlcmds(ESqlStatementType.sstmysqlcreatedatabase, TBaseType.rrw_create,"schema"," "," "," "," "," "); 1638 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 1639 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"temp","table"," "," "," "," "); 1640 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"temporary","table"," "," "," "," "); 1641 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 1642 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 1643 addmysqlcmds(ESqlStatementType.sstmysqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 1644 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 1645 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"*","*","*","*","*","view"); 1646 addmysqlcmds(ESqlStatementType.sstmysqldeallocateprepare, TBaseType.rrw_deallocate,"prepare"," "," "," "," "," "); 1647 addmysqlcmds(ESqlStatementType.sstmysqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 1648 addmysqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 1649 addmysqlcmds(ESqlStatementType.sstmysqldelimiter, TBaseType.rrw_mysql_delimiter," "," "," "," "," "," "); 1650 addmysqlcmds(ESqlStatementType.sstdescribe, TBaseType.rrw_mysql_desc," "," "," "," "," "," "); 1651 addmysqlcmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 1652 addmysqlcmds(ESqlStatementType.sstmysqldo, TBaseType.rrw_do," "," "," "," "," "," "); 1653 addmysqlcmds(ESqlStatementType.sstmysqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 1654 addmysqlcmds(ESqlStatementType.sstmysqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 1655 addmysqlcmds(ESqlStatementType.sstmysqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 1656 addmysqlcmds(ESqlStatementType.sstmysqldropprepare, TBaseType.rrw_drop,"prepare"," "," "," "," "," "); 1657 addmysqlcmds(ESqlStatementType.sstmysqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 1658 addmysqlcmds(ESqlStatementType.sstmysqldropdatabase, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 1659 addmysqlcmds(ESqlStatementType.sstmysqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 1660 addmysqlcmds(ESqlStatementType.sstmysqldroptable, TBaseType.rrw_drop,"tables"," "," "," "," "," "); 1661 addmysqlcmds(ESqlStatementType.sstmysqldroptable, TBaseType.rrw_drop,"temporary","table"," "," "," "," "); 1662 addmysqlcmds(ESqlStatementType.sstmysqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 1663 addmysqlcmds(ESqlStatementType.sstmysqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 1664 addmysqlcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 1665 addmysqlcmds(ESqlStatementType.sstmysqlexecute, TBaseType.rrw_execute," "," "," "," "," "," "); 1666 addmysqlcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain," "," "," "," "," "," "); 1667 addmysqlcmds(ESqlStatementType.sstmysqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 1668 addmysqlcmds(ESqlStatementType.sstmysqlflush, TBaseType.rrw_flush," "," "," "," "," "," "); 1669 addmysqlcmds(ESqlStatementType.sstmysqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 1670 addmysqlcmds(ESqlStatementType.sstmysqlhandler, TBaseType.rrw_handler," "," "," "," "," "," "); 1671 addmysqlcmds(ESqlStatementType.sstmysqlifstmt, TBaseType.rrw_if," "," "," "," "," "," "); 1672 addmysqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 1673 addmysqlcmds(ESqlStatementType.sstmysqliterate, TBaseType.rrw_iterate," "," "," "," "," "," "); 1674 addmysqlcmds(ESqlStatementType.sstmysqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 1675 addmysqlcmds(ESqlStatementType.sstmysqlleave, TBaseType.rrw_leave," "," "," "," "," "," "); 1676 addmysqlcmds(ESqlStatementType.sstmysqlloaddatafrommaster, TBaseType.rrw_load,"data", "from", "master"," "," "," "); 1677 addmysqlcmds(ESqlStatementType.sstmysqlloaddatainfile, TBaseType.rrw_load,"data", "infile"," "," "," "," "); 1678 addmysqlcmds(ESqlStatementType.sstmysqlloaddatainfile, TBaseType.rrw_load,"data", "local","infile"," "," "," "); 1679 addmysqlcmds(ESqlStatementType.sstmysqlloadindexintocache, TBaseType.rrw_load,"index", "into", "cache"," "," "," "); 1680 addmysqlcmds(ESqlStatementType.sstmysqlloadtable, TBaseType.rrw_load,"table"," "," "," "," "," "); 1681 addmysqlcmds(ESqlStatementType.sstmysqllocktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 1682 addmysqlcmds(ESqlStatementType.sstmysqllocktable, TBaseType.rrw_lock,"tables"," "," "," "," "," "); 1683 addmysqlcmds(ESqlStatementType.sstmysqlloop, TBaseType.rrw_loop," "," "," "," "," "," "); 1684 addmysqlcmds(ESqlStatementType.sstmysqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 1685 addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, TBaseType.rrw_optimize,"local","table"," "," "," "," "); 1686 addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, TBaseType.rrw_optimize,"no_write_to_binlog","table"," "," "," "," "); 1687 addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, TBaseType.rrw_optimize,"table"," "," "," "," "," "); 1688 addmysqlcmds(ESqlStatementType.sstmysqlprepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 1689 addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, TBaseType.rrw_purge,"binary","logs"," "," "," "," "); 1690 addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, TBaseType.rrw_purge,"logs"," "," "," "," "," "); 1691 addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, TBaseType.rrw_purge,"master","logs"," "," "," "," "); 1692 addmysqlcmds(ESqlStatementType.sstmysqlreleasesavepoint,TBaseType. rrw_release,"savepoint"," "," "," "," "," "); 1693 addmysqlcmds(ESqlStatementType.sstmysqlrenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 1694 addmysqlcmds(ESqlStatementType.sstmysqlrenameuser, TBaseType.rrw_rename,"user"," "," "," "," "," "); 1695 addmysqlcmds(ESqlStatementType.sstmysqlrepairtable,TBaseType.rrw_repair,"local","table"," "," "," "," "); 1696 addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, TBaseType.rrw_repair,"no_write_to_binlog","table"," "," "," "," "); 1697 addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, TBaseType.rrw_repair,"table"," "," "," "," "," "); 1698 addmysqlcmds(ESqlStatementType.sstmysqlrepeat, TBaseType.rrw_repeat," "," "," "," "," "," "); 1699 addmysqlcmds(ESqlStatementType.sstmysqlreplace, TBaseType.rrw_replace," "," "," "," "," "," "); 1700 addmysqlcmds(ESqlStatementType.sstmysqlreset, TBaseType.rrw_reset," "," "," "," "," "," "); 1701 addmysqlcmds(ESqlStatementType.sstmysqlresetmaster, TBaseType.rrw_reset,"master"," "," "," "," "," "); 1702 addmysqlcmds(ESqlStatementType.sstmysqlresetslave, TBaseType.rrw_reset,"slave"," "," "," "," "," "); 1703 addmysqlcmds(ESqlStatementType.sstmysqlrestoretable, TBaseType.rrw_restore,"table"," "," "," "," "," "); 1704 addmysqlcmds(ESqlStatementType.sstmysqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 1705 addmysqlcmds(ESqlStatementType.sstmysqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 1706 addmysqlcmds(ESqlStatementType.sstmysqlsavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 1707 addmysqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 1708 addmysqlcmds(ESqlStatementType.sstmysqlset, TBaseType.rrw_set," "," "," "," "," "," "); 1709 addmysqlcmds(ESqlStatementType.sstmysqlsetautocommit, TBaseType.rrw_set,"autocommit"," "," "," "," "," "); 1710 addmysqlcmds(ESqlStatementType.sstmysqldelimiter, TBaseType.rrw_set,"delimiter"," "," "," "," "," "); 1711 addmysqlcmds(ESqlStatementType.sstmysqlsetglobalsql_slave_skip_counter, TBaseType.rrw_set,"global", "sql_slave_skip_counter"," "," "," "," "); 1712 addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, TBaseType.rrw_set,"global","transaction"," "," "," "," "); 1713 addmysqlcmds(ESqlStatementType.sstmysqlset, TBaseType.rrw_set,"PASSWORD"," "," "," "," "," "); 1714 addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, TBaseType.rrw_set,"session","transaction"," "," "," "," "); 1715 addmysqlcmds(ESqlStatementType.sstmysqlsetsql_log_bin, TBaseType.rrw_set,"sql_log_bin"," "," "," "," "," "); 1716 addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 1717 addmysqlcmds(ESqlStatementType.sstmysqlshowlogs, TBaseType.rrw_show,"bdb","logs"," "," "," "," "); 1718 addmysqlcmds(ESqlStatementType.sstmysqlshowbinlogevents, TBaseType.rrw_show,"binlog", "events"," "," "," "," "); 1719 addmysqlcmds(ESqlStatementType.sstmysqlshowcharacterset, TBaseType.rrw_show,"character", "set"," "," "," "," "); 1720 addmysqlcmds(ESqlStatementType.sstmysqlshowcharacterset, TBaseType.rrw_show,"charset", " "," "," "," "," "); 1721 addmysqlcmds(ESqlStatementType.sstmysqlshowcollation, TBaseType.rrw_show,"collation"," "," "," "," "," "); 1722 addmysqlcmds(ESqlStatementType.sstmysqlshowcolumns, TBaseType.rrw_show,"columns"," "," "," "," "," "); 1723 addmysqlcmds(ESqlStatementType.sstmysqlshowwarnings, TBaseType.rrw_show,"count"," "," "," "," "," "); 1724 addmysqlcmds(ESqlStatementType.sstmysqlshowcreateschema, TBaseType.rrw_show,"create", "schema"," "," "," "," "); 1725 addmysqlcmds(ESqlStatementType.sstmysqlshowcreatedatabase, TBaseType.rrw_show,"create", "database"," "," "," "," "); 1726 addmysqlcmds(ESqlStatementType.sstmysqlshowcreatefunction, TBaseType.rrw_show,"create","function"," "," "," "," "); 1727 addmysqlcmds(ESqlStatementType.sstmysqlshowcreateprocedure, TBaseType.rrw_show,"create","procedure"," "," "," "," "); 1728 addmysqlcmds(ESqlStatementType.sstmysqlshowcreatetable, TBaseType.rrw_show,"create","table"," "," "," "," "); 1729 addmysqlcmds(ESqlStatementType.sstmysqlshowcreateview, TBaseType.rrw_show,"create","view"," "," "," "," "); 1730 addmysqlcmds(ESqlStatementType.sstmysqlshowdatabases, TBaseType.rrw_show,"databases"," "," "," "," "," "); 1731 addmysqlcmds(ESqlStatementType.sstmysqlshowengine, TBaseType.rrw_show,"engine"," "," "," "," "," "); 1732 addmysqlcmds(ESqlStatementType.sstmysqlshowengines, TBaseType.rrw_show,"engines"," "," "," "," "," "); 1733 addmysqlcmds(ESqlStatementType.sstmysqlshowerrors, TBaseType.rrw_show,"errors"," "," "," "," "," "); 1734 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"extend","index"," "," "," "," "); 1735 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"extend","indexes"," "," "," "," "); 1736 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"extend","keys"," "," "," "," "); 1737 addmysqlcmds(ESqlStatementType.sstmysqlshowfields, TBaseType.rrw_show,"fields"," "," "," "," "," "); 1738 addmysqlcmds(ESqlStatementType.sstmysqlshowcolumns, TBaseType.rrw_show,"full","columns"," "," "," "," "); 1739 addmysqlcmds(ESqlStatementType.sstmysqlshowfields, TBaseType.rrw_show,"full","fields"," "," "," "," "); 1740 addmysqlcmds(ESqlStatementType.sstmysqlshowprocesslist, TBaseType.rrw_show,"full","processlist"," "," "," "," "); 1741 addmysqlcmds(ESqlStatementType.sstmysqlshowtables, TBaseType.rrw_show,"full","tables"," "," "," "," "); 1742 addmysqlcmds(ESqlStatementType.sstmysqlshowfunctionstatus, TBaseType.rrw_show,"function", "status"," "," "," "," "); 1743 addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, TBaseType.rrw_show,"global","status"," "," "," "," "); 1744 addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, TBaseType.rrw_show,"global","variables"," "," "," "," "); 1745 addmysqlcmds(ESqlStatementType.sstmysqlshowgrants, TBaseType.rrw_show,"grants"," "," "," "," "," "); 1746 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"index"," "," "," "," "," "); 1747 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"indexes"," "," "," "," "," "); 1748 addmysqlcmds(ESqlStatementType.sstmysqlshowinnodbstatus, TBaseType.rrw_show,"innodb", "status"," "," "," "," "); 1749 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"keys"," "," "," "," "," "); 1750 addmysqlcmds(ESqlStatementType.sstmysqlshowlogs, TBaseType.rrw_show,"logs"," "," "," "," "," "); 1751 addmysqlcmds(ESqlStatementType.sstmysqlshowmasterlogs, TBaseType.rrw_show,"master", "logs"," "," "," "," "); 1752 addmysqlcmds(ESqlStatementType.sstmysqlshowmasterstatus, TBaseType.rrw_show,"master", "status"," "," "," "," "); 1753 addmysqlcmds(ESqlStatementType.sstmysqlshowtables, TBaseType.rrw_show,"open","tables"," "," "," "," "); 1754 addmysqlcmds(ESqlStatementType.sstmysqlshowplugins, TBaseType.rrw_show,"plugins"," "," "," "," "," "); 1755 addmysqlcmds(ESqlStatementType.sstmysqlshowprivileges, TBaseType.rrw_show,"privileges"," "," "," "," "," "); 1756 addmysqlcmds(ESqlStatementType.sstmysqlshowfunctionstatus, TBaseType.rrw_show,"procedure", "status"," "," "," "," "); 1757 addmysqlcmds(ESqlStatementType.sstmysqlshowprocesslist, TBaseType.rrw_show,"processlist"," "," "," "," "," "); 1758 addmysqlcmds(ESqlStatementType.sstmysqlshowprofile, TBaseType.rrw_show,"profile"," "," "," "," "," "); 1759 addmysqlcmds(ESqlStatementType.sstmysqlshowprofiles, TBaseType.rrw_show,"profiles"," "," "," "," "," "); 1760 addmysqlcmds(ESqlStatementType.sstmysqlshowreplicaStatus, TBaseType.rrw_show,"replica","status"," "," "," "," "); 1761 addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, TBaseType.rrw_show,"session","status"," "," "," "," "); 1762 addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, TBaseType.rrw_show,"session","variables"," "," "," "," "); 1763 addmysqlcmds(ESqlStatementType.sstmysqlshowslavehosts, TBaseType.rrw_show,"slave", "hosts"," "," "," "," "); 1764 addmysqlcmds(ESqlStatementType.sstmysqlshowslavestatus, TBaseType.rrw_show,"slave", "status"," "," "," "," "); 1765 addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, TBaseType.rrw_show,"status"," "," "," "," "," "); 1766 addmysqlcmds(ESqlStatementType.sstmysqlshowengines, TBaseType.rrw_show,"storage","engines"," "," "," "," "); 1767 addmysqlcmds(ESqlStatementType.sstmysqlshowtablestatus, TBaseType.rrw_show,"table", "status"," "," "," "," "); 1768 addmysqlcmds(ESqlStatementType.sstmysqlshowtables, TBaseType.rrw_show,"tables"," "," "," "," "," "); 1769 addmysqlcmds(ESqlStatementType.sstmysqlshowtriggers, TBaseType.rrw_show,"triggers"," "," "," "," "," "); 1770 addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, TBaseType.rrw_show,"variables"," "," "," "," "," "); 1771 addmysqlcmds(ESqlStatementType.sstmysqlshowwarnings, TBaseType.rrw_show,"warnings"," "," "," "," "," "); 1772 addmysqlcmds(ESqlStatementType.sstmysqlsignal, TBaseType.rrw_signal," "," "," "," "," "," "); 1773 addmysqlcmds(ESqlStatementType.sstmysqlstartslave, TBaseType.rrw_start,"slave"," "," "," "," "," "); 1774 addmysqlcmds(ESqlStatementType.sstmysqlstarttransaction, TBaseType.rrw_start,"transaction"," "," "," "," "," "); 1775 addmysqlcmds(ESqlStatementType.sstmysqlstopslave, TBaseType.rrw_stop,"slave"," "," "," "," "," "); 1776 addmysqlcmds(ESqlStatementType.sstmysqltruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 1777 addmysqlcmds(ESqlStatementType.sstmysqlunlocktable, TBaseType.rrw_unlock,"tables"," "," "," "," "," "); 1778 addmysqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1779 addmysqlcmds(ESqlStatementType.sstmysqluse, TBaseType.rrw_use," "," "," "," "," "," "); 1780 addmysqlcmds(ESqlStatementType.sstmysqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 1781 1782} 1783 1784void initmdxcmds(){ 1785// cmd must be sort alphabetically 1786 addmdxcmds(ESqlStatementType.sstmdxaltercube, TBaseType.rrw_alter,"cube"," "," "," "," "," "); 1787 addmdxcmds(ESqlStatementType.sstmdxalterdimension, TBaseType.rrw_alter,"dimension"," "," "," "," "," "); 1788 addmdxcmds(ESqlStatementType.sstmdxcalculate, TBaseType.rrw_calculate," "," "," "," "," "," "); 1789 addmdxcmds(ESqlStatementType.sstmdxcall, TBaseType.rrw_call," "," "," "," "," "," "); 1790 addmdxcmds(ESqlStatementType.sstmdxcase, TBaseType.rrw_case," "," "," "," "," "," "); 1791 addmdxcmds(ESqlStatementType.sstmdxclearcalculations, TBaseType.rrw_clear,"calculations"," "," "," "," "," "); 1792 addmdxcmds(ESqlStatementType.sstmdxcreateaction, TBaseType.rrw_create,"action"," "," "," "," "," "); 1793 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"calculated","member"," "," "," "," "); 1794 addmdxcmds(ESqlStatementType.sstmdxcreatecellcalculation, TBaseType.rrw_create,"cell","calculation"," "," "," "," "); 1795 addmdxcmds(ESqlStatementType.sstmdxcreatedimensionmember, TBaseType.rrw_create,"dimension","member"," "," "," "," "); 1796 addmdxcmds(ESqlStatementType.sstmdxcreateglobalcube, TBaseType.rrw_create,"global","cube"," "," "," "," "); 1797 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"hidden","set"," "," "," "," "); 1798 addmdxcmds(ESqlStatementType.sstmdxcreatemeasure, TBaseType.rrw_create,"measure"," "," "," "," "," "); 1799 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"member"," "," "," "," "," "); 1800 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"session","calculated","memeber"," "," "," "); 1801 addmdxcmds(ESqlStatementType.sstmdxcreatesessioncube, TBaseType.rrw_create,"session","cube"," "," "," "," "); 1802 addmdxcmds(ESqlStatementType.sstmdxcreatedimensionmember, TBaseType.rrw_create,"session","dimension","member"," "," "," "); 1803 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"session","hidden","set"," "," "," "); 1804 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"session","memeber"," "," "," "," "); 1805 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"session","set"," "," "," "," "); 1806 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"set"," "," "," "," "," "); 1807 addmdxcmds(ESqlStatementType.sstmdxcreatesubcube, TBaseType.rrw_create,"subcube"," "," "," "," "," "); 1808 addmdxcmds(ESqlStatementType.sstmdxdrillthrough, TBaseType.rrw_drillthrough," "," "," "," "," "," "); 1809 addmdxcmds(ESqlStatementType.sstmdxdropaction, TBaseType.rrw_drop,"action"," "," "," "," "," "); 1810 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"calculated","member"," "," "," "," "); 1811 addmdxcmds(ESqlStatementType.sstmdxdropcellcalculation, TBaseType.rrw_drop,"cell","calcution"," "," "," "," "); 1812 addmdxcmds(ESqlStatementType.sstmdxdropdimensionmember, TBaseType.rrw_drop,"dimension","member"," "," "," "," "); 1813 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"member"," "," "," "," "," "); 1814 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"session","member"," "," "," "," "); 1815 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"session","calculated","member"," "," "," "); 1816 addmdxcmds(ESqlStatementType.sstmdxdropcellcalculation, TBaseType.rrw_drop,"session","cell","calcution"," "," "," "); 1817 addmdxcmds(ESqlStatementType.sstmdxdropset, TBaseType.rrw_drop,"set"," "," "," "," "," "); 1818 addmdxcmds(ESqlStatementType.sstmdxdropsubcube, TBaseType.rrw_drop,"subcube"," "," "," "," "," "); 1819 addmdxcmds(ESqlStatementType.sstmdxexisting, TBaseType.rrw_existing," "," "," "," "," "," "); 1820 addmdxcmds(ESqlStatementType.sstmdxfreeze, TBaseType.rrw_freeze," "," "," "," "," "," "); 1821 addmdxcmds(ESqlStatementType.sstmdxif, TBaseType.rrw_if," "," "," "," "," "," "); 1822 addmdxcmds(ESqlStatementType.sstmdxrefreshcube, TBaseType.rrw_refresh,"cube"," "," "," "," "," "); 1823 addmdxcmds(ESqlStatementType.sstmdxscope, TBaseType.rrw_scope," "," "," "," "," "," "); 1824 addmdxcmds(ESqlStatementType.sstmdxselect, TBaseType.rrw_select," "," "," "," "," "," "); 1825 addmdxcmds(ESqlStatementType.sstmdxupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1826 1827} 1828 1829void initsybasecmds(){ 1830// cmd must be sort alphabetically 1831 addsybasecmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"counter","signature"," "," "," "," "); 1832 addsybasecmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"signature"," "," "," "," "," "); 1833//alter 1834 addsybasecmds(ESqlStatementType.sstmssqlalterapplicationrole, TBaseType.rrw_alter,"application","role"," "," "," "," "); 1835 addsybasecmds(ESqlStatementType.sstmssqlalterassembly, TBaseType.rrw_alter,"assembly"," "," "," "," "," "); 1836 addsybasecmds(ESqlStatementType.sstmssqlalterasymmetrickey, TBaseType.rrw_alter,"asymmetric","key"," "," "," "," "); 1837 addsybasecmds(ESqlStatementType.sstmssqlalterauthorization, TBaseType.rrw_alter,"authorization"," "," "," "," "," "); 1838 addsybasecmds(ESqlStatementType.sstmssqlaltercertificate, TBaseType.rrw_alter,"certificate"," "," "," "," "," "); 1839 addsybasecmds(ESqlStatementType.sstmssqlaltercredential, TBaseType.rrw_alter,"credential"," "," "," "," "," "); 1840 addsybasecmds(ESqlStatementType.sstmssqlalterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 1841 addsybasecmds(ESqlStatementType.sstmssqlalterendpoint, TBaseType.rrw_alter,"endpoint"," "," "," "," "," "); 1842 addsybasecmds(ESqlStatementType.sstmssqlalterfulltextcatalog, TBaseType.rrw_alter,"fulltext","catalog"," "," "," "," "); 1843 addsybasecmds(ESqlStatementType.sstmssqlalterfulltextindex, TBaseType.rrw_alter,"fulltext","index"," "," "," "," "); 1844 addsybasecmds(ESqlStatementType.sstmssqlalterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 1845 addsybasecmds(ESqlStatementType.sstmssqlalterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 1846 addsybasecmds(ESqlStatementType.sstmssqlalterlogin, TBaseType.rrw_alter,"login"," "," "," "," "," "); 1847 addsybasecmds(ESqlStatementType.sstmssqlaltermasterkey, TBaseType.rrw_alter,"master","key"," "," "," "," "); 1848 addsybasecmds(ESqlStatementType.sstmssqlaltermessagetype, TBaseType.rrw_alter,"message","type"," "," "," "," "); 1849 addsybasecmds(ESqlStatementType.sstmssqlalterpartitionfunction, TBaseType.rrw_alter,"partition","function"," "," "," "," "); 1850 addsybasecmds(ESqlStatementType.sstmssqlalterpartitionscheme, TBaseType.rrw_alter,"partition","scheme"," "," "," "," "); 1851 addsybasecmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"proc"," "," "," "," "," "); 1852 addsybasecmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 1853 addsybasecmds(ESqlStatementType.sstmssqlalterqueue, TBaseType.rrw_alter,"queue"," "," "," "," "," "); 1854 addsybasecmds(ESqlStatementType.sstmssqlalterremoteservicebinding, TBaseType.rrw_alter,"remote","service","binding"," "," "," "); 1855 addsybasecmds(ESqlStatementType.sstmssqlalterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 1856 addsybasecmds(ESqlStatementType.sstmssqlalterroute, TBaseType.rrw_alter,"route"," "," "," "," "," "); 1857 addsybasecmds(ESqlStatementType.sstmssqlalterschema, TBaseType.rrw_alter,"schema"," "," "," "," "," "); 1858 addsybasecmds(ESqlStatementType.sstmssqlalterservice, TBaseType.rrw_alter,"service"," "," "," "," "," "); 1859 addsybasecmds(ESqlStatementType.sstmssqlalterservicemasterkey, TBaseType.rrw_alter,"service","master","key"," "," "," "); 1860 addsybasecmds(ESqlStatementType.sstmssqlaltersymmetrickey, TBaseType.rrw_alter,"symmetric","key"," "," "," "," "); 1861 addsybasecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 1862 addsybasecmds(ESqlStatementType.sstmssqlaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 1863 addsybasecmds(ESqlStatementType.sstmssqlalteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 1864 addsybasecmds(ESqlStatementType.sstmssqlalterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 1865 addsybasecmds(ESqlStatementType.sstmssqlalterxmlschemacollection, TBaseType.rrw_alter,"xml","schema","collection"," "," "," "); 1866//backup 1867 addsybasecmds(ESqlStatementType.sstmssqlbackupdatabase, TBaseType.rrw_backup,"database"," "," "," "," "," "); 1868 addsybasecmds(ESqlStatementType.sstmssqlbackupcertificate, TBaseType.rrw_backup,"certificate"," "," "," "," "," "); 1869 addsybasecmds(ESqlStatementType.sstmssqlbackuplog, TBaseType.rrw_backup,"log"," "," "," "," "," "); 1870 addsybasecmds(ESqlStatementType.sstmssqlbackupmasterkey, TBaseType.rrw_backup,"master","key"," "," "," "," "); 1871 addsybasecmds(ESqlStatementType.sstmssqlbackupservicemasterkey, TBaseType.rrw_backup,"service","master","key"," "," "," "); 1872//begin 1873 addsybasecmds(ESqlStatementType.sstmssqlbegincatch, TBaseType.rrw_begin,"catch"," "," "," "," "," "); 1874 addsybasecmds(ESqlStatementType.sstmssqlbeginconversationtimer, TBaseType.rrw_begin,"conversation","timer"," "," "," "," "); 1875 addsybasecmds(ESqlStatementType.sstmssqlbegindialog, TBaseType.rrw_begin,"dialog"," "," "," "," "," "); 1876 addsybasecmds(ESqlStatementType.sstmssqlbegindistributed, TBaseType.rrw_begin,"distributed"," "," "," "," "," "); 1877 addsybasecmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"tran"," "," "," "," "," "); 1878 addsybasecmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"transaction"," "," "," "," "," "); 1879 addsybasecmds(ESqlStatementType.sstmssqlbegintry, TBaseType.rrw_begin,"try"," "," "," "," "," "); 1880//break 1881 addsybasecmds(ESqlStatementType.sstbreak, TBaseType.rrw_break," "," "," "," "," "," "); 1882//bulk insert 1883 addsybasecmds(ESqlStatementType.sstmssqlbulkinsert, TBaseType.rrw_bulk,"insert"," "," "," "," "," "); 1884 1885 addsybasecmds(ESqlStatementType.sstcall, TBaseType.rrw_call," "," "," "," "," "," "); 1886 1887//checkpoint 1888 addsybasecmds(ESqlStatementType.sstmssqlcheckpoint, TBaseType.rrw_checkpoint," "," "," "," "," "," "); 1889//close 1890 addsybasecmds(ESqlStatementType.sstmssqlclose, TBaseType.rrw_close," "," "," "," "," "," "); 1891 addsybasecmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"all", "symmetric", "keys"," "," "," "); 1892 addsybasecmds(ESqlStatementType.sstmssqlclosemasterkey, TBaseType.rrw_close,"master", "key"," "," "," "," "); 1893 addsybasecmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"symmetric", "key"," "," "," "," "); 1894//commit 1895 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit," "," "," "," "," "," "); 1896 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"work"," "," "," "," "," "); 1897 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"tran"," "," "," "," "," "); 1898 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"transaction"," "," "," "," "," "); 1899//continue 1900 addsybasecmds(ESqlStatementType.sstmssqlcontinue, TBaseType.rrw_continue," "," "," "," "," "," "); 1901//create 1902 addsybasecmds(ESqlStatementType.sstmssqlcreateaggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 1903 addsybasecmds(ESqlStatementType.sstmssqlcreateapplicationrole, TBaseType.rrw_create,"application", "role"," "," "," "," "); 1904 addsybasecmds(ESqlStatementType.sstmssqlcreateassembly, TBaseType.rrw_create,"assembly"," "," "," "," "," "); 1905 addsybasecmds(ESqlStatementType.sstmssqlcreateasymmetrickey, TBaseType.rrw_create,"asymmetric", "key"," "," "," "," "); 1906 addsybasecmds(ESqlStatementType.sstmssqlcreatecertificate, TBaseType.rrw_create,"certificate"," "," "," "," "," "); 1907 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"clustered","index"," "," "," "," "); 1908 addsybasecmds(ESqlStatementType.sstmssqlcreatecontract, TBaseType.rrw_create,"contract"," "," "," "," "," "); 1909 addsybasecmds(ESqlStatementType.sstmssqlcreatecredential, TBaseType.rrw_create,"credential"," "," "," "," "," "); 1910 addsybasecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 1911 addsybasecmds(ESqlStatementType.sstmssqlcreatedefault, TBaseType.rrw_create,"default"," "," "," "," "," "); 1912 addsybasecmds(ESqlStatementType.sstmssqlcreateendpoint, TBaseType.rrw_create,"endpoint"," "," "," "," "," "); 1913 addsybasecmds(ESqlStatementType.sstmssqlcreateeventnotification, TBaseType.rrw_create,"event", "notification"," "," "," "," "); 1914 addsybasecmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, TBaseType.rrw_create,"fulltext", "catalog"," "," "," "," "); 1915 addsybasecmds(ESqlStatementType.sstmssqlcreatefulltextindex, TBaseType.rrw_create,"fulltext", "index"," "," "," "," "); 1916 addsybasecmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 1917 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 1918 addsybasecmds(ESqlStatementType.sstmssqlcreatelogin, TBaseType.rrw_create,"login"," "," "," "," "," "); 1919 addsybasecmds(ESqlStatementType.sstmssqlcreatemasterkey, TBaseType.rrw_create,"master","key"," "," "," "," "); 1920 addsybasecmds(ESqlStatementType.sstmssqlcreatemessagetype, TBaseType.rrw_create,"message","type"," "," "," "," "); 1921 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","index"," "," "," "," "); 1922 addsybasecmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 1923 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","replace","proc"," "," "," "); 1924 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 1925 addsybasecmds(ESqlStatementType.sstmssqlcreatepartitionfunction, TBaseType.rrw_create,"partition","function"," "," "," "," "); 1926 addsybasecmds(ESqlStatementType.sstmssqlcreatepartitionscheme, TBaseType.rrw_create,"partition","scheme"," "," "," "," "); 1927 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 1928 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 1929 addsybasecmds(ESqlStatementType.sstmssqlcreatequeue, TBaseType.rrw_create,"queue"," "," "," "," "," "); 1930 addsybasecmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, TBaseType.rrw_create,"remote", "service", "binding"," "," "," "); 1931 addsybasecmds(ESqlStatementType.sstmssqlcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 1932 addsybasecmds(ESqlStatementType.sstmssqlcreateroute, TBaseType.rrw_create,"route"," "," "," "," "," "); 1933 addsybasecmds(ESqlStatementType.sstmssqlcreaterule, TBaseType.rrw_create,"rule"," "," "," "," "," "); 1934 addsybasecmds(ESqlStatementType.sstmssqlcreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 1935 addsybasecmds(ESqlStatementType.sstmssqlcreateservice, TBaseType.rrw_create,"service"," "," "," "," "," "); 1936 addsybasecmds(ESqlStatementType.sstmssqlcreatestatistics, TBaseType.rrw_create,"statistics"," "," "," "," "," "); 1937 addsybasecmds(ESqlStatementType.sstmssqlcreatesymmetrickey, TBaseType.rrw_create,"symmetric", "key"," "," "," "," "); 1938 addsybasecmds(ESqlStatementType.sstmssqlcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 1939 addsybasecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 1940 addsybasecmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 1941 addsybasecmds(ESqlStatementType.sstmssqlcreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 1942 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","clustered","index"," "," "," "); 1943 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 1944 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","nonclustered","index"," "," "," "); 1945 addsybasecmds(ESqlStatementType.sstmssqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 1946 addsybasecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 1947 addsybasecmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, TBaseType.rrw_create,"xml", "schema", "collection"," "," "," "); 1948// DBCC 1949 addsybasecmds(ESqlStatementType.sstmssqldbcc, TBaseType.rrw_dbcc," "," "," "," "," "," "); 1950//DEALLOCATE 1951 addsybasecmds(ESqlStatementType.sstmssqldeallocate, TBaseType.rrw_deallocate," "," "," "," "," "," "); 1952//DECLARE 1953 addsybasecmds(ESqlStatementType.sstmssqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 1954//DELETE 1955 addsybasecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 1956 1957//DELETE statistics 1958 addsybasecmds(ESqlStatementType.sstsybaseDeleteStatistics, TBaseType.rrw_delete,"shared","statistics"," "," "," "," "); 1959 addsybasecmds(ESqlStatementType.sstsybaseDeleteStatistics, TBaseType.rrw_delete,"statistics"," "," "," "," "," "); 1960 1961//DENY 1962 addsybasecmds(ESqlStatementType.sstmssqldeny, TBaseType.rrw_deny," "," "," "," "," "," "); 1963//DISABLE TRIGGER 1964 addsybasecmds(ESqlStatementType.sstmssqldisabletrigger, TBaseType.rrw_disable,"trigger"," "," "," "," "," "); 1965//drop 1966 addsybasecmds(ESqlStatementType.sstmssqldropaggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 1967 addsybasecmds(ESqlStatementType.sstmssqldropapplicationrole, TBaseType.rrw_drop,"application", "role"," "," "," "," "); 1968 addsybasecmds(ESqlStatementType.sstmssqldropassembly, TBaseType.rrw_drop,"assembly"," "," "," "," "," "); 1969 addsybasecmds(ESqlStatementType.sstmssqldropasymmetrickey, TBaseType.rrw_drop,"asymmetric", "key"," "," "," "," "); 1970 addsybasecmds(ESqlStatementType.sstmssqldropcertificate, TBaseType.rrw_drop,"certificate"," "," "," "," "," "); 1971 addsybasecmds(ESqlStatementType.sstmssqldropcontract, TBaseType.rrw_drop,"contract"," "," "," "," "," "); 1972 addsybasecmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"counter", "signature"," "," "," "," "); 1973 addsybasecmds(ESqlStatementType.sstmssqldropcredential, TBaseType.rrw_drop,"credential"," "," "," "," "," "); 1974 addsybasecmds(ESqlStatementType.sstmssqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 1975 addsybasecmds(ESqlStatementType.sstmssqldropdefault, TBaseType.rrw_drop,"default"," "," "," "," "," "); 1976 addsybasecmds(ESqlStatementType.sstmssqldropendpoint, TBaseType.rrw_drop,"endpoint"," "," "," "," "," "); 1977 addsybasecmds(ESqlStatementType.sstmssqldropeventnotification, TBaseType.rrw_drop,"event", "notification"," "," "," "," "); 1978 addsybasecmds(ESqlStatementType.sstmssqldropfulltextcatalog, TBaseType.rrw_drop,"fulltext", "catalog"," "," "," "," "); 1979 addsybasecmds(ESqlStatementType.sstmssqldropfulltextindex, TBaseType.rrw_drop,"fulltext", "index"," "," "," "," "); 1980 addsybasecmds(ESqlStatementType.sstmssqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 1981 addsybasecmds(ESqlStatementType.sstmssqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 1982 addsybasecmds(ESqlStatementType.sstmssqldroplogin, TBaseType.rrw_drop,"login"," "," "," "," "," "); 1983 addsybasecmds(ESqlStatementType.sstmssqldropmasterkey, TBaseType.rrw_drop,"master", "key"," "," "," "," "); 1984 addsybasecmds(ESqlStatementType.sstmssqldropmessagetype, TBaseType.rrw_drop,"message", "type"," "," "," "," "); 1985 addsybasecmds(ESqlStatementType.sstmssqldroppartitionfunction, TBaseType.rrw_drop,"partition", "function"," "," "," "," "); 1986 addsybasecmds(ESqlStatementType.sstmssqldroppartitionscheme, TBaseType.rrw_drop,"partition", "scheme"," "," "," "," "); 1987 addsybasecmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"proc"," "," "," "," "," "); 1988 addsybasecmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 1989 addsybasecmds(ESqlStatementType.sstmssqldropqueue, TBaseType.rrw_drop,"queue"," "," "," "," "," "); 1990 addsybasecmds(ESqlStatementType.sstmssqldropremoteservicebinding, TBaseType.rrw_drop,"remote", "service", "binding"," "," "," "); 1991 addsybasecmds(ESqlStatementType.sstmssqldroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 1992 addsybasecmds(ESqlStatementType.sstmssqldroproute, TBaseType.rrw_drop,"route"," "," "," "," "," "); 1993 addsybasecmds(ESqlStatementType.sstmssqldroprule, TBaseType.rrw_drop,"rule"," "," "," "," "," "); 1994 addsybasecmds(ESqlStatementType.sstmssqldropschema, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 1995 addsybasecmds(ESqlStatementType.sstmssqldropservice, TBaseType.rrw_drop,"service"," "," "," "," "," "); 1996 addsybasecmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"signature"," "," "," "," "," "); 1997 addsybasecmds(ESqlStatementType.sstmssqldropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 1998 addsybasecmds(ESqlStatementType.sstmssqldropsymmetrickey, TBaseType.rrw_drop,"symmetric", "key"," "," "," "," "); 1999 addsybasecmds(ESqlStatementType.sstmssqldropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2000 addsybasecmds(ESqlStatementType.sstmssqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2001 addsybasecmds(ESqlStatementType.sstmssqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 2002 addsybasecmds(ESqlStatementType.sstmssqldroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 2003 addsybasecmds(ESqlStatementType.sstmssqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 2004 addsybasecmds(ESqlStatementType.sstmssqldropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2005 addsybasecmds(ESqlStatementType.sstmssqldropxmlschemacollection, TBaseType.rrw_drop,"xml", "schema", "collection"," "," "," "); 2006 2007 addsybasecmds(ESqlStatementType.sstsybasedumpTran, TBaseType.rrw_sybase_dump,"tran"," "," "," "," "," "); 2008 addsybasecmds(ESqlStatementType.sstsybasedumpTran, TBaseType.rrw_sybase_dump,"transaction"," "," "," "," "," "); 2009//if 2010 addsybasecmds(ESqlStatementType.sstmssqlif, TBaseType.rrw_if," "," "," "," "," "," "); 2011//enable trigger 2012 addsybasecmds(ESqlStatementType.sstmssqlenabletrigger, TBaseType.rrw_enable,"trigger"," "," "," "," "," "); 2013//END CONVERSATION 2014// addsybasecmds(ESqlStatementType.sstMssqlEndCatch,TBaseType.rrw_end,'catch'); 2015 addsybasecmds(ESqlStatementType.sstmssqlendconversation, TBaseType.rrw_end,"conversation"," "," "," "," "," "); 2016// addsybasecmds(ESqlStatementType.sstMssqlEndTry,TBaseType.rrw_end,'try'); 2017//exec 2018//exec as 2019 addsybasecmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_exec," "," "," "," "," "," "); 2020 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","caller"," "," "," "," "); 2021 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","login"," "," "," "," "); 2022 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","user"," "," "," "," "); 2023 addsybasecmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_execute, " "," "," "," "," "," "); 2024 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","caller"," "," "," "," "); 2025 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","login"," "," "," "," "); 2026 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","user"," "," "," "," "); 2027//fetch 2028 addsybasecmds(ESqlStatementType.sstmssqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2029//go 2030 addsybasecmds(ESqlStatementType.sstmssqlgo, TBaseType.rrw_go," "," "," "," "," "," "); 2031//goto 2032 addsybasecmds(ESqlStatementType.sstmssqlgoto, TBaseType.rrw_goto," "," "," "," "," "," "); 2033//GRANT 2034 addsybasecmds(ESqlStatementType.sstmssqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 2035//GRANT 2036 addsybasecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2037 2038 addsybasecmds(ESqlStatementType.sstsybaseInsertBulk, TBaseType.rrw_insert,"bulk"," "," "," "," "," "); 2039//KILL 2040 addsybasecmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2041//KILL 2042 addsybasecmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2043 addsybasecmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, TBaseType.rrw_kill,"kill", "query", "notification", "subscription"," "," "); 2044 addsybasecmds(ESqlStatementType.sstmssqlkillstats, TBaseType.rrw_kill,"stats"," "," "," "," "," "); 2045 2046 addsybasecmds(ESqlStatementType.sstload,TBaseType.rrw_load,"table"," "," "," "," "," "); 2047// 2048 addsybasecmds(ESqlStatementType.sstsybaselocktable,TBaseType.rw_locktable,"table"," "," "," "," "," "); 2049//MOVE CONVERSATION 2050 addsybasecmds(ESqlStatementType.sstmssqlmoveconversation, TBaseType.rrw_move,"conversation"," "," "," "," "," "); 2051//merge 2052 addsybasecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2053//open 2054 addsybasecmds(ESqlStatementType.sstmssqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 2055 addsybasecmds(ESqlStatementType.sstmssqlopenmasterkey, TBaseType.rrw_open,"master", "key"," "," "," "," "); 2056 addsybasecmds(ESqlStatementType.sstmssqlopensymmetrickey, TBaseType.rrw_open,"symmetric", "key"," "," "," "," "); 2057//PRINT 2058 addsybasecmds(ESqlStatementType.sstmssqlprint, TBaseType.rrw_print," "," "," "," "," "," "); 2059//RAISERROR 2060 addsybasecmds(ESqlStatementType.sstmssqlraiserror, TBaseType.rrw_raiserror," "," "," "," "," "," "); 2061//READTEXT 2062 addsybasecmds(ESqlStatementType.sstmssqlreadtext, TBaseType.rrw_readtext," "," "," "," "," "," "); 2063//RECEIVE 2064 addsybasecmds(ESqlStatementType.sstmssqlreceive, TBaseType.rrw_receive," "," "," "," "," "," "); 2065//RECONFIGURE 2066 addsybasecmds(ESqlStatementType.sstmssqlreconfigure, TBaseType.rrw_reconfigure," "," "," "," "," "," "); 2067//RESTORE 2068 addsybasecmds(ESqlStatementType.sstmssqlrestoredatabase, TBaseType.rrw_restore,"database"," "," "," "," "," "); 2069 addsybasecmds(ESqlStatementType.sstmssqlrestorefilelistonly, TBaseType.rrw_restore,"filelistonly"," "," "," "," "," "); 2070 addsybasecmds(ESqlStatementType.sstmssqlrestoreheaderonly, TBaseType.rrw_restore,"headeronly"," "," "," "," "," "); 2071 addsybasecmds(ESqlStatementType.sstmssqlrestorelabelonly, TBaseType.rrw_restore,"labelonly"," "," "," "," "," "); 2072 addsybasecmds(ESqlStatementType.sstmssqlrestorelog, TBaseType.rrw_restore,"log"," "," "," "," "," "); 2073 addsybasecmds(ESqlStatementType.sstmssqlrestoremasterkey, TBaseType.rrw_restore,"master","key"," "," "," "," "); 2074 addsybasecmds(ESqlStatementType.sstmssqlrestorerewindonly, TBaseType.rrw_restore,"rewindonly"," "," "," "," "," "); 2075 addsybasecmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, TBaseType.rrw_restore,"service","master","key"," "," "," "); 2076 addsybasecmds(ESqlStatementType.sstmssqlrestoreverifyonly, TBaseType.rrw_restore,"verifyonly"," "," "," "," "," "); 2077//RETURN 2078 addsybasecmds(ESqlStatementType.sstmssqlreturn, TBaseType.rrw_return," "," "," "," "," "," "); 2079//REVERT 2080 addsybasecmds(ESqlStatementType.sstmssqlrevert, TBaseType.rrw_revert," "," "," "," "," "," "); 2081//REVOKE 2082 addsybasecmds(ESqlStatementType.sstmssqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2083//ROLLBACK 2084 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2085 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"tran"," "," "," "," "," "); 2086 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"transaction"," "," "," "," "," "); 2087 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 2088//SAVE 2089 addsybasecmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save," "," "," "," "," "," "); 2090 addsybasecmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"tran"," "," "," "," "," "); 2091 addsybasecmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"transaction"," "," "," "," "," "); 2092//SELECT 2093 addsybasecmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2094//SEND ON CONVERSATION 2095 addsybasecmds(ESqlStatementType.sstmssqlsendonconversation, TBaseType.rrw_send,"on","conversation"," "," "," "," "); 2096//SET 2097 addsybasecmds(ESqlStatementType.sstmssqlset, TBaseType.rrw_set," "," "," "," "," "," "); 2098//SET 2099 addsybasecmds(ESqlStatementType.sstmssqlsetuser,TBaseType.rrw_setuser," "," "," "," "," "," "); 2100//SHUTDOWN 2101 addsybasecmds(ESqlStatementType.sstmssqlshutdown, TBaseType.rrw_shutdown," "," "," "," "," "," "); 2102//SIGN 2103// addsybasecmds(ESqlStatementType.sstmssqlsign, rrw_sign," "," "," "," "," "," "); 2104//TRUNCATE TABLE 2105 addsybasecmds(ESqlStatementType.sstmssqltruncatetable, TBaseType.rrw_truncate,"table"," "," "," "," "," "); 2106//UPDATE 2107 addsybasecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2108//UPDATE all STATISTICS 2109 addsybasecmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"all","statistics"," "," "," "," "); 2110//UPDATE index STATISTICS 2111 addsybasecmds(ESqlStatementType.sstsybaseupdateindexstatistics, TBaseType.rrw_update,"index","statistics"," "," "," "," "); 2112//UPDATE STATISTICS 2113 addsybasecmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 2114//UPDATETEXT 2115 addsybasecmds(ESqlStatementType.sstmssqlupdatetext, TBaseType.rrw_updatetext," "," "," "," "," "," "); 2116//USE 2117 addsybasecmds(ESqlStatementType.sstmssqluse, TBaseType.rrw_use," "," "," "," "," "," "); 2118//WAITFOR 2119 addsybasecmds(ESqlStatementType.sstmssqlwaitfor, TBaseType.rrw_waitfor," "," "," "," "," "," "); 2120//WHILE 2121 addsybasecmds(ESqlStatementType.sstmssqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 2122//WITH, don't recongize here, let isMssqlSql do it 2123// addsybasecmds(ESqlStatementType.sstMssqlCTE,rrw_WITH,' '); 2124//WITH XMLNAMESPACES 2125 addsybasecmds(ESqlStatementType.sstmssqlwithxmlnamespaces, TBaseType.rrw_with,"xmlnamespaces"," "," "," "," "," "); 2126//WRITETEXT 2127 addsybasecmds(ESqlStatementType.sstsybaseWritetext, TBaseType.rrw_writetext," "," "," "," "," "," "); 2128 2129} 2130 2131void initmssqlcmds(){ 2132// cmd must be sort alphabetically 2133 addmssqlcmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"counter","signature"," "," "," "," "); 2134 addmssqlcmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"signature"," "," "," "," "," "); 2135//alter 2136 addmssqlcmds(ESqlStatementType.sstmssqlalterapplicationrole, TBaseType.rrw_alter,"application","role"," "," "," "," "); 2137 addmssqlcmds(ESqlStatementType.sstmssqlalterassembly, TBaseType.rrw_alter,"assembly"," "," "," "," "," "); 2138 addmssqlcmds(ESqlStatementType.sstmssqlalterasymmetrickey, TBaseType.rrw_alter,"asymmetric","key"," "," "," "," "); 2139 addmssqlcmds(ESqlStatementType.sstmssqlalterauthorization, TBaseType.rrw_alter,"authorization"," "," "," "," "," "); 2140 addmssqlcmds(ESqlStatementType.sstmssqlaltercertificate, TBaseType.rrw_alter,"certificate"," "," "," "," "," "); 2141 addmssqlcmds(ESqlStatementType.sstmssqlaltercredential, TBaseType.rrw_alter,"credential"," "," "," "," "," "); 2142 addmssqlcmds(ESqlStatementType.sstmssqlalterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 2143 addmssqlcmds(ESqlStatementType.sstmssqlalterendpoint, TBaseType.rrw_alter,"endpoint"," "," "," "," "," "); 2144 addmssqlcmds(ESqlStatementType.sstmssqlalterfulltextcatalog, TBaseType.rrw_alter,"fulltext","catalog"," "," "," "," "); 2145 addmssqlcmds(ESqlStatementType.sstmssqlalterfulltextindex, TBaseType.rrw_alter,"fulltext","index"," "," "," "," "); 2146 addmssqlcmds(ESqlStatementType.sstmssqlalterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 2147 addmssqlcmds(ESqlStatementType.sstmssqlalterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 2148 addmssqlcmds(ESqlStatementType.sstmssqlalterlogin, TBaseType.rrw_alter,"login"," "," "," "," "," "); 2149 addmssqlcmds(ESqlStatementType.sstmssqlaltermasterkey, TBaseType.rrw_alter,"master","key"," "," "," "," "); 2150 addmssqlcmds(ESqlStatementType.sstmssqlaltermessagetype, TBaseType.rrw_alter,"message","type"," "," "," "," "); 2151 addmssqlcmds(ESqlStatementType.sstmssqlalterpartitionfunction, TBaseType.rrw_alter,"partition","function"," "," "," "," "); 2152 addmssqlcmds(ESqlStatementType.sstmssqlalterpartitionscheme, TBaseType.rrw_alter,"partition","scheme"," "," "," "," "); 2153 addmssqlcmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"proc"," "," "," "," "," "); 2154 addmssqlcmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 2155 addmssqlcmds(ESqlStatementType.sstmssqlalterqueue, TBaseType.rrw_alter,"queue"," "," "," "," "," "); 2156 addmssqlcmds(ESqlStatementType.sstmssqlalterremoteservicebinding, TBaseType.rrw_alter,"remote","service","binding"," "," "," "); 2157 addmssqlcmds(ESqlStatementType.sstmssqlalterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 2158 addmssqlcmds(ESqlStatementType.sstmssqlalterroute, TBaseType.rrw_alter,"route"," "," "," "," "," "); 2159 addmssqlcmds(ESqlStatementType.sstmssqlalterschema, TBaseType.rrw_alter,"schema"," "," "," "," "," "); 2160 addmssqlcmds(ESqlStatementType.sstmssqlAlterSecurityPolicy, TBaseType.rrw_alter, "security", "policy", " ", " ", " ", " "); 2161 addmssqlcmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2162 addmssqlcmds(ESqlStatementType.sstmssqlalterservice, TBaseType.rrw_alter,"service"," "," "," "," "," "); 2163 addmssqlcmds(ESqlStatementType.sstmssqlalterservicemasterkey, TBaseType.rrw_alter,"service","master","key"," "," "," "); 2164 addmssqlcmds(ESqlStatementType.sstmssqlaltersymmetrickey, TBaseType.rrw_alter,"symmetric","key"," "," "," "," "); 2165 addmssqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 2166 addmssqlcmds(ESqlStatementType.sstmssqlaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 2167 addmssqlcmds(ESqlStatementType.sstmssqlalteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 2168 addmssqlcmds(ESqlStatementType.sstmssqlalterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 2169 addmssqlcmds(ESqlStatementType.sstmssqlalterxmlschemacollection, TBaseType.rrw_alter,"xml","schema","collection"," "," "," "); 2170//backup 2171 addmssqlcmds(ESqlStatementType.sstmssqlbackupcertificate, TBaseType.rrw_backup,"certificate"," "," "," "," "," "); 2172 addmssqlcmds(ESqlStatementType.sstmssqlbackupdatabase, TBaseType.rrw_backup,"database"," "," "," "," "," "); 2173 addmssqlcmds(ESqlStatementType.sstmssqlbackuplog, TBaseType.rrw_backup,"log"," "," "," "," "," "); 2174 addmssqlcmds(ESqlStatementType.sstmssqlbackupmasterkey, TBaseType.rrw_backup,"master","key"," "," "," "," "); 2175 addmssqlcmds(ESqlStatementType.sstmssqlbackupservicemasterkey, TBaseType.rrw_backup,"service","master","key"," "," "," "); 2176//begin 2177 addmssqlcmds(ESqlStatementType.sstmssqlbegincatch, TBaseType.rrw_begin,"catch"," "," "," "," "," "); 2178 addmssqlcmds(ESqlStatementType.sstmssqlbeginconversationtimer, TBaseType.rrw_begin,"conversation","timer"," "," "," "," "); 2179 addmssqlcmds(ESqlStatementType.sstmssqlbegindialog, TBaseType.rrw_begin,"dialog"," "," "," "," "," "); 2180 addmssqlcmds(ESqlStatementType.sstmssqlbegindistributed, TBaseType.rrw_begin,"distributed"," "," "," "," "," "); 2181 addmssqlcmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"tran"," "," "," "," "," "); 2182 addmssqlcmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"transaction"," "," "," "," "," "); 2183 addmssqlcmds(ESqlStatementType.sstmssqlbegintry, TBaseType.rrw_begin,"try"," "," "," "," "," "); 2184//break 2185 addmssqlcmds(ESqlStatementType.sstbreak, TBaseType.rrw_break," "," "," "," "," "," "); 2186//bulk insert 2187 addmssqlcmds(ESqlStatementType.sstmssqlbulkinsert, TBaseType.rrw_bulk,"insert"," "," "," "," "," "); 2188//checkpoint 2189 addmssqlcmds(ESqlStatementType.sstmssqlcheckpoint, TBaseType.rrw_checkpoint," "," "," "," "," "," "); 2190//close 2191 addmssqlcmds(ESqlStatementType.sstmssqlclose, TBaseType.rrw_close," "," "," "," "," "," "); 2192 addmssqlcmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"all", "symmetric", "keys"," "," "," "); 2193 addmssqlcmds(ESqlStatementType.sstmssqlclosemasterkey, TBaseType.rrw_close,"master", "key"," "," "," "," "); 2194 addmssqlcmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"symmetric", "key"," "," "," "," "); 2195//commit 2196 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit," "," "," "," "," "," "); 2197 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"work"," "," "," "," "," "); 2198 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"tran"," "," "," "," "," "); 2199 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"transaction"," "," "," "," "," "); 2200//continue 2201 addmssqlcmds(ESqlStatementType.sstmssqlcontinue, TBaseType.rrw_continue," "," "," "," "," "," "); 2202// copy into 2203 addmssqlcmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_sqlserver_copyinto,"into"," "," "," "," "," "); 2204//create 2205 addmssqlcmds(ESqlStatementType.sstmssqlcreateaggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 2206 addmssqlcmds(ESqlStatementType.sstmssqlcreateapplicationrole, TBaseType.rrw_create,"application", "role"," "," "," "," "); 2207 addmssqlcmds(ESqlStatementType.sstmssqlcreateassembly, TBaseType.rrw_create,"assembly"," "," "," "," "," "); 2208 addmssqlcmds(ESqlStatementType.sstmssqlcreateasymmetrickey, TBaseType.rrw_create,"asymmetric", "key"," "," "," "," "); 2209 addmssqlcmds(ESqlStatementType.sstmssqlcreatecertificate, TBaseType.rrw_create,"certificate"," "," "," "," "," "); 2210 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"clustered","columnstore","index"," "," "," "); 2211 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"clustered","index"," "," "," "," "); 2212 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"columnstore","index"," "," "," "," "); 2213 addmssqlcmds(ESqlStatementType.sstmssqlcreatecontract, TBaseType.rrw_create,"contract"," "," "," "," "," "); 2214 addmssqlcmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create,"credential"," "," "," "," "," "); 2215 addmssqlcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 2216 addmssqlcmds(ESqlStatementType.sstmssqlcreatedatabaseencryptionkey, TBaseType.rrw_create,"database","encryption","key"," "," "," "); 2217 addmssqlcmds(ESqlStatementType.sstmssqlcreateselectivexmlindex, TBaseType.rrw_create,"selective","xml","index"," "," "," "); 2218 addmssqlcmds(ESqlStatementType.sstmssqlcreatejsonindex, TBaseType.rrw_create,"json","index"," "," "," "," "); 2219 addmssqlcmds(ESqlStatementType.sstmssqlcreatevectorindex, TBaseType.rrw_create,"vector","index"," "," "," "," "); 2220 addmssqlcmds(ESqlStatementType.sstmssqlrenameobject, TBaseType.rrw_rename,"object"," "," "," "," "," "); 2221 addmssqlcmds(ESqlStatementType.sstmssqlcreateremotetableasselect, TBaseType.rrw_create,"remote","table"," "," "," "," "); 2222 addmssqlcmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create,"database","scoped","credential"," "," "," "); 2223 addmssqlcmds(ESqlStatementType.sstmssqlcreatedefault, TBaseType.rrw_create,"default"," "," "," "," "," "); 2224 addmssqlcmds(ESqlStatementType.sstmssqlcreateendpoint, TBaseType.rrw_create,"endpoint"," "," "," "," "," "); 2225 addmssqlcmds(ESqlStatementType.sstmssqlcreateeventnotification, TBaseType.rrw_create,"event", "notification"," "," "," "," "); 2226 addmssqlcmds(ESqlStatementType.sstmssqlcreateeventsession, TBaseType.rrw_create,"event", "session"," "," "," "," "); 2227 addmssqlcmds(ESqlStatementType.sstmssqlcreateevexternalDataSource, TBaseType.rrw_create,"external", "data","source"," "," "," "); 2228 addmssqlcmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create,"external","file","format"," "," "," "); 2229 addmssqlcmds(ESqlStatementType.sstmssqlcreateevexternalLanguage, TBaseType.rrw_create,"external", "language"," "," "," "," "); 2230 addmssqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"external","table"," "," "," "," "); 2231 addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, TBaseType.rrw_create,"fulltext", "catalog"," "," "," "," "); 2232 addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextindex, TBaseType.rrw_create,"fulltext", "index"," "," "," "," "); 2233 addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 2234 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 2235 addmssqlcmds(ESqlStatementType.sstmssqlcreatelogin, TBaseType.rrw_create,"login"," "," "," "," "," "); 2236 addmssqlcmds(ESqlStatementType.sstmssqlcreatemasterkey, TBaseType.rrw_create,"master","key"," "," "," "," "); 2237 addmssqlcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 2238 2239 addmssqlcmds(ESqlStatementType.sstmssqlcreatemessagetype, TBaseType.rrw_create,"message","type"," "," "," "," "); 2240 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","columnstore","index"," "," "," "); 2241 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","index"," "," "," "," "); 2242 2243 addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"or","alter","function"," "," "," "); 2244 2245 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","alter","proc"," "," "," "); 2246 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","alter","procedure"," "," "," "); 2247 2248 addmssqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","alter","view"," "," "," "); 2249 addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionfunction, TBaseType.rrw_create,"partition","function"," "," "," "," "); 2250 addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionscheme, TBaseType.rrw_create,"partition","scheme"," "," "," "," "); 2251 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"primary","xml","index"," "," "," "); 2252 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 2253 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 2254 addmssqlcmds(ESqlStatementType.sstmssqlcreatequeue, TBaseType.rrw_create,"queue"," "," "," "," "," "); 2255 addmssqlcmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, TBaseType.rrw_create,"remote", "service", "binding"," "," "," "); 2256 addmssqlcmds(ESqlStatementType.sstmssqlcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 2257 addmssqlcmds(ESqlStatementType.sstmssqlcreateroute, TBaseType.rrw_create,"route"," "," "," "," "," "); 2258 addmssqlcmds(ESqlStatementType.sstmssqlcreaterule, TBaseType.rrw_create,"rule"," "," "," "," "," "); 2259 addmssqlcmds(ESqlStatementType.sstmssqlcreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 2260 addmssqlcmds(ESqlStatementType.sstmssqlCreateSecurityPolicy, TBaseType.rrw_create, "security", "policy", " ", " ", " ", " "); 2261 addmssqlcmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2262 addmssqlcmds(ESqlStatementType.sstmssqlcreateservice, TBaseType.rrw_create,"service"," "," "," "," "," "); 2263 addmssqlcmds(ESqlStatementType.sstmssqlcreatestatistics, TBaseType.rrw_create,"statistics"," "," "," "," "," "); 2264 addmssqlcmds(ESqlStatementType.sstmssqlcreatesymmetrickey, TBaseType.rrw_create,"symmetric", "key"," "," "," "," "); 2265 addmssqlcmds(ESqlStatementType.sstmssqlcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2266 addmssqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 2267 addmssqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 2268 addmssqlcmds(ESqlStatementType.sstmssqlcreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 2269 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","clustered","index"," "," "," "); 2270 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 2271 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","nonclustered","index"," "," "," "); 2272 addmssqlcmds(ESqlStatementType.sstmssqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 2273 addmssqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2274 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"xml","index"," "," "," "," "); 2275 addmssqlcmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, TBaseType.rrw_create,"xml", "schema", "collection"," "," "," "); 2276// DBCC 2277 addmssqlcmds(ESqlStatementType.sstmssqldbcc, TBaseType.rrw_dbcc," "," "," "," "," "," "); 2278//DEALLOCATE 2279 addmssqlcmds(ESqlStatementType.sstmssqldeallocate, TBaseType.rrw_deallocate," "," "," "," "," "," "); 2280//DECLARE 2281 addmssqlcmds(ESqlStatementType.sstmssqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 2282//DELETE 2283 addmssqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2284//DENY 2285 addmssqlcmds(ESqlStatementType.sstmssqldeny, TBaseType.rrw_deny," "," "," "," "," "," "); 2286//DISABLE TRIGGER 2287 addmssqlcmds(ESqlStatementType.sstmssqldisabletrigger, TBaseType.rrw_disable,"trigger"," "," "," "," "," "); 2288//drop 2289 addmssqlcmds(ESqlStatementType.sstmssqldropaggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 2290 addmssqlcmds(ESqlStatementType.sstmssqldropapplicationrole, TBaseType.rrw_drop,"application", "role"," "," "," "," "); 2291 addmssqlcmds(ESqlStatementType.sstmssqldropassembly, TBaseType.rrw_drop,"assembly"," "," "," "," "," "); 2292 addmssqlcmds(ESqlStatementType.sstmssqldropasymmetrickey, TBaseType.rrw_drop,"asymmetric", "key"," "," "," "," "); 2293 addmssqlcmds(ESqlStatementType.sstmssqldropcertificate, TBaseType.rrw_drop,"certificate"," "," "," "," "," "); 2294 addmssqlcmds(ESqlStatementType.sstmssqldropcontract, TBaseType.rrw_drop,"contract"," "," "," "," "," "); 2295 addmssqlcmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"counter", "signature"," "," "," "," "); 2296 addmssqlcmds(ESqlStatementType.sstmssqldropcredential, TBaseType.rrw_drop,"credential"," "," "," "," "," "); 2297 addmssqlcmds(ESqlStatementType.sstmssqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 2298 addmssqlcmds(ESqlStatementType.sstmssqldropdefault, TBaseType.rrw_drop,"default"," "," "," "," "," "); 2299 addmssqlcmds(ESqlStatementType.sstmssqldropendpoint, TBaseType.rrw_drop,"endpoint"," "," "," "," "," "); 2300 addmssqlcmds(ESqlStatementType.sstmssqldropeventnotification, TBaseType.rrw_drop,"event", "notification"," "," "," "," "); 2301 addmssqlcmds(ESqlStatementType.sstmssqldropeventsession, TBaseType.rrw_drop,"event", "session"," "," "," "," "); 2302 addmssqlcmds(ESqlStatementType.sstmssqldropfulltextcatalog, TBaseType.rrw_drop,"fulltext", "catalog"," "," "," "," "); 2303 addmssqlcmds(ESqlStatementType.sstmssqldropfulltextindex, TBaseType.rrw_drop,"fulltext", "index"," "," "," "," "); 2304 addmssqlcmds(ESqlStatementType.sstmssqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 2305 addmssqlcmds(ESqlStatementType.sstmssqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2306 addmssqlcmds(ESqlStatementType.sstmssqldroplogin, TBaseType.rrw_drop,"login"," "," "," "," "," "); 2307 addmssqlcmds(ESqlStatementType.sstmssqldropmasterkey, TBaseType.rrw_drop,"master", "key"," "," "," "," "); 2308 addmssqlcmds(ESqlStatementType.sstmssqldropmessagetype, TBaseType.rrw_drop,"message", "type"," "," "," "," "); 2309 addmssqlcmds(ESqlStatementType.sstmssqldroppartitionfunction, TBaseType.rrw_drop,"partition", "function"," "," "," "," "); 2310 addmssqlcmds(ESqlStatementType.sstmssqldroppartitionscheme, TBaseType.rrw_drop,"partition", "scheme"," "," "," "," "); 2311 addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"proc"," "," "," "," "," "); 2312 addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 2313 addmssqlcmds(ESqlStatementType.sstmssqldropqueue, TBaseType.rrw_drop,"queue"," "," "," "," "," "); 2314 addmssqlcmds(ESqlStatementType.sstmssqldropremoteservicebinding, TBaseType.rrw_drop,"remote", "service", "binding"," "," "," "); 2315 addmssqlcmds(ESqlStatementType.sstmssqldroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 2316 addmssqlcmds(ESqlStatementType.sstmssqldroproute, TBaseType.rrw_drop,"route"," "," "," "," "," "); 2317 addmssqlcmds(ESqlStatementType.sstmssqldroprule, TBaseType.rrw_drop,"rule"," "," "," "," "," "); 2318 addmssqlcmds(ESqlStatementType.sstmssqldropschema, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 2319 addmssqlcmds(ESqlStatementType.sstmssqlDropSecurityPolicy, TBaseType.rrw_drop, "security", "policy", " ", " ", " ", " "); 2320 addmssqlcmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 2321 addmssqlcmds(ESqlStatementType.sstmssqldropservice, TBaseType.rrw_drop,"service"," "," "," "," "," "); 2322 addmssqlcmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"signature"," "," "," "," "," "); 2323 addmssqlcmds(ESqlStatementType.sstmssqldropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 2324 addmssqlcmds(ESqlStatementType.sstmssqldropsymmetrickey, TBaseType.rrw_drop,"symmetric", "key"," "," "," "," "); 2325 addmssqlcmds(ESqlStatementType.sstmssqldropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2326 addmssqlcmds(ESqlStatementType.sstmssqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2327 addmssqlcmds(ESqlStatementType.sstmssqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 2328 addmssqlcmds(ESqlStatementType.sstmssqldroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 2329 addmssqlcmds(ESqlStatementType.sstmssqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 2330 addmssqlcmds(ESqlStatementType.sstmssqldropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2331 addmssqlcmds(ESqlStatementType.sstmssqldropxmlschemacollection, TBaseType.rrw_drop,"xml", "schema", "collection"," "," "," "); 2332//enable trigger 2333 addmssqlcmds(ESqlStatementType.sstmssqlenabletrigger, TBaseType.rrw_enable,"trigger"," "," "," "," "," "); 2334//END CONVERSATION 2335// AddMssqlCmds(ESqlStatementType.sstMssqlEndCatch,TBaseType.rrw_end,'catch'); 2336 addmssqlcmds(ESqlStatementType.sstmssqlendconversation, TBaseType.rrw_end,"conversation"," "," "," "," "," "); 2337// AddMssqlCmds(ESqlStatementType.sstMssqlEndTry,TBaseType.rrw_end,'try'); 2338//exec 2339//exec as 2340 addmssqlcmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_exec," "," "," "," "," "," "); 2341 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","caller"," "," "," "," "); 2342 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","login"," "," "," "," "); 2343 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","user"," "," "," "," "); 2344 addmssqlcmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_execute, " "," "," "," "," "," "); 2345 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","caller"," "," "," "," "); 2346 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","login"," "," "," "," "); 2347 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","user"," "," "," "," "); 2348//fetch 2349 addmssqlcmds(ESqlStatementType.sstmssqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2350//go 2351 addmssqlcmds(ESqlStatementType.sstmssqlgo, TBaseType.rrw_go," "," "," "," "," "," "); 2352//goto 2353 addmssqlcmds(ESqlStatementType.sstmssqlgoto, TBaseType.rrw_goto," "," "," "," "," "," "); 2354//GRANT 2355 addmssqlcmds(ESqlStatementType.sstmssqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 2356 2357//if 2358 addmssqlcmds(ESqlStatementType.sstmssqlif, TBaseType.rrw_if," "," "," "," "," "," "); 2359 2360//GRANT 2361 addmssqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2362 addmssqlcmds(ESqlStatementType.sstmssqlinsertbulk, TBaseType.rrw_insert,"bulk"," "," "," "," "," "); 2363//KILL 2364 addmssqlcmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2365//KILL 2366 addmssqlcmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2367 addmssqlcmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, TBaseType.rrw_kill,"kill", "query", "notification", "subscription"," "," "); 2368 addmssqlcmds(ESqlStatementType.sstmssqlkillstats, TBaseType.rrw_kill,"stats"," "," "," "," "," "); 2369 2370// 2371 addmssqlcmds(ESqlStatementType.sstsybaselocktable,TBaseType.rw_locktable,"table"," "," "," "," "," "); 2372//MOVE CONVERSATION 2373 addmssqlcmds(ESqlStatementType.sstmssqlmoveconversation, TBaseType.rrw_move,"conversation"," "," "," "," "," "); 2374//merge 2375 addmssqlcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2376//open 2377 addmssqlcmds(ESqlStatementType.sstmssqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 2378 addmssqlcmds(ESqlStatementType.sstmssqlopenmasterkey, TBaseType.rrw_open,"master", "key"," "," "," "," "); 2379 addmssqlcmds(ESqlStatementType.sstmssqlopensymmetrickey, TBaseType.rrw_open,"symmetric", "key"," "," "," "," "); 2380//PRINT 2381 addmssqlcmds(ESqlStatementType.sstmssqlprint, TBaseType.rrw_print," "," "," "," "," "," "); 2382//RAISERROR 2383 addmssqlcmds(ESqlStatementType.sstmssqlraiserror, TBaseType.rrw_raiserror," "," "," "," "," "," "); 2384//READTEXT 2385 addmssqlcmds(ESqlStatementType.sstmssqlreadtext, TBaseType.rrw_readtext," "," "," "," "," "," "); 2386//RECEIVE 2387 addmssqlcmds(ESqlStatementType.sstmssqlreceive, TBaseType.rrw_receive," "," "," "," "," "," "); 2388//RECONFIGURE 2389 addmssqlcmds(ESqlStatementType.sstmssqlreconfigure, TBaseType.rrw_reconfigure," "," "," "," "," "," "); 2390//RESTORE 2391 addmssqlcmds(ESqlStatementType.sstmssqlrestoredatabase, TBaseType.rrw_restore,"database"," "," "," "," "," "); 2392 addmssqlcmds(ESqlStatementType.sstmssqlrestorefilelistonly, TBaseType.rrw_restore,"filelistonly"," "," "," "," "," "); 2393 addmssqlcmds(ESqlStatementType.sstmssqlrestoreheaderonly, TBaseType.rrw_restore,"headeronly"," "," "," "," "," "); 2394 addmssqlcmds(ESqlStatementType.sstmssqlrestorelabelonly, TBaseType.rrw_restore,"labelonly"," "," "," "," "," "); 2395 addmssqlcmds(ESqlStatementType.sstmssqlrestorelog, TBaseType.rrw_restore,"log"," "," "," "," "," "); 2396 addmssqlcmds(ESqlStatementType.sstmssqlrestoremasterkey, TBaseType.rrw_restore,"master","key"," "," "," "," "); 2397 addmssqlcmds(ESqlStatementType.sstmssqlrestorerewindonly, TBaseType.rrw_restore,"rewindonly"," "," "," "," "," "); 2398 addmssqlcmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, TBaseType.rrw_restore,"service","master","key"," "," "," "); 2399 addmssqlcmds(ESqlStatementType.sstmssqlrestoreverifyonly, TBaseType.rrw_restore,"verifyonly"," "," "," "," "," "); 2400//RETURN 2401 addmssqlcmds(ESqlStatementType.sstmssqlreturn, TBaseType.rrw_return," "," "," "," "," "," "); 2402//REVERT 2403 addmssqlcmds(ESqlStatementType.sstmssqlrevert, TBaseType.rrw_revert," "," "," "," "," "," "); 2404//REVOKE 2405 addmssqlcmds(ESqlStatementType.sstmssqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2406//ROLLBACK 2407 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2408 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"tran"," "," "," "," "," "); 2409 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"transaction"," "," "," "," "," "); 2410 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 2411//SAVE 2412 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save," "," "," "," "," "," "); 2413 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"tran"," "," "," "," "," "); 2414 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"transaction"," "," "," "," "," "); 2415//SELECT 2416 addmssqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2417//SEND ON CONVERSATION 2418 addmssqlcmds(ESqlStatementType.sstmssqlsendonconversation, TBaseType.rrw_send,"on","conversation"," "," "," "," "); 2419//SET 2420 addmssqlcmds(ESqlStatementType.sstmssqlset, TBaseType.rrw_set," "," "," "," "," "," "); 2421//SET rowcount 2422 addmssqlcmds(ESqlStatementType.sstmssqlsetrowcount, TBaseType.rrw_set,"rowcount"," "," "," "," "," "); 2423//SET 2424 addmssqlcmds(ESqlStatementType.sstmssqlsetuser,TBaseType.rrw_setuser," "," "," "," "," "," "); 2425//SHUTDOWN 2426 addmssqlcmds(ESqlStatementType.sstmssqlshutdown, TBaseType.rrw_shutdown," "," "," "," "," "," "); 2427//SIGN 2428// addmssqlcmds(ESqlStatementType.sstmssqlsign, rrw_sign," "," "," "," "," "," "); 2429 2430//throw 2431 addmssqlcmds(ESqlStatementType.sstmssqlthrow, TBaseType.rrw_sqlserver_throw," "," "," "," "," "," "); 2432 2433//TRUNCATE TABLE 2434 addmssqlcmds(ESqlStatementType.sstmssqltruncatetable, TBaseType.rrw_truncate,"table"," "," "," "," "," "); 2435//UPDATE 2436 addmssqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2437//UPDATE STATISTICS 2438 addmssqlcmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 2439//UPDATETEXT 2440 addmssqlcmds(ESqlStatementType.sstmssqlupdatetext, TBaseType.rrw_updatetext," "," "," "," "," "," "); 2441//USE 2442 addmssqlcmds(ESqlStatementType.sstmssqluse, TBaseType.rrw_use," "," "," "," "," "," "); 2443//WAITFOR 2444 addmssqlcmds(ESqlStatementType.sstmssqlwaitfor, TBaseType.rrw_waitfor," "," "," "," "," "," "); 2445//WHILE 2446 addmssqlcmds(ESqlStatementType.sstmssqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 2447//WITH, don't recongize here, let isMssqlSql do it 2448// AddMssqlCmds(ESqlStatementType.sstMssqlCTE,rrw_WITH,' '); 2449//WITH XMLNAMESPACES 2450 // addmssqlcmds(ESqlStatementType.sstmssqlwithxmlnamespaces, TBaseType.rrw_with,"xmlnamespaces"," "," "," "," "," "); 2451//WRITETEXT 2452 addmssqlcmds(ESqlStatementType.sstmssqlwritetext, TBaseType.rrw_writetext," "," "," "," "," "," "); 2453 2454} 2455 2456void initdb2cmds(){ 2457// cmd must be sort alphabetically 2458 adddb2cmds(ESqlStatementType.sstdb2allocatecursor, TBaseType.rrw_allocate,"cursor"," "," "," "," "," "); 2459 adddb2cmds(ESqlStatementType.sstdb2alterbufferpool, TBaseType.rrw_alter,"bufferpool"," "," "," "," "," "); 2460 adddb2cmds(ESqlStatementType.sstdb2alterdatabasepartitiongroup, TBaseType.rrw_alter,"database", "partition", "group"," "," "," "); 2461 adddb2cmds(ESqlStatementType.sstdb2alterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 2462 adddb2cmds(ESqlStatementType.sstdb2altermethod, TBaseType.rrw_alter,"method"," "," "," "," "," "); 2463 adddb2cmds(ESqlStatementType.sstdb2alternickname, TBaseType.rrw_alter,"nickname"," "," "," "," "," "); 2464 adddb2cmds(ESqlStatementType.sstdb2alterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 2465 adddb2cmds(ESqlStatementType.sstdb2altersequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 2466 adddb2cmds(ESqlStatementType.sstdb2alterserver, TBaseType.rrw_alter,"server"," "," "," "," "," "); 2467 adddb2cmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 2468 adddb2cmds(ESqlStatementType.sstdb2altertablespace, TBaseType.rrw_alter,"tablespace"," "," "," "," "," "); 2469 adddb2cmds(ESqlStatementType.sstdb2altertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 2470 adddb2cmds(ESqlStatementType.sstdb2alterusermapping, TBaseType.rrw_alter,"user","mapping"," "," "," "," "); 2471 adddb2cmds(ESqlStatementType.sstdb2alterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 2472 adddb2cmds(ESqlStatementType.sstdb2alterwrapper, TBaseType.rrw_alter,"wrapper"," "," "," "," "," "); 2473 adddb2cmds(ESqlStatementType.sstdb2associatelocators, TBaseType.rrw_associate,"locators"," "," "," "," "," "); 2474 adddb2cmds(ESqlStatementType.sstdb2begindeclaresection, TBaseType.rrw_begin,"declare", "section"," "," "," "," "); 2475 adddb2cmds(ESqlStatementType.sstdb2call, TBaseType.rrw_call," "," "," "," "," "," "); 2476 adddb2cmds(ESqlStatementType.sstdb2case, TBaseType.rrw_case," "," "," "," "," "," "); 2477 adddb2cmds(ESqlStatementType.sstdb2close, TBaseType.rrw_close," "," "," "," "," "," "); 2478 adddb2cmds(ESqlStatementType.sstdb2comment, TBaseType.rrw_comment," "," "," "," "," "," "); 2479 adddb2cmds(ESqlStatementType.sstdb2commit, TBaseType.rrw_commit," "," "," "," "," "," "); 2480 adddb2cmds(ESqlStatementType.sstdb2connect, TBaseType.rrw_connect," "," "," "," "," "," "); 2481 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"alias"," "," "," "," "," "); 2482 adddb2cmds(ESqlStatementType.sstcreateauditpolicy, TBaseType.rrw_create,"audit","policy"," "," "," "," "); 2483 adddb2cmds(ESqlStatementType.sstdb2createbufferpool, TBaseType.rrw_create,"bufferpool"," "," "," "," "," "); 2484 adddb2cmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database", " ", " "," "," "," "); 2485 adddb2cmds(ESqlStatementType.sstdb2createdatabasepartitiongroup, TBaseType.rrw_create,"database", "partition", "group"," "," "," "); 2486 adddb2cmds(ESqlStatementType.sstdb2createdistincttype, TBaseType.rrw_create,"distinct", "type"," "," "," "," "); 2487 adddb2cmds(ESqlStatementType.sstdb2createeventmonitor, TBaseType.rrw_create,"eventmonitor"," "," "," "," "," "); 2488 adddb2cmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 2489 adddb2cmds(ESqlStatementType.sstdb2createfunctionmapping, TBaseType.rrw_create,"function", "mapping"," "," "," "," "); 2490 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 2491 adddb2cmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 2492 adddb2cmds(ESqlStatementType.sstdb2createindexextension, TBaseType.rrw_create,"index", "extension"," "," "," "," "); 2493 adddb2cmds(ESqlStatementType.sstcreateTablespace, TBaseType.rrw_create,"large","tablespace"," "," "," "," "); 2494 adddb2cmds(ESqlStatementType.sstdb2createmethod, TBaseType.rrw_create,"method"," "," "," "," "," "); 2495 adddb2cmds(ESqlStatementType.sstdb2createnickname, TBaseType.rrw_create,"nickname"," "," "," "," "," "); 2496 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"or","replace","alias"," "," "," "); 2497 adddb2cmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 2498 adddb2cmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 2499 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"or","replace","public","alias"," "," "); 2500 adddb2cmds(ESqlStatementType.sstdb2createtrigger, TBaseType.rrw_create,"or","replace","trigger"," "," "," "); 2501 adddb2cmds(ESqlStatementType.sstdb2createvariable, TBaseType.rrw_create,"or","replace","variable"," "," "," "); 2502 adddb2cmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 2503 adddb2cmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 2504 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"public","alias"," "," "," "," "); 2505 adddb2cmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 2506 adddb2cmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 2507 adddb2cmds(ESqlStatementType.sstdb2createschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 2508 adddb2cmds(ESqlStatementType.sstdb2createsequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 2509 adddb2cmds(ESqlStatementType.sstdb2createserver, TBaseType.rrw_create,"server"," "," "," "," "," "); 2510 adddb2cmds(ESqlStatementType.sstdb2createstogroup, TBaseType.rrw_create,"stogroup"," "," "," "," "," "); 2511 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"summary","table"," "," "," "," "); 2512 adddb2cmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2513 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 2514 adddb2cmds(ESqlStatementType.sstcreateTablespace, TBaseType.rrw_create,"tablespace"," "," "," "," "," "); 2515 adddb2cmds(ESqlStatementType.sstdb2createtransform, TBaseType.rrw_create,"transform"," "," "," "," "," "); 2516 adddb2cmds(ESqlStatementType.sstdb2createtrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 2517 adddb2cmds(ESqlStatementType.sstdb2createtype, TBaseType.rrw_create,"type"," "," "," "," "," "); 2518 adddb2cmds(ESqlStatementType.sstdb2createtypemapping, TBaseType.rrw_create,"type", "mapping"," "," "," "," "); 2519 adddb2cmds(ESqlStatementType.sstdb2createusermapping, TBaseType.rrw_create,"user", "mapping"," "," "," "," "); 2520 adddb2cmds(ESqlStatementType.sstdb2createvariable, TBaseType.rrw_create,"variable"," "," "," "," "," "); 2521 adddb2cmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2522 adddb2cmds(ESqlStatementType.sstdb2createwrapper, TBaseType.rrw_create,"wrapper"," "," "," "," "," "); 2523 adddb2cmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"*","index"," "," "," "," "); 2524 adddb2cmds(ESqlStatementType.sstdb2declareglobaltemporarytable, TBaseType.rrw_declare, "global", "temporary", "table"," "," "," "); 2525 adddb2cmds(ESqlStatementType.sstdb2declarecursor, TBaseType.rrw_declare,"*","cursor"," "," "," "," "); 2526 adddb2cmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2527 adddb2cmds(ESqlStatementType.sstdb2describe, TBaseType.rrw_describe," "," "," "," "," "," "); 2528 adddb2cmds(ESqlStatementType.sstdb2disconnect, TBaseType.rrw_disconnect," "," "," "," "," "," "); 2529 adddb2cmds(ESqlStatementType.sstdb2drop, TBaseType.rrw_drop," "," "," "," "," "," "); 2530 adddb2cmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2531 adddb2cmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2532 adddb2cmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2533 adddb2cmds(ESqlStatementType.sstdb2enddeclaresection, TBaseType.rrw_end,"declare","section"," "," "," "," "); 2534 adddb2cmds(ESqlStatementType.sstdb2execute, TBaseType.rrw_execute," "," "," "," "," "," "); 2535 adddb2cmds(ESqlStatementType.sstdb2executeimmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 2536 adddb2cmds(ESqlStatementType.sstdb2explain, TBaseType.rrw_explain," "," "," "," "," "," "); 2537 adddb2cmds(ESqlStatementType.sstdb2fetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2538 adddb2cmds(ESqlStatementType.sstdb2flusheventmonitor, TBaseType.rrw_flush, "event", "monitor"," "," "," "," "); 2539 adddb2cmds(ESqlStatementType.sstdb2flushpackagecache, TBaseType.rrw_flush,"package", "cache"," "," "," "," "); 2540 adddb2cmds(ESqlStatementType.sstdb2for, TBaseType.rrw_for," "," "," "," "," "," "); 2541 adddb2cmds(ESqlStatementType.sstdb2freelocator, TBaseType.rrw_free,"locator"," "," "," "," "," "); 2542 adddb2cmds(ESqlStatementType.sstgetdiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 2543 adddb2cmds(ESqlStatementType.sstdb2goto, TBaseType.rrw_goto," "," "," "," "," "," "); 2544 adddb2cmds(ESqlStatementType.sstdb2grant, TBaseType.rrw_grant," "," "," "," "," "," "); 2545 adddb2cmds(ESqlStatementType.sstdb2if, TBaseType.rrw_if," "," "," "," "," "," "); 2546 adddb2cmds(ESqlStatementType.sstdb2include, TBaseType.rrw_include," "," "," "," "," "," "); 2547 adddb2cmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2548 adddb2cmds(ESqlStatementType.sstdb2iterate, TBaseType.rrw_iterate," "," "," "," "," "," "); 2549 adddb2cmds(ESqlStatementType.sstdb2labelOn, TBaseType.rrw_db2_label,"on"," "," "," "," "," "); 2550 adddb2cmds(ESqlStatementType.sstdb2leave, TBaseType.rrw_leave," "," "," "," "," "," "); 2551 adddb2cmds(ESqlStatementType.sstdb2locktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 2552 adddb2cmds(ESqlStatementType.sstdb2loop, TBaseType.rrw_loop," "," "," "," "," "," "); 2553 adddb2cmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2554 adddb2cmds(ESqlStatementType.sstdb2open, TBaseType.rrw_open," "," "," "," "," "," "); 2555 adddb2cmds(ESqlStatementType.sstdb2prepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 2556 adddb2cmds(ESqlStatementType.sstdb2refreshtable, TBaseType.rrw_refresh,"table"," "," "," "," "," "); 2557 adddb2cmds(ESqlStatementType.sstdb2release, TBaseType.rrw_release," "," "," "," "," "," "); 2558 adddb2cmds(ESqlStatementType.sstdb2releasesavepoint, TBaseType.rrw_release,"savepoint"," "," "," "," "," "); 2559 adddb2cmds(ESqlStatementType.sstdb2rename, TBaseType.rrw_rename," "," "," "," "," "," "); 2560 adddb2cmds(ESqlStatementType.sstdb2renametablespace, TBaseType.rrw_rename,"tablespace"," "," "," "," "," "); 2561 adddb2cmds(ESqlStatementType.sstdb2repeat, TBaseType.rrw_repeat," "," "," "," "," "," "); 2562 adddb2cmds(ESqlStatementType.sstdb2resignal, TBaseType.rrw_resignal," "," "," "," "," "," "); 2563 adddb2cmds(ESqlStatementType.sstdb2return, TBaseType.rrw_return," "," "," "," "," "," "); 2564 adddb2cmds(ESqlStatementType.sstdb2revoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2565 adddb2cmds(ESqlStatementType.sstdb2rollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2566 adddb2cmds(ESqlStatementType.sstRunStats, TBaseType.rrw_db2_runstats," "," "," "," "," "," "); 2567 adddb2cmds(ESqlStatementType.sstdb2savepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 2568 adddb2cmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2569 adddb2cmds(ESqlStatementType.sstdb2setconnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 2570 adddb2cmds(ESqlStatementType.sstdb2set, TBaseType.rrw_set," "," "," "," "," "," "); 2571 adddb2cmds(ESqlStatementType.sstdb2setconnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 2572 adddb2cmds(ESqlStatementType.sstdb2setcurrentdefaulttransformgroup, TBaseType.rrw_set,"current default transform group"," "," "," "," "," "); 2573 adddb2cmds(ESqlStatementType.sstdb2setcurrentdegree, TBaseType.rrw_set,"current", "degree"," "," "," "," "); 2574 adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainmode, TBaseType.rrw_set,"current", "explain", "mode"," "," "," "); 2575 adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainsnapshot, TBaseType.rrw_set,"current", "explain", "snapshot"," "," "," "); 2576 adddb2cmds(ESqlStatementType.sstdb2setcurrentisolation, TBaseType.rrw_set,"current", "isolation"," "," "," "," "); 2577 adddb2cmds(ESqlStatementType.sstdb2setcurrentlocktimeout, TBaseType.rrw_set,"current", "lock", "timeout"," "," "," "); 2578 adddb2cmds(ESqlStatementType.sstdb2setcurrentmaintainedtabletypesforoptimization, TBaseType.rrw_set,"current", "maintained", "table", "types"," "," "); 2579 adddb2cmds(ESqlStatementType.sstdb2setcurrentpackagepath, TBaseType.rrw_set,"current", "package", "path"," "," "," "); 2580 adddb2cmds(ESqlStatementType.sstdb2setcurrentpackageset, TBaseType.rrw_set,"current", "packageset"," "," "," "," "); 2581 adddb2cmds(ESqlStatementType.sstdb2setcurrentqueryoptimization, TBaseType.rrw_set,"current", "query", "optimization"," "," "," "); 2582 adddb2cmds(ESqlStatementType.sstdb2setcurrentrefreshage, TBaseType.rrw_set,"current", "refresh", "age"," "," "," "); 2583 adddb2cmds(ESqlStatementType.sstdb2setschema, TBaseType.rrw_set,"current","schema"," "," "," "," "); 2584 adddb2cmds(ESqlStatementType.sstdb2setencryptionpassword, TBaseType.rrw_set,"encryption", "password"," "," "," "," "); 2585 adddb2cmds(ESqlStatementType.sstdb2seteventmonitorstate, TBaseType.rrw_set,"event", "monitor", "state"," "," "," "); 2586 adddb2cmds(ESqlStatementType.sstdb2setintegrity, TBaseType.rrw_set,"integrity"," "," "," "," "," "); 2587 adddb2cmds(ESqlStatementType.sstdb2setpassthru, TBaseType.rrw_set,"passthru"," "," "," "," "," "); 2588 adddb2cmds(ESqlStatementType.sstdb2setpath, TBaseType.rrw_set,"path"," "," "," "," "," "); 2589 adddb2cmds(ESqlStatementType.sstdb2setschema, TBaseType.rrw_set,"schema"," "," "," "," "," "); 2590 adddb2cmds(ESqlStatementType.sstdb2setserveroption, TBaseType.rrw_set,"server", "option"," "," "," "," "); 2591 adddb2cmds(ESqlStatementType.sstdb2setsessionauthorization, TBaseType.rrw_set,"session", "authorization"," "," "," "," "); 2592 adddb2cmds(ESqlStatementType.sstdb2signal, TBaseType.rrw_signal," "," "," "," "," "," "); 2593 adddb2cmds(ESqlStatementType.sstdb2terminate, TBaseType.rrw_terminate," "," "," "," "," "," "); 2594//TRUNCATE TABLE 2595 adddb2cmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate," "," "," "," "," "," "); 2596 2597 adddb2cmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2598 adddb2cmds(ESqlStatementType.sstdb2updateCommand, TBaseType.rrw_update,"command"," "," "," "," "," "); 2599// AddDB2Cmds(sstDB2VALUES,rrw_VALUES); 2600// AddDB2Cmds(sstDB2WHENEVER,rrw_WHENEVER); 2601 adddb2cmds(ESqlStatementType.sstdb2while, TBaseType.rrw_while," "," "," "," "," "," "); 2602 2603} 2604 2605void initnetezzacmds(){ 2606 addnetezzacmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 2607 addnetezzacmds(ESqlStatementType.sstnetezzaAlterDatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 2608 addnetezzacmds(ESqlStatementType.sstnetezzaAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 2609 addnetezzacmds(ESqlStatementType.sstnetezzaAlterHistoryConfiguration, TBaseType.rrw_alter, "history", " ", " ", " ", " ", " "); 2610 addnetezzacmds(ESqlStatementType.sstnetezzaAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2611 addnetezzacmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 2612 addnetezzacmds(ESqlStatementType.sstAlterSynonym, TBaseType.rrw_alter, "synonym", " ", " ", " ", " ", " "); 2613 addnetezzacmds(ESqlStatementType.sstnetezzaAlterTable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 2614 addnetezzacmds(ESqlStatementType.sstnetezzaAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 2615 addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 2616 addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, TBaseType.rrw_alter, "views", " ", " ", " ", " ", " "); 2617 addnetezzacmds(ESqlStatementType.sstnetezzaBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 2618 addnetezzacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 2619 addnetezzacmds(ESqlStatementType.sstnetezzaComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 2620 addnetezzacmds(ESqlStatementType.sstnetezzaCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 2621 addnetezzacmds(ESqlStatementType.sstnetezzaCopy, TBaseType.rrw_netezza_copy, " ", " ", " ", " ", " ", " "); 2622 addnetezzacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 2623 addnetezzacmds(ESqlStatementType.sstnetezzaCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 2624 addnetezzacmds(ESqlStatementType.sstnetezzaCreateGruop, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 2625 addnetezzacmds(ESqlStatementType.sstnetezzaCreateHistoryConfiguration, TBaseType.rrw_create, "history", "configuration", " ", " ", " ", " "); 2626 addnetezzacmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 2627 addnetezzacmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "or", "replace", "materialized", "view", " ", " "); 2628 addnetezzacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 2629 addnetezzacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 2630 addnetezzacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 2631 addnetezzacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2632 addnetezzacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "synonym", " ", " ", " ", " ", " "); 2633 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 2634 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 2635 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 2636 addnetezzacmds(ESqlStatementType.sstnetezzaCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 2637 addnetezzacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 2638// addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "volatile", "table", " ", " ", " ", " "); 2639 addnetezzacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete , " ", " ", " ", " ", " ", " "); 2640 addnetezzacmds(ESqlStatementType.sstnetezzaDropConnection, TBaseType.rrw_drop, "connection", " ", " ", " ", " ", " "); 2641 addnetezzacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 2642 addnetezzacmds(ESqlStatementType.sstnetezzaDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 2643 addnetezzacmds(ESqlStatementType.sstnetezzaDropHistoryConfiguration, TBaseType.rrw_drop, "history", "configuration", " ", " ", " ", " "); 2644 addnetezzacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 2645 addnetezzacmds(ESqlStatementType.sstnetezzaDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 2646 addnetezzacmds(ESqlStatementType.sstnetezzaDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 2647 addnetezzacmds(ESqlStatementType.sstnetezzaDropSession, TBaseType.rrw_drop, "session", " ", " ", " ", " ", " "); 2648 addnetezzacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "synonym", " ", " ", " ", " ", " "); 2649 addnetezzacmds(ESqlStatementType.sstnetezzaDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 2650 addnetezzacmds(ESqlStatementType.sstnetezzaDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 2651 addnetezzacmds(ESqlStatementType.sstnetezzaDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 2652 addnetezzacmds(ESqlStatementType.sstexecutestmt, TBaseType.rrw_exec, " ", " ", " ", " ", " ", " "); 2653 addnetezzacmds(ESqlStatementType.sstexecutestmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 2654 addnetezzacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 2655 addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, TBaseType.rrw_netezza_generate, "express", "statistics", " ", " ", " ", " "); 2656 addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, TBaseType.rrw_netezza_generate, "statistics", " ", " ", " ", " ", " "); 2657 addnetezzacmds(ESqlStatementType.sstnetezzaGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 2658 addnetezzacmds(ESqlStatementType.sstnetezzaGroomTable, TBaseType.rrw_netezza_groom, "table", " ", " ", " ", " ", " "); 2659 addnetezzacmds(ESqlStatementType.sstlocktable, TBaseType.rrw_lock, "table", " ", " ", " ", " ", " "); 2660 addnetezzacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 2661 addnetezzacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 2662 addnetezzacmds(ESqlStatementType.sstnetezzaReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 2663 addnetezzacmds(ESqlStatementType.sstnetezzaRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 2664 addnetezzacmds(ESqlStatementType.sstnetezzaRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 2665 addnetezzacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 2666 addnetezzacmds(ESqlStatementType.sstnetezzaSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 2667 addnetezzacmds(ESqlStatementType.sstSetCatalog, TBaseType.rrw_set, "catalog", " ", " ", " ", " ", " "); 2668 addnetezzacmds(ESqlStatementType.sstSetSchema, TBaseType.rrw_set, "schema", " ", " ", " ", " ", " "); 2669 addnetezzacmds(ESqlStatementType.sstnetezzaShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 2670 addnetezzacmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 2671 addnetezzacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 2672} 2673 void initgaussdbcmds(){ 2674// cmd must be sorted alphabetically 2675 addgaussdbcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 2676 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 2677 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 2678 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 2679 addgaussdbcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 2680 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 2681 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 2682 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 2683 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 2684 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 2685 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 2686 2687 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 2688 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 2689 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 2690 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 2691 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 2692 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 2693 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 2694 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 2695 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 2696 addgaussdbcmds(ESqlStatementType.sstAlterPackage, TBaseType.rrw_alter, "package", " ", " ", " ", " ", " "); 2697 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterPolicy, TBaseType.rrw_alter, "policy", " ", " ", " ", " ", " "); 2698 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 2699 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterProcedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 2700 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterPublication, TBaseType.rrw_alter, "publication", " ", " ", " ", " ", " "); 2701 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 2702 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRoutine, TBaseType.rrw_alter, "routine", " ", " ", " ", " ", " "); 2703 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRule, TBaseType.rrw_alter, "rule", " ", " ", " ", " ", " "); 2704 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 2705 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2706 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 2707 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterStatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 2708 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSubscription, TBaseType.rrw_alter, "subscription", " ", " ", " ", " ", " "); 2709 addgaussdbcmds(ESqlStatementType.sstAlterSynonym, TBaseType.rrw_alter, "synonym", " ", " ", " ", " ", " "); 2710 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 2711 2712 addgaussdbcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 2713 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 2714 2715 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 2716 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 2717 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 2718 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 2719 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 2720 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 2721 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 2722 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 2723 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 2724 addgaussdbcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 2725 2726 // begin is recognized in isgaussdb() method. 2727 // addgaussdbcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 2728 2729 addgaussdbcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 2730 2731 addgaussdbcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 2732 addgaussdbcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 2733 2734 addgaussdbcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_postgresql_cluster, " ", " ", " ", " ", " ", " "); 2735 2736 addgaussdbcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 2737 2738 addgaussdbcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 2739 addgaussdbcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 2740 addgaussdbcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_postgresql_copy, " ", " ", " ", " ", " ", " "); 2741 2742 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAccessMethod, TBaseType.rrw_create, "access", "method", " ", " ", " ", " "); 2743 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 2744 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAssertion, TBaseType.rrw_create, "assertion", " ", " ", " ", " ", " "); 2745 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 2746 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 2747 2748 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 2749 2750 addgaussdbcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 2751 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 2752 addgaussdbcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "default", "conversion", " ", " ", " ", " "); 2753 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 2754 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 2755 addgaussdbcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 2756 2757 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 2758 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 2759 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 2760 2761 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "global", "index", " ", " ", " ", " "); 2762 2763 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 2764 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 2765 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 2766 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "global", "unique", "index", " ", " ", " "); 2767 2768 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 2769 2770 addgaussdbcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "incremental", "materialized", "view", " ", " ", " "); 2771 2772 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 2773 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 2774 2775 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 2776 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 2777 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 2778 2779 addgaussdbcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 2780 2781 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 2782 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 2783 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 2784 2785 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 2786 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 2787 2788 addgaussdbcmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","package"," "," "," "); 2789 addgaussdbcmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","package","body"," "," "); 2790 2791 2792 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "procedural", "language", " ", " "); 2793 addgaussdbcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 2794 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 2795 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "or", "replace", "rule ", " ", " ", " "); 2796 addgaussdbcmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"or","replace","synonym"," "," "," "); 2797 2798 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 2799 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 2800 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "or", "replace", "trigger", " ", " ", " "); 2801 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 2802 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "procedural", "language", " "); 2803 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 2804 2805 addgaussdbcmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"package"," "," "," "," "," "); 2806 addgaussdbcmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"package","body"," "," "," "," "); 2807 2808 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreatePolicy, TBaseType.rrw_create, "policy", " ", " ", " ", " ", " "); 2809 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "procedural", "language", " ", " ", " ", " "); 2810 addgaussdbcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 2811 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreatePublication, TBaseType.rrw_create, "publication", " ", " ", " ", " ", " "); 2812 2813 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 2814 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 2815 2816 2817 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 2818 2819 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2820 2821 2822 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 2823 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateStatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 2824 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSubscription, TBaseType.rrw_create, "subscription", " ", " ", " ", " ", " "); 2825 addgaussdbcmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2826 2827 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 2828 2829 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 2830 2831 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 2832 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 2833 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 2834 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 2835 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 2836 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 2837 2838 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 2839 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 2840 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 2841 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 2842 2843 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTransform, TBaseType.rrw_create, "transform", " ", " ", " ", " ", " "); 2844 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 2845 2846 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 2847 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "procedural", "language", " ", " ", " "); 2848 2849 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 2850 2851 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 2852 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "unlogged", "sequence", " ", " ", " ", " "); 2853 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlogged", "table", " ", " ", " ", " "); 2854 2855 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 2856 2857 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 2858 2859 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 2860 2861 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 2862 2863 2864 addgaussdbcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 2865 2866 addgaussdbcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 2867 2868 addgaussdbcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 2869 2870 addgaussdbcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_postgresql_discard, " ", " ", " ", " ", " ", " "); 2871 2872 addgaussdbcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 2873 2874 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAccessMethod, TBaseType.rrw_drop, "access", "method", " ", " ", " ", " "); 2875 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 2876 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAssertion, TBaseType.rrw_drop, "assertion", " ", " ", " ", " ", " "); 2877 2878 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 2879 2880 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 2881 2882 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 2883 2884 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 2885 2886 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 2887 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropEventTrigger, TBaseType.rrw_drop, "event", "trigger", " ", " ", " ", " "); 2888 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 2889 2890 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 2891 2892 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 2893 2894 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 2895 2896 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 2897 2898 addgaussdbcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 2899 2900 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 2901 2902 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 2903 2904 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 2905 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 2906 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 2907 2908 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 2909 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropPolicy, TBaseType.rrw_drop, "policy", " ", " ", " ", " ", " "); 2910 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 2911 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropProcedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 2912 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropPublication, TBaseType.rrw_drop, "publication", " ", " ", " ", " ", " "); 2913 2914 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 2915 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRoutine, TBaseType.rrw_drop, "routine", " ", " ", " ", " ", " "); 2916 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 2917 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 2918 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 2919 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 2920 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropStatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 2921 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSubscription, TBaseType.rrw_drop, "subscription", " ", " ", " ", " ", " "); 2922 addgaussdbcmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2923 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 2924 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 2925 2926 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 2927 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 2928 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 2929 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 2930 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTransform, TBaseType.rrw_drop, "transform", " ", " ", " ", " ", " "); 2931 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 2932 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 2933 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 2934 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 2935 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 2936 2937 addgaussdbcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 2938 2939 addgaussdbcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 2940 2941 addgaussdbcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 2942 2943 addgaussdbcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 2944 2945 addgaussdbcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 2946 addgaussdbcmds(ESqlStatementType.sstPostgresqlImport, TBaseType.rrw_postgresql_import, "foreign", "schema", " ", " ", " ", " "); 2947 addgaussdbcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 2948 2949 addgaussdbcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_postgresql_listen, " ", " ", " ", " ", " ", " "); 2950 2951 addgaussdbcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 2952 2953 addgaussdbcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 2954 addgaussdbcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2955 2956 addgaussdbcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 2957 2958 addgaussdbcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_postgresql_notify, " ", " ", " ", " ", " ", " "); 2959 2960 addgaussdbcmds(ESqlStatementType.sstPostgresqlBlock, TBaseType.rrw_plpgsql_function_delimiter, " ", " ", " ", " ", " ", " "); 2961 2962 2963 addgaussdbcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 2964 2965 addgaussdbcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 2966 2967 addgaussdbcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_postgresql_reassign, "owned", " ", " ", " ", " ", " "); 2968 2969 addgaussdbcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "incremental","materialized", "view", " ", " ", " "); 2970 addgaussdbcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 2971 2972 addgaussdbcmds(ESqlStatementType.sstReindex, TBaseType.rrw_postgresql_reindex, " ", " ", " ", " ", " ", " "); 2973 2974 addgaussdbcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 2975 addgaussdbcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 2976 2977 addgaussdbcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 2978 2979 addgaussdbcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 2980 2981 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 2982 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 2983 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollbackToSavepoint, TBaseType.rrw_rollback, "to", "savepoint", " ", " ", " ", " "); 2984 addgaussdbcmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 2985 2986 addgaussdbcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_postgresql_security, "label", " ", " ", " ", " ", " "); 2987 2988 2989 addgaussdbcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 2990 2991 addgaussdbcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 2992 2993 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 2994 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 2995 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 2996 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 2997 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSearchPath, TBaseType.rrw_set, "search_path", " ", " ", " ", " ", " "); 2998 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 2999 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 3000 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 3001 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 3002 3003 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 3004 addgaussdbcmds(ESqlStatementType.sstpostgresqlShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3005 addgaussdbcmds(ESqlStatementType.sstpostgresqlShowSearchPath, TBaseType.rrw_show, "search_path", " ", " ", " ", " ", " "); 3006 // addgaussdbcmds(ESqlStatementType.sstpostgresqlStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3007 addgaussdbcmds(ESqlStatementType.sstPostgresqlTable, TBaseType.rrw_table, " ", " ", " ", " ", " ", " "); 3008 addgaussdbcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3009 addgaussdbcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3010 3011 addgaussdbcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_postgresql_unlisten, " ", " ", " ", " ", " ", " "); 3012 3013 addgaussdbcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3014 addgaussdbcmds(ESqlStatementType.sstVacuum, TBaseType.rrw_postgresql_vacuum, " ", " ", " ", " ", " ", " "); 3015 addgaussdbcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 3016 3017 } 3018 3019 void initpostgresqlcmds(){ 3020// cmd must be sorted alphabetically 3021 addpostgresqlcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3022 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 3023 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 3024 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 3025 addpostgresqlcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3026 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 3027 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 3028 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 3029 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 3030 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 3031 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 3032 3033 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3034 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3035 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 3036 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 3037 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 3038 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 3039 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 3040 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 3041 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 3042 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterPolicy, TBaseType.rrw_alter, "policy", " ", " ", " ", " ", " "); 3043 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 3044 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterProcedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 3045 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterPublication, TBaseType.rrw_alter, "publication", " ", " ", " ", " ", " "); 3046 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3047 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRoutine, TBaseType.rrw_alter, "routine", " ", " ", " ", " ", " "); 3048 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRule, TBaseType.rrw_alter, "rule", " ", " ", " ", " ", " "); 3049 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3050 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3051 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 3052 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterStatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 3053 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSubscription, TBaseType.rrw_alter, "subscription", " ", " ", " ", " ", " "); 3054 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 3055 3056 addpostgresqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3057 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 3058 3059 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 3060 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 3061 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 3062 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 3063 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 3064 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 3065 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3066 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 3067 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3068 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3069 3070 addpostgresqlcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3071 3072 addpostgresqlcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3073 3074 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 3075 addpostgresqlcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3076 3077 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_postgresql_cluster, " ", " ", " ", " ", " ", " "); 3078 3079 addpostgresqlcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 3080 3081 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3082 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 3083 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_postgresql_copy, " ", " ", " ", " ", " ", " "); 3084 3085 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAccessMethod, TBaseType.rrw_create, "access", "method", " ", " ", " ", " "); 3086 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 3087 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAssertion, TBaseType.rrw_create, "assertion", " ", " ", " ", " ", " "); 3088 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 3089 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 3090 3091 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 3092 3093 addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 3094 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3095 addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "default", "conversion", " ", " ", " ", " "); 3096 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 3097 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 3098 addpostgresqlcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 3099 3100 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 3101 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 3102 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3103 3104 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3105 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3106 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 3107 3108 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3109 3110 3111 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 3112 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 3113 3114 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3115 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3116 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 3117 3118 addpostgresqlcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3119 3120 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 3121 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 3122 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 3123 3124 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3125 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 3126 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "procedural", "language", " ", " "); 3127 addpostgresqlcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 3128 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 3129 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "or", "replace", "rule ", " ", " ", " "); 3130 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3131 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3132 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "or", "replace", "trigger", " ", " ", " "); 3133 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 3134 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "procedural", "language", " "); 3135 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3136 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreatePolicy, TBaseType.rrw_create, "policy", " ", " ", " ", " ", " "); 3137 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "procedural", "language", " ", " ", " ", " "); 3138 addpostgresqlcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3139 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreatePublication, TBaseType.rrw_create, "publication", " ", " ", " ", " ", " "); 3140 3141 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "recursive", "view", " ", " ", " ", " "); 3142 3143 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3144 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 3145 3146 3147 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3148 3149 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3150 3151 3152 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 3153 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateStatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 3154 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSubscription, TBaseType.rrw_create, "subscription", " ", " ", " ", " ", " "); 3155 3156 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3157 3158 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 3159 3160 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 3161 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3162 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 3163 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 3164 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3165 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 3166 3167 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 3168 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 3169 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 3170 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 3171 3172 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTransform, TBaseType.rrw_create, "transform", " ", " ", " ", " ", " "); 3173 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 3174 3175 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 3176 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "procedural", "language", " ", " ", " "); 3177 3178 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 3179 3180 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 3181 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "unlogged", "sequence", " ", " ", " ", " "); 3182 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlogged", "table", " ", " ", " ", " "); 3183 3184 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3185 3186 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 3187 3188 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3189 3190 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 3191 3192 3193 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3194 3195 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3196 3197 addpostgresqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3198 3199 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_postgresql_discard, " ", " ", " ", " ", " ", " "); 3200 3201 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 3202 3203 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAccessMethod, TBaseType.rrw_drop, "access", "method", " ", " ", " ", " "); 3204 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 3205 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAssertion, TBaseType.rrw_drop, "assertion", " ", " ", " ", " ", " "); 3206 3207 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 3208 3209 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 3210 3211 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 3212 3213 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3214 3215 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 3216 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropEventTrigger, TBaseType.rrw_drop, "event", "trigger", " ", " ", " ", " "); 3217 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 3218 3219 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3220 3221 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 3222 3223 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 3224 3225 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3226 3227 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3228 3229 addpostgresqlcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 3230 3231 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 3232 3233 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3234 3235 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 3236 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 3237 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 3238 3239 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 3240 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropPolicy, TBaseType.rrw_drop, "policy", " ", " ", " ", " ", " "); 3241 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 3242 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropProcedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3243 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropPublication, TBaseType.rrw_drop, "publication", " ", " ", " ", " ", " "); 3244 3245 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3246 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRoutine, TBaseType.rrw_drop, "routine", " ", " ", " ", " ", " "); 3247 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 3248 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3249 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 3250 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 3251 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropStatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 3252 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSubscription, TBaseType.rrw_drop, "subscription", " ", " ", " ", " ", " "); 3253 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3254 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 3255 3256 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 3257 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 3258 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 3259 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 3260 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTransform, TBaseType.rrw_drop, "transform", " ", " ", " ", " ", " "); 3261 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 3262 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 3263 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3264 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 3265 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3266 3267 addpostgresqlcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3268 3269 addpostgresqlcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3270 3271 addpostgresqlcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3272 3273 addpostgresqlcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3274 3275 addpostgresqlcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3276 addpostgresqlcmds(ESqlStatementType.sstPostgresqlImport, TBaseType.rrw_postgresql_import, "foreign", "schema", " ", " ", " ", " "); 3277 addpostgresqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3278 3279 addpostgresqlcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_postgresql_listen, " ", " ", " ", " ", " ", " "); 3280 3281 addpostgresqlcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 3282 3283 addpostgresqlcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3284 3285 addpostgresqlcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3286 3287 addpostgresqlcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 3288 3289 addpostgresqlcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_postgresql_notify, " ", " ", " ", " ", " ", " "); 3290 3291 addpostgresqlcmds(ESqlStatementType.sstPostgresqlBlock, TBaseType.rrw_plpgsql_function_delimiter, " ", " ", " ", " ", " ", " "); 3292 3293 3294 addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3295 3296 addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 3297 3298 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_postgresql_reassign, "owned", " ", " ", " ", " ", " "); 3299 3300 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 3301 3302 addpostgresqlcmds(ESqlStatementType.sstReindex, TBaseType.rrw_postgresql_reindex, " ", " ", " ", " ", " ", " "); 3303 3304 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 3305 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 3306 3307 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3308 3309 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3310 3311 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3312 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 3313 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackToSavepoint, TBaseType.rrw_rollback, "to", "savepoint", " ", " ", " ", " "); 3314 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 3315 3316 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_postgresql_security, "label", " ", " ", " ", " ", " "); 3317 3318 3319 addpostgresqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3320 3321 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3322 3323 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 3324 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 3325 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 3326 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 3327 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSearchPath, TBaseType.rrw_set, "search_path", " ", " ", " ", " ", " "); 3328 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 3329 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 3330 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 3331 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 3332 3333 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 3334 addpostgresqlcmds(ESqlStatementType.sstpostgresqlShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3335 addpostgresqlcmds(ESqlStatementType.sstpostgresqlShowSearchPath, TBaseType.rrw_show, "search_path", " ", " ", " ", " ", " "); 3336 // addpostgresqlcmds(ESqlStatementType.sstpostgresqlStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3337 addpostgresqlcmds(ESqlStatementType.sstPostgresqlTable, TBaseType.rrw_table, " ", " ", " ", " ", " ", " "); 3338 addpostgresqlcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3339 addpostgresqlcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3340 3341 addpostgresqlcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_postgresql_unlisten, " ", " ", " ", " ", " ", " "); 3342 3343 addpostgresqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3344 addpostgresqlcmds(ESqlStatementType.sstVacuum, TBaseType.rrw_postgresql_vacuum, " ", " ", " ", " ", " ", " "); 3345 addpostgresqlcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 3346 3347 } 3348 3349 void initbigquerycmds() { 3350// cmd must be sorted alphabetically 3351 addbigquerycmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3352 addbigquerycmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3353 3354 addbigquerycmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3355 addbigquerycmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "transaction", " ", " ", " ", " ", " "); 3356 3357 addbigquerycmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3358 addbigquerycmds(ESqlStatementType.sst_casestmt, TBaseType.rrw_case, " ", " ", " ", " ", " ", " "); 3359 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3360 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3361 addbigquerycmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3362 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "external", "table", " ", " "); 3363 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temporary", "table", " ", " "); 3364 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3365 addbigquerycmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "or", "replace", "materialized", "view", " ", " "); 3366 addbigquerycmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 3367 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "table", " ", " ", " "); 3368 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "table", "function", " ", " "); 3369 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "temp", "function", " ", " "); 3370 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temp", "table", " ", " "); 3371 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "temporary", "function", " ", " "); 3372 addbigquerycmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3373 addbigquerycmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3374 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3375 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "table", "function", " ", " ", " ", " "); 3376 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temp", "function", " ", " ", " ", " "); 3377 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3378 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary", "function", " ", " ", " ", " "); 3379 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3380 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "snapshot", "table", " ", " ", " ", " "); 3381 addbigquerycmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3382 addbigquerycmds(ESqlStatementType.sstBigQueryDeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 3383 addbigquerycmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3384 addbigquerycmds(ESqlStatementType.sstDropRowAccessPolicy, TBaseType.rrw_drop, "all","row", "access", "policies", " ", " "); 3385 addbigquerycmds(ESqlStatementType.sstDropAssignment, TBaseType.rrw_drop, "assignment", " ", " ", " ", " ", " "); 3386 addbigquerycmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3387 addbigquerycmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3388 addbigquerycmds(ESqlStatementType.sstDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3389 addbigquerycmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3390 addbigquerycmds(ESqlStatementType.sstDropReservation, TBaseType.rrw_drop, "reservation", " ", " ", " ", " ", " "); 3391 addbigquerycmds(ESqlStatementType.sstDropRowAccessPolicy, TBaseType.rrw_drop, "row", "access", "policy", " ", " ", " "); 3392 addbigquerycmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3393 addbigquerycmds(ESqlStatementType.sstDropTableFunction, TBaseType.rrw_drop, "table", "function", " ", " ", " ", " "); 3394 addbigquerycmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3395 addbigquerycmds(ESqlStatementType.sstDropSnapshotTable, TBaseType.rrw_drop, "snapshot", "table", " ", " ", " ", " "); 3396 addbigquerycmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3397 3398 addbigquerycmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, "immediate"," "," "," "," "," "); 3399 3400 addbigquerycmds(ESqlStatementType.sstBigQueryExportData, TBaseType.rrw_bigquery_export, "data", " ", " ", " ", " ", " "); 3401 addbigquerycmds(ESqlStatementType.sstForStmt, TBaseType.rrw_for, " ", " ", " ", " ", " ", " "); 3402 addbigquerycmds(ESqlStatementType.sst_ifstmt, TBaseType.rrw_if, " ", " ", " ", " ", " ", " "); 3403 addbigquerycmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3404 addbigquerycmds(ESqlStatementType.sst_loopstmt, TBaseType.rrw_loop, " ", " ", " ", " ", " ", " "); 3405 addbigquerycmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 3406 addbigquerycmds(ESqlStatementType.sstRepeat, TBaseType.rrw_repeat, " ", " ", " ", " ", " ", " "); 3407 addbigquerycmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3408 addbigquerycmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3409 addbigquerycmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3410 addbigquerycmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3411 addbigquerycmds(ESqlStatementType.sstWhilestmt, TBaseType.rrw_while, " ", " ", " ", " ", " ", " "); 3412 } 3413 3414void initsnowflakecmds(){ 3415// cmd must be sorted alphabetically 3416 addsnowflakecmds(ESqlStatementType.sstAlterAccount, TBaseType.rrw_alter, "account", " ", " ", " ", " ", " "); 3417 addsnowflakecmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3418 addsnowflakecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "external", "table", " ", " ", " ", " "); 3419 addsnowflakecmds(ESqlStatementType.sstAlterFileFormat, TBaseType.rrw_alter, "file", "format", " ", " ", " ", " "); 3420 addsnowflakecmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3421 addsnowflakecmds(ESqlStatementType.sstAlterMaterializedView, TBaseType.rrw_alter,"materialized","view"," "," "," "," "); 3422 addsnowflakecmds(ESqlStatementType.sstAlterNetworkPolicy, TBaseType.rrw_alter, "network", "policy", " ", " ", " ", " "); 3423 addsnowflakecmds(ESqlStatementType.sstAlterPipe, TBaseType.rrw_alter, "pipe", " ", " ", " ", " ", " "); 3424 addsnowflakecmds(ESqlStatementType.sstAlterResourceMonitor, TBaseType.rrw_alter, "resource", "monitor", " ", " ", " ", " "); 3425 addsnowflakecmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3426 addsnowflakecmds(ESqlStatementType.sstAlterTask, TBaseType.rrw_alter, "task", " ", " ", " ", " ", " "); 3427 addsnowflakecmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3428 addsnowflakecmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 3429 addsnowflakecmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3430 addsnowflakecmds(ESqlStatementType.sstAlterShare, TBaseType.rrw_alter, "share", " ", " ", " ", " ", " "); 3431 addsnowflakecmds(ESqlStatementType.sstAlterStage, TBaseType.rrw_alter, "stage", " ", " ", " ", " ", " "); 3432 addsnowflakecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3433 addsnowflakecmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3434 addsnowflakecmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3435 addsnowflakecmds(ESqlStatementType.sstAlterWarehouse, TBaseType.rrw_alter, "warehouse", " ", " ", " ", " ", " "); 3436 3437 addsnowflakecmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3438 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_snowflake_begin_transaction, " ", " ", " ", " ", " ", " "); 3439 3440 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "work", " ", " ", " ", " ", " "); 3441 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "transaction", " ", " ", " ", " ", " "); 3442 3443 addsnowflakecmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3444 addsnowflakecmds(ESqlStatementType.sstcomment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 3445 3446 addsnowflakecmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3447 addsnowflakecmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_snowflake_copy, "into", " ", " ", " ", " ", " "); 3448 3449 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3450 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "dynamic", "table", " ", " ", " ", " "); 3451 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3452 addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create, "file", "format", " ", " ", " ", " "); 3453 addsnowflakecmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3454 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "table", " ", " ", " ", " "); 3455 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3456 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3457 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "hybrid", "table", " ", " ", " ", " "); 3458 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "table", " ", " ", " ", " "); 3459 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3460 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3461 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 3462 addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, TBaseType.rrw_create, "network", "policy", " ", " ", " ", " "); 3463 addsnowflakecmds(ESqlStatementType.sstCreatePipe, TBaseType.rrw_create, "or", "replace", "pipe", " ", " ", " "); 3464 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "external", "table", " ", " "); 3465 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "or", "replace", "database", " ", " ", " "); 3466 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "dynamic", "table", " ", " "); 3467 addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create, "or", "replace", "file", "format", " ", " "); 3468 addsnowflakecmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3469 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "force", "view", " ", " "); 3470 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "global","temporary", "table", " "); 3471 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "hybrid", "table", " ", " "); 3472 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "local","temporary", "table", " "); 3473 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","materialized","view"," "," "); 3474 addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, TBaseType.rrw_create, "or", "replace", "network", "policy", " ", " "); 3475 addsnowflakecmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"or", "replace", "procedure", " ", " ", " "); 3476 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "recursive", "view", " ", " "); 3477 3478 addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, TBaseType.rrw_create, "or", "replace","resource", "monitor", " ", " "); 3479 addsnowflakecmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "or", "replace","role", " ", " ", " "); 3480 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "or", "replace","schema", " ", " ", " "); 3481 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","secure","materialized","view"," "); 3482 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "secure", "view", " ", " "); 3483 addsnowflakecmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "or", "replace","sequence", " ", " ", " "); 3484 addsnowflakecmds(ESqlStatementType.sstCreateShare, TBaseType.rrw_create, "or", "replace","share", " ", " ", " "); 3485 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "or", "replace","stage", " ", " ", " "); 3486 addsnowflakecmds(ESqlStatementType.sstCreateStream, TBaseType.rrw_create, "or", "replace","stream", " ", " ", " "); 3487 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "table", " ", " ", " "); 3488 addsnowflakecmds(ESqlStatementType.sstCreateTask, TBaseType.rrw_create, "or", "replace", "task", " ", " ", " "); 3489 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temp", "table", " ", " "); 3490 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3491 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "or", "replace","temporary", "stage", " ", " "); 3492 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temporary", "table", " ", " "); 3493 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3494 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "or", "replace", "transient", "database", " ", " "); 3495 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "or", "replace", "transient", "schema", " ", " "); 3496 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "transient", "table", " ", " "); 3497 addsnowflakecmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "or", "replace","user", " ", " ", " "); 3498 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3499 addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, TBaseType.rrw_create, "or", "replace", "warehouse", " ", " ", " "); 3500 addsnowflakecmds(ESqlStatementType.sstCreatePipe, TBaseType.rrw_create, "pipe", " ", " ", " ", " ", " "); 3501 addsnowflakecmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3502 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "recursive", "view", " ", " ", " ", " "); 3503 addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, TBaseType.rrw_create, "resource", "monitor", " ", " ", " ", " "); 3504 addsnowflakecmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3505 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3506 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"secure","materialized","view"," "," "," "); 3507 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "secure", "view", " ", " ", " ", " "); 3508 addsnowflakecmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3509 addsnowflakecmds(ESqlStatementType.sstCreateShare, TBaseType.rrw_create, "share", " ", " ", " ", " ", " "); 3510 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "stage", " ", " ", " ", " ", " "); 3511 addsnowflakecmds(ESqlStatementType.sstCreateStream, TBaseType.rrw_create, "stream", " ", " ", " ", " ", " "); 3512 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3513 addsnowflakecmds(ESqlStatementType.sstCreateTask, TBaseType.rrw_create, "task", " ", " ", " ", " ", " "); 3514 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3515 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create,"temporary", "stage", " ", " ", " ", " "); 3516 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3517 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "transient", "database", " ", " ", " ", " "); 3518 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transient", "dynamic", "table", " ", " ", " "); 3519 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "transient","schema", " ", " ", " ", " "); 3520 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transient", "table", " ", " "," "," "); 3521 addsnowflakecmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3522 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3523 addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, TBaseType.rrw_create, "warehouse", " ", " ", " ", " ", " "); 3524 3525 addsnowflakecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3526 3527 addsnowflakecmds(ESqlStatementType.sstDescFileFormat, TBaseType.rrw_snowflake_desc, "file", "format", " ", " ", " ", " "); 3528 addsnowflakecmds(ESqlStatementType.sstDescFunction, TBaseType.rrw_snowflake_desc, "function", " ", " ", " ", " ", " "); 3529 addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, TBaseType.rrw_snowflake_desc, "network", "policy", " ", " ", " ", " "); 3530 addsnowflakecmds(ESqlStatementType.sstDescPipe, TBaseType.rrw_snowflake_desc, "pipe", " ", " ", " ", " ", " "); 3531 addsnowflakecmds(ESqlStatementType.sstDescResult, TBaseType.rrw_snowflake_desc, "result", " ", " ", " ", " ", " "); 3532 addsnowflakecmds(ESqlStatementType.sstDescShare, TBaseType.rrw_snowflake_desc, "share", " ", " ", " ", " ", " "); 3533 addsnowflakecmds(ESqlStatementType.sstDescStage, TBaseType.rrw_snowflake_desc, "stage", " ", " ", " ", " ", " "); 3534 addsnowflakecmds(ESqlStatementType.sstDescStorage, TBaseType.rrw_snowflake_desc, "storage", " ", " ", " ", " ", " "); 3535 addsnowflakecmds(ESqlStatementType.sstDescTable, TBaseType.rrw_snowflake_desc, "table", " ", " ", " ", " ", " "); 3536 addsnowflakecmds(ESqlStatementType.sstDescUser, TBaseType.rrw_snowflake_desc, "user", " ", " ", " ", " ", " "); 3537 addsnowflakecmds(ESqlStatementType.sstDescView, TBaseType.rrw_snowflake_desc, "view", " ", " ", " ", " ", " "); 3538 3539 addsnowflakecmds(ESqlStatementType.sstDescFileFormat, TBaseType.rrw_describe, "file", "format", " ", " ", " ", " "); 3540 addsnowflakecmds(ESqlStatementType.sstDescFunction, TBaseType.rrw_describe, "function", " ", " ", " ", " ", " "); 3541 addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, TBaseType.rrw_describe, "network", "policy", " ", " ", " ", " "); 3542 addsnowflakecmds(ESqlStatementType.sstDescPipe, TBaseType.rrw_describe, "pipe", " ", " ", " ", " ", " "); 3543 addsnowflakecmds(ESqlStatementType.sstDescResult, TBaseType.rrw_describe, "result", " ", " ", " ", " ", " "); 3544 addsnowflakecmds(ESqlStatementType.sstDescShare, TBaseType.rrw_describe, "share", " ", " ", " ", " ", " "); 3545 addsnowflakecmds(ESqlStatementType.sstDescStage, TBaseType.rrw_describe, "stage", " ", " ", " ", " ", " "); 3546 addsnowflakecmds(ESqlStatementType.sstDescStorage, TBaseType.rrw_describe, "storage", " ", " ", " ", " ", " "); 3547 addsnowflakecmds(ESqlStatementType.sstDescTable, TBaseType.rrw_describe, "table", " ", " ", " ", " ", " "); 3548 addsnowflakecmds(ESqlStatementType.sstDescUser, TBaseType.rrw_describe, "user", " ", " ", " ", " ", " "); 3549 addsnowflakecmds(ESqlStatementType.sstDescView, TBaseType.rrw_describe, "view", " ", " ", " ", " ", " "); 3550 3551 addsnowflakecmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3552 addsnowflakecmds(ESqlStatementType.sstDropFileFormat, TBaseType.rrw_drop, "file", "format", " ", " ", " ", " "); 3553 addsnowflakecmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3554 addsnowflakecmds(ESqlStatementType.sstDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3555 addsnowflakecmds(ESqlStatementType.sstDropNetworkPolicy, TBaseType.rrw_drop, "network", "policy", " ", " ", " ", " "); 3556 addsnowflakecmds(ESqlStatementType.sstDropPipe, TBaseType.rrw_drop, "pipe", " ", " ", " ", " ", " "); 3557 addsnowflakecmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3558 addsnowflakecmds(ESqlStatementType.sstDropResourceMonitor, TBaseType.rrw_drop, "resource", "monitor", " ", " ", " ", " "); 3559 addsnowflakecmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3560 addsnowflakecmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3561 addsnowflakecmds(ESqlStatementType.sstDropShare, TBaseType.rrw_drop, "share", " ", " ", " ", " ", " "); 3562 addsnowflakecmds(ESqlStatementType.sstDropStage, TBaseType.rrw_drop, "stage", " ", " ", " ", " ", " "); 3563 addsnowflakecmds(ESqlStatementType.sstDropStream, TBaseType.rrw_drop, "stream", " ", " ", " ", " ", " "); 3564 addsnowflakecmds(ESqlStatementType.sstDropStreamlit, TBaseType.rrw_drop, "streamlit", " ", " ", " ", " ", " "); 3565 addsnowflakecmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3566 3567 addsnowflakecmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3568 addsnowflakecmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3569 addsnowflakecmds(ESqlStatementType.sstDropWarehouse, TBaseType.rrw_drop, "warehouse", " ", " ", " ", " ", " "); 3570 3571 addsnowflakecmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, "immediate"," "," "," "," "," "); 3572 3573 addsnowflakecmds(ESqlStatementType.sstGet, TBaseType.rrw_get, " ", " ", " ", " ", " ", " "); 3574 3575 addsnowflakecmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3576 3577 addsnowflakecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3578 3579 addsnowflakecmds(ESqlStatementType.sstList, TBaseType.rrw_snowflake_list, " ", " ", " ", " ", " ", " "); 3580 addsnowflakecmds(ESqlStatementType.sstList, TBaseType.rrw_snowflake_ls, " ", " ", " ", " ", " ", " "); 3581 3582 addsnowflakecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 3583 3584 addsnowflakecmds(ESqlStatementType.sstSnowflakePseudoExprStmt, TBaseType.rrw_snowflake_pseudo_stmt_sign, " ", " ", " ", " ", " ", " "); 3585 addsnowflakecmds(ESqlStatementType.sstPut, TBaseType.rrw_snowflake_put, " ", " ", " ", " ", " ", " "); 3586 3587 addsnowflakecmds(ESqlStatementType.sstRemove, TBaseType.rrw_snowflake_remove, " ", " ", " ", " ", " ", " "); 3588 3589 addsnowflakecmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3590 addsnowflakecmds(ESqlStatementType.sstRemove, TBaseType.rrw_snowflake_rm, " ", " ", " ", " ", " ", " "); 3591 addsnowflakecmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3592 3593 3594 addsnowflakecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3595 3596 addsnowflakecmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3597 3598 addsnowflakecmds(ESqlStatementType.sstShowColumns, TBaseType.rrw_show, "columns", " ", " ", " ", " ", " "); 3599 addsnowflakecmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "databases", " ", " ", " ", " ", " "); 3600 addsnowflakecmds(ESqlStatementType.sstShowFileFormats, TBaseType.rrw_show, "file", "formats", " ", " ", " ", " "); 3601 addsnowflakecmds(ESqlStatementType.sstShowFunctions, TBaseType.rrw_show, "functions", " ", " ", " ", " ", " "); 3602 addsnowflakecmds(ESqlStatementType.sstShowGrants, TBaseType.rrw_show, "grants", " ", " ", " ", " ", " "); 3603 addsnowflakecmds(ESqlStatementType.sstShowLocks, TBaseType.rrw_show, "locks", " ", " ", " ", " ", " "); 3604 addsnowflakecmds(ESqlStatementType.sstShowNetworkPolicies, TBaseType.rrw_show, "network", "policies", " ", " ", " ", " "); 3605 addsnowflakecmds(ESqlStatementType.sstShowObjects, TBaseType.rrw_show, "objects", " ", " ", " ", " ", " "); 3606 addsnowflakecmds(ESqlStatementType.sstShowParameters, TBaseType.rrw_show, "parameters", " ", " ", " ", " ", " "); 3607 addsnowflakecmds(ESqlStatementType.sstShowPipes, TBaseType.rrw_show, "pipes", " ", " ", " ", " ", " "); 3608 addsnowflakecmds(ESqlStatementType.sstShowProcedures, TBaseType.rrw_show, "procedures", " ", " ", " ", " ", " "); 3609 addsnowflakecmds(ESqlStatementType.sstShowResourceMonitors, TBaseType.rrw_show, "resource", "monitors", " ", " ", " ", " "); 3610 addsnowflakecmds(ESqlStatementType.sstShowRoles, TBaseType.rrw_show, "roles", " ", " ", " ", " ", " "); 3611 addsnowflakecmds(ESqlStatementType.sstShowSchemas, TBaseType.rrw_show, "schemas", " ", " ", " ", " ", " "); 3612 addsnowflakecmds(ESqlStatementType.sstShowSequences, TBaseType.rrw_show, "sequences", " ", " ", " ", " ", " "); 3613 addsnowflakecmds(ESqlStatementType.sstShowShares, TBaseType.rrw_show, "shares", " ", " ", " ", " ", " "); 3614 addsnowflakecmds(ESqlStatementType.sstShowStages, TBaseType.rrw_show, "stages", " ", " ", " ", " ", " "); 3615 addsnowflakecmds(ESqlStatementType.sstShowStreams, TBaseType.rrw_show, "streams", " ", " ", " ", " ", " "); 3616 addsnowflakecmds(ESqlStatementType.sstShowTables, TBaseType.rrw_show, "tables", " ", " ", " ", " ", " "); 3617 addsnowflakecmds(ESqlStatementType.sstShowTasks, TBaseType.rrw_show, "tasks", " ", " ", " ", " ", " "); 3618 addsnowflakecmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "terse", "databases", " ", " ", " ", " "); 3619 addsnowflakecmds(ESqlStatementType.sstShowStreams, TBaseType.rrw_show, "terse", "streams", " ", " ", " ", " "); 3620 addsnowflakecmds(ESqlStatementType.sstShowTasks, TBaseType.rrw_show, "terse", "tasks", " ", " ", " ", " "); 3621 addsnowflakecmds(ESqlStatementType.sstShowTransactions, TBaseType.rrw_show, "transactions", " ", " ", " ", " ", " "); 3622 addsnowflakecmds(ESqlStatementType.sstShowUserFunctions, TBaseType.rrw_show, "user", "functions", " ", " ", " ", " "); 3623 addsnowflakecmds(ESqlStatementType.sstShowUsers, TBaseType.rrw_show, "users", " ", " ", " ", " ", " "); 3624 addsnowflakecmds(ESqlStatementType.sstShowVariables, TBaseType.rrw_show, "variables", " ", " ", " ", " ", " "); 3625 addsnowflakecmds(ESqlStatementType.sstShowViews, TBaseType.rrw_show, "views", " ", " ", " ", " ", " "); 3626 addsnowflakecmds(ESqlStatementType.sstShowWarehouses, TBaseType.rrw_show, "warehouses", " ", " ", " ", " ", " "); 3627 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3628 addsnowflakecmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3629 3630 addsnowflakecmds(ESqlStatementType.sstUndropDatabase, TBaseType.rrw_snowflake_undrop, "database", " ", " ", " ", " ", " "); 3631 addsnowflakecmds(ESqlStatementType.sstUndropSchema, TBaseType.rrw_snowflake_undrop, "schema", " ", " ", " ", " ", " "); 3632 addsnowflakecmds(ESqlStatementType.sstUndropTable, TBaseType.rrw_snowflake_undrop, "table", " ", " ", " ", " ", " "); 3633 3634 addsnowflakecmds(ESqlStatementType.sstunset, TBaseType.rrw_snowflake_unset, " ", " ", " ", " ", " ", " "); 3635 addsnowflakecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3636 addsnowflakecmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " ", " ", " ", " ", " ", " "); 3637 addsnowflakecmds(ESqlStatementType.sstUseSecondaryRoles, TBaseType.rrw_use, "secondary", "roles", " ", " ", " ", " "); 3638} 3639 3640void initredshiftcmds() { 3641// cmd must be sorted alphabetically 3642 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3643 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, "transaction", " ", " ", " ", " ", " "); 3644 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, "work", " ", " ", " ", " ", " "); 3645 addredshiftcmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3646 addredshiftcmds(ESqlStatementType.sstredshiftAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3647 addredshiftcmds(ESqlStatementType.sstredshiftAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3648 addredshiftcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3649 addredshiftcmds(ESqlStatementType.sstredshiftAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3650 addredshiftcmds(ESqlStatementType.sstredshiftAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3651 addredshiftcmds(ESqlStatementType.sstredshiftAnalyzeCompression, TBaseType.rrw_analyze, "Compression", " ", " ", " ", " ", " "); 3652 addredshiftcmds(ESqlStatementType.sstredshiftBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3653 addredshiftcmds(ESqlStatementType.sstredshiftCancel, TBaseType.rrw_redshift_cancel, " ", " ", " ", " ", " ", " "); 3654 addredshiftcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3655 3656 addredshiftcmds(ESqlStatementType.sstredshiftClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3657 addredshiftcmds(ESqlStatementType.sstredshiftComment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 3658 addredshiftcmds(ESqlStatementType.sstredshiftCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3659 addredshiftcmds(ESqlStatementType.sstredshiftCopy, TBaseType.rrw_redshift_copy, " ", " ", " ", " ", " ", " "); 3660 addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, TBaseType.rrw_create, "external", "schema", " ", " ", " ", " "); 3661 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3662 addredshiftcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3663 addredshiftcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3664 addredshiftcmds(ESqlStatementType.sstredshiftCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3665 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "table", " ", " ", " ", " "); 3666 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local","temp", "table", " ", " ", " "); 3667 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local","temporary", "table", " ", " ", " "); 3668 addredshiftcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 3669 addredshiftcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace","function", " ", " ", " "); 3670 addredshiftcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","materialized","view"," "," "); 3671 addredshiftcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace","procedure", " ", " ", " "); 3672 addredshiftcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3673 addredshiftcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3674 addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3675 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3676 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3677 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3678 addredshiftcmds(ESqlStatementType.sstredshiftCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3679 addredshiftcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3680 addredshiftcmds(ESqlStatementType.sstredshiftDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3681 addredshiftcmds(ESqlStatementType.sstredshiftDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3682 addredshiftcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3683 addredshiftcmds(ESqlStatementType.sstredshiftDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3684 addredshiftcmds(ESqlStatementType.sstredshiftDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3685 addredshiftcmds(ESqlStatementType.sstredshiftDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3686 addredshiftcmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3687 addredshiftcmds(ESqlStatementType.sstredshiftDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3688 addredshiftcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3689 addredshiftcmds(ESqlStatementType.sstredshiftEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3690 addredshiftcmds(ESqlStatementType.sstExecutePreparedStmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3691 addredshiftcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3692 addredshiftcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3693 addredshiftcmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3694 addredshiftcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, "into", " ", " ", " ", " ", " "); 3695 addredshiftcmds(ESqlStatementType.sstredshiftLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3696 addredshiftcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3697 3698 addredshiftcmds(ESqlStatementType.sstredshiftPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3699 addredshiftcmds(ESqlStatementType.sstredshiftReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3700 addredshiftcmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3701 addredshiftcmds(ESqlStatementType.sstredshiftRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3702 addredshiftcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3703 addredshiftcmds(ESqlStatementType.sstredshiftSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3704 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, TBaseType.rrw_set, "Authorization", " ", " ", " ", " ", " "); 3705 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionCharacteristics, TBaseType.rrw_set, "Characteristics", " ", " ", " ", " ", " "); 3706 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, TBaseType.rrw_set, "local", "Authorization", " ", " ", " ", " "); 3707 addredshiftcmds(ESqlStatementType.sstredshiftShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3708 addredshiftcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "Transaction", " ", " ", " ", " ", " "); 3709 addredshiftcmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3710 addredshiftcmds(ESqlStatementType.sstredshiftUnload, TBaseType.rrw_redshift_unload, " ", " ", " ", " ", " ", " "); 3711 addredshiftcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3712 addredshiftcmds(ESqlStatementType.sstredshiftVacuum, TBaseType.rrw_redshift_vacuum, " ", " ", " ", " ", " ", " "); 3713} 3714 3715void initgreenplumcmds(){ 3716// cmd must be sorted alphabetically 3717 addgreenplumcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3718 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 3719 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 3720 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 3721 addgreenplumcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3722 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 3723 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 3724 3725 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterExternalTable, TBaseType.rrw_alter, "external", "table", " ", " ", " ", " "); 3726 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterFilespace, TBaseType.rrw_alter, "filespace", " ", " ", " ", " ", " "); 3727 3728// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 3729// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 3730// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 3731// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 3732 3733 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3734 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3735 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 3736 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 3737// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 3738 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 3739 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 3740 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 3741 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 3742 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 3743 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterProtocol, TBaseType.rrw_alter, "protocol", " ", " ", " ", " ", " "); 3744 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterResourceQueue, TBaseType.rrw_alter, "resource", "queue", " ", " ", " ", " "); 3745 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3746 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3747 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3748 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 3749 addgreenplumcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3750 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 3751 3752// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 3753// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 3754// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 3755// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 3756 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 3757 3758 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 3759 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3760// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 3761// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3762 addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_greenplum_analyse, " ", " ", " ", " ", " ", " "); 3763 addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3764 3765 addgreenplumcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3766 addgreenplumcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3767 3768 addgreenplumcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 3769 addgreenplumcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3770 3771 addgreenplumcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_greenplum_cluster, " ", " ", " ", " ", " ", " "); 3772 3773 addgreenplumcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 3774 3775 addgreenplumcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3776 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 3777 addgreenplumcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_greenplum_copy, " ", " ", " ", " ", " ", " "); 3778 3779 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 3780 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 3781 3782 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 3783 3784 addgreenplumcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 3785 3786 addgreenplumcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 3787 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3788 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 3789 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 3790 addgreenplumcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 3791 3792// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 3793// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 3794 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3795 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "temp", "table", " ", " ", " "); 3796 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "temporary", "table", " ", " ", " "); 3797 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "table", " ", " ", " "); 3798 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "temp", "table", " ", " "); 3799 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "temporary", "table", " ", " "); 3800 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateFilespace, TBaseType.rrw_create, "filespace", " ", " ", " ", " ", " "); 3801 3802 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3803 3804 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3805 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3806 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 3807 3808 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3809 3810 3811 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 3812 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 3813 3814 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3815 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3816 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 3817 3818 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateMaterializedView, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3819 3820 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 3821// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 3822// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 3823 3824 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "table", " ", " ", " "); 3825 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "temp", "table", " ", " "); 3826 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "temporary", "table", " ", " "); 3827 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "table", " ", " "); 3828 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "temp", "table", " "); 3829 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "temporary", "table", " "); 3830 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "table", " ", " ", " "); 3831 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "temp", "table", " ", " "); 3832 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "temporary", "table", " ", " "); 3833 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "table", " ", " "); 3834 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "temp", "table", " "); 3835 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "temporary", "table", " "); 3836 3837 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateResourceQueue, TBaseType.rrw_create, "resource", "queue", " ", " ", " ", " "); 3838 3839 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3840 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 3841 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 3842 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3843 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3844 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 3845 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3846 3847 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3848 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 3849 3850 3851 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3852 3853 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3854 3855 3856 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 3857 3858 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3859 3860 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 3861 3862 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 3863 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3864 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 3865 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 3866 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3867 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 3868 3869// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 3870// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 3871// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 3872// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 3873 3874 addgreenplumcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 3875 3876 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 3877 3878 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 3879 3880 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 3881 3882 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3883 3884// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 3885 3886 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3887 3888 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 3889 3890 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "table", " ", " ", " "); 3891 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "web", "table", " ", " "); 3892 3893 addgreenplumcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3894 3895 addgreenplumcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3896 3897 addgreenplumcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3898 3899// addgreenplumcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_discard, " ", " ", " ", " ", " ", " "); 3900 addgreenplumcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 3901 3902 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 3903 3904 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 3905 3906// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 3907 3908 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 3909 3910 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3911 3912 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 3913 3914 addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3915 3916 addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, TBaseType.rrw_drop, "external", "web", "table", " ", " ", " "); 3917 3918 addgreenplumcmds(ESqlStatementType.sstgreenplumDropFilespace, TBaseType.rrw_drop, "filespace", " ", " ", " ", " ", " "); 3919 3920// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 3921// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 3922// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 3923 3924 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3925 3926 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3927 3928 addgreenplumcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 3929 3930 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 3931 3932 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3933 3934 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 3935// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 3936// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 3937 3938 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 3939 3940 3941 addgreenplumcmds(ESqlStatementType.sstgreenplumDropResourceQueue, TBaseType.rrw_drop, "resource", "queue", " ", " ", " ", " "); 3942 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 3943 3944 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3945 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 3946 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3947 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 3948 //addgreenplumcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 3949 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3950 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 3951 3952// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 3953// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 3954// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 3955// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 3956 3957 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 3958 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 3959 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3960 //addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 3961 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3962 3963 addgreenplumcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3964 3965 addgreenplumcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3966 3967 addgreenplumcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3968 3969 addgreenplumcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3970 3971 addgreenplumcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3972 3973 addgreenplumcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3974 3975// addgreenplumcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_listen, " ", " ", " ", " ", " ", " "); 3976 3977 addgreenplumcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 3978 3979 addgreenplumcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3980 3981 addgreenplumcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 3982 3983 //addgreenplumcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_notify, " ", " ", " ", " ", " ", " "); 3984 3985 addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3986 3987// addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 3988 3989 addgreenplumcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_greenplum_reassign, "owned", " ", " ", " ", " ", " "); 3990 3991 addgreenplumcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 3992 3993 addgreenplumcmds(ESqlStatementType.sstpostgresqlReindex, TBaseType.rrw_greenplum_reindex, " ", " ", " ", " ", " ", " "); 3994 3995 addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 3996 addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 3997 3998 addgreenplumcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3999 4000 addgreenplumcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 4001 4002 addgreenplumcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 4003// addgreenplumcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 4004 4005 addgreenplumcmds(ESqlStatementType.sstpostgresqlSavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 4006 4007// addgreenplumcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_security, "label", " ", " ", " ", " ", " "); 4008 4009 addgreenplumcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4010 4011 addgreenplumcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 4012 4013// addgreenplumcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 4014 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 4015 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 4016 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 4017 4018 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 4019 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 4020 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 4021 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 4022 4023 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 4024 4025 addgreenplumcmds(ESqlStatementType.sstgreenplumShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 4026 4027 addgreenplumcmds(ESqlStatementType.sstgreenplumStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 4028 4029 addgreenplumcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 4030 4031 //addgreenplumcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_unlisten, " ", " ", " ", " ", " ", " "); 4032 4033 addgreenplumcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4034 4035 addgreenplumcmds(ESqlStatementType.sstgreenplumVacuum, TBaseType.rrw_greenplum_vacuum, " ", " ", " ", " ", " ", " "); 4036 addgreenplumcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 4037 4038} 4039 4040 4041void initoraclecmds(){ 4042// cmd must be sort alphabetically 4043 addoraclecmds(ESqlStatementType.sstoraclealtercluster, TBaseType.rrw_alter,"cluster"," "," "," "," "," "); 4044 addoraclecmds(ESqlStatementType.sstoraclealterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 4045 addoraclecmds(ESqlStatementType.sstoraclealterdimension, TBaseType.rrw_alter,"dimension"," "," "," "," "," "); 4046 addoraclecmds(ESqlStatementType.sstoraclealterdiskgroup, TBaseType.rrw_alter,"diskgroup"," "," "," "," "," "); 4047 addoraclecmds(ESqlStatementType.sstoraclealterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 4048 addoraclecmds(ESqlStatementType.sstoraclealterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 4049 addoraclecmds(ESqlStatementType.sstoraclealterindextype, TBaseType.rrw_alter,"indextype"," "," "," "," "," "); 4050 addoraclecmds(ESqlStatementType.sstoraclealterjava, TBaseType.rrw_alter,"java"," "," "," "," "," "); 4051 addoraclecmds(ESqlStatementType.sstAlterMaterializedView, TBaseType.rrw_alter,"materialized","view"," "," "," "," "); 4052 addoraclecmds(ESqlStatementType.sstoraclealtermaterializedviewlog, TBaseType.rrw_alter,"materialized","view","log"," "," "," "); 4053 addoraclecmds(ESqlStatementType.sstoraclealteroperator, TBaseType.rrw_alter,"operator"," "," "," "," "," "); 4054 addoraclecmds(ESqlStatementType.sstoraclealteroutline, TBaseType.rrw_alter,"outline"," "," "," "," "," "); 4055 addoraclecmds(ESqlStatementType.sstoraclealterpackage, TBaseType.rrw_alter,"package"," "," "," "," "," "); 4056 addoraclecmds(ESqlStatementType.sstoraclealterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 4057 addoraclecmds(ESqlStatementType.sstoraclealterprofile, TBaseType.rrw_alter,"profile"," "," "," "," "," "); 4058 addoraclecmds(ESqlStatementType.sstoraclealterresourcecost, TBaseType.rrw_alter,"resource","cost"," "," "," "," "); 4059 addoraclecmds(ESqlStatementType.sstoraclealterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 4060 addoraclecmds(ESqlStatementType.sstoraclealterrollbacksegment, TBaseType.rrw_alter,"rollback","segment"," "," "," "," "); 4061 addoraclecmds(ESqlStatementType.sstoraclealtersequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 4062 addoraclecmds(ESqlStatementType.sstoraclealtersession, TBaseType.rrw_alter,"session"," "," "," "," "," "); 4063 addoraclecmds(ESqlStatementType.sstoraclealtersystem, TBaseType.rrw_alter,"system"," "," "," "," "," "); 4064 addoraclecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 4065 addoraclecmds(ESqlStatementType.sstoraclealtertablespace, TBaseType.rrw_alter,"tablespace"," "," "," "," "," "); 4066 addoraclecmds(ESqlStatementType.sstaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 4067 addoraclecmds(ESqlStatementType.sstoraclealtertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 4068 addoraclecmds(ESqlStatementType.sstoraclealteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 4069 addoraclecmds(ESqlStatementType.sstoraclealterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 4070 addoraclecmds(ESqlStatementType.sstoracleanalyze, TBaseType.rrw_analyze," "," "," "," "," "," "); 4071 addoraclecmds(ESqlStatementType.sstoracleassociatestatistics, TBaseType.rrw_associate,"statistics"," "," "," "," "," "); 4072 addoraclecmds(ESqlStatementType.sstoracleaudit, TBaseType.rrw_audit," "," "," "," "," "," "); 4073 addoraclecmds(ESqlStatementType.sstoraclecall, TBaseType.rrw_call," "," "," "," "," "," "); 4074 addoraclecmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment," "," "," "," "," "," "); 4075 addoraclecmds(ESqlStatementType.sstoraclecommit, TBaseType.rrw_commit," "," "," "," "," "," "); 4076 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"bigfile","tablespace"," "," "," "," "); 4077 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"bitmap","index"," "," "," "," "); 4078 addoraclecmds(ESqlStatementType.sstoraclecreatecluster, TBaseType.rrw_create,"cluster"," "," "," "," "," "); 4079 addoraclecmds(ESqlStatementType.sstoraclecreatecontext, TBaseType.rrw_create,"context"," "," "," "," "," "); 4080 addoraclecmds(ESqlStatementType.sstoraclecreatecontrolfile, TBaseType.rrw_create,"controlfile"," "," "," "," "," "); 4081 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"editionable","function"," "," "," "," "); 4082 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"editionable","package"," "," "," "," "); 4083 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"editionable","package","body"," "," "," "); 4084 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"editionable","procedure"," "," "," "," "); 4085 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"editioning","view"," "," "," "," "); 4086 addoraclecmds(ESqlStatementType.sstoraclecreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 4087 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"database","link"," "," "," "," "); 4088 addoraclecmds(ESqlStatementType.sstoraclecreatedimension, TBaseType.rrw_create,"dimension"," "," "," "," "," "); 4089 addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, TBaseType.rrw_create,"directory"," "," "," "," "," "); 4090 addoraclecmds(ESqlStatementType.sstoraclecreatediskgroup, TBaseType.rrw_create,"diskgroup"," "," "," "," "," "); 4091 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"force","view"," "," "," "," "); 4092 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 4093 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temp","table"," "," "," "); 4094 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 4095 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 4096 addoraclecmds(ESqlStatementType.sstoraclecreateindextype, TBaseType.rrw_create,"indextype"," "," "," "," "," "); 4097 addoraclecmds(ESqlStatementType.sstoraclecreatejava, TBaseType.rrw_create,"java"," "," "," "," "," "); 4098 addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, TBaseType.rrw_create,"library"," "," "," "," "," "); 4099 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"local","temp","table"," "," "," "); 4100 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"local","temporary","table"," "," "," "); 4101 addoraclecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 4102 addoraclecmds(ESqlStatementType.sstoraclecreatematerializedviewlog, TBaseType.rrw_create, "materialized","view","log"," "," "," "); 4103 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"noforce","view"," "," "," "," "); 4104 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"noneditionable","function"," "," "," "," "); 4105 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"noneditionable","package"," "," "," "," "); 4106 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"noneditionable","package","body"," "," "," "); 4107 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"noneditionable","procedure"," "," "," "," "); 4108 addoraclecmds(ESqlStatementType.sstoraclecreateoperator, TBaseType.rrw_create,"operator"," "," "," "," "," "); 4109 addoraclecmds(ESqlStatementType.sstoraclecreatecontext, TBaseType.rrw_create,"or","replace","context"," "," "," "); 4110 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editionable","editioning","view"," "); 4111 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","editionable","function"," "," "); 4112 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","editionable","package"," "," "); 4113 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","editionable","package","body"," "); 4114 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","editionable","procedure"," "," "); 4115 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","editionable","trigger"," "," "); 4116 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editionable","view"," "," "); 4117 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editioning","view"," "," "); 4118 addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, TBaseType.rrw_create,"or","replace","directory"," "," "," "); 4119 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","view"," "," "); 4120 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editionable","view"," "); 4121 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editionable","editioning","view"); 4122 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editioning","view"," "); 4123 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","noneditionable","view"," "); 4124 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 4125 addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, TBaseType.rrw_create,"or","replace","library"," "," "," "); 4126 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","noforce","view"," "," "); 4127 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","noneditionable","function"," "," "); 4128 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","noneditionable","package"," "," "); 4129 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","noneditionable","package","body"," "); 4130 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","noneditionable","procedure"," "," "); 4131 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","noneditionable","public","synonym"," "); 4132 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","noneditionable","trigger"," "," "); 4133 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","noneditionable","view"," "," "); 4134 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","package"," "," "," "); 4135 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","package","body"," "," "); 4136 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 4137 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","public","synonym"," "," "); 4138 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","synonym"," "," "," "); 4139 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","trigger"," "," "," "); 4140 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_create,"or","replace","type"," "," "," "); 4141 addoraclecmds(ESqlStatementType.sstplsql_createtypebody, TBaseType.rrw_create,"or","replace","type","body"," "," "); 4142 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 4143 addoraclecmds(ESqlStatementType.sstoraclecreateoutline, TBaseType.rrw_create,"outline"," "," "," "," "," "); 4144 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"package"," "," "," "," "," "); 4145 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"package","body"," "," "," "," "); 4146 addoraclecmds(ESqlStatementType.sstoraclecreatepfile, TBaseType.rrw_create,"pfile"," "," "," "," "," "); 4147 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"private","temporary","table"," "," "," "); 4148 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 4149 addoraclecmds(ESqlStatementType.sstoraclecreateprofile, TBaseType.rrw_create,"profile"," "," "," "," "," "); 4150 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"public","database","link"," "," "," "); 4151 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 4152 addoraclecmds(ESqlStatementType.sstoraclecreaterestorepoint, TBaseType.rrw_create,"resotre","point"," "," "," "," "); 4153 addoraclecmds(ESqlStatementType.sstoraclecreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 4154 addoraclecmds(ESqlStatementType.sstoraclecreaterollbacksegment, TBaseType.rrw_create,"rollback","segment"," "," "," "," "); 4155 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"shared","database","link"," "," "," "); 4156 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"shared","public","database","link"," "," "); 4157 addoraclecmds(ESqlStatementType.sstoraclecreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 4158 addoraclecmds(ESqlStatementType.sstoraclecreatesequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 4159 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"smallfile","tablespace"," "," "," "," "); 4160 addoraclecmds(ESqlStatementType.sstoraclecreatespfile, TBaseType.rrw_create,"spfile"," "," "," "," "," "); 4161 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 4162 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 4163 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"tablespace"," "," "," "," "," "); 4164 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"temporary","tablespace"," "," "," "," "); 4165 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 4166 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_create,"type"," "," "," "," "," "); 4167 addoraclecmds(ESqlStatementType.sstplsql_createtypebody, TBaseType.rrw_create,"type","body"," "," "," "," "); 4168 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"undo","tablespace"," "," "," "," "); 4169 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 4170 addoraclecmds(ESqlStatementType.sstoraclecreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 4171 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 4172 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_custom,"package"," "," "," "," "," "); 4173 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_custom,"package","body"," "," "," "," "); 4174 addoraclecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 4175 addoraclecmds(ESqlStatementType.sstoracledisassociatestatistics, TBaseType.rrw_disassociate, "statistics"," "," "," "," "," "); 4176 addoraclecmds(ESqlStatementType.sstoracledropcluster, TBaseType.rrw_drop,"cluster"," "," "," "," "," "); 4177 addoraclecmds(ESqlStatementType.sstoracledropcontext, TBaseType.rrw_drop,"context"," "," "," "," "," "); 4178 addoraclecmds(ESqlStatementType.sstoracledropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 4179 addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, TBaseType.rrw_drop,"database","link"," "," "," "," "); 4180 addoraclecmds(ESqlStatementType.sstoracledropdimension, TBaseType.rrw_drop,"dimension"," "," "," "," "," "); 4181 addoraclecmds(ESqlStatementType.sstoracledropdirectory, TBaseType.rrw_drop,"directory"," "," "," "," "," "); 4182 addoraclecmds(ESqlStatementType.sstoracledropdiskgroup, TBaseType.rrw_drop,"diskgroup"," "," "," "," "," "); 4183 addoraclecmds(ESqlStatementType.sstoracledropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 4184 addoraclecmds(ESqlStatementType.sstoracledropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 4185 addoraclecmds(ESqlStatementType.sstoracledropindextype, TBaseType.rrw_drop,"indextype"," "," "," "," "," "); 4186 addoraclecmds(ESqlStatementType.sstoracledropjava, TBaseType.rrw_drop,"java"," "," "," "," "," "); 4187 addoraclecmds(ESqlStatementType.sstoracledroplibrary, TBaseType.rrw_drop,"library"," "," "," "," "," "); 4188 addoraclecmds(ESqlStatementType.sstoracledropmaterializedview, TBaseType.rrw_drop,"materialized","view"," "," "," "," "); 4189 addoraclecmds(ESqlStatementType.sstoracledropmaterializedviewlog, TBaseType.rrw_drop,"materialized","view","log"," "," "," "); 4190 addoraclecmds(ESqlStatementType.sstoracledropoperator, TBaseType.rrw_drop,"operator"," "," "," "," "," "); 4191 addoraclecmds(ESqlStatementType.sstoracledropoutline, TBaseType.rrw_drop,"outline"," "," "," "," "," "); 4192 addoraclecmds(ESqlStatementType.sstoracledroppackage, TBaseType.rrw_drop,"package"," "," "," "," "," "); 4193 addoraclecmds(ESqlStatementType.sstoracledropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 4194 addoraclecmds(ESqlStatementType.sstoracledropprofile, TBaseType.rrw_drop,"profile"," "," "," "," "," "); 4195 addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, TBaseType.rrw_drop,"public","database","link"," "," "," "); 4196 addoraclecmds(ESqlStatementType.sstoracledropsynonym, TBaseType.rrw_drop,"public","synonym"," "," "," "," "); 4197 addoraclecmds(ESqlStatementType.sstoracledroprestorepoint, TBaseType.rrw_drop,"restore","point"," "," "," "," "); 4198 addoraclecmds(ESqlStatementType.sstoracledroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 4199 addoraclecmds(ESqlStatementType.sstoracledroprollbacksegment, TBaseType.rrw_drop,"rollback","segment"," "," "," "," "); 4200 addoraclecmds(ESqlStatementType.sstoracledropsequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 4201 addoraclecmds(ESqlStatementType.sstoracledropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 4202 addoraclecmds(ESqlStatementType.sstoracledroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 4203 addoraclecmds(ESqlStatementType.sstoracledroptablespace, TBaseType.rrw_drop,"tablespace"," "," "," "," "," "); 4204 addoraclecmds(ESqlStatementType.sstoracledroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 4205 addoraclecmds(ESqlStatementType.sstoracledroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 4206 addoraclecmds(ESqlStatementType.sstoracledroptypebody, TBaseType.rrw_drop,"type","body"," "," "," "," "); 4207 addoraclecmds(ESqlStatementType.sstoracledropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 4208 addoraclecmds(ESqlStatementType.sstoracledropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 4209 addoraclecmds(ESqlStatementType.sstoracleexecuteprocedure, TBaseType.rrw_execute," "," "," "," "," "," "); 4210 addoraclecmds(ESqlStatementType.sstplsql_execimmestmt, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 4211 addoraclecmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain,"plan"," "," "," "," "," "); 4212 addoraclecmds(ESqlStatementType.sstoracleflashbackdatabase, TBaseType.rrw_flashback,"database"," "," "," "," "," "); 4213 addoraclecmds(ESqlStatementType.sstoracleflashbacktable, TBaseType.rrw_flashback,"table"," "," "," "," "," "); 4214 addoraclecmds(ESqlStatementType.sstoraclegrant, TBaseType.rrw_grant," "," "," "," "," "," "); 4215 addoraclecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 4216 addoraclecmds(ESqlStatementType.sstoraclelocktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 4217 addoraclecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 4218 addoraclecmds(ESqlStatementType.sstoraclenoaudit, TBaseType.rrw_noaudit," "," "," "," "," "," "); 4219 addoraclecmds(ESqlStatementType.sstoraclepurge, TBaseType.rrw_purge," "," "," "," "," "," "); 4220 addoraclecmds(ESqlStatementType.sstoraclerename, TBaseType.rrw_rename," "," "," "," "," "," "); 4221 addoraclecmds(ESqlStatementType.sstoraclerevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 4222 addoraclecmds(ESqlStatementType.sstoraclerollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 4223 addoraclecmds(ESqlStatementType.sstoraclesavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 4224 addoraclecmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 4225 addoraclecmds(ESqlStatementType.sstoraclesetconstraint, TBaseType.rrw_set,"constraint"," "," "," "," "," "); 4226 addoraclecmds(ESqlStatementType.sstoraclesetconstraint, TBaseType.rrw_set,"constraints"," "," "," "," "," "); 4227 addoraclecmds(ESqlStatementType.sstoraclesetrole, TBaseType.rrw_set,"role"," "," "," "," "," "); 4228 addoraclecmds(ESqlStatementType.sstoraclesettransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 4229 addoraclecmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 4230 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_type2," "," "," "," "," "," "); 4231 addoraclecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 4232 4233} 4234 4235void initinformixcmds(){ 4236// cmd must be sort alphabetically 4237 addinformixcmds(ESqlStatementType.sstinformixAllocateCollection, TBaseType.rrw_allocate,"collection"," "," "," "," "," "); 4238 addinformixcmds(ESqlStatementType.sstinformixAllocateDescriptor, TBaseType.rrw_allocate,"descriptor"," "," "," "," "," "); 4239 addinformixcmds(ESqlStatementType.sstinformixAlterAccess_Method, TBaseType.rrw_alter,"access_method"," "," "," "," "," "); 4240 addinformixcmds(ESqlStatementType.sstinformixAlterFragment, TBaseType.rrw_alter,"fragment"," "," "," "," "," "); 4241 addinformixcmds(ESqlStatementType.sstinformixAlterFunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 4242 addinformixcmds(ESqlStatementType.sstinformixAlterIndex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 4243 addinformixcmds(ESqlStatementType.sstinformixAlterProcedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 4244 addinformixcmds(ESqlStatementType.sstinformixAlterRoutine, TBaseType.rrw_alter,"routine"," "," "," "," "," "); 4245 addinformixcmds(ESqlStatementType.sstinformixAlterSecurityLabelComponent, TBaseType.rrw_alter,"security","label","component"," "," "," "); 4246 addinformixcmds(ESqlStatementType.sstinformixAlterSequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 4247 addinformixcmds(ESqlStatementType.sstinformixAlterTable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 4248 addinformixcmds(ESqlStatementType.sstinformixAlterTrustedContext, TBaseType.rrw_alter,"trusted","context"," "," "," "," "); 4249 addinformixcmds(ESqlStatementType.sstinformixAlterUser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 4250 addinformixcmds(ESqlStatementType.sstinformixBegin, TBaseType.rrw_begin," "," "," "," "," "," "); 4251 addinformixcmds(ESqlStatementType.sstinformixClose, TBaseType.rrw_close," "," "," "," "," "," "); 4252 addinformixcmds(ESqlStatementType.sstinformixCloseDatabase, TBaseType.rrw_close,"database"," "," "," "," "," "); 4253 addinformixcmds(ESqlStatementType.sstinformixCommit, TBaseType.rrw_commit," "," "," "," "," "," "); 4254 addinformixcmds(ESqlStatementType.sstinformixConnect, TBaseType.rrw_informix_connect_to," "," "," "," "," "," "); 4255 addinformixcmds(ESqlStatementType.sstinformixCreateAccess_Method, TBaseType.rrw_create,"access_method"," "," "," "," "," "); 4256 addinformixcmds(ESqlStatementType.sstinformixCreateAggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 4257 addinformixcmds(ESqlStatementType.sstinformixCreateCast, TBaseType.rrw_create,"cast"," "," "," "," "," "); 4258 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"cluster","index"," "," "," "," "); 4259 addinformixcmds(ESqlStatementType.sstinformixCreateDatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 4260 addinformixcmds(ESqlStatementType.sstinformixCreateFunction, TBaseType.rrw_create,"dba","function"," "," "," "," "); 4261 addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, TBaseType.rrw_create,"dba","procedure"," "," "," "," "); 4262 addinformixcmds(ESqlStatementType.sstinformixCreateDefaultUser, TBaseType.rrw_create,"default","user"," "," "," "," "); 4263 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"distinct","cluster","index"," "," "," "); 4264 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"distinct","index"," "," "," "," "); 4265 addinformixcmds(ESqlStatementType.sstinformixCreateDistinctType, TBaseType.rrw_create,"distinct","type"," "," "," "," "); 4266 addinformixcmds(ESqlStatementType.sstinformixCreateExternalTable, TBaseType.rrw_create,"external","table"," "," "," "," "); 4267 addinformixcmds(ESqlStatementType.sstinformixCreateFunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 4268 addinformixcmds(ESqlStatementType.sstinformixCreateFunctionFrom, TBaseType.rrw_create,"function","from"," "," "," "," "); 4269 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"index"," "," "," "," "," "); 4270 addinformixcmds(ESqlStatementType.sstinformixCreateOpaqueType, TBaseType.rrw_create,"opaque","type"," "," "," "," "); 4271 addinformixcmds(ESqlStatementType.sstinformixCreateOpclass, TBaseType.rrw_create,"opclass"," "," "," "," "," "); 4272 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"private","synonym"," "," "," "," "); 4273 addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 4274 addinformixcmds(ESqlStatementType.sstinformixCreateProcedureFrom, TBaseType.rrw_create,"procedure","from"," "," "," "," "); 4275 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 4276 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"raw","table"," "," "," "," "); 4277 addinformixcmds(ESqlStatementType.sstinformixCreateRole, TBaseType.rrw_create,"role"," "," "," "," "," "); 4278 addinformixcmds(ESqlStatementType.sstinformixCreateRoutineFrom, TBaseType.rrw_create,"routine","from"," "," "," "," "); 4279 addinformixcmds(ESqlStatementType.sstinformixCreateRowType, TBaseType.rrw_create,"row","type"," "," "," "," "); 4280 addinformixcmds(ESqlStatementType.sstinformixCreateSchema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 4281 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabel, TBaseType.rrw_create,"security","label"," "," "," "," "); 4282 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabelComponent, TBaseType.rrw_create,"security","label","component"," "," "," "); 4283 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityPolicy, TBaseType.rrw_create,"security","policy"," "," "," "," "); 4284 addinformixcmds(ESqlStatementType.sstinformixCreateSequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 4285 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"standard","table"," "," "," "," "); 4286 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 4287 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 4288 addinformixcmds(ESqlStatementType.sstinformixCreateTempTable, TBaseType.rrw_create,"temp","table"," "," "," "," "); 4289 addinformixcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 4290 addinformixcmds(ESqlStatementType.sstinformixCreateTrustedContext, TBaseType.rrw_create,"trusted","context"," "," "," "," "); 4291 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"unique","cluster","index"," "," "," "); 4292 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 4293 addinformixcmds(ESqlStatementType.sstinformixCreateUser, TBaseType.rrw_create,"user"," "," "," "," "," "); 4294 addinformixcmds(ESqlStatementType.sstinformixCreateView, TBaseType.rrw_create,"view"," "," "," "," "," "); 4295 addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasource, TBaseType.rrw_create,"xadatasource"," "," "," "," "," "); 4296 addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasourceType, TBaseType.rrw_create,"xadatasource","type"," "," "," "," "); 4297 //addinformixcmds(ESqlStatementType.sstinformixDatabase, TBaseType.rrw_database," "," "," "," "," "," "); 4298 addinformixcmds(ESqlStatementType.sstinformixDeallocateCollection, TBaseType.rrw_deallocate,"collection"," "," "," "," "," "); 4299 addinformixcmds(ESqlStatementType.sstinformixDeallocateDescriptor, TBaseType.rrw_deallocate, "descriptor"," "," "," "," "," "); 4300 addinformixcmds(ESqlStatementType.sstinformixDeallocateRow, TBaseType.rrw_deallocate,"row"," "," "," "," "," "); 4301 addinformixcmds(ESqlStatementType.sstinformixDeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 4302 addinformixcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 4303 addinformixcmds(ESqlStatementType.sstinformixDescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 4304 addinformixcmds(ESqlStatementType.sstinformixDescribeInput, TBaseType.rrw_describe,"input"," "," "," "," "," "); 4305 addinformixcmds(ESqlStatementType.sstinformixDisconnect, TBaseType.rrw_disconnect," "," "," "," "," "," "); 4306 addinformixcmds(ESqlStatementType.sstinformixDropAccess_Method, TBaseType.rrw_drop,"access_method"," "," "," "," "," "); 4307 addinformixcmds(ESqlStatementType.sstinformixDropAggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 4308 addinformixcmds(ESqlStatementType.sstinformixDropCast, TBaseType.rrw_drop,"cast"," "," "," "," "," "); 4309 addinformixcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 4310 addinformixcmds(ESqlStatementType.sstinformixDropFunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 4311 addinformixcmds(ESqlStatementType.sstinformixDropIndex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 4312 addinformixcmds(ESqlStatementType.sstinformixDropOpclass, TBaseType.rrw_drop,"opclass"," "," "," "," "," "); 4313 addinformixcmds(ESqlStatementType.sstinformixDropProcedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 4314 addinformixcmds(ESqlStatementType.sstinformixDropRole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 4315 addinformixcmds(ESqlStatementType.sstinformixDropRoutine, TBaseType.rrw_drop,"routine"," "," "," "," "," "); 4316 addinformixcmds(ESqlStatementType.sstinformixDropRowType, TBaseType.rrw_drop,"row","type"," "," "," "," "); 4317 addinformixcmds(ESqlStatementType.sstinformixDropSecurity, TBaseType.rrw_drop,"security"," "," "," "," "," "); 4318 addinformixcmds(ESqlStatementType.sstinformixDropSequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 4319 addinformixcmds(ESqlStatementType.sstinformixDropSynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 4320 addinformixcmds(ESqlStatementType.sstinformixDropTable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 4321 addinformixcmds(ESqlStatementType.sstinformixDropTrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 4322 addinformixcmds(ESqlStatementType.sstinformixDropTrustedContext, TBaseType.rrw_drop,"trusted","context"," "," "," "," "); 4323 addinformixcmds(ESqlStatementType.sstinformixDropType, TBaseType.rrw_drop,"type"," "," "," "," "," "); 4324 addinformixcmds(ESqlStatementType.sstinformixDropUser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 4325 addinformixcmds(ESqlStatementType.sstinformixDropView, TBaseType.rrw_drop,"view"," "," "," "," "," "); 4326 addinformixcmds(ESqlStatementType.sstinformixDropXaDatasource, TBaseType.rrw_drop,"xadatasource"," "," "," "," "," "); 4327 addinformixcmds(ESqlStatementType.sstinformixDropXaDatasourceType, TBaseType.rrw_drop,"xadatasource","type"," "," "," "," "); 4328 addinformixcmds(ESqlStatementType.sstinformixExecute, TBaseType.rrw_exec," "," "," "," "," "," "); 4329 addinformixcmds(ESqlStatementType.sstinformixExecute, TBaseType.rrw_execute," "," "," "," "," "," "); 4330 addinformixcmds(ESqlStatementType.sstinformixExecuteFunction, TBaseType.rrw_execute,"function"," "," "," "," "," "); 4331 addinformixcmds(ESqlStatementType.sstinformixExecuteImmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 4332 addinformixcmds(ESqlStatementType.sstinformixExecuteProcedure, TBaseType.rrw_execute,"procedure"," "," "," "," "," "); 4333 addinformixcmds(ESqlStatementType.sstinformixFetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 4334 addinformixcmds(ESqlStatementType.sstinformixFlush, TBaseType.rrw_flush," "," "," "," "," "," "); 4335 addinformixcmds(ESqlStatementType.sstinformixFree, TBaseType.rrw_free," "," "," "," "," "," "); 4336 addinformixcmds(ESqlStatementType.sstinformixGetDescriptor, TBaseType.rrw_get,"descriptor"," "," "," "," "," "); 4337 addinformixcmds(ESqlStatementType.sstinformixGetDiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 4338 addinformixcmds(ESqlStatementType.sstinformixGrant, TBaseType.rrw_grant," "," "," "," "," "," "); 4339 addinformixcmds(ESqlStatementType.sstinformixGrantFragment, TBaseType.rrw_grant,"fragment"," "," "," "," "," "); 4340 addinformixcmds(ESqlStatementType.sstinformixInfo, TBaseType.rrw_informix_info," "," "," "," "," "," "); 4341 addinformixcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 4342 addinformixcmds(ESqlStatementType.sstinformixLoad, TBaseType.rrw_load," "," "," "," "," "," "); 4343 addinformixcmds(ESqlStatementType.sstinformixLockTable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 4344 addinformixcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 4345 addinformixcmds(ESqlStatementType.sstinformixOpen, TBaseType.rrw_open," "," "," "," "," "," "); 4346 addinformixcmds(ESqlStatementType.sstinformixOutput, TBaseType.rrw_informix_output," "," "," "," "," "," "); 4347 addinformixcmds(ESqlStatementType.sstinformixPrepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 4348 addinformixcmds(ESqlStatementType.sstinformixPut, TBaseType.rrw_informix_put," "," "," "," "," "," "); 4349 addinformixcmds(ESqlStatementType.sstinformixReleaseSavepoint, TBaseType.rrw_release,"savepoint"," "," "," "," "," "); 4350 addinformixcmds(ESqlStatementType.sstinformixRenameColumn, TBaseType.rrw_rename,"column"," "," "," "," "," "); 4351 addinformixcmds(ESqlStatementType.sstinformixRenameDatabase, TBaseType.rrw_rename,"database"," "," "," "," "," "); 4352 addinformixcmds(ESqlStatementType.sstinformixRenameIndex, TBaseType.rrw_rename,"index"," "," "," "," "," "); 4353 addinformixcmds(ESqlStatementType.sstinformixRenameSecurity, TBaseType.rrw_rename,"security"," "," "," "," "," "); 4354 addinformixcmds(ESqlStatementType.sstinformixRenameSequence, TBaseType.rrw_rename,"sequence"," "," "," "," "," "); 4355 addinformixcmds(ESqlStatementType.sstinformixRenameTable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 4356 addinformixcmds(ESqlStatementType.sstinformixRenameTrustedContext, TBaseType.rrw_rename,"trusted","context"," "," "," "," "); 4357 addinformixcmds(ESqlStatementType.sstinformixRenameUser, TBaseType.rrw_rename,"user"," "," "," "," "," "); 4358 addinformixcmds(ESqlStatementType.sstinformixRevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 4359 addinformixcmds(ESqlStatementType.sstinformixRevokeFragment, TBaseType.rrw_revoke,"fragment"," "," "," "," "," "); 4360 addinformixcmds(ESqlStatementType.sstinformixRollbackWork, TBaseType.rrw_rollback," "," "," "," "," "," "); 4361 addinformixcmds(ESqlStatementType.sstinformixRollbackWork, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 4362 addinformixcmds(ESqlStatementType.sstinformixSaveExternalDirectives, TBaseType.rrw_save,"external","directives"," "," "," "," "); 4363 addinformixcmds(ESqlStatementType.sstinformixSavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 4364 addinformixcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 4365 addinformixcmds(ESqlStatementType.sstinformixSetAutofree, TBaseType.rrw_set,"autofree"," "," "," "," "," "); 4366 addinformixcmds(ESqlStatementType.sstinformixSetCollation, TBaseType.rrw_set,"collation"," "," "," "," "," "); 4367 addinformixcmds(ESqlStatementType.sstinformixSetConnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 4368 addinformixcmds(ESqlStatementType.sstinformixSetConstraints, TBaseType.rrw_set,"constraints"," "," "," "," "," "); 4369 addinformixcmds(ESqlStatementType.sstinformixSetDatabaseObject, TBaseType.rrw_set,"database","object"," "," "," "," "); 4370 addinformixcmds(ESqlStatementType.sstinformixSetDataskip, TBaseType.rrw_set,"dataskip"," "," "," "," "," "); 4371 addinformixcmds(ESqlStatementType.sstinformixSetDebugFile, TBaseType.rrw_set,"debug","file"," "," "," "," "); 4372 addinformixcmds(ESqlStatementType.sstinformixSetDeferred_Prepare, TBaseType.rrw_set,"defferred_prepare"," "," "," "," "," "); 4373 addinformixcmds(ESqlStatementType.sstinformixSetDescriptor, TBaseType.rrw_set,"descriptor"," "," "," "," "," "); 4374 addinformixcmds(ESqlStatementType.sstinformixSetEncryptionPassword, TBaseType.rrw_set,"encryption","password"," "," "," "," "); 4375 addinformixcmds(ESqlStatementType.sstinformixSetEnvironment, TBaseType.rrw_set,"environment"," "," "," "," "," "); 4376 addinformixcmds(ESqlStatementType.sstinformixSetExplain, TBaseType.rrw_set,"explain"," "," "," "," "," "); 4377 addinformixcmds(ESqlStatementType.sstinformixSetIndexes, TBaseType.rrw_set,"indexes"," "," "," "," "," "); 4378 addinformixcmds(ESqlStatementType.sstinformixSetIsolation, TBaseType.rrw_set,"isolation"," "," "," "," "," "); 4379 addinformixcmds(ESqlStatementType.sstinformixSetLockMode, TBaseType.rrw_set,"lock","mode"," "," "," "," "); 4380 addinformixcmds(ESqlStatementType.sstinformixSetLog, TBaseType.rrw_set,"log"," "," "," "," "," "); 4381 addinformixcmds(ESqlStatementType.sstinformixSetOptimization, TBaseType.rrw_set,"optimization"," "," "," "," "," "); 4382 addinformixcmds(ESqlStatementType.sstinformixSetPDQPriority, TBaseType.rrw_set,"pdqpriority"," "," "," "," "," "); 4383 addinformixcmds(ESqlStatementType.sstinformixSetRole, TBaseType.rrw_set,"role"," "," "," "," "," "); 4384 addinformixcmds(ESqlStatementType.sstinformixSetSessionAuthorization, TBaseType.rrw_set,"session","authorization"," "," "," "," "); 4385 addinformixcmds(ESqlStatementType.sstinformixSetStatementCache, TBaseType.rrw_set,"statement","cache"," "," "," "," "); 4386 addinformixcmds(ESqlStatementType.sstinformixSetTransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 4387 addinformixcmds(ESqlStatementType.sstinformixSetTransactionMode, TBaseType.rrw_set,"transaction","mode"," "," "," "," "); 4388 addinformixcmds(ESqlStatementType.sstinformixSetTriggers, TBaseType.rrw_set,"triggers"," "," "," "," "," "); 4389 addinformixcmds(ESqlStatementType.sstinformixSetUserPassword, TBaseType.rrw_set,"user","password"," "," "," "," "); 4390 addinformixcmds(ESqlStatementType.sstinformixStartViolationsTable, TBaseType.rrw_start,"violations","table"," "," "," "," "); 4391 addinformixcmds(ESqlStatementType.sstinformixStopViolationsTable, TBaseType.rrw_stop,"violations","table"," "," "," "," "); 4392 addinformixcmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 4393 addinformixcmds(ESqlStatementType.sstinformixUnload, TBaseType.rrw_informix_unload," "," "," "," "," "," "); 4394 addinformixcmds(ESqlStatementType.sstinformixUnlockTable, TBaseType.rrw_unlock,"table"," "," "," "," "," "); 4395 addinformixcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 4396 addinformixcmds(ESqlStatementType.sstinformixUpdateStatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 4397 addinformixcmds(ESqlStatementType.sstinformixWhenever, TBaseType.rrw_informix_whenever," "," "," "," "," "," "); 4398} 4399 public void initcouchbasecmds() { 4400 addcouchbasecmds(ESqlStatementType.sstBuildIndex, TBaseType.rrw_couchbase_build, "index"," ", " ", " ", " ", " "); 4401 addcouchbasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 4402 addcouchbasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "primary", "index", " ", " ", " ", " "); 4403 addcouchbasecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 4404 addcouchbasecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 4405 addcouchbasecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "primary", "index", " ", " ", " ", " "); 4406 addcouchbasecmds(ESqlStatementType.sstExecutePreparedStmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 4407 addcouchbasecmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 4408 addcouchbasecmds(ESqlStatementType.sstinfer, TBaseType.rrw_couchbase_infer, " ", " ", " ", " ", " ", " "); 4409 addcouchbasecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4410 addcouchbasecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 4411 addcouchbasecmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 4412 addcouchbasecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4413 addcouchbasecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4414 addcouchbasecmds(ESqlStatementType.sstupsert, TBaseType.rrw_couchbase_upsert, " ", " ", " ", " ", " ", " "); 4415 } 4416 4417 void initverticacmds(){ 4418 4419 addverticacmds(ESqlStatementType.sstActivateDirectedQuery, TBaseType.rrw_vertica_activate, "directed", "query", " ", " ", " ", " "); 4420 4421 addverticacmds(ESqlStatementType.sstAlterAccessPolicy, TBaseType.rrw_alter, "access", "policy", " ", " ", " ", " "); 4422 addverticacmds(ESqlStatementType.sstAlterAuthentication, TBaseType.rrw_alter, "authentication", " ", " ", " ", " ", " "); 4423 addverticacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 4424 addverticacmds(ESqlStatementType.sstAlterFaultGroup, TBaseType.rrw_alter, "fault", "group", " ", " ", " ", " "); 4425 addverticacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 4426 addverticacmds(ESqlStatementType.sstAlterLibrary, TBaseType.rrw_alter, "library", " ", " ", " ", " ", " "); 4427 addverticacmds(ESqlStatementType.sstAlterNode, TBaseType.rrw_alter, "node", " ", " ", " ", " ", " "); 4428 addverticacmds(ESqlStatementType.sstAlterNetworkInterface, TBaseType.rrw_alter, "network", "interface", " ", " ", " ", " "); 4429 addverticacmds(ESqlStatementType.sstAlterProjection, TBaseType.rrw_alter, "projection", " ", " ", " ", " ", " "); 4430 addverticacmds(ESqlStatementType.sstAlterProfile, TBaseType.rrw_alter, "profile", " ", " ", " ", " ", " "); 4431 addverticacmds(ESqlStatementType.sstAlterResourcePool, TBaseType.rrw_alter, "resource", "pool", " ", " ", " ", " "); 4432 addverticacmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 4433 addverticacmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 4434 addverticacmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 4435 addverticacmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 4436 addverticacmds(ESqlStatementType.sstAlterSubnet, TBaseType.rrw_alter, "subnet", " ", " ", " ", " ", " "); 4437 addverticacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 4438 addverticacmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 4439 addverticacmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 4440 4441 addverticacmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 4442 addverticacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 4443 4444 addverticacmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 4445 addverticacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 4446 addverticacmds(ESqlStatementType.sstconnect, TBaseType.rrw_connect, "to", " ", " ", " ", " ", " "); 4447 addverticacmds(ESqlStatementType.sstCopy, TBaseType.rrw_vertica_copy, " ", " ", " ", " ", " ", " "); 4448 4449 addverticacmds(ESqlStatementType.sstCreateAccessPolicy, TBaseType.rrw_create, "access", "policy", " ", " ", " ", " "); 4450 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "aggregate", "function", " ", " ", " ", " "); 4451 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "analytic", "function", " ", " ", " ", " "); 4452 addverticacmds(ESqlStatementType.sstCreateAuthentication, TBaseType.rrw_create, "authentication", " ", " ", " ", " ", " "); 4453 addverticacmds(ESqlStatementType.sstCreateDirectedQuery, TBaseType.rrw_create, "directed", "query", " ", " ", " ", " "); 4454 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 4455 addverticacmds(ESqlStatementType.sstCreateFaultGroup, TBaseType.rrw_create , "fault", "group", " ", " ", " ", " "); 4456 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "filter", " ", " ", " ", " ", " "); 4457 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flex", "table", " ", " ", " ", " "); 4458 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flex", "local", "temp", "table", " ", " "); 4459 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flex", "local", "temporary", "table", " ", " "); 4460 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flexible", "table", " ", " ", " ", " "); 4461 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flexible", "local", "temp", "table", " ", " "); 4462 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flexible", "local", "temporary", "table", " ", " "); 4463 4464 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "function", " ", " ", " ", " ", " "); 4465 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "global", "temp", "table", " ", " ", " "); 4466 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "global", "temporary", "table", " ", " ", " "); 4467 addverticacmds(ESqlStatementType.sstCreateHCatalogSchema, TBaseType.rrw_create , "hcatalog", "schema", " ", " ", " ", " "); 4468 addverticacmds(ESqlStatementType.sstCreateLibrary, TBaseType.rrw_create, "library", " ", " ", " ", " ", " "); 4469 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "local", "temp", "table", " ", " ", " "); 4470 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "local", "temp", "view", " ", " ", " "); 4471 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "local", "temporary", "table", " ", " ", " "); 4472 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "local", "temporary", "view", " ", " ", " "); 4473 addverticacmds(ESqlStatementType.sstCreateLocation, TBaseType.rrw_create , "location", " ", " ", " ", " ", " "); 4474 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "managed", "external", "table", " ", " ", " "); 4475 addverticacmds(ESqlStatementType.sstCreateNetworkInterface, TBaseType.rrw_create, "network", "interface", " ", " ", " ", " "); 4476 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "or", "replace", "aggregate", "function", " ", " "); 4477 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "or", "replace", "function", " ", " ", " "); 4478 addverticacmds(ESqlStatementType.sstCreateLibrary, TBaseType.rrw_create , "or", "replace", "library", " ", " ", " "); 4479 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "local", "temp", "view", " "); 4480 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "local", "temporary", "view", " "); 4481 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "view", " ", " ", " "); 4482 addverticacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create , "or", "replace", "procedure", " ", " ", " "); 4483 4484 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "parser", " ", " ", " ", " ", " "); 4485 addverticacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create , "procedure", " ", " ", " ", " ", " "); 4486 addverticacmds(ESqlStatementType.sstCreateProfile, TBaseType.rrw_create , "profile", " ", " ", " ", " ", " "); 4487 addverticacmds(ESqlStatementType.sstCreateProjection, TBaseType.rrw_create , "projection", " ", " ", " ", " ", " "); 4488 addverticacmds(ESqlStatementType.sstCreateResourcePool, TBaseType.rrw_create , "resource", "pool", " ", " ", " ", " "); 4489 addverticacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create , "role", " ", " ", " ", " ", " "); 4490 addverticacmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create , "schema", " ", " ", " ", " ", " "); 4491 addverticacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create , "sequence", " ", " ", " ", " ", " "); 4492 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "source", " ", " ", " ", " ", " "); 4493 addverticacmds(ESqlStatementType.sstCreateSubnet, TBaseType.rrw_create , "subnet", " ", " ", " ", " ", " "); 4494 4495 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "table", " ", " ", " ", " ", " "); 4496 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "temp", "table", " ", " ", " ", " "); 4497 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "temporary", "table", " ", " ", " ", " "); 4498 addverticacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create , "text", "index", " ", " ", " ", " "); 4499 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "transform", "function", " ", " ", " ", " "); 4500 addverticacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create , "user", " ", " ", " ", " ", " "); 4501 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "view", " ", " ", " ", " ", " "); 4502 4503 addverticacmds(ESqlStatementType.sstDeActivateDirectedQuery, TBaseType.rrw_vertica_deactivate, "directed", "query", " ", " ", " ", " "); 4504 4505 addverticacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete , " ", " ", " ", " ", " ", " "); 4506 addverticacmds(ESqlStatementType.sstDisconnect, TBaseType.rrw_disconnect , " ", " ", " ", " ", " ", " "); 4507 4508 addverticacmds(ESqlStatementType.sstDeActivateDirectedQuery, TBaseType.rrw_drop, "directed", "query", " ", " ", " ", " "); 4509 addverticacmds(ESqlStatementType.sstDropAccessPolicy, TBaseType.rrw_drop, "access","policy", " ", " ", " ", " "); 4510 addverticacmds(ESqlStatementType.sstDropAggregateFunction, TBaseType.rrw_drop, "aggregate","function", " ", " ", " ", " "); 4511 addverticacmds(ESqlStatementType.sstDropAuthentication, TBaseType.rrw_drop, "authentication"," ", " ", " ", " ", " "); 4512 4513 addverticacmds(ESqlStatementType.sstDropFaultGroup, TBaseType.rrw_drop, "fault","group", " ", " ", " ", " "); 4514 4515 addverticacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," ", " ", " ", " ", " "); 4516 addverticacmds(ESqlStatementType.sstDropLibrary, TBaseType.rrw_drop, "library"," ", " ", " ", " ", " "); 4517 addverticacmds(ESqlStatementType.sstDropNetworkInterface, TBaseType.rrw_drop, "network","interface", " ", " ", " ", " "); 4518 addverticacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure"," ", " ", " ", " ", " "); 4519 addverticacmds(ESqlStatementType.sstDropProfile, TBaseType.rrw_drop, "profile"," ", " ", " ", " ", " "); 4520 addverticacmds(ESqlStatementType.sstDropProjection, TBaseType.rrw_drop, "projection"," ", " ", " ", " ", " "); 4521 addverticacmds(ESqlStatementType.sstDropResourcePool, TBaseType.rrw_drop, "resource","pool", " ", " ", " ", " "); 4522 addverticacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," ", " ", " ", " ", " "); 4523 addverticacmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," ", " ", " ", " ", " "); 4524 addverticacmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop, "sequence"," ", " ", " ", " ", " "); 4525 addverticacmds(ESqlStatementType.sstDropSubnet, TBaseType.rrw_drop, "subnet"," ", " ", " ", " ", " "); 4526 addverticacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," ", " ", " ", " ", " "); 4527 addverticacmds(ESqlStatementType.sstDropTextIndex, TBaseType.rrw_drop, "text","index", " ", " ", " ", " "); 4528 addverticacmds(ESqlStatementType.sstDropTransformFunction, TBaseType.rrw_drop, "transform","function", " ", " ", " ", " "); 4529 addverticacmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user"," ", " ", " ", " ", " "); 4530 addverticacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," ", " ", " ", " ", " "); 4531 4532 addverticacmds(ESqlStatementType.sstEnd, TBaseType.rrw_end, " ", " "," ", " ", " ", " "); 4533 addverticacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " "," ", " ", " ", " "); 4534 addverticacmds(ESqlStatementType.sstExportToVertica, TBaseType.rrw_vertica_export, "to", "vertica"," ", " ", " ", " "); 4535 addverticacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " "," ", " ", " ", " "); 4536 addverticacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " "," ", " ", " ", " "); 4537 addverticacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " "," ", " ", " ", " "); 4538 addverticacmds(ESqlStatementType.sstProfile, TBaseType.rrw_vertica_profile, " ", " "," ", " ", " ", " "); 4539 addverticacmds(ESqlStatementType.sstReleaseSavepoint, TBaseType.rrw_release, " ", " "," ", " ", " ", " "); 4540 addverticacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " "," ", " ", " ", " "); 4541 addverticacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " "," ", " ", " ", " "); 4542 addverticacmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " "," ", " ", " ", " "); 4543 addverticacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " "," ", " ", " ", " "); 4544 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "datestyle", "to"," ", " ", " ", " "); 4545 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "escape_string_warning", "to"," ", " ", " ", " "); 4546 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "intervalstyle", "to"," ", " ", " ", " "); 4547 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "locale", " "," ", " ", " ", " "); 4548 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role", " "," ", " ", " ", " "); 4549 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "search_path", " "," ", " ", " ", " "); 4550 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session", " "," ", " ", " ", " "); 4551 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "standard_conforming_strings", " "," ", " ", " ", " "); 4552 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "time", "zone"," ", " ", " ", " "); 4553 addverticacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, " ", " "," ", " ", " ", " "); 4554 addverticacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, " ", " "," ", " ", " ", " "); 4555 addverticacmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, "table", " "," ", " ", " ", " "); 4556 addverticacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " "," ", " ", " ", " "); 4557 4558 4559 // addverticacmds(ESqlStatementType.sstGetDirectedQuery, TBaseType.rrw_get, "directed", "query", " ", " ", " ", " "); 4560 // addverticacmds(ESqlStatementType.sstSaveQuery, TBaseType.rrw_save, "query", " "," ", " ", " ", " "); 4561 4562 } 4563 4564 void inithanacmds(){ 4565//alter 4566 addhanacmds(ESqlStatementType.sstalterauditpolicy, TBaseType.rrw_alter, "audit", "policy", " ", " ", " ", " "); 4567 addhanacmds(ESqlStatementType.sstaltercredential, TBaseType.rrw_alter, "credential", " ", " ", " ", " ", " "); 4568 addhanacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 4569 addhanacmds(ESqlStatementType.sstalterfulltextindex, TBaseType.rrw_alter, "fulltext", "index", " ", " ", " ", " "); 4570 addhanacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 4571 addhanacmds(ESqlStatementType.sstalterindex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 4572 addhanacmds(ESqlStatementType.sstalterldapprovider, TBaseType.rrw_alter, "ldap", "provider", " ", " ", " ", " "); 4573 addhanacmds(ESqlStatementType.sstalterjwtprovider, TBaseType.rrw_alter, "jwt", "provider", " ", " ", " ", " "); 4574 addhanacmds(ESqlStatementType.sstalterpse, TBaseType.rrw_alter, "pse", " ", " ", " ", " ", " "); 4575 addhanacmds(ESqlStatementType.sstalterprocedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 4576 addhanacmds(ESqlStatementType.sstalterremotesource, TBaseType.rrw_alter, "remote", "source", " ", " ", " ", " "); 4577 addhanacmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 4578 addhanacmds(ESqlStatementType.sstaltersamlprovider, TBaseType.rrw_alter, "saml", "provider", " ", " ", " ", " "); 4579 addhanacmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 4580 addhanacmds(ESqlStatementType.sstalterstatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 4581 addhanacmds(ESqlStatementType.sstalterstructuredprivilege, TBaseType.rrw_alter, "structured", "privilege", " ", " ", " ", " "); 4582 addhanacmds(ESqlStatementType.sstaltersystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 4583 addhanacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 4584 addhanacmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 4585 addhanacmds(ESqlStatementType.sstalterusergroup, TBaseType.rrw_alter, "usergroup", " ", " ", " ", " ", " "); 4586 addhanacmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 4587 addhanacmds(ESqlStatementType.sstalterviewcache, TBaseType.rrw_alter, "view", "cache", " ", " ", " ", " "); 4588 addhanacmds(ESqlStatementType.sstaltervirtualtable, TBaseType.rrw_alter, "virtual", "table", " ", " ", " ", " "); 4589 addhanacmds(ESqlStatementType.sstalterworkloadclass, TBaseType.rrw_alter, "workload", "class", " ", " ", " ", " "); 4590 addhanacmds(ESqlStatementType.sstalterworkloadmapping, TBaseType.rrw_alter, "workload", "mapping", " ", " ", " ", " "); 4591 4592//backup 4593 addhanacmds(ESqlStatementType.sstbackupcancel, TBaseType.rrw_backup,"cancel"," "," "," "," "," "); 4594 addhanacmds(ESqlStatementType.sstbackupcatalogdelete, TBaseType.rrw_backup, "catalog", "delete", " ", " ", " ", " "); 4595 addhanacmds(ESqlStatementType.sstbackupcheck, TBaseType.rrw_backup,"check"," "," "," "," "," "); 4596 addhanacmds(ESqlStatementType.sstbackupcheckaccess, TBaseType.rrw_backup, "check", "access", " ", " ", " ", " "); 4597 addhanacmds(ESqlStatementType.sstbackupdata, TBaseType.rrw_backup, "data", " ", " ", " ", " ", " "); 4598 addhanacmds(ESqlStatementType.sstbackuplistdata, TBaseType.rrw_backup, "list", "data", " ", " ", " ", " "); 4599 4600 addhanacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 4601 4602//commit 4603 addhanacmds(ESqlStatementType.sstcomment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 4604 addhanacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 4605 addhanacmds(ESqlStatementType.sstconnect, TBaseType.rrw_connect, " ", " ", " ", " ", " ", " "); 4606 4607//create 4608 addhanacmds(ESqlStatementType.sstcreateauditpolicy, TBaseType.rrw_create, "audit", "policy", " ", " ", " ", " "); 4609 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "btree", "index", " ", " ", " ", " "); 4610 addhanacmds(ESqlStatementType.sstcreatecertificate, TBaseType.rrw_create, "certificate", " ", " ", " ", " ", " "); 4611 addhanacmds(ESqlStatementType.sstcreatecollection, TBaseType.rrw_create, "collection", " ", " ", " ", " ", " "); 4612 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "column", "table", " ", " ", " ", " "); 4613 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "cpbtree", "index", " ", " ", " ", " "); 4614 addhanacmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create, "credential", " ", " ", " ", " ", " "); 4615 addhanacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 4616 addhanacmds(ESqlStatementType.sstcreatefulltextindex, TBaseType.rrw_create, "fulltext", "index", " ", " ", " ", " "); 4617 addhanacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 4618 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "column", "table", " ", " "); 4619 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 4620 addhanacmds(ESqlStatementType.sstcreategraphworkspace, TBaseType.rrw_create, "graph", "workspace", " ", " ", " ", " "); 4621 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"history","column","table"," "," "," "); 4622 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 4623 addhanacmds(ESqlStatementType.sstcreateJWTProvider, TBaseType.rrw_create, "jwt", "provider", " ", " ", " ", " "); 4624 addhanacmds(ESqlStatementType.sstcreateLDAPProvider, TBaseType.rrw_create, "ldap", "provider", " ", " ", " ", " "); 4625 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"local","temporary","column","table"," "," "); 4626 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 4627 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "force", "editionable", "view", " "); 4628 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "or", "replace", "public", "synonym", " ", " "); 4629 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "or", "replace", "synonym", " ", " ", " "); 4630 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 4631 addhanacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 4632 addhanacmds(ESqlStatementType.sstcreatepse, TBaseType.rrw_create, "pse", " ", " ", " ", " ", " "); 4633 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "public", "synonym", " ", " ", " ", " "); 4634 addhanacmds(ESqlStatementType.sstcreateremotesource, TBaseType.rrw_create, "remote", "source", " ", " ", " ", " "); 4635 addhanacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "restricted", "user", " ", " ", " ", " "); 4636 addhanacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 4637 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "row", "table", " ", " ", " ", " "); 4638 addhanacmds(ESqlStatementType.sstcreatesamlprovider, TBaseType.rrw_create, "saml", "provider", " ", " ", " ", " "); 4639 addhanacmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 4640 addhanacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 4641 addhanacmds(ESqlStatementType.sstcreatestatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 4642 addhanacmds(ESqlStatementType.sstcreatestructuredprivilege, TBaseType.rrw_create, "structured", "privilege", " ", " ", " ", " "); 4643 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "synonym", " ", " ", " ", " ", " "); 4644 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 4645 addhanacmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 4646 addhanacmds(ESqlStatementType.sstcreatetype, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 4647 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 4648 addhanacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 4649 addhanacmds(ESqlStatementType.sstcreateusergroup, TBaseType.rrw_create, "usergroup", " ", " ", " ", " ", " "); 4650 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 4651 addhanacmds(ESqlStatementType.sstcreatevirtualfunction, TBaseType.rrw_create, "virtual", "function", " ", " ", " ", " "); 4652 addhanacmds(ESqlStatementType.sstcreatevirtualtable, TBaseType.rrw_create, "virtual", "table", " ", " ", " ", " "); 4653 addhanacmds(ESqlStatementType.sstcreateworkloadclass, TBaseType.rrw_create, "workload", "class", " ", " ", " ", " "); 4654 addhanacmds(ESqlStatementType.sstcreateworkloadmapping, TBaseType.rrw_create, "workload", "mapping", " ", " ", " ", " "); 4655 4656//DELETE 4657 addhanacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 4658 4659 addhanacmds(ESqlStatementType.sstdobeginend, TBaseType.rrw_do, "begin", " ", " ", " ", " ", " "); 4660 4661//drop 4662 addhanacmds(ESqlStatementType.sstdropauditpolicy, TBaseType.rrw_drop, "audit", "policy", " ", " ", " ", " "); 4663 addhanacmds(ESqlStatementType.sstdropcertificate, TBaseType.rrw_drop, "certificate", " ", " ", " ", " ", " "); 4664 addhanacmds(ESqlStatementType.sstdropcollection, TBaseType.rrw_drop, "collection", " ", " ", " ", " ", " "); 4665 addhanacmds(ESqlStatementType.sstdropcredential, TBaseType.rrw_drop, "credential", " ", " ", " ", " ", " "); 4666 addhanacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 4667 addhanacmds(ESqlStatementType.sstdropfulltextindex, TBaseType.rrw_drop, "fulltext", "index", " ", " ", " ", " "); 4668 addhanacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 4669 addhanacmds(ESqlStatementType.sstdropgraphworkspace, TBaseType.rrw_drop, "graph", "workspace", " ", " ", " ", " "); 4670 addhanacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 4671 addhanacmds(ESqlStatementType.sstdropJWTProvider, TBaseType.rrw_drop, "jwt", "provider", " ", " ", " ", " "); 4672 addhanacmds(ESqlStatementType.sstdropLDAPProvider, TBaseType.rrw_drop, "ldap", "provider", " ", " ", " ", " "); 4673 addhanacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 4674 addhanacmds(ESqlStatementType.sstdroppse, TBaseType.rrw_drop, "pse", " ", " ", " ", " ", " "); 4675 addhanacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "public", "synonym", " ", " ", " ", " "); 4676 addhanacmds(ESqlStatementType.sstdropremotesource, TBaseType.rrw_drop, "remote", "source", " ", " ", " ", " "); 4677 addhanacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 4678 addhanacmds(ESqlStatementType.sstdropsamlprovider, TBaseType.rrw_drop, "saml", "provider", " ", " ", " ", " "); 4679 addhanacmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 4680 addhanacmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 4681 addhanacmds(ESqlStatementType.sstdropstatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 4682 addhanacmds(ESqlStatementType.sstdropstructuredprivilege, TBaseType.rrw_drop, "structured", "privilege", " ", " ", " ", " "); 4683 addhanacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "synonym", " ", " ", " ", " ", " "); 4684 addhanacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 4685 addhanacmds(ESqlStatementType.sstdroptrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 4686 addhanacmds(ESqlStatementType.sstdroptype, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 4687 addhanacmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 4688 addhanacmds(ESqlStatementType.sstdropusergroup, TBaseType.rrw_drop, "usergroup", " ", " ", " ", " ", " "); 4689 addhanacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 4690 addhanacmds(ESqlStatementType.sstdropworkloadclass, TBaseType.rrw_drop, "workload", "class", " ", " ", " ", " "); 4691 addhanacmds(ESqlStatementType.sstdropworkloadmapping, TBaseType.rrw_drop, "workload", "mapping", " ", " ", " ", " "); 4692 4693 addhanacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, "plan", " ", " ", " ", " ", " "); 4694 addhanacmds(ESqlStatementType.sstexport, TBaseType.rrw_hana_export, " ", " ", " ", " ", " ", " "); 4695 4696//GRANT 4697 addhanacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 4698 4699 addhanacmds(ESqlStatementType.sstimport, TBaseType.rrw_hana_import, " ", " ", " ", " ", " ", " "); 4700 addhanacmds(ESqlStatementType.sstimportfrom, TBaseType.rrw_hana_import, "from", " ", " ", " ", " ", " "); 4701 addhanacmds(ESqlStatementType.sstimportscan, TBaseType.rrw_hana_import, "scan", " ", " ", " ", " ", " "); 4702 4703//insert 4704 addhanacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4705 4706// 4707 addhanacmds(ESqlStatementType.sstload, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 4708 addhanacmds(ESqlStatementType.sstlocktable, TBaseType.rrw_lock, "table", " ", " ", " ", " ", " "); 4709 4710 addhanacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, "into", " ", " ", " ", " ", " "); 4711 4712 addhanacmds(ESqlStatementType.sstmergedelta, TBaseType.rrw_merge, "delta", " ", " ", " ", " ", " "); 4713 addhanacmds(ESqlStatementType.sstmergedelta, TBaseType.rrw_merge,"history","delta"," "," "," "," "); 4714 4715 addhanacmds(ESqlStatementType.sstrecoverdata, TBaseType.rrw_hana_recover,"data"," "," "," "," "," "); 4716 addhanacmds(ESqlStatementType.sstrecoverdatabase, TBaseType.rrw_hana_recover, "database", " ", " ", " ", " ", " "); 4717 addhanacmds(ESqlStatementType.sstrefreshstatistics, TBaseType.rrw_refresh, "statistics", " ", " ", " ", " ", " "); 4718 addhanacmds(ESqlStatementType.sstrenamecollection, TBaseType.rrw_rename,"collection"," "," "," "," "," "); 4719 addhanacmds(ESqlStatementType.sstrenamecolumn, TBaseType.rrw_rename,"column"," "," "," "," "," "); 4720 addhanacmds(ESqlStatementType.sstrenamedatabase, TBaseType.rrw_rename,"database"," "," "," "," "," "); 4721 addhanacmds(ESqlStatementType.sstrenameindex, TBaseType.rrw_rename,"index"," "," "," "," "," "); 4722 addhanacmds(ESqlStatementType.sstrenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 4723 addhanacmds(ESqlStatementType.sstreplace, TBaseType.rrw_replace, " ", " ", " ", " ", " ", " "); 4724 4725 addhanacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 4726 4727 addhanacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 4728 4729 addhanacmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 4730//SELECT 4731 addhanacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4732 4733//SET 4734 addhanacmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 4735 addhanacmds(ESqlStatementType.sssethistorysession, TBaseType.rrw_set, "history", "session", " ", " ", " ", " "); 4736 addhanacmds(ESqlStatementType.sstsetpse, TBaseType.rrw_set, "pse", " ", " ", " ", " ", " "); 4737 addhanacmds(ESqlStatementType.sstsetschema, TBaseType.rrw_set, "schema", " ", " ", " ", " ", " "); 4738 addhanacmds(ESqlStatementType.sstsetsystemlicense, TBaseType.rrw_set, "system", "license", " ", " ", " ", " "); 4739 addhanacmds(ESqlStatementType.sstsettransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 4740 addhanacmds(ESqlStatementType.sstsettransactionautocommit, TBaseType.rrw_set, "transaction", "autocommit", " ", " ", " ", " "); 4741 4742 addhanacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 4743 4744 4745//TRUNCATE TABLE 4746 addhanacmds(ESqlStatementType.ssttruncatecollection, TBaseType.rrw_truncate, "collection", " ", " ", " ", " ", " "); 4747 addhanacmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table", " ", " ", " ", " ", " "); 4748 addhanacmds(ESqlStatementType.sstunload, TBaseType.rrw_hana_unload, " ", " ", " ", " ", " ", " "); 4749 addhanacmds(ESqlStatementType.sstunset, TBaseType.rrw_hana_unset, " ", " ", " ", " ", " ", " "); 4750 addhanacmds(ESqlStatementType.sstunsetpse, TBaseType.rrw_hana_unset, "pse", " ", " ", " ", " ", " "); 4751 addhanacmds(ESqlStatementType.sstunsetsystemlicense, TBaseType.rrw_hana_unset, "system", "license", " ", " ", " ", " "); 4752 4753//UPDATE 4754 addhanacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4755 4756 addhanacmds(ESqlStatementType.sstupsert, TBaseType.rrw_hana_upsert, " ", " ", " ", " ", " ", " "); 4757 addhanacmds(ESqlStatementType.sstvalidateLDAPProvider, TBaseType.rrw_hana_validate, "ldap", "provider", " ", " ", " ", " "); 4758 addhanacmds(ESqlStatementType.sstvalidateUser, TBaseType.rrw_hana_validate, "user", " ", " ", " ", " ", " "); 4759 4760 } 4761 4762ESqlStatementType findsybasecmd(TSourceToken ptoken){ 4763 if (sybasecmds.size() == 0) {initsybasecmds();} 4764 return finddbcmd(ptoken,sybasecmds); 4765} 4766 4767 ESqlStatementType findmssqlcmd(TSourceToken ptoken){ 4768 if (mssqlcmds.size() == 0) {initmssqlcmds();} 4769 return finddbcmd(ptoken,mssqlcmds); 4770 } 4771 4772 ESqlStatementType findteradatacmd(TSourceToken ptoken){ 4773 if (teradatacmds.size() == 0) {initteradatacmds();} 4774 return finddbcmd(ptoken,teradatacmds); 4775} 4776 4777ESqlStatementType findpostgresqlcmd(TSourceToken ptoken){ 4778 if (postgresqlcmds.size() == 0) {initpostgresqlcmds();} 4779 return finddbcmd(ptoken,postgresqlcmds); 4780} 4781 4782 ESqlStatementType findredshiftcmd(TSourceToken ptoken){ 4783 if (redshiftcmds.size() == 0) {initredshiftcmds();} 4784 return finddbcmd(ptoken,redshiftcmds); 4785 } 4786 4787 4788 ESqlStatementType findgreenplumcmd(TSourceToken ptoken){ 4789 if (greenplumcmds.size() == 0) {initgreenplumcmds();} 4790 return finddbcmd(ptoken,greenplumcmds); 4791} 4792 4793 4794ESqlStatementType findnetezzacmd(TSourceToken ptoken){ 4795 if (netezzacmds.size() == 0) {initnetezzacmds();} 4796 return finddbcmd(ptoken,netezzacmds); 4797} 4798 4799ESqlStatementType findsparksqlcmd(TSourceToken ptoken){ 4800 if (sparksqlcmds.size() == 0) {initsparksqlcmds();} 4801 return finddbcmd(ptoken,sparksqlcmds); 4802 } 4803 4804ESqlStatementType finddatabrickscmd(TSourceToken ptoken){ 4805 if (databrickscmds.size() == 0) {initdatabrickscmds();} 4806 return finddbcmd(ptoken,databrickscmds); 4807} 4808 ESqlStatementType findgaussdbcmd(TSourceToken ptoken){ 4809 if (gaussdbcmds.size() == 0) {initgaussdbcmds();} 4810 return finddbcmd(ptoken,gaussdbcmds); 4811 } 4812ESqlStatementType findprestocmd(TSourceToken ptoken){ 4813 if (prestocmds.size() == 0) {initprestocmds();} 4814 return finddbcmd(ptoken,prestocmds); 4815} 4816 4817ESqlStatementType findathenacmd(TSourceToken ptoken){ 4818 if (athenacmds.size() == 0) {initathenacmds();} 4819 return finddbcmd(ptoken,athenacmds); 4820} 4821 4822ESqlStatementType findmysqlcmd(TSourceToken ptoken){ 4823 if (mysqlcmds.size() == 0) {initmysqlcmds();} 4824 return finddbcmd(ptoken,mysqlcmds); 4825} 4826 4827ESqlStatementType findhivecmd(TSourceToken ptoken){ 4828 if (hivecmds.size() == 0) {inithivecmds();} 4829 return finddbcmd(ptoken,hivecmds); 4830 } 4831 4832ESqlStatementType finddb2cmd(TSourceToken ptoken){ 4833 if (db2cmds.size() == 0) {initdb2cmds();} 4834 return finddbcmd(ptoken,db2cmds); 4835 } 4836 4837 4838ESqlStatementType findoraclecmd(TSourceToken ptoken){ 4839 if (oraclecmds.size() == 0) {initoraclecmds();} 4840 return finddbcmd(ptoken,oraclecmds); 4841 } 4842 4843ESqlStatementType findmdxcmd(TSourceToken ptoken){ 4844 if (mdxcmds.size() == 0) {initmdxcmds();} 4845 return finddbcmd(ptoken,mdxcmds); 4846 } 4847 4848ESqlStatementType findinformixcmd(TSourceToken ptoken){ 4849 if (informixcmds.size() == 0) {initinformixcmds();} 4850 return finddbcmd(ptoken,informixcmds); 4851 } 4852 4853ESqlStatementType findhanacmd(TSourceToken ptoken){ 4854 if (hanacmds.size() == 0) {inithanacmds();} 4855 return finddbcmd(ptoken,hanacmds); 4856} 4857 4858ESqlStatementType findverticacmd(TSourceToken ptoken){ 4859 if (verticacmds.size() == 0) {initverticacmds();} 4860 return finddbcmd(ptoken,verticacmds); 4861} 4862 4863ESqlStatementType findcouchbasecmd(TSourceToken ptoken){ 4864 if (couchbasecmds.size() == 0) {initcouchbasecmds();} 4865 return finddbcmd(ptoken,couchbasecmds); 4866} 4867 4868ESqlStatementType findsnowflakecmd(TSourceToken ptoken){ 4869 if (snowflakecmds.size() == 0) {initsnowflakecmds();} 4870 return finddbcmd(ptoken,snowflakecmds); 4871} 4872 4873ESqlStatementType findbigquerycmd(TSourceToken ptoken){ 4874 if (bigquerycmds.size() == 0) {initbigquerycmds();} 4875 return finddbcmd(ptoken,bigquerycmds); 4876} 4877 4878TCustomSqlStatement isnetezza(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 4879 TCustomSqlStatement ret = null; 4880 4881 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 4882 4883 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 4884 || (pcst.tokencode == TBaseType.cmtslashstar) 4885 || (pcst.tokencode == TBaseType.lexspace) 4886 || (pcst.tokencode == TBaseType.lexnewline) 4887 || (pcst.tokentype == ETokenType.ttsemicolon) ) 4888 { 4889 return null; 4890 } 4891 4892 int lcpos = pcst.posinlist; 4893 TSourceTokenList lcsourcetokenlist = pcst.container; 4894 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 4895 4896 //subquery after semicolon or at first line 4897 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 4898 { 4899 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 4900 if ( k >0 ) 4901 { 4902 ret = new TSelectSqlStatement(pdbvendor); 4903 } 4904 4905 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); // ( with 4906 if ( k >0 ) 4907 { 4908 ret = new TSelectSqlStatement(pdbvendor); 4909 } 4910 4911 return ret; 4912 } 4913 4914 //cte 4915 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 4916 { 4917 ret = findcte(pcst,pdbvendor); 4918 if ( (ret != null) ) return ret; 4919 } 4920 4921 gnewsqlstatementtype = findnetezzacmd(pcst); 4922 4923 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4924 switch (gnewsqlstatementtype) { // 4925 case sstinvalid: 4926 { 4927 ret = null; 4928 4929 if ( pstate == EFindSqlStateType.stnormal ) 4930 { 4931 } 4932 break; 4933 } 4934 case sstselect: 4935 { 4936 boolean lcisnewsql = true; 4937 4938 if ( pstate != EFindSqlStateType.stnormal ) 4939 { 4940 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4941 if ( (lcprevsolidtoken != null) ) 4942 { 4943 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 4944 lcisnewsql = false; //subqery 4945 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 4946 lcisnewsql = false; 4947 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 4948 lcisnewsql = false; 4949 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 4950 lcisnewsql = false; 4951 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 4952 lcisnewsql = false; 4953 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 4954 lcisnewsql = false; 4955 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 4956 { 4957 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 4958 lcisnewsql = false; 4959 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 4960 lcisnewsql = false; 4961 } 4962 4963 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 4964 { 4965 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 4966 if ( (lcpprevsolidtoken != null) ) 4967 { 4968 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 4969 lcisnewsql = false; 4970 } 4971 } 4972 4973 } 4974 4975 4976 if ( (lccurrentsqlstatement != null) ) 4977 { 4978 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 4979 lcisnewsql = false; 4980 } 4981 4982 } 4983 4984 if ( lcisnewsql ) 4985 ret = new TSelectSqlStatement(pdbvendor); 4986 4987 break; 4988 } 4989 case sstinsert: 4990 { 4991 boolean lcisnewsql = true; 4992 if ( pstate != EFindSqlStateType.stnormal ) 4993 { 4994 if ( (lccurrentsqlstatement != null) ) 4995 { 4996 4997 } 4998 } 4999 5000 if ( lcisnewsql ) 5001 ret = new TInsertSqlStatement(pdbvendor); 5002 5003 break; 5004 } 5005 case sstupdate: 5006 { 5007 boolean lcisnewsql = true; 5008 if ( pstate != EFindSqlStateType.stnormal ) 5009 { 5010 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5011 if ( (lcprevsolidtoken != null) ) 5012 { // 5013 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5014 lcisnewsql = false; 5015 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5016 lcisnewsql = false; 5017 } 5018 5019 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5020 if ( (lcnextsolidtoken != null) ) 5021 { 5022 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5023 { 5024 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5025 if ( k == 0 ) lcisnewsql = false; 5026 } 5027 } 5028 5029 5030 if ( (lccurrentsqlstatement != null) ) 5031 { 5032 } 5033 } 5034 5035 if ( lcisnewsql ) 5036 { 5037 ret = new TUpdateSqlStatement(pdbvendor); 5038 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5039 } 5040 break; 5041 } 5042 case sstdelete: 5043 { 5044 boolean lcisnewsql = true; 5045 5046 if ( pstate != EFindSqlStateType.stnormal ) 5047 { 5048 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5049 if ( (lcprevsolidtoken != null) ) 5050 { 5051 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5052 lcisnewsql = false; 5053 } 5054 5055 if ( (lccurrentsqlstatement != null) ) 5056 { 5057 } 5058 } 5059 5060 if ( lcisnewsql ) 5061 ret = new TDeleteSqlStatement(pdbvendor); 5062 5063 break; 5064 } 5065 case sstTruncate: 5066 { 5067 ret = new TTruncateStatement(pdbvendor); 5068 ret.sqlstatementtype = gnewsqlstatementtype; 5069 break; 5070 } 5071 case sstcreatetable: 5072 case sstnetezzaCreateExternalTable: 5073 { 5074 ret = new TCreateTableSqlStatement(pdbvendor); 5075 break; 5076 } 5077 case sstcreateview: 5078 { 5079 ret = new TCreateViewSqlStatement(pdbvendor); 5080 break; 5081 } 5082 case sstcreatematerializedview:{ 5083 ret = new TCreateMaterializedSqlStatement(pdbvendor); 5084 break; 5085 } 5086 case sstcreatedatabase: 5087 { 5088 ret = new TCreateDatabaseSqlStatement(pdbvendor); 5089 break; 5090 } 5091 case sstdroptable: 5092 { 5093 ret = new TDropTableSqlStatement(pdbvendor); 5094 break; 5095 } 5096 case sstdropview: 5097 { 5098 ret = new TDropViewSqlStatement(pdbvendor); 5099 break; 5100 } 5101 case sstaltertable: 5102 { 5103 ret = new TAlterTableStatement(pdbvendor); 5104 break; 5105 } 5106 case sstaltersession: 5107 { 5108 ret = new TAlterSessionStatement(pdbvendor); 5109 break; 5110 } 5111 case sstnetezzaGroomTable: 5112 { 5113 ret = new TNetezzaGroomTable(pdbvendor); 5114 break; 5115 } 5116 case sstnetezzaGenerateStatistics: 5117 { 5118 ret = new TNetezzaGenerateStatistics(pdbvendor); 5119 break; 5120 } 5121 case sstnetezzaAlterTable: 5122 { 5123 ret = new TAlterTableStatement(pdbvendor); 5124 break; 5125 } 5126 case sstnetezzaDropSchema: 5127 { 5128 ret = new TDropSchemaSqlStatement(pdbvendor); 5129 break; 5130 } 5131 case sstnetezzaCreateUser: 5132 { 5133 ret = new TCreateUserStmt(pdbvendor); 5134 break; 5135 } 5136 case sstnetezzaAlterView: 5137 { 5138 ret = new TAlterViewStatement(pdbvendor); 5139 break; 5140 } 5141 case sstnetezzaAlterDatabase: 5142 { 5143 ret = new TAlterDatabaseStmt(pdbvendor); 5144 break; 5145 } 5146 case sstAlterSchema: 5147 { 5148 ret = new TAlterSchemaStmt(pdbvendor); 5149 break; 5150 } 5151 case sstAlterSynonym: 5152 { 5153 ret = new TAlterSynonymStmt(pdbvendor); 5154 break; 5155 } 5156 case sstnetezzaDropTable: 5157 { 5158 ret = new TDropTableSqlStatement(pdbvendor); 5159 break; 5160 } 5161 case sstnetezzaDropView: 5162 { 5163 ret = new TDropViewSqlStatement(pdbvendor); 5164 break; 5165 } 5166 case sstmerge: 5167 { 5168 ret = new TMergeSqlStatement(pdbvendor); 5169 break; 5170 } 5171 case sstdropprocedure: 5172 { 5173 ret = new TDropProcedureStmt(pdbvendor); 5174 break; 5175 } 5176 case sstdropsynonym: 5177 ret = new TDropSynonymStmt(pdbvendor); 5178 break; 5179 case sstdropdatabase: 5180 ret = new TDropDatabaseStmt(pdbvendor); 5181 break; 5182 case sstcall: 5183 ret = new TCallStatement(pdbvendor); 5184 break; 5185 case sstcreatesynonym: 5186 ret = new TCreateSynonymStmt(pdbvendor); 5187 break; 5188 case sstcreatesequence: 5189 ret = new TCreateSequenceStmt(pdbvendor); 5190 break; 5191 case sstnetezzaDropSequence: 5192 ret = new TDropSequenceStmt(pdbvendor); 5193 break; 5194 case sstnetezzaGrant: 5195 ret = new TGrantStmt(pdbvendor); 5196 break; 5197 case sstexecutestmt: 5198 ret = new TExecuteSqlStatement(pdbvendor); 5199 break; 5200 case sstlocktable: 5201 ret = new TLockTableStmt(pdbvendor); 5202 break; 5203 case sstnetezzaComment: 5204 ret = new TCommentOnSqlStmt(pdbvendor); 5205 break; 5206 case sstcreateprocedure: 5207 ret = new TCreateProcedureStmt(pdbvendor); 5208 break; 5209 case sstnetezzaCopy: 5210 ret = new TCopyStmt(pdbvendor); 5211 break; 5212 case sstExplain: 5213 ret = new TExplainPlan(pdbvendor); 5214 break; 5215 case sstSetCatalog: 5216 ret = new TSetCatalogStmt(pdbvendor); 5217 break; 5218 case sstSetSchema: 5219 ret = new TSetSchemaStmt(pdbvendor); 5220 break; 5221 case sstnetezzaCommit: 5222 case sstnetezzaRollback: 5223 case sstnetezzaRevoke: 5224 default: 5225 { 5226 ret = new TUnknownSqlStatement(pdbvendor); 5227 ret.sqlstatementtype = gnewsqlstatementtype; 5228 break; 5229 } 5230 } // case 5231 5232 return ret; 5233} 5234 5235 TCustomSqlStatement isredshift(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 5236 TCustomSqlStatement ret = null; 5237 5238 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 5239 5240 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 5241 || (pcst.tokencode == TBaseType.cmtslashstar) 5242 || (pcst.tokencode == TBaseType.lexspace) 5243 || (pcst.tokencode == TBaseType.lexnewline) 5244 || (pcst.tokentype == ETokenType.ttsemicolon) ) 5245 { 5246 return null; 5247 } 5248 5249 int lcpos = pcst.posinlist; 5250 TSourceTokenList lcsourcetokenlist = pcst.container; 5251 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 5252 5253 //subquery after semicolon or at first line 5254 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 5255 { 5256 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 5257 if ( k >0 ) 5258 { 5259 ret = new TSelectSqlStatement(pdbvendor); 5260 } 5261 5262 return ret; 5263 } 5264 5265 //cte 5266 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 5267 { 5268 ret = findcte(pcst,pdbvendor); 5269 if ( (ret != null) ) return ret; 5270 } 5271 5272 gnewsqlstatementtype = findredshiftcmd(pcst); 5273 5274 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5275 switch (gnewsqlstatementtype) { // 5276 case sstinvalid: 5277 { 5278 ret = null; 5279 break; 5280 } 5281 case sstselect: 5282 { 5283 boolean lcisnewsql = true; 5284 5285 if ( pstate != EFindSqlStateType.stnormal ) 5286 { 5287 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5288 if ( (lcprevsolidtoken != null) ) 5289 { 5290 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5291 lcisnewsql = false; //subqery 5292 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 5293 lcisnewsql = false; 5294 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 5295 lcisnewsql = false; 5296 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 5297 lcisnewsql = false; 5298 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 5299 lcisnewsql = false; 5300 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 5301 lcisnewsql = false; 5302 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 5303 { 5304 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 5305 lcisnewsql = false; 5306 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 5307 lcisnewsql = false; 5308 } 5309 5310 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 5311 { 5312 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 5313 if ( (lcpprevsolidtoken != null) ) 5314 { 5315 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5316 lcisnewsql = false; 5317 } 5318 } 5319 5320 } 5321 5322 5323 if ( (lccurrentsqlstatement != null) ) 5324 { 5325 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5326 lcisnewsql = false; 5327 } 5328 5329 } 5330 5331 if ( lcisnewsql ) 5332 ret = new TSelectSqlStatement(pdbvendor); 5333 5334 break; 5335 } 5336 case sstinsert: 5337 { 5338 boolean lcisnewsql = true; 5339 if ( pstate != EFindSqlStateType.stnormal ) 5340 { 5341 if ( (lccurrentsqlstatement != null) ) 5342 { 5343 5344 } 5345 } 5346 5347 if ( lcisnewsql ) 5348 ret = new TInsertSqlStatement(pdbvendor); 5349 5350 break; 5351 } 5352 case sstupdate: 5353 { 5354 boolean lcisnewsql = true; 5355 if ( pstate != EFindSqlStateType.stnormal ) 5356 { 5357 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5358 if ( (lcprevsolidtoken != null) ) 5359 { // 5360 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5361 lcisnewsql = false; 5362 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5363 lcisnewsql = false; 5364 } 5365 5366 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5367 if ( (lcnextsolidtoken != null) ) 5368 { 5369 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5370 { 5371 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5372 if ( k == 0 ) lcisnewsql = false; 5373 } 5374 } 5375 5376 5377 if ( (lccurrentsqlstatement != null) ) 5378 { 5379 } 5380 } 5381 5382 if ( lcisnewsql ) 5383 { 5384 ret = new TUpdateSqlStatement(pdbvendor); 5385 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5386 } 5387 break; 5388 } 5389 case sstdelete: 5390 { 5391 boolean lcisnewsql = true; 5392 5393 if ( pstate != EFindSqlStateType.stnormal ) 5394 { 5395 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5396 if ( (lcprevsolidtoken != null) ) 5397 { 5398 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5399 lcisnewsql = false; 5400 } 5401 5402 if ( (lccurrentsqlstatement != null) ) 5403 { 5404 } 5405 } 5406 5407 if ( lcisnewsql ) 5408 ret = new TDeleteSqlStatement(pdbvendor); 5409 5410 break; 5411 } 5412 case sstredshiftAbort: 5413 { 5414 ret = new TRedshiftAbort(pdbvendor); 5415 ret.sqlstatementtype = gnewsqlstatementtype; 5416 break; 5417 } 5418 case sstalterdatabase: 5419 { 5420 ret = new TAlterDatabaseStmt(pdbvendor); 5421 break; 5422 } 5423 case sstredshiftAlterGroup: 5424 { 5425 ret = new TAlterGroup(pdbvendor); 5426 break; 5427 } 5428 case sstredshiftAlterSchema: 5429 { 5430 ret = new TRedshiftAlterSchema(pdbvendor); 5431 break; 5432 } 5433 case sstaltertable: 5434 { 5435 ret = new TAlterTableStatement(pdbvendor); 5436 break; 5437 } 5438 case sstredshiftAlterUser: 5439 { 5440 ret = new TRedshiftAlterUser(pdbvendor); 5441 break; 5442 } 5443 case sstredshiftAnalyze: 5444 { 5445 ret = new TRedshiftAnalyze(pdbvendor); 5446 break; 5447 } 5448 case sstredshiftAnalyzeCompression: 5449 { 5450 ret = new TRedshiftAnalyzeCompression(pdbvendor); 5451 break; 5452 } 5453 case sstredshiftBegin: 5454 { 5455 ret = new TRedshiftBegin(pdbvendor); 5456 break; 5457 } 5458 case sstredshiftCancel: 5459 { 5460 ret = new TRedshiftCancel(pdbvendor); 5461 break; 5462 } 5463 case sstredshiftClose: 5464 { 5465 ret = new TCloseStmt(pdbvendor); 5466 break; 5467 } 5468 case sstredshiftComment: 5469 { 5470 ret = new TRedshiftComment(pdbvendor); 5471 break; 5472 } 5473 case sstredshiftCommit: 5474 { 5475 ret = new TRedshiftCommit(pdbvendor); 5476 break; 5477 } 5478 case sstredshiftCopy: 5479 { 5480 ret = new TRedshiftCopy(pdbvendor); 5481 break; 5482 } 5483 case sstcreatedatabase: 5484 { 5485 ret = new TCreateDatabaseSqlStatement(pdbvendor); 5486 break; 5487 } 5488 case sstredshiftCreateGroup: 5489 { 5490 ret = new TCreateGroup(pdbvendor); 5491 break; 5492 } 5493 case sstredshiftCreateSchema: 5494 { 5495 ret = new TCreateSchemaSqlStatement(pdbvendor); 5496 break; 5497 } 5498 case sstcreatetable: 5499 { 5500 ret = new TCreateTableSqlStatement(pdbvendor); 5501 break; 5502 } 5503 case sstredshiftCreateUser: 5504 { 5505 ret = new TRedshiftCreateUser(pdbvendor); 5506 break; 5507 } 5508 case sstcreateview: 5509 { 5510 ret = new TCreateViewSqlStatement(pdbvendor); 5511 break; 5512 } 5513 case sstredshiftDeallocate: 5514 { 5515 ret = new TRedshiftDeallocate(pdbvendor); 5516 break; 5517 } 5518 case sstredshiftDeclare: 5519 { 5520 ret = new TRedshiftDeclare(pdbvendor); 5521 break; 5522 } 5523 case sstredshiftDropDatabase: 5524 { 5525 ret = new TDropDatabaseStmt(pdbvendor); 5526 break; 5527 } 5528 case sstredshiftDropGroup: 5529 { 5530 ret = new TDropGroup(pdbvendor); 5531 break; 5532 } 5533 case sstredshiftDropSchema: 5534 { 5535 ret = new TRedshiftDropSchema(pdbvendor); 5536 break; 5537 } 5538 case sstdroptable: 5539 { 5540 ret = new TDropTableSqlStatement(pdbvendor); 5541 break; 5542 } 5543 case sstredshiftDropUser: 5544 { 5545 ret = new TRedshiftDropUser(pdbvendor); 5546 break; 5547 } 5548 case sstdropview: 5549 { 5550 ret = new TDropViewSqlStatement(pdbvendor); 5551 break; 5552 } 5553 case sstredshiftEnd: 5554 { 5555 ret = new TRedshiftEnd(pdbvendor); 5556 break; 5557 } 5558 case sstExecutePreparedStmt: 5559 { 5560 ret = new TExecuteSqlStatement(pdbvendor); 5561 break; 5562 } 5563 case sstExplain: 5564 { 5565 ret = new TExplainPlan(pdbvendor); 5566 break; 5567 } 5568 case sstFetchFrom: 5569 { 5570 ret = new TFetchFromStmt(pdbvendor); 5571 break; 5572 } 5573 case sstGrant: 5574 { 5575 ret = new TGrantStmt(pdbvendor); 5576 break; 5577 } 5578 case sstredshiftLock: 5579 { 5580 ret = new TLockTableStmt(pdbvendor); 5581 break; 5582 } 5583 case sstredshiftPrepare: 5584 { 5585 ret = new TRedshiftPrepare(pdbvendor); 5586 break; 5587 } 5588 case sstredshiftReset: 5589 { 5590 ret = new TRedshiftReset(pdbvendor); 5591 break; 5592 } 5593 case sstRevoke: 5594 { 5595 ret = new TRevokeStmt(pdbvendor); 5596 break; 5597 } 5598 case sstredshiftRollback: 5599 { 5600 ret = new TRedshiftRollback(pdbvendor); 5601 break; 5602 } 5603 case sstredshiftSet: 5604 { 5605 ret = new TSetStmt(pdbvendor); 5606 break; 5607 } 5608 case sstredshiftSetSessionAuthorization: 5609 { 5610 ret = new TRedshiftSessionAuthorization(pdbvendor); 5611 break; 5612 } 5613 case sstredshiftShow: 5614 { 5615 ret = new TShowStmt(pdbvendor); 5616 break; 5617 } 5618 case sstStartTransaction: 5619 { 5620 ret = new TStartTransactionStmt(pdbvendor); 5621 break; 5622 } 5623 case sstTruncate: 5624 { 5625 ret = new TTruncateStatement(pdbvendor); 5626 break; 5627 } 5628 case sstredshiftUnload: 5629 { 5630 ret = new TUnloadStmt(pdbvendor); 5631 break; 5632 } 5633 case sstredshiftVacuum: 5634 { 5635 ret = new TRedshiftVacuum(pdbvendor); 5636 break; 5637 } 5638 case sstcreatefunction: 5639 ret = new TCreateFunctionStmt(pdbvendor); 5640 break; 5641 case sstcreateprocedure: 5642 ret = new TCreateProcedureStmt(pdbvendor); 5643 break; 5644 case sstcreatematerializedview:{ 5645 ret = new TCreateMaterializedSqlStatement(pdbvendor); 5646 break; 5647 } 5648 case sstcall: 5649 ret = new TCallStatement(pdbvendor); 5650 break; 5651 case sstmerge: 5652 { 5653 ret = new TMergeSqlStatement(pdbvendor); 5654 break; 5655 } 5656 default: 5657 { 5658 ret = new TUnknownSqlStatement(pdbvendor); 5659 ret.sqlstatementtype = gnewsqlstatementtype; 5660 break; 5661 } 5662 } // case 5663 5664 return ret; 5665 } 5666 TCustomSqlStatement isgaussdb(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 5667 TCustomSqlStatement ret = null; 5668 5669 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 5670 5671 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 5672 || (pcst.tokencode == TBaseType.cmtslashstar) 5673 || (pcst.tokencode == TBaseType.lexspace) 5674 || (pcst.tokencode == TBaseType.lexnewline) 5675 || (pcst.tokentype == ETokenType.ttsemicolon) ) 5676 { 5677 return null; 5678 } 5679 5680 int lcpos = pcst.posinlist; 5681 TSourceTokenList lcsourcetokenlist = pcst.container; 5682 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 5683 5684 //subquery after semicolon or at first line 5685 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 5686 { 5687 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 5688 if ( k >0 ) 5689 { 5690 ret = new TSelectSqlStatement(pdbvendor); 5691 }else{ 5692 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); 5693 if ( k >0 ) 5694 { // syntax like: (with ... ) 5695 ret = new TSelectSqlStatement(pdbvendor); 5696 } 5697 } 5698 5699 return ret; 5700 } 5701 5702 //cte 5703 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 5704 { 5705 ret = findcte(pcst,pdbvendor); 5706 if ( (ret != null) ) return ret; 5707 } 5708 5709 gnewsqlstatementtype = findgaussdbcmd(pcst); 5710 5711 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5712 switch (gnewsqlstatementtype) { // 5713 case sstinvalid: 5714 { 5715 ret = null; 5716 5717 if ( pstate == EFindSqlStateType.stnormal ) 5718 { 5719 if ( pcst.tokencode == TBaseType.label_begin ) 5720 { 5721 ret = new TCommonBlock(pdbvendor); 5722 gnewsqlstatementtype = ret.sqlstatementtype; 5723 5724 } 5725 else if ( pcst.tokencode == TBaseType.rrw_declare ) 5726 { 5727 ret = new TCommonBlock(pdbvendor); 5728 gnewsqlstatementtype = ret.sqlstatementtype; 5729 } 5730 else if ( pcst.tokencode == TBaseType.rrw_begin ) 5731 { 5732 // https://support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0498.html 5733 // 有两种可能 1:开启匿名块,或 2:开启事务 5734 boolean isBlock = true; 5735 TSourceToken st = pcst.nextSolidToken(); 5736 if (st != null){ 5737 if ((st.tokencode == ';') 5738 ||(st.toString().equalsIgnoreCase("work")) 5739 ||(st.toString().equalsIgnoreCase("transaction")) 5740 ){ 5741 isBlock = false; 5742 } 5743 } 5744 if (isBlock){ 5745 ret = new TCommonBlock(pdbvendor); 5746 gnewsqlstatementtype = ret.sqlstatementtype; 5747 }else{ 5748 ret = new TStartTransactionStmt(pdbvendor); 5749 gnewsqlstatementtype = ret.sqlstatementtype; 5750 pcst.tokencode = TBaseType.GAUSSDB_BEGIN_TRANSACTION; 5751 } 5752 5753 } 5754 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 5755 { 5756 ret = new TCreateProcedureStmt(pdbvendor); 5757 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 5758 gnewsqlstatementtype = ret.sqlstatementtype; 5759 } 5760 else if ( pcst.tokencode == TBaseType.rrw_function ) 5761 { 5762 ret = new TPlsqlCreateFunction(pdbvendor); 5763 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 5764 gnewsqlstatementtype = ret.sqlstatementtype; 5765 } 5766 else if ( pcst.tokencode == TBaseType.rrw_package ) 5767 { 5768 ret = new TPlsqlCreatePackage(pdbvendor); 5769 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 5770 gnewsqlstatementtype = ret.sqlstatementtype; 5771 } 5772 } 5773 break; 5774 } 5775 case sstpostgresqlDeclare:{ 5776 // https://support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0554.html 5777 // declare cursor_name [ BINARY ] [ NO SCROLL ] CURSOR ..., 这是单个的定义游标语句 5778 // 下面这种类型的定义才是开始一个 匿名块 5779 // [DECLARE [declare_statements]] 5780 //BEGIN 5781 //execution_statements 5782 //END; 5783 5784 // 判断逻辑如下: 5785 // 1. 如果 declare 后直接跟 CURSOR, 那就是开启一个 匿名块 5786 // 2. 如果 declare 后直接跟的是一个 identifier, 那再检查之后的第2或3或4个token是否为 CURSOR, 5787 // 如果是,该语句为 单个的定义游标语句,否则为 匿名块 5788 5789 boolean isBlock = true; 5790 TSourceToken st = pcst.nextSolidToken(); 5791 if (st != null){ 5792 if (st.tokencode == TBaseType.GAUSSDB_CURSOR){ 5793 isBlock = true; 5794 }else if (st.tokencode == TBaseType.ident){ 5795 st = st.nextSolidToken(); 5796 if (st != null){ 5797 if ((st.tokencode == TBaseType.GAUSSDB_CURSOR) 5798 ||(st.tokencode == TBaseType.rrw_binary) 5799 ||(st.toString().equalsIgnoreCase("no")) 5800 ){ 5801 isBlock = false; 5802 } 5803 } 5804 } 5805 } 5806 if (isBlock){ 5807 ret = new TCommonBlock(pdbvendor); 5808 gnewsqlstatementtype = ret.sqlstatementtype; 5809 }else{ 5810 ret = new TDeclareCursorStmt(pdbvendor); 5811 gnewsqlstatementtype = ret.sqlstatementtype; 5812 pcst.tokencode = TBaseType.GAUSSDB_DECLARE_SINGLE_STMT; 5813 } 5814 5815 break; 5816 } 5817 case sstmerge: 5818 { 5819 ret = new TMergeSqlStatement(pdbvendor); 5820 ret.sqlstatementtype = gnewsqlstatementtype; 5821 break; 5822 } 5823 case sstcreatesynonym: 5824 ret = new TCreateSynonymStmt(pdbvendor); 5825 break; 5826 case sstdropsynonym: 5827 ret = new TDropSynonymStmt(pdbvendor); 5828 break; 5829 case sstAlterPackage: 5830 ret = new TAlterPackageStmt(pdbvendor); 5831 break; 5832 case sstpostgresqlRefreshMaterializedView: 5833 ret = new TRefreshMaterializedViewStmt(pdbvendor); 5834 break; 5835 case sstAlterSynonym: 5836 ret = new TAlterSynonymStmt(pdbvendor); 5837 break; 5838 case sstsavepoint: 5839 { 5840 ret = new TSavepointStmt(pdbvendor); 5841 ret.sqlstatementtype = gnewsqlstatementtype; 5842 break; 5843 } 5844 case sstselect: 5845 { 5846 boolean lcisnewsql = true; 5847 5848 if ( pstate != EFindSqlStateType.stnormal ) 5849 { 5850 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5851 if ( (lcprevsolidtoken != null) ) 5852 { 5853 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5854 lcisnewsql = false; //subqery 5855 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 5856 lcisnewsql = false; 5857 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 5858 lcisnewsql = false; 5859 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 5860 lcisnewsql = false; 5861 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 5862 lcisnewsql = false; 5863 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 5864 lcisnewsql = false; 5865 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 5866 { 5867 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 5868 lcisnewsql = false; 5869 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 5870 lcisnewsql = false; 5871 } 5872 5873 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 5874 { 5875 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 5876 if ( (lcpprevsolidtoken != null) ) 5877 { 5878 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5879 lcisnewsql = false; 5880 } 5881 } 5882 5883 } 5884 5885 5886 if ( (lccurrentsqlstatement != null) ) 5887 { 5888 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5889 lcisnewsql = false; 5890 } 5891 5892 } 5893 5894 if ( lcisnewsql ) 5895 ret = new TSelectSqlStatement(pdbvendor); 5896 5897 break; 5898 } 5899 case sstinsert: 5900 { 5901 boolean lcisnewsql = true; 5902 if ( pstate != EFindSqlStateType.stnormal ) 5903 { 5904 if ( (lccurrentsqlstatement != null) ) 5905 { 5906 5907 } 5908 } 5909 5910 if ( lcisnewsql ) 5911 ret = new TInsertSqlStatement(pdbvendor); 5912 5913 break; 5914 } 5915 case sstupdate: 5916 { 5917 boolean lcisnewsql = true; 5918 if ( pstate != EFindSqlStateType.stnormal ) 5919 { 5920 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5921 if ( (lcprevsolidtoken != null) ) 5922 { // 5923 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5924 lcisnewsql = false; 5925 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5926 lcisnewsql = false; 5927 } 5928 5929 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5930 if ( (lcnextsolidtoken != null) ) 5931 { 5932 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5933 { 5934 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5935 if ( k == 0 ) lcisnewsql = false; 5936 } 5937 } 5938 5939 5940 if ( (lccurrentsqlstatement != null) ) 5941 { 5942 } 5943 } 5944 5945 if ( lcisnewsql ) 5946 { 5947 ret = new TUpdateSqlStatement(pdbvendor); 5948 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5949 } 5950 break; 5951 } 5952 case sstdelete: 5953 { 5954 boolean lcisnewsql = true; 5955 5956 if ( pstate != EFindSqlStateType.stnormal ) 5957 { 5958 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5959 if ( (lcprevsolidtoken != null) ) 5960 { 5961 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5962 lcisnewsql = false; 5963 } 5964 5965 if ( (lccurrentsqlstatement != null) ) 5966 { 5967 } 5968 } 5969 5970 if ( lcisnewsql ) 5971 ret = new TDeleteSqlStatement(pdbvendor); 5972 5973 break; 5974 } 5975 case sstoraclecommit: 5976 { 5977 ret = new TUnknownSqlStatement(pdbvendor); 5978 ret.sqlstatementtype = gnewsqlstatementtype; 5979 break; 5980 } 5981 case sstoraclerollback: 5982 { 5983 ret = new TUnknownSqlStatement(pdbvendor); 5984 ret.sqlstatementtype = gnewsqlstatementtype; 5985 break; 5986 } 5987 case sstoraclesavepoint: 5988 { 5989 ret = new TUnknownSqlStatement(pdbvendor); 5990 ret.sqlstatementtype = gnewsqlstatementtype; 5991 break; 5992 } 5993 case sstoraclerevoke: 5994 { 5995 ret = new TUnknownSqlStatement(pdbvendor); 5996 ret.sqlstatementtype = gnewsqlstatementtype; 5997 break; 5998 } 5999 case sstoraclegrant: 6000 { 6001 ret = new TUnknownSqlStatement(pdbvendor); 6002 //ret = new TGrantStmt(pdbvendor); 6003 ret.sqlstatementtype = gnewsqlstatementtype; 6004 break; 6005 } 6006 case sstoracleanalyze: 6007 { 6008 ret = new TUnknownSqlStatement(pdbvendor); 6009 ret.sqlstatementtype = gnewsqlstatementtype; 6010 break; 6011 } 6012 case sstoracletruncate: 6013 { 6014 ret = new TUnknownSqlStatement(pdbvendor); 6015 ret.sqlstatementtype = gnewsqlstatementtype; 6016 break; 6017 } 6018 case sstcreatetable: 6019 { 6020 ret = new TCreateTableSqlStatement(pdbvendor); 6021 break; 6022 } 6023 case sstoraclecreateview: 6024 { 6025 ret = new TCreateViewSqlStatement(pdbvendor); 6026 break; 6027 } 6028 case sstcreatematerializedview:{ 6029 ret = new TCreateMaterializedSqlStatement(pdbvendor); 6030 break; 6031 } 6032 case sstoraclecreateindex: 6033 { 6034 ret = new TCreateIndexSqlStatement(pdbvendor); 6035 break; 6036 } 6037 case sstoraclecreatedatabase: 6038 { 6039 ret = new TCreateDatabaseSqlStatement(pdbvendor); 6040 break; 6041 } 6042 case sstoracledroptable: 6043 { 6044 ret = new TDropTableSqlStatement(pdbvendor); 6045 break; 6046 } 6047 case sstoracledropview: 6048 { 6049 ret = new TDropViewSqlStatement(pdbvendor); 6050 break; 6051 } 6052 case sstoracledropindex: 6053 { 6054 ret = new TDropIndexSqlStatement(pdbvendor); 6055 break; 6056 } 6057 case sstaltertable: 6058 { 6059 ret = new TAlterTableStatement(pdbvendor); 6060 break; 6061 } 6062 case sstoraclealtersession: 6063 { 6064 ret = new TAlterSessionStatement(pdbvendor); 6065 break; 6066 } 6067 case sstplsql_createprocedure: 6068 { 6069 ret = new TPlsqlCreateProcedure(pdbvendor); 6070 ret.sqlstatementtype = gnewsqlstatementtype; 6071 // System.out.println(gnewsqlstatementtype); 6072 break; 6073 } 6074 case sstplsql_createfunction: 6075 { 6076 ret = new TPlsqlCreateFunction(pdbvendor); 6077 ret.sqlstatementtype = gnewsqlstatementtype; 6078 // System.out.println(gnewsqlstatementtype); 6079 break; 6080 } 6081 case sstplsql_createpackage: 6082 { 6083 ret = new TPlsqlCreatePackage(pdbvendor); 6084 ret.sqlstatementtype = gnewsqlstatementtype; 6085 // System.out.println(gnewsqlstatementtype); 6086 break; 6087 } 6088 case sstoraclecreatepackagebody: 6089 { 6090 ret = new TPlsqlCreatePackage(pdbvendor); 6091 ret.sqlstatementtype = gnewsqlstatementtype; 6092 //ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6093 break; 6094 } 6095 case sstplsql_createtrigger: 6096 { 6097 ret = new TPlsqlCreateTrigger(pdbvendor); 6098 ret.sqlstatementtype = gnewsqlstatementtype; 6099 // System.out.println(gnewsqlstatementtype); 6100 break; 6101 } 6102 case sstplsql_execimmestmt: 6103 { 6104 ret = new TExecImmeStmt(pdbvendor); 6105 // ret.sqlstatementtype = gnewsqlstatementtype; 6106 // System.out.println(gnewsqlstatementtype); 6107 break; 6108 } 6109 case sstplsql_createtype_placeholder: 6110 { 6111 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 6112 ret.sqlstatementtype = gnewsqlstatementtype; 6113 // System.out.println(gnewsqlstatementtype); 6114 break; 6115 } 6116 case sstplsql_createtypebody: 6117 { 6118 ret = new TPlsqlCreateTypeBody(pdbvendor); 6119 ret.sqlstatementtype = gnewsqlstatementtype; 6120 break; 6121 } 6122 case sstCommentOn: 6123 { 6124 ret = new TCommentOnSqlStmt(pdbvendor); 6125 break; 6126 } 6127 case sstoraclecreatesequence: 6128 { 6129 ret = new TCreateSequenceStmt(pdbvendor); 6130 break; 6131 } 6132 case sstoraclecreatesynonym: 6133 { 6134 ret = new TCreateSynonymStmt(pdbvendor); 6135 break; 6136 } 6137 case sstoraclecreatedirectory: 6138 { 6139 ret = new TOracleCreateDirectoryStmt(pdbvendor); 6140 break; 6141 } 6142 case sstpostgresqlCreateIndex: 6143 ret = new TCreateIndexSqlStatement(pdbvendor); 6144 break; 6145 case sstpostgresqlCreateView: 6146 ret = new TCreateViewSqlStatement(pdbvendor); 6147 break; 6148 case sstpostgresqlCreateFunction: 6149 ret = new TCreateFunctionStmt(pdbvendor); 6150 break; 6151 case sstcreatetrigger: 6152 ret = new TCreateTriggerStmt(pdbvendor); 6153 break; 6154 case sstpostgresqlMove: 6155 ret = new TMoveStmt(pdbvendor); 6156 break; 6157 case sstpostgresqlTruncate: 6158 ret = new TTruncateStatement(pdbvendor); 6159 break; 6160 case sstpostgresqlExecute: 6161 ret = new TExecuteSqlStatement(pdbvendor); 6162 break; 6163 case sstpostgresqlDropTable: 6164 ret = new TDropTableSqlStatement(pdbvendor); 6165 break; 6166 case sstPostgresqlBlock: 6167 ret = new TCommonBlock(pdbvendor); 6168 break; 6169 case sstVacuum: 6170 ret = new TVacuumStmt(pdbvendor); 6171 break; 6172 case sstReindex: 6173 ret = new TReindexStmt(pdbvendor); 6174 break; 6175 case sstcreateprocedure: 6176 ret = new TCreateProcedureStmt(pdbvendor); 6177 break; 6178 case sstpostgresqlCommit: 6179 ret = new TCommitStmt(pdbvendor); 6180 break; 6181 case sstpostgresqlCreateSchema: 6182 ret = new TCreateSchemaSqlStatement(pdbvendor); 6183 break; 6184 case sstpostgresqlDropSchema: 6185 ret = new TDropSchemaSqlStatement(pdbvendor); 6186 break; 6187 case sstpostgresqlShowSearchPath: 6188 ret = new TShowSearchPathStmt(pdbvendor); 6189 break; 6190 case sstpostgresqlCopy: 6191 ret = new TCopyStmt(pdbvendor); 6192 break; 6193 case sstcall: 6194 ret = new TCallStatement(pdbvendor); 6195 break; 6196 case sstpostgresqlAlterSchema: 6197 ret = new TAlterSchemaStmt(pdbvendor); 6198 break; 6199 case sstpostgresqlAlterfunction: 6200 ret = new TAlterFunctionStmt(pdbvendor); 6201 break; 6202 case sstStartTransaction: 6203 { 6204 ret = new TStartTransactionStmt(pdbvendor); 6205 break; 6206 } 6207 case sstpostgresqlComment: 6208 ret = new TCommentOnSqlStmt(pdbvendor); 6209 break; 6210 case sstpostgresqlShow: 6211 ret = new TShowStmt(pdbvendor); 6212 break; 6213 case sstpostgresqlSetSearchPath: 6214 case sstpostgresqlSet: 6215 ret = new TSetStmt(pdbvendor); 6216 break; 6217 case sstpostgresqlDropFunction: 6218 ret = new TDropFunctionStmt(pdbvendor); 6219 break; 6220 case sstpostgresqlDropTrigger: 6221 ret = new TDropTriggerSqlStatement(pdbvendor); 6222 break; 6223 case sstpostgresqlDropProcedure: 6224 ret = new TDropProcedureStmt(pdbvendor); 6225 break; 6226 case sstdropindex: 6227 ret = new TDropIndexSqlStatement(pdbvendor); 6228 break; 6229 case sstpostgresqlDropSequence: 6230 ret = new TDropSequenceStmt(pdbvendor); 6231 break; 6232 case sstpostgresqlDropView: 6233 ret = new TDropViewSqlStatement(pdbvendor); 6234 break; 6235 case sstpostgresqlCreateSequence: 6236 ret = new TCreateSequenceStmt(pdbvendor); 6237 break; 6238 case sstpostgresqlAlterSequence: 6239 ret = new TAlterSequenceStatement(pdbvendor); 6240 break; 6241 case sstpostgresqlCreateType: 6242 ret = new TCreateTypeStmt(pdbvendor); 6243 break; 6244 case sstcreateExtension: 6245 ret = new TCreateExtensionStmt(pdbvendor); 6246 break; 6247 case sstPostgresqlTable: 6248 ret = new TPostgresqlTableStmt(pdbvendor); 6249 break; 6250 case sstpostgresqlEnd: 6251 ret = new TEndTran(pdbvendor); 6252 break; 6253 case sstpostgresqlDo: 6254 boolean lcisnewsql = false; 6255 6256 if ( pstate == EFindSqlStateType.stnormal ) 6257 { 6258 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6259 if ( (lcnextsolidtoken != null) ) 6260 { 6261 if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_function_delimiter ) 6262 lcisnewsql = true; 6263 else if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_language ) 6264 lcisnewsql = true; 6265 } 6266 } 6267 6268 if ( lcisnewsql ) 6269 ret = new TDoExecuteBlockStmt(pdbvendor); 6270 6271 break; 6272 default: 6273 { 6274 ret = new TUnknownSqlStatement(pdbvendor); 6275 ret.sqlstatementtype = gnewsqlstatementtype; 6276 break; 6277 } 6278 } // case 6279 6280 return ret; 6281 } 6282 6283 TCustomSqlStatement ispostgresql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 6284 TCustomSqlStatement ret = null; 6285 6286 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 6287 6288 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 6289 || (pcst.tokencode == TBaseType.cmtslashstar) 6290 || (pcst.tokencode == TBaseType.lexspace) 6291 || (pcst.tokencode == TBaseType.lexnewline) 6292 || (pcst.tokentype == ETokenType.ttsemicolon) ) 6293 { 6294 return null; 6295 } 6296 6297 int lcpos = pcst.posinlist; 6298 TSourceTokenList lcsourcetokenlist = pcst.container; 6299 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 6300 6301 //subquery after semicolon or at first line 6302 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 6303 { 6304 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 6305 if ( k >0 ) 6306 { 6307 ret = new TSelectSqlStatement(pdbvendor); 6308 } 6309 6310 return ret; 6311 } 6312 6313 //cte 6314 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 6315 { 6316 ret = findcte(pcst,pdbvendor); 6317 if ( (ret != null) ) return ret; 6318 } 6319 6320 gnewsqlstatementtype = findpostgresqlcmd(pcst); 6321 6322 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6323 switch (gnewsqlstatementtype) { // 6324 case sstinvalid: 6325 { 6326 ret = null; 6327 6328 if ( pstate == EFindSqlStateType.stnormal ) 6329 { 6330 if ( pcst.tokencode == TBaseType.label_begin ) 6331 { 6332 ret = new TCommonBlock(pdbvendor); 6333 gnewsqlstatementtype = ret.sqlstatementtype; 6334 } 6335 else if ( pcst.tokencode == TBaseType.rrw_declare ) 6336 { 6337 ret = new TCommonBlock(pdbvendor); 6338 gnewsqlstatementtype = ret.sqlstatementtype; 6339 } 6340 else if ( pcst.tokencode == TBaseType.rrw_begin ) 6341 { 6342 ret = new TCommonBlock(pdbvendor); 6343 gnewsqlstatementtype = ret.sqlstatementtype; 6344 } 6345 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 6346 { 6347 ret = new TCreateProcedureStmt(pdbvendor); 6348 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 6349 gnewsqlstatementtype = ret.sqlstatementtype; 6350 } 6351 else if ( pcst.tokencode == TBaseType.rrw_function ) 6352 { 6353 ret = new TPlsqlCreateFunction(pdbvendor); 6354 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 6355 gnewsqlstatementtype = ret.sqlstatementtype; 6356 } 6357 else if ( pcst.tokencode == TBaseType.rrw_package ) 6358 { 6359 ret = new TPlsqlCreatePackage(pdbvendor); 6360 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6361 gnewsqlstatementtype = ret.sqlstatementtype; 6362 } 6363 } 6364 break; 6365 } 6366 case sstselect: 6367 { 6368 boolean lcisnewsql = true; 6369 6370 if ( pstate != EFindSqlStateType.stnormal ) 6371 { 6372 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6373 if ( (lcprevsolidtoken != null) ) 6374 { 6375 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6376 lcisnewsql = false; //subqery 6377 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 6378 lcisnewsql = false; 6379 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 6380 lcisnewsql = false; 6381 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 6382 lcisnewsql = false; 6383 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 6384 lcisnewsql = false; 6385 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 6386 lcisnewsql = false; 6387 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 6388 { 6389 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 6390 lcisnewsql = false; 6391 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 6392 lcisnewsql = false; 6393 } 6394 6395 6396 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 6397 { 6398 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 6399 if ( (lcpprevsolidtoken != null) ) 6400 { 6401 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 6402 lcisnewsql = false; 6403 } 6404 } 6405 6406 } 6407 6408 6409 if ( (lccurrentsqlstatement != null) ) 6410 { 6411 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 6412 lcisnewsql = false; 6413 } 6414 6415 } 6416 6417 if ( lcisnewsql ) 6418 ret = new TSelectSqlStatement(pdbvendor); 6419 6420 break; 6421 } 6422 case sstinsert: 6423 { 6424 boolean lcisnewsql = true; 6425 if ( pstate != EFindSqlStateType.stnormal ) 6426 { 6427 if ( (lccurrentsqlstatement != null) ) 6428 { 6429 6430 } 6431 } 6432 6433 if ( lcisnewsql ) 6434 ret = new TInsertSqlStatement(pdbvendor); 6435 6436 break; 6437 } 6438 case sstupdate: 6439 { 6440 boolean lcisnewsql = true; 6441 if ( pstate != EFindSqlStateType.stnormal ) 6442 { 6443 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6444 if ( (lcprevsolidtoken != null) ) 6445 { // 6446 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6447 lcisnewsql = false; 6448 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 6449 lcisnewsql = false; 6450 } 6451 6452 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6453 if ( (lcnextsolidtoken != null) ) 6454 { 6455 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6456 { 6457 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 6458 if ( k == 0 ) lcisnewsql = false; 6459 } 6460 } 6461 6462 6463 if ( (lccurrentsqlstatement != null) ) 6464 { 6465 } 6466 } 6467 6468 if ( lcisnewsql ) 6469 { 6470 ret = new TUpdateSqlStatement(pdbvendor); 6471 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 6472 } 6473 break; 6474 } 6475 case sstdelete: 6476 { 6477 boolean lcisnewsql = true; 6478 6479 if ( pstate != EFindSqlStateType.stnormal ) 6480 { 6481 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6482 if ( (lcprevsolidtoken != null) ) 6483 { 6484 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6485 lcisnewsql = false; 6486 } 6487 6488 if ( (lccurrentsqlstatement != null) ) 6489 { 6490 } 6491 } 6492 6493 if ( lcisnewsql ) 6494 ret = new TDeleteSqlStatement(pdbvendor); 6495 6496 break; 6497 } 6498 case sstmerge: 6499 { 6500 ret = new TMergeSqlStatement(pdbvendor); 6501 ret.sqlstatementtype = gnewsqlstatementtype; 6502 break; 6503 } 6504 case sstoraclecommit: 6505 { 6506 ret = new TUnknownSqlStatement(pdbvendor); 6507 ret.sqlstatementtype = gnewsqlstatementtype; 6508 break; 6509 } 6510 case sstoraclerollback: 6511 { 6512 ret = new TUnknownSqlStatement(pdbvendor); 6513 ret.sqlstatementtype = gnewsqlstatementtype; 6514 break; 6515 } 6516 case sstoraclesavepoint: 6517 { 6518 ret = new TUnknownSqlStatement(pdbvendor); 6519 ret.sqlstatementtype = gnewsqlstatementtype; 6520 break; 6521 } 6522 case sstoraclerevoke: 6523 { 6524 ret = new TUnknownSqlStatement(pdbvendor); 6525 ret.sqlstatementtype = gnewsqlstatementtype; 6526 break; 6527 } 6528 case sstoraclegrant: 6529 { 6530 ret = new TUnknownSqlStatement(pdbvendor); 6531 //ret = new TGrantStmt(pdbvendor); 6532 ret.sqlstatementtype = gnewsqlstatementtype; 6533 break; 6534 } 6535 case sstoracleanalyze: 6536 { 6537 ret = new TUnknownSqlStatement(pdbvendor); 6538 ret.sqlstatementtype = gnewsqlstatementtype; 6539 break; 6540 } 6541 case sstoracletruncate: 6542 { 6543 ret = new TUnknownSqlStatement(pdbvendor); 6544 ret.sqlstatementtype = gnewsqlstatementtype; 6545 break; 6546 } 6547 case sstcreatetable: 6548 { 6549 ret = new TCreateTableSqlStatement(pdbvendor); 6550 break; 6551 } 6552 case sstoraclecreateview: 6553 { 6554 ret = new TCreateViewSqlStatement(pdbvendor); 6555 break; 6556 } 6557 case sstcreatematerializedview:{ 6558 ret = new TCreateMaterializedSqlStatement(pdbvendor); 6559 break; 6560 } 6561 case sstoraclecreateindex: 6562 { 6563 ret = new TCreateIndexSqlStatement(pdbvendor); 6564 break; 6565 } 6566 case sstoraclecreatedatabase: 6567 { 6568 ret = new TCreateDatabaseSqlStatement(pdbvendor); 6569 break; 6570 } 6571 case sstoracledroptable: 6572 { 6573 ret = new TDropTableSqlStatement(pdbvendor); 6574 break; 6575 } 6576 case sstoracledropview: 6577 { 6578 ret = new TDropViewSqlStatement(pdbvendor); 6579 break; 6580 } 6581 case sstoracledropindex: 6582 { 6583 ret = new TDropIndexSqlStatement(pdbvendor); 6584 break; 6585 } 6586 case sstaltertable: 6587 { 6588 ret = new TAlterTableStatement(pdbvendor); 6589 break; 6590 } 6591 case sstoraclealtersession: 6592 { 6593 ret = new TAlterSessionStatement(pdbvendor); 6594 break; 6595 } 6596 case sstplsql_createprocedure: 6597 { 6598 ret = new TPlsqlCreateProcedure(pdbvendor); 6599 ret.sqlstatementtype = gnewsqlstatementtype; 6600 // System.out.println(gnewsqlstatementtype); 6601 break; 6602 } 6603 case sstplsql_createfunction: 6604 { 6605 ret = new TPlsqlCreateFunction(pdbvendor); 6606 ret.sqlstatementtype = gnewsqlstatementtype; 6607 // System.out.println(gnewsqlstatementtype); 6608 break; 6609 } 6610 case sstplsql_createpackage: 6611 { 6612 ret = new TPlsqlCreatePackage(pdbvendor); 6613 ret.sqlstatementtype = gnewsqlstatementtype; 6614 // System.out.println(gnewsqlstatementtype); 6615 break; 6616 } 6617 case sstplsql_createtrigger: 6618 { 6619 ret = new TPlsqlCreateTrigger(pdbvendor); 6620 ret.sqlstatementtype = gnewsqlstatementtype; 6621 // System.out.println(gnewsqlstatementtype); 6622 break; 6623 } 6624 case sstplsql_execimmestmt: 6625 { 6626 ret = new TExecImmeStmt(pdbvendor); 6627 // ret.sqlstatementtype = gnewsqlstatementtype; 6628 // System.out.println(gnewsqlstatementtype); 6629 break; 6630 } 6631 case sstoraclecreatepackagebody: 6632 { 6633 ret = new TPlsqlCreatePackage(pdbvendor); 6634 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6635 break; 6636 } 6637 case sstplsql_createtype_placeholder: 6638 { 6639 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 6640 ret.sqlstatementtype = gnewsqlstatementtype; 6641 // System.out.println(gnewsqlstatementtype); 6642 break; 6643 } 6644 case sstplsql_createtypebody: 6645 { 6646 ret = new TPlsqlCreateTypeBody(pdbvendor); 6647 ret.sqlstatementtype = gnewsqlstatementtype; 6648 break; 6649 } 6650 case sstCommentOn: 6651 { 6652 ret = new TCommentOnSqlStmt(pdbvendor); 6653 break; 6654 } 6655 case sstoraclecreatesequence: 6656 { 6657 ret = new TCreateSequenceStmt(pdbvendor); 6658 break; 6659 } 6660 case sstoraclecreatesynonym: 6661 { 6662 ret = new TCreateSynonymStmt(pdbvendor); 6663 break; 6664 } 6665 case sstoraclecreatedirectory: 6666 { 6667 ret = new TOracleCreateDirectoryStmt(pdbvendor); 6668 break; 6669 } 6670 case sstpostgresqlCreateIndex: 6671 ret = new TCreateIndexSqlStatement(pdbvendor); 6672 break; 6673 case sstpostgresqlCreateView: 6674 ret = new TCreateViewSqlStatement(pdbvendor); 6675 break; 6676 case sstpostgresqlCreateFunction: 6677 ret = new TCreateFunctionStmt(pdbvendor); 6678 break; 6679 case sstcreatetrigger: 6680 ret = new TCreateTriggerStmt(pdbvendor); 6681 break; 6682 case sstpostgresqlMove: 6683 ret = new TMoveStmt(pdbvendor); 6684 break; 6685 case sstpostgresqlTruncate: 6686 ret = new TTruncateStatement(pdbvendor); 6687 break; 6688 case sstpostgresqlExecute: 6689 ret = new TExecuteSqlStatement(pdbvendor); 6690 break; 6691 case sstpostgresqlDropTable: 6692 ret = new TDropTableSqlStatement(pdbvendor); 6693 break; 6694 case sstPostgresqlBlock: 6695 ret = new TCommonBlock(pdbvendor); 6696 break; 6697 case sstVacuum: 6698 ret = new TVacuumStmt(pdbvendor); 6699 break; 6700 case sstReindex: 6701 ret = new TReindexStmt(pdbvendor); 6702 break; 6703 case sstcreateprocedure: 6704 ret = new TCreateProcedureStmt(pdbvendor); 6705 break; 6706 case sstpostgresqlCommit: 6707 ret = new TCommitStmt(pdbvendor); 6708 break; 6709 case sstpostgresqlCreateSchema: 6710 ret = new TCreateSchemaSqlStatement(pdbvendor); 6711 break; 6712 case sstpostgresqlDropSchema: 6713 ret = new TDropSchemaSqlStatement(pdbvendor); 6714 break; 6715 case sstpostgresqlShowSearchPath: 6716 ret = new TShowSearchPathStmt(pdbvendor); 6717 break; 6718 case sstpostgresqlCopy: 6719 ret = new TCopyStmt(pdbvendor); 6720 break; 6721 case sstcall: 6722 ret = new TCallStatement(pdbvendor); 6723 break; 6724 case sstpostgresqlAlterSchema: 6725 ret = new TAlterSchemaStmt(pdbvendor); 6726 break; 6727 case sstpostgresqlAlterfunction: 6728 ret = new TAlterFunctionStmt(pdbvendor); 6729 break; 6730 case sstStartTransaction: 6731 { 6732 ret = new TStartTransactionStmt(pdbvendor); 6733 break; 6734 } 6735 case sstpostgresqlComment: 6736 ret = new TCommentOnSqlStmt(pdbvendor); 6737 break; 6738 case sstpostgresqlShow: 6739 ret = new TShowStmt(pdbvendor); 6740 break; 6741 case sstpostgresqlSetSearchPath: 6742 case sstpostgresqlSet: 6743 ret = new TSetStmt(pdbvendor); 6744 break; 6745 case sstpostgresqlDropFunction: 6746 ret = new TDropFunctionStmt(pdbvendor); 6747 break; 6748 case sstpostgresqlDropTrigger: 6749 ret = new TDropTriggerSqlStatement(pdbvendor); 6750 break; 6751 case sstpostgresqlDropProcedure: 6752 ret = new TDropProcedureStmt(pdbvendor); 6753 break; 6754 case sstdropindex: 6755 ret = new TDropIndexSqlStatement(pdbvendor); 6756 break; 6757 case sstpostgresqlDropSequence: 6758 ret = new TDropSequenceStmt(pdbvendor); 6759 break; 6760 case sstpostgresqlDropView: 6761 ret = new TDropViewSqlStatement(pdbvendor); 6762 break; 6763 case sstpostgresqlCreateSequence: 6764 ret = new TCreateSequenceStmt(pdbvendor); 6765 break; 6766 case sstpostgresqlAlterSequence: 6767 ret = new TAlterSequenceStatement(pdbvendor); 6768 break; 6769 case sstpostgresqlCreateType: 6770 ret = new TCreateTypeStmt(pdbvendor); 6771 break; 6772 case sstcreateExtension: 6773 ret = new TCreateExtensionStmt(pdbvendor); 6774 break; 6775 case sstPostgresqlTable: 6776 ret = new TPostgresqlTableStmt(pdbvendor); 6777 break; 6778 case sstpostgresqlDropMaterializedView: 6779 ret = new TDropMaterializedViewStmt(pdbvendor); 6780 break; 6781 case sstpostgresqlDo: 6782 boolean lcisnewsql = false; 6783 6784 if ( pstate == EFindSqlStateType.stnormal ) 6785 { 6786 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6787 if ( (lcnextsolidtoken != null) ) 6788 { 6789 if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_function_delimiter ) 6790 lcisnewsql = true; 6791 else if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_language ) 6792 lcisnewsql = true; 6793 } 6794 } 6795 6796 if ( lcisnewsql ) 6797 ret = new TDoExecuteBlockStmt(pdbvendor); 6798 6799 break; 6800 case sstpostgresqlDeclare: 6801 ret = new TCommonBlock(pdbvendor); 6802 gnewsqlstatementtype = ret.sqlstatementtype; 6803 break; 6804 case sstpostgresqlExplain: 6805 ret = new TExplainPlan(pdbvendor); 6806 gnewsqlstatementtype = ret.sqlstatementtype; 6807 break; 6808 case sstpostgresqlCreateRole: 6809 ret = new TCreateRoleStmt(pdbvendor); 6810 break; 6811 case sstpostgresqlAlterRole: 6812 ret = new TAlterRoleStmt(pdbvendor); 6813 break; 6814 case sstpostgresqlAlterIndex: 6815 ret = new TAlterIndexStmt(pdbvendor); 6816 break; 6817 default: 6818 { 6819 ret = new TUnknownSqlStatement(pdbvendor); 6820 ret.sqlstatementtype = gnewsqlstatementtype; 6821 break; 6822 } 6823 } // case 6824 6825 return ret; 6826 } 6827 6828 6829 6830TCustomSqlStatement isbigquery(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 6831 TCustomSqlStatement ret = null; 6832 6833 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 6834 6835 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 6836 || (pcst.tokencode == TBaseType.cmtslashstar) 6837 || (pcst.tokencode == TBaseType.lexspace) 6838 || (pcst.tokencode == TBaseType.lexnewline) 6839 || (pcst.tokentype == ETokenType.ttsemicolon) ) 6840 { 6841 return null; 6842 } 6843 6844 int lcpos = pcst.posinlist; 6845 TSourceTokenList lcsourcetokenlist = pcst.container; 6846 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 6847 6848 //subquery after semicolon or at first line 6849 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 6850 { 6851 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 6852 if ( k >0 ) 6853 { 6854 ret = new TSelectSqlStatement(pdbvendor); 6855 } 6856 6857 return ret; 6858 } 6859 6860 //cte 6861 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 6862 { 6863 ret = findcte(pcst,pdbvendor); 6864 if ( (ret != null) ) return ret; 6865 } 6866 6867 gnewsqlstatementtype = findbigquerycmd(pcst); 6868 6869 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6870 switch (gnewsqlstatementtype) { // 6871 case sstinvalid: 6872 { 6873 ret = null; 6874 6875 if ( pstate == EFindSqlStateType.stnormal ) 6876 { 6877 if ( pcst.tokencode == TBaseType.rrw_begin ) 6878 { 6879 6880 ret = new TCommonBlock(pdbvendor); 6881 gnewsqlstatementtype = ret.sqlstatementtype; 6882 } 6883 6884 } 6885 break; 6886 } 6887 case sstselect: 6888 { 6889 boolean lcisnewsql = true; 6890 6891 if ( pstate != EFindSqlStateType.stnormal ) 6892 { 6893 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6894 if ( (lcprevsolidtoken != null) ) 6895 { 6896 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6897 lcisnewsql = false; //subqery 6898 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 6899 lcisnewsql = false; 6900 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 6901 lcisnewsql = false; 6902 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 6903 lcisnewsql = false; 6904 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 6905 lcisnewsql = false; 6906 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 6907 lcisnewsql = false; 6908 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 6909 { 6910 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 6911 lcisnewsql = false; 6912 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 6913 lcisnewsql = false; 6914 } 6915 6916 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 6917 { 6918 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 6919 if ( (lcpprevsolidtoken != null) ) 6920 { 6921 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 6922 lcisnewsql = false; 6923 } 6924 } 6925 6926 } 6927 6928 6929 if ( (lccurrentsqlstatement != null) ) 6930 { 6931 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 6932 lcisnewsql = false; 6933 } 6934 6935 } 6936 6937 if ( lcisnewsql ) 6938 ret = new TSelectSqlStatement(pdbvendor); 6939 6940 break; 6941 } 6942 case sstinsert: 6943 { 6944 boolean lcisnewsql = true; 6945 if ( pstate != EFindSqlStateType.stnormal ) 6946 { 6947 if ( (lccurrentsqlstatement != null) ) 6948 { 6949 6950 } 6951 } 6952 6953 if ( lcisnewsql ) 6954 ret = new TInsertSqlStatement(pdbvendor); 6955 6956 break; 6957 } 6958 case sstupdate: 6959 { 6960 boolean lcisnewsql = true; 6961 if ( pstate != EFindSqlStateType.stnormal ) 6962 { 6963 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6964 if ( (lcprevsolidtoken != null) ) 6965 { // 6966 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6967 lcisnewsql = false; 6968 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 6969 lcisnewsql = false; 6970 } 6971 6972 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6973 if ( (lcnextsolidtoken != null) ) 6974 { 6975 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6976 { 6977 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 6978 if ( k == 0 ) lcisnewsql = false; 6979 } 6980 } 6981 6982 6983 if ( (lccurrentsqlstatement != null) ) 6984 { 6985 } 6986 } 6987 6988 if ( lcisnewsql ) 6989 { 6990 ret = new TUpdateSqlStatement(pdbvendor); 6991 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 6992 } 6993 break; 6994 } 6995 case sstdelete: 6996 { 6997 boolean lcisnewsql = true; 6998 6999 if ( pstate != EFindSqlStateType.stnormal ) 7000 { 7001 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7002 if ( (lcprevsolidtoken != null) ) 7003 { 7004 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7005 lcisnewsql = false; 7006 } 7007 7008 if ( (lccurrentsqlstatement != null) ) 7009 { 7010 } 7011 } 7012 7013 if ( lcisnewsql ) 7014 ret = new TDeleteSqlStatement(pdbvendor); 7015 7016 break; 7017 } 7018 case sstmerge: 7019 { 7020 ret = new TMergeSqlStatement(pdbvendor); 7021 ret.sqlstatementtype = gnewsqlstatementtype; 7022 break; 7023 } 7024 case sstcreatetable: 7025 { 7026 ret = new TCreateTableSqlStatement(pdbvendor); 7027 break; 7028 } 7029 case sstcreateview:{ 7030 ret = new TCreateViewSqlStatement(pdbvendor); 7031 break; 7032 } 7033 case sstaltertable: 7034 { 7035 ret = new TAlterTableStatement(pdbvendor); 7036 break; 7037 } 7038 case sstalterview: 7039 { 7040 ret = new TAlterViewStatement(pdbvendor); 7041 break; 7042 } 7043 case sstdroptable: 7044 { 7045 ret = new TDropTableSqlStatement(pdbvendor); 7046 break; 7047 } 7048 case sstdropview: 7049 { 7050 ret = new TDropViewSqlStatement(pdbvendor); 7051 break; 7052 } 7053 case sstcreatefunction: 7054 { 7055 ret = new TCreateFunctionStmt(pdbvendor); 7056 break; 7057 } 7058 case sstcreateprocedure: 7059 { 7060 ret = new TCreateProcedureStmt(pdbvendor); 7061 break; 7062 } 7063 case sstBigQueryDeclare: 7064 ret = new TMssqlDeclare(pdbvendor); 7065 break; 7066 case sstTruncate: 7067 { 7068 ret = new TTruncateStatement(pdbvendor); 7069 break; 7070 } 7071 case sstset: 7072 { 7073 boolean lcisnewsql = true; 7074 if ( pstate != EFindSqlStateType.stnormal ) 7075 { 7076 if ( TBaseType.assigned(lccurrentsqlstatement) ) 7077 { 7078 lcisnewsql = false; 7079 } 7080 } 7081 7082 if ( lcisnewsql ) 7083 { 7084 ret = new TSetStmt(pdbvendor); 7085 } 7086 break; 7087 } 7088 case sstcreatematerializedview:{ 7089 ret = new TCreateMaterializedSqlStatement(pdbvendor); 7090 break; 7091 } 7092 case sstdropprocedure: 7093 { 7094 ret = new TDropProcedureStmt(pdbvendor); 7095 break; 7096 } 7097 case sstdropfunction: 7098 { 7099 ret = new TDropFunctionStmt(pdbvendor); 7100 break; 7101 } 7102 case sstDropMaterializedView: 7103 ret = new TDropMaterializedViewStmt(pdbvendor); 7104 break; 7105 case sstcall: 7106 ret = new TCallStatement(pdbvendor); 7107 break; 7108 case sstBigQueryExportData: 7109 ret = new TExportDataStmt(pdbvendor); 7110 break; 7111 case sstBegin: 7112 { 7113 boolean isblock = false; 7114 int numOfSolidToken = 0; 7115 // if linebreak appears before the ;, then it a block, else it a 7116 TSourceToken st ; 7117 if (lcpos == lcsourcetokenlist.size() - 1){ 7118 // this is the last token 7119 }else{ 7120 for(int i=lcpos+1;i<lcsourcetokenlist.size();i++){ 7121 st = lcsourcetokenlist.get(i); 7122 if (st.issolidtoken()){ 7123 numOfSolidToken++; 7124 } 7125 7126 7127 7128 if (st.tokencode == ';') { 7129 if (numOfSolidToken<=3){ 7130 7131 }else{ 7132 isblock = true; 7133 } 7134 break; 7135 } 7136 7137 if (numOfSolidToken > 3){ 7138 isblock = true; 7139 break; 7140 } 7141 } 7142 } 7143 7144 if (isblock){ 7145 ret = new TCommonBlock(pdbvendor); 7146 gnewsqlstatementtype = ret.sqlstatementtype; 7147 }else{ 7148 ret = new TBeginTran(pdbvendor); 7149 pcst.tokencode = TBaseType.rrw_bigquery_begin_transaction; 7150 } 7151 7152 7153 break; 7154 } 7155 case sstbegintran: 7156 { 7157 ret = new TBeginTran(pdbvendor); 7158 if (pcst.tokencode == TBaseType.rrw_begin){ 7159 pcst.tokencode = TBaseType.rrw_bigquery_begin_transaction; 7160 } 7161 7162 break; 7163 } 7164 case sstExecute: 7165 { 7166 ret = new TExecImmeStmt(pdbvendor); 7167 break; 7168 } 7169 case sst_ifstmt: 7170 ret = new TIfStmt(pdbvendor); 7171 break; 7172 case sst_loopstmt: 7173 ret = new TLoopStmt(pdbvendor); 7174 break; 7175 case sstRepeat: 7176 ret = new TRepeatStmt(pdbvendor); 7177 break; 7178 case sstWhilestmt: 7179 ret = new TWhileStmt(pdbvendor); 7180 break; 7181 case sstForStmt: 7182 ret = new TForStmt(pdbvendor); 7183 break; 7184 case sst_casestmt: 7185 ret = new TCaseStmt(pdbvendor); 7186 break; 7187 case sstDropAssignment: 7188 ret = new TDropStmt(pdbvendor); 7189 break; 7190 case sstdropschema: 7191 ret = new TDropSchemaSqlStatement(pdbvendor); 7192 break; 7193 case sstDropReservation: 7194 ret = new TDropStmt(pdbvendor); 7195 break; 7196 case sstDropRowAccessPolicy: 7197 ret = new TDropStmt(pdbvendor); 7198 break; 7199 case sstDropSnapshotTable: 7200 ret = new TDropStmt(pdbvendor); 7201 break; 7202 case sstDropTableFunction: 7203 ret = new TDropStmt(pdbvendor); 7204 break; 7205 default: 7206 { 7207 ret = new TUnknownSqlStatement(pdbvendor); 7208 ret.sqlstatementtype = gnewsqlstatementtype; 7209 break; 7210 } 7211 } // case 7212 7213 return ret; 7214 } 7215 7216TCustomSqlStatement issnowflake(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 7217 TCustomSqlStatement ret = null; 7218 7219 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 7220 7221 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 7222 || (pcst.tokencode == TBaseType.cmtslashstar) 7223 || (pcst.tokencode == TBaseType.lexspace) 7224 || (pcst.tokencode == TBaseType.lexnewline) 7225 || (pcst.tokentype == ETokenType.ttsemicolon) ) 7226 { 7227 return null; 7228 } 7229 7230 int lcpos = pcst.posinlist; 7231 TSourceTokenList lcsourcetokenlist = pcst.container; 7232 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 7233 7234 //subquery after semicolon or at first line 7235 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 7236 { 7237 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 7238 if ( k >0 ) 7239 { 7240 ret = new TSelectSqlStatement(pdbvendor); 7241 } 7242 else{ 7243 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); 7244 int k2 = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_as,3,"("); 7245 if (( k >0 ) && (k2 > 2)) 7246 { 7247 ret = new TSelectSqlStatement(pdbvendor); 7248 } 7249 7250 } 7251 7252 return ret; 7253 } 7254 7255 //cte 7256 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 7257 { 7258 ret = findcte(pcst,pdbvendor); 7259 if ( (ret != null) ) return ret; 7260 } 7261 7262 gnewsqlstatementtype = findsnowflakecmd(pcst); 7263 7264 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7265 switch (gnewsqlstatementtype) { // 7266 case sstinvalid: 7267 { 7268 ret = null; 7269 7270 if ( pstate == EFindSqlStateType.stnormal ) 7271 { 7272 if ( pcst.tokencode == TBaseType.label_begin ) 7273 { 7274 ret = new TCommonBlock(pdbvendor); 7275 gnewsqlstatementtype = ret.sqlstatementtype; 7276 } 7277 else if ( pcst.tokencode == TBaseType.rrw_declare ) 7278 { 7279 ret = new TCommonBlock(pdbvendor); 7280 gnewsqlstatementtype = ret.sqlstatementtype; 7281 } 7282 else if ( pcst.tokencode == TBaseType.rrw_begin ) 7283 { 7284 ret = new TCommonBlock(pdbvendor); 7285 gnewsqlstatementtype = ret.sqlstatementtype; 7286 } 7287 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 7288 { 7289 ret = new TPlsqlCreateProcedure(pdbvendor); 7290 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 7291 gnewsqlstatementtype = ret.sqlstatementtype; 7292 } 7293 else if ( pcst.tokencode == TBaseType.rrw_function ) 7294 { 7295 ret = new TPlsqlCreateFunction(pdbvendor); 7296 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 7297 gnewsqlstatementtype = ret.sqlstatementtype; 7298 } 7299 else if ( pcst.tokencode == TBaseType.rrw_package ) 7300 { 7301 ret = new TPlsqlCreatePackage(pdbvendor); 7302 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 7303 gnewsqlstatementtype = ret.sqlstatementtype; 7304 } 7305 } 7306 break; 7307 } 7308 case sstselect: 7309 { 7310 boolean lcisnewsql = true; 7311 7312 if ( pstate != EFindSqlStateType.stnormal ) 7313 { 7314 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7315 if ( (lcprevsolidtoken != null) ) 7316 { 7317 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 7318 lcisnewsql = false; //subqery 7319 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 7320 lcisnewsql = false; 7321 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 7322 lcisnewsql = false; 7323 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 7324 lcisnewsql = false; 7325 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 7326 lcisnewsql = false; 7327 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 7328 lcisnewsql = false; 7329 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 7330 { 7331 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 7332 lcisnewsql = false; 7333 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 7334 lcisnewsql = false; 7335 } 7336 7337 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 7338 { 7339 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 7340 if ( (lcpprevsolidtoken != null) ) 7341 { 7342 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 7343 lcisnewsql = false; 7344 } 7345 } 7346 7347 } 7348 7349 7350 if ( (lccurrentsqlstatement != null) ) 7351 { 7352 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 7353 lcisnewsql = false; 7354 } 7355 7356 } 7357 7358 if ( lcisnewsql ) 7359 ret = new TSelectSqlStatement(pdbvendor); 7360 7361 break; 7362 } 7363 case sstinsert: 7364 { 7365 boolean lcisnewsql = true; 7366 if ( pstate != EFindSqlStateType.stnormal ) 7367 { 7368 if ( (lccurrentsqlstatement != null) ) 7369 { 7370 7371 } 7372 } 7373 7374 if ( lcisnewsql ) 7375 ret = new TInsertSqlStatement(pdbvendor); 7376 7377 break; 7378 } 7379 case sstupdate: 7380 { 7381 boolean lcisnewsql = true; 7382 if ( pstate != EFindSqlStateType.stnormal ) 7383 { 7384 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7385 if ( (lcprevsolidtoken != null) ) 7386 { // 7387 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7388 lcisnewsql = false; 7389 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 7390 lcisnewsql = false; 7391 } 7392 7393 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 7394 if ( (lcnextsolidtoken != null) ) 7395 { 7396 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 7397 { 7398 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 7399 if ( k == 0 ) lcisnewsql = false; 7400 } 7401 } 7402 7403 7404 if ( (lccurrentsqlstatement != null) ) 7405 { 7406 } 7407 } 7408 7409 if ( lcisnewsql ) 7410 { 7411 ret = new TUpdateSqlStatement(pdbvendor); 7412 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 7413 } 7414 break; 7415 } 7416 case sstdelete: 7417 { 7418 boolean lcisnewsql = true; 7419 7420 if ( pstate != EFindSqlStateType.stnormal ) 7421 { 7422 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7423 if ( (lcprevsolidtoken != null) ) 7424 { 7425 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7426 lcisnewsql = false; 7427 } 7428 7429 if ( (lccurrentsqlstatement != null) ) 7430 { 7431 } 7432 } 7433 7434 if ( lcisnewsql ) 7435 ret = new TDeleteSqlStatement(pdbvendor); 7436 7437 break; 7438 } 7439 case sstmerge: 7440 { 7441 ret = new TMergeSqlStatement(pdbvendor); 7442 ret.sqlstatementtype = gnewsqlstatementtype; 7443 break; 7444 } 7445 case sstoraclecommit: 7446 { 7447 ret = new TUnknownSqlStatement(pdbvendor); 7448 ret.sqlstatementtype = gnewsqlstatementtype; 7449 break; 7450 } 7451 case sstoraclerollback: 7452 { 7453 ret = new TUnknownSqlStatement(pdbvendor); 7454 ret.sqlstatementtype = gnewsqlstatementtype; 7455 break; 7456 } 7457 case sstoraclerevoke: 7458 { 7459 ret = new TUnknownSqlStatement(pdbvendor); 7460 ret.sqlstatementtype = gnewsqlstatementtype; 7461 break; 7462 } 7463 case sstoraclegrant: 7464 { 7465 ret = new TUnknownSqlStatement(pdbvendor); 7466 ret.sqlstatementtype = gnewsqlstatementtype; 7467 break; 7468 } 7469 case sstcreatetable: 7470 { 7471 ret = new TCreateTableSqlStatement(pdbvendor); 7472 break; 7473 } 7474 case sstoraclecreateview: 7475 { 7476 ret = new TCreateViewSqlStatement(pdbvendor); 7477 break; 7478 } 7479 case sstAlterAccount: 7480 { 7481 ret = new TAlterAccountStmt(pdbvendor); 7482 break; 7483 } 7484 case sstalterdatabase: 7485 { 7486 ret = new TAlterDatabaseStmt(pdbvendor); 7487 break; 7488 } 7489 case sstAlterFileFormat: 7490 { 7491 ret = new TAlterFileFormatStmt(pdbvendor); 7492 break; 7493 } 7494 case sstalterfunction: 7495 { 7496 ret = new TAlterFunctionStmt(pdbvendor); 7497 break; 7498 } 7499 case sstAlterNetworkPolicy: 7500 { 7501 ret = new TAlterNetworkPolicyStmt(pdbvendor); 7502 break; 7503 } 7504 case sstAlterPipe: 7505 { 7506 ret = new TAlterPipeStmt(pdbvendor); 7507 break; 7508 } 7509 case sstAlterResourceMonitor: 7510 { 7511 ret = new TAlterResourceMonitorStmt(pdbvendor); 7512 break; 7513 } 7514 case sstAlterRole: 7515 { 7516 ret = new TAlterRoleStmt(pdbvendor); 7517 break; 7518 } 7519 case sstAlterSchema: 7520 { 7521 ret = new TAlterSchemaStmt(pdbvendor); 7522 break; 7523 } 7524 case sstaltersequence: 7525 { 7526 ret = new TAlterSequenceStatement(pdbvendor); 7527 break; 7528 } 7529 case sstaltersession: 7530 { 7531 ret = new TAlterSessionStatement(pdbvendor); 7532 break; 7533 } 7534 case sstAlterStage: 7535 { 7536 ret = new TAlterStageStmt(pdbvendor); 7537 break; 7538 } 7539 case sstalteruser: 7540 { 7541 ret = new TAlterUserStmt(pdbvendor); 7542 break; 7543 } 7544 case sstAlterShare: 7545 { 7546 ret = new TAlterShareStmt(pdbvendor); 7547 break; 7548 } 7549 case sstalterview: 7550 { 7551 ret = new TAlterViewStatement(pdbvendor); 7552 break; 7553 } 7554 case sstAlterWarehouse: 7555 { 7556 ret = new TAlterWarehouseStmt(pdbvendor); 7557 break; 7558 } 7559 case sstBegin: 7560 { 7561 boolean isblock = false; 7562 int numOfSolidToken = 0; 7563 // if linebreak appears before the ;, then it a block, else it a 7564 TSourceToken st ; 7565 if (lcpos == lcsourcetokenlist.size() - 1){ 7566 // this is the last token 7567 }else{ 7568 for(int i=lcpos+1;i<lcsourcetokenlist.size();i++){ 7569 st = lcsourcetokenlist.get(i); 7570 if (st.issolidtoken()){ 7571 numOfSolidToken++; 7572 } 7573 // Check for newline before semicolon - if found, must be a block 7574 if (st.tokencode == TBaseType.lexnewline) { 7575 isblock = true; 7576 // Continue to look for semicolon to complete the check 7577 } 7578 7579 if (st.tokencode == ';') { 7580 if (numOfSolidToken<=3){ 7581 7582 }else{ 7583 isblock = true; 7584 } 7585 break; 7586 } 7587 7588 if (numOfSolidToken > 3){ 7589 isblock = true; 7590 break; 7591 } 7592 } 7593 } 7594 7595 if (isblock){ 7596 ret = new TCommonBlock(pdbvendor); 7597 gnewsqlstatementtype = ret.sqlstatementtype; 7598 }else{ 7599 ret = new TBeginTran(pdbvendor); 7600 pcst.tokencode = TBaseType.rrw_snowflake_begin_transaction; 7601 } 7602 7603 7604 break; 7605 } 7606 case sstbegintran: 7607 { 7608 ret = new TBeginTran(pdbvendor); 7609 if (pcst.tokencode == TBaseType.rrw_begin){ 7610 pcst.tokencode = TBaseType.rrw_snowflake_begin_transaction; 7611 } 7612 7613 break; 7614 } 7615 case sstcomment: 7616 { 7617 ret = new TCommentOnSqlStmt(pdbvendor); 7618 break; 7619 } 7620 case sstcommit: 7621 { 7622 ret = new TCommitStmt(pdbvendor); 7623 break; 7624 } 7625 case sstCopyInto: 7626 { 7627 ret = new TSnowflakeCopyIntoStmt(pdbvendor); 7628 break; 7629 } 7630 case sstcreatedatabase: 7631 { 7632 ret = new TCreateDatabaseSqlStatement(pdbvendor); 7633 break; 7634 } 7635 case sstCreateFileFormat: 7636 { 7637 ret = new TCreateFileFormatStmt(pdbvendor); 7638 break; 7639 } 7640 case sstcreatefunction: 7641 { 7642 ret = new TCreateFunctionStmt(pdbvendor); 7643 break; 7644 } 7645 case sstCreateNetworkPolicy: 7646 { 7647 ret = new TCreateNetworkPolicyStmt(pdbvendor); 7648 break; 7649 } 7650 case sstCreatePipe: 7651 { 7652 ret = new TCreatePipeStmt(pdbvendor); 7653 break; 7654 } 7655 case sstCreateResourceMonitor: 7656 { 7657 ret = new TCreateResourceMonitorStmt(pdbvendor); 7658 break; 7659 } 7660 case sstcreaterole: 7661 { 7662 ret = new TCreateRoleStmt(pdbvendor); 7663 break; 7664 } 7665 case sstcreateschema: 7666 { 7667 ret = new TCreateSchemaSqlStatement(pdbvendor); 7668 break; 7669 } 7670 case sstcreatesequence: 7671 { 7672 ret = new TCreateSequenceStmt(pdbvendor); 7673 break; 7674 } 7675 case sstCreateShare: 7676 { 7677 ret = new TCreateShareStmt(pdbvendor); 7678 break; 7679 } 7680 case sstCreateStage: 7681 { 7682 ret = new TCreateStageStmt(pdbvendor); 7683 break; 7684 } 7685 case sstcreateuser: 7686 { 7687 ret = new TCreateUserStmt(pdbvendor); 7688 break; 7689 } 7690 case sstCreateWarehouse: 7691 { 7692 ret = new TCreateWarehouseStmt(pdbvendor); 7693 break; 7694 } 7695 case sstDescFileFormat: 7696 case sstDescFunction: 7697 case sstDescNetworkPolicy: 7698 case sstDescPipe: 7699 case sstDescResult: 7700 case sstDescShare: 7701 case sstDescStage: 7702 case sstDescTable: 7703 case sstDescUser: 7704 case sstDescView: 7705 case sstDescStorage: 7706 { 7707 ret = new TDescribeStmt(pdbvendor); 7708 break; 7709 } 7710 case sstdropfunction: 7711 { 7712 ret = new TDropFunctionStmt(pdbvendor); 7713 break; 7714 } 7715 case sstdropdatabase: 7716 { 7717 ret = new TDropDatabaseStmt(pdbvendor); 7718 break; 7719 } 7720 case sstDropFileFormat: 7721 { 7722 ret = new TDropStmt(pdbvendor); 7723 ret.sqlstatementtype = gnewsqlstatementtype; 7724 break; 7725 } 7726 case sstDropNetworkPolicy: 7727 { 7728 ret = new TDropStmt(pdbvendor); 7729 ret.sqlstatementtype = gnewsqlstatementtype; 7730 break; 7731 } 7732 case sstDropPipe: 7733 { 7734 ret = new TDropStmt(pdbvendor); 7735 ret.sqlstatementtype = gnewsqlstatementtype; 7736 break; 7737 } 7738 case sstDropResourceMonitor: 7739 { 7740 ret = new TDropStmt(pdbvendor); 7741 ret.sqlstatementtype = gnewsqlstatementtype; 7742 break; 7743 } 7744 case sstdroprole: 7745 { 7746 ret = new TDropRoleStmt(pdbvendor); 7747 break; 7748 } 7749 case sstdropschema: 7750 { 7751 ret = new TDropSchemaSqlStatement(pdbvendor); 7752 break; 7753 } 7754 case sstDropShare: 7755 { 7756 ret = new TDropStmt(pdbvendor); 7757 ret.sqlstatementtype = gnewsqlstatementtype; 7758 break; 7759 } 7760 case sstDropStage: 7761 { 7762 ret = new TDropStmt(pdbvendor); 7763 ret.sqlstatementtype = gnewsqlstatementtype; 7764 break; 7765 } 7766 case sstdroptable: 7767 { 7768 ret = new TDropTableSqlStatement(pdbvendor); 7769 break; 7770 } 7771 case sstdropuser: 7772 { 7773 ret = new TDropUserStmt(pdbvendor); 7774 break; 7775 } 7776 case sstdropview: 7777 { 7778 ret = new TDropViewSqlStatement(pdbvendor); 7779 break; 7780 } 7781 case sstDropWarehouse: 7782 { 7783 ret = new TDropStmt(pdbvendor); 7784 ret.sqlstatementtype = gnewsqlstatementtype; 7785 break; 7786 } 7787 case sstGet: 7788 { 7789 ret = new TGetStmt(pdbvendor); 7790 break; 7791 } 7792 case sstGrant: 7793 { 7794 ret = new TGrantStmt(pdbvendor); 7795 break; 7796 } 7797 case sstList: 7798 { 7799 ret = new TListStmt(pdbvendor); 7800 break; 7801 } 7802 case sstPut: 7803 { 7804 ret = new TPutStmt(pdbvendor); 7805 break; 7806 } 7807 case sstRemove: 7808 { 7809 ret = new TRemoveStmt(pdbvendor); 7810 break; 7811 } 7812 case sstRevoke: 7813 { 7814 ret = new TRevokeStmt(pdbvendor); 7815 break; 7816 } 7817 case sstrollback: 7818 { 7819 ret = new TRollbackStmt(pdbvendor); 7820 break; 7821 } 7822 case sstset: 7823 { 7824 ret = new TSetStmt(pdbvendor); 7825 break; 7826 } 7827 case sstShowColumns: 7828 case sstShowDatabases: 7829 case sstShowFileFormats: 7830 case sstShowFunctions: 7831 case sstShowGrants: 7832 case sstShowNetworkPolicies: 7833 case sstShowObjects: 7834 case sstShowParameters: 7835 case sstShowPipes: 7836 case sstShowResourceMonitors: 7837 case sstShowRoles: 7838 case sstShowSchemas: 7839 case sstShowSequences: 7840 case sstShowShares: 7841 case sstShowStages: 7842 case sstShowTables: 7843 case sstShowTransactions: 7844 case sstShowUserFunctions: 7845 case sstShowUsers: 7846 case sstShowVariables: 7847 case sstShowViews: 7848 case sstShowWarehouses: 7849 case sstShowProcedures: 7850 case sstShowTasks: 7851 case sstShowStreams: 7852 { 7853 ret = new TShowStmt(pdbvendor); 7854 ret.sqlstatementtype = gnewsqlstatementtype; 7855 break; 7856 } 7857 case sstTruncate: 7858 { 7859 ret = new TTruncateStatement(pdbvendor); 7860 7861 break; 7862 } 7863 case sstUndropDatabase: 7864 case sstUndropSchema: 7865 case sstUndropTable: 7866 { 7867 ret = new TUndropStmt(pdbvendor); 7868 ret.sqlstatementtype = gnewsqlstatementtype; 7869 break; 7870 } 7871 case sstunset: 7872 { 7873 ret = new TUnsetStmt(pdbvendor); 7874 break; 7875 } 7876 case sstcreatematerializedview:{ 7877 ret = new TCreateMaterializedSqlStatement(pdbvendor); 7878 break; 7879 } 7880 case sstoraclecreateindex: 7881 { 7882 ret = new TCreateIndexSqlStatement(pdbvendor); 7883 break; 7884 } 7885 case sstoracledroptable: 7886 { 7887 ret = new TDropTableSqlStatement(pdbvendor); 7888 break; 7889 } 7890 case sstoracledropview: 7891 { 7892 ret = new TDropViewSqlStatement(pdbvendor); 7893 break; 7894 } 7895 case sstoracledropindex: 7896 { 7897 ret = new TDropIndexSqlStatement(pdbvendor); 7898 break; 7899 } 7900 case sstaltertable: 7901 { 7902 ret = new TAlterTableStatement(pdbvendor); 7903 break; 7904 } 7905 case sstoraclealtersession: 7906 { 7907 ret = new TAlterSessionStatement(pdbvendor); 7908 break; 7909 } 7910 case sstplsql_createfunction: 7911 { 7912 ret = new TPlsqlCreateFunction(pdbvendor); 7913 ret.sqlstatementtype = gnewsqlstatementtype; 7914 // System.out.println(gnewsqlstatementtype); 7915 break; 7916 } 7917 case sstCommentOn: 7918 { 7919 ret = new TCommentOnSqlStmt(pdbvendor); 7920 break; 7921 } 7922 case sstoraclecreatesequence: 7923 { 7924 ret = new TCreateSequenceStmt(pdbvendor); 7925 break; 7926 } 7927 case sstpostgresqlCreateIndex: 7928 ret = new TCreateIndexSqlStatement(pdbvendor); 7929 break; 7930 case sstpostgresqlCreateView: 7931 ret = new TCreateViewSqlStatement(pdbvendor); 7932 break; 7933 case sstpostgresqlCreateFunction: 7934 ret = new TCreateFunctionStmt(pdbvendor); 7935 break; 7936// case sstcreatetrigger: 7937// ret = new TCreateTriggerStmt(pdbvendor); 7938// break; 7939 case sstpostgresqlTruncate: 7940 ret = new TTruncateStatement(pdbvendor); 7941 break; 7942 case sstpostgresqlDropTable: 7943 ret = new TDropTableSqlStatement(pdbvendor); 7944 break; 7945 case sstcreateview: 7946 ret = new TCreateViewSqlStatement(pdbvendor); 7947 break; 7948 case sstcall: 7949 ret = new TCallStatement(pdbvendor); 7950 break; 7951 case sstSnowflakePseudoExprStmt: 7952 ret = new TPseudoExprStmt(pdbvendor); 7953 break; 7954 case sstcreateprocedure: 7955 ret = new TCreateProcedureStmt(pdbvendor); 7956 break; 7957 case sstCreateStream: 7958 ret = new TCreateStreamStmt(pdbvendor); 7959 break; 7960 case sstUse: 7961 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 7962 if (lcnextsolidtoken != null){ 7963 if (lcnextsolidtoken.toString().equalsIgnoreCase("database")){ 7964 ret = new TUseDatabase(pdbvendor); 7965 }else if (lcnextsolidtoken.toString().equalsIgnoreCase("role")){ 7966 ret = new TUseRole(pdbvendor); 7967 }else if (lcnextsolidtoken.toString().equalsIgnoreCase("warehouse")){ 7968 ret = new TUseWarehouse(pdbvendor); 7969 }else{ 7970 ret = new TUseSchema(pdbvendor); 7971 } 7972 7973 }else{ 7974 ret = new TUnknownSqlStatement(pdbvendor); 7975 ret.sqlstatementtype = gnewsqlstatementtype; 7976 } 7977 break; 7978 case sstExecute: 7979 { 7980 ret = new TExecuteSqlStatement(pdbvendor); 7981 break; 7982 } 7983 case sstAlterTask: 7984 ret = new TAlterTaskStmt(pdbvendor); 7985 break; 7986 case sstCreateTask: 7987 ret = new TCreateTaskStmt(pdbvendor); 7988 break; 7989 case sstAlterMaterializedView: 7990 ret = new TAlterMaterializedViewStmt(pdbvendor); 7991 break; 7992 case sstDropMaterializedView: 7993 ret = new TDropMaterializedViewStmt(pdbvendor); 7994 break; 7995 case sstdropprocedure: 7996 ret = new TDropProcedureStmt(pdbvendor); 7997 break; 7998 case sstUseSecondaryRoles: 7999 ret = new TUseSecondaryRolesStmt(pdbvendor); 8000 break; 8001 case sstDropStreamlit: 8002 ret = new TDropStmt(pdbvendor); 8003 break; 8004 case sstDropStream: 8005 ret = new TDropStreamStmt(pdbvendor); 8006 break; 8007 default: 8008 { 8009 ret = new TUnknownSqlStatement(pdbvendor); 8010 ret.sqlstatementtype = gnewsqlstatementtype; 8011 break; 8012 } 8013 } // case 8014 8015 return ret; 8016} 8017 8018TCustomSqlStatement isgreenplum(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8019 TCustomSqlStatement ret = null; 8020 8021 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8022 8023 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8024 || (pcst.tokencode == TBaseType.cmtslashstar) 8025 || (pcst.tokencode == TBaseType.lexspace) 8026 || (pcst.tokencode == TBaseType.lexnewline) 8027 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8028 { 8029 return null; 8030 } 8031 8032 int lcpos = pcst.posinlist; 8033 TSourceTokenList lcsourcetokenlist = pcst.container; 8034 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8035 8036 //subquery after semicolon or at first line 8037 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8038 { 8039 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8040 if ( k >0 ) 8041 { 8042 ret = new TSelectSqlStatement(pdbvendor); 8043 } 8044 8045 return ret; 8046 } 8047 8048 //cte 8049 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8050 { 8051 ret = findcte(pcst,pdbvendor); 8052 if ( (ret != null) ) return ret; 8053 } 8054 8055 gnewsqlstatementtype = findgreenplumcmd(pcst); 8056 8057 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8058 switch (gnewsqlstatementtype) { // 8059 case sstinvalid: 8060 { 8061 ret = null; 8062 8063 if ( pstate == EFindSqlStateType.stnormal ) 8064 { 8065 if ( pcst.tokencode == TBaseType.label_begin ) 8066 { 8067 ret = new TCommonBlock(pdbvendor); 8068 gnewsqlstatementtype = ret.sqlstatementtype; 8069 } 8070 else if ( pcst.tokencode == TBaseType.rrw_declare ) 8071 { 8072 ret = new TCommonBlock(pdbvendor); 8073 gnewsqlstatementtype = ret.sqlstatementtype; 8074 } 8075 else if ( pcst.tokencode == TBaseType.rrw_begin ) 8076 { 8077 ret = new TCommonBlock(pdbvendor); 8078 gnewsqlstatementtype = ret.sqlstatementtype; 8079 } 8080 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 8081 { 8082 ret = new TPlsqlCreateProcedure(pdbvendor); 8083 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 8084 gnewsqlstatementtype = ret.sqlstatementtype; 8085 } 8086 else if ( pcst.tokencode == TBaseType.rrw_function ) 8087 { 8088 ret = new TPlsqlCreateFunction(pdbvendor); 8089 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 8090 gnewsqlstatementtype = ret.sqlstatementtype; 8091 } 8092 else if ( pcst.tokencode == TBaseType.rrw_package ) 8093 { 8094 ret = new TPlsqlCreatePackage(pdbvendor); 8095 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8096 gnewsqlstatementtype = ret.sqlstatementtype; 8097 } 8098 } 8099 break; 8100 } 8101 case sstselect: 8102 { 8103 boolean lcisnewsql = true; 8104 8105 if ( pstate != EFindSqlStateType.stnormal ) 8106 { 8107 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8108 if ( (lcprevsolidtoken != null) ) 8109 { 8110 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8111 lcisnewsql = false; //subqery 8112 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 8113 lcisnewsql = false; 8114 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 8115 lcisnewsql = false; 8116 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 8117 lcisnewsql = false; 8118 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 8119 lcisnewsql = false; 8120 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 8121 lcisnewsql = false; 8122 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 8123 { 8124 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 8125 lcisnewsql = false; 8126 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 8127 lcisnewsql = false; 8128 } 8129 8130 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 8131 { 8132 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 8133 if ( (lcpprevsolidtoken != null) ) 8134 { 8135 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 8136 lcisnewsql = false; 8137 } 8138 } 8139 8140 } 8141 8142 8143 if ( (lccurrentsqlstatement != null) ) 8144 { 8145 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 8146 lcisnewsql = false; 8147 } 8148 8149 } 8150 8151 if ( lcisnewsql ) 8152 ret = new TSelectSqlStatement(pdbvendor); 8153 8154 break; 8155 } 8156 case sstinsert: 8157 { 8158 boolean lcisnewsql = true; 8159 if ( pstate != EFindSqlStateType.stnormal ) 8160 { 8161 if ( (lccurrentsqlstatement != null) ) 8162 { 8163 8164 } 8165 } 8166 8167 if ( lcisnewsql ) 8168 ret = new TInsertSqlStatement(pdbvendor); 8169 8170 break; 8171 } 8172 case sstupdate: 8173 { 8174 boolean lcisnewsql = true; 8175 if ( pstate != EFindSqlStateType.stnormal ) 8176 { 8177 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8178 if ( (lcprevsolidtoken != null) ) 8179 { // 8180 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8181 lcisnewsql = false; 8182 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 8183 lcisnewsql = false; 8184 } 8185 8186 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8187 if ( (lcnextsolidtoken != null) ) 8188 { 8189 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8190 { 8191 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 8192 if ( k == 0 ) lcisnewsql = false; 8193 } 8194 } 8195 8196 8197 if ( (lccurrentsqlstatement != null) ) 8198 { 8199 } 8200 } 8201 8202 if ( lcisnewsql ) 8203 { 8204 ret = new TUpdateSqlStatement(pdbvendor); 8205 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 8206 } 8207 break; 8208 } 8209 case sstdelete: 8210 { 8211 boolean lcisnewsql = true; 8212 8213 if ( pstate != EFindSqlStateType.stnormal ) 8214 { 8215 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8216 if ( (lcprevsolidtoken != null) ) 8217 { 8218 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8219 lcisnewsql = false; 8220 } 8221 8222 if ( (lccurrentsqlstatement != null) ) 8223 { 8224 } 8225 } 8226 8227 if ( lcisnewsql ) 8228 ret = new TDeleteSqlStatement(pdbvendor); 8229 8230 break; 8231 } 8232 case sstmerge: 8233 { 8234 ret = new TMergeSqlStatement(pdbvendor); 8235 ret.sqlstatementtype = gnewsqlstatementtype; 8236 break; 8237 } 8238 case sstoraclecommit: 8239 { 8240 ret = new TUnknownSqlStatement(pdbvendor); 8241 ret.sqlstatementtype = gnewsqlstatementtype; 8242 break; 8243 } 8244 case sstoraclerollback: 8245 { 8246 ret = new TUnknownSqlStatement(pdbvendor); 8247 ret.sqlstatementtype = gnewsqlstatementtype; 8248 break; 8249 } 8250 case sstoraclesavepoint: 8251 { 8252 ret = new TUnknownSqlStatement(pdbvendor); 8253 ret.sqlstatementtype = gnewsqlstatementtype; 8254 break; 8255 } 8256 case sstoraclerevoke: 8257 { 8258 ret = new TUnknownSqlStatement(pdbvendor); 8259 ret.sqlstatementtype = gnewsqlstatementtype; 8260 break; 8261 } 8262 case sstoraclegrant: 8263 { 8264 ret = new TUnknownSqlStatement(pdbvendor); 8265 ret.sqlstatementtype = gnewsqlstatementtype; 8266 break; 8267 } 8268 case sstoracleanalyze: 8269 { 8270 ret = new TUnknownSqlStatement(pdbvendor); 8271 ret.sqlstatementtype = gnewsqlstatementtype; 8272 break; 8273 } 8274 case sstoracletruncate: 8275 { 8276 ret = new TUnknownSqlStatement(pdbvendor); 8277 ret.sqlstatementtype = gnewsqlstatementtype; 8278 break; 8279 } 8280 case sstcreatetable: 8281 case sstgreenplumCreateExternalTable: 8282 { 8283 ret = new TCreateTableSqlStatement(pdbvendor); 8284 break; 8285 } 8286 case sstoraclecreateview: 8287 { 8288 ret = new TCreateViewSqlStatement(pdbvendor); 8289 break; 8290 } 8291 case sstcreatematerializedview:{ 8292 ret = new TCreateMaterializedSqlStatement(pdbvendor); 8293 break; 8294 } 8295 case sstoraclecreateindex: 8296 { 8297 ret = new TCreateIndexSqlStatement(pdbvendor); 8298 break; 8299 } 8300 case sstoraclecreatedatabase: 8301 { 8302 ret = new TCreateDatabaseSqlStatement(pdbvendor); 8303 break; 8304 } 8305 case sstoracledroptable: 8306 { 8307 ret = new TDropTableSqlStatement(pdbvendor); 8308 break; 8309 } 8310 case sstoracledropview: 8311 { 8312 ret = new TDropViewSqlStatement(pdbvendor); 8313 break; 8314 } 8315 case sstoracledropindex: 8316 { 8317 ret = new TDropIndexSqlStatement(pdbvendor); 8318 break; 8319 } 8320 case sstaltertable: 8321 { 8322 ret = new TAlterTableStatement(pdbvendor); 8323 break; 8324 } 8325 case sstoraclealtersession: 8326 { 8327 ret = new TAlterSessionStatement(pdbvendor); 8328 break; 8329 } 8330 case sstplsql_createprocedure: 8331 { 8332 ret = new TPlsqlCreateProcedure(pdbvendor); 8333 ret.sqlstatementtype = gnewsqlstatementtype; 8334 // System.out.println(gnewsqlstatementtype); 8335 break; 8336 } 8337 case sstplsql_createfunction: 8338 { 8339 ret = new TPlsqlCreateFunction(pdbvendor); 8340 ret.sqlstatementtype = gnewsqlstatementtype; 8341 // System.out.println(gnewsqlstatementtype); 8342 break; 8343 } 8344 case sstplsql_createpackage: 8345 { 8346 ret = new TPlsqlCreatePackage(pdbvendor); 8347 ret.sqlstatementtype = gnewsqlstatementtype; 8348 // System.out.println(gnewsqlstatementtype); 8349 break; 8350 } 8351 case sstplsql_createtrigger: 8352 { 8353 ret = new TPlsqlCreateTrigger(pdbvendor); 8354 ret.sqlstatementtype = gnewsqlstatementtype; 8355 // System.out.println(gnewsqlstatementtype); 8356 break; 8357 } 8358 case sstplsql_execimmestmt: 8359 { 8360 ret = new TExecImmeStmt(pdbvendor); 8361 // ret.sqlstatementtype = gnewsqlstatementtype; 8362 // System.out.println(gnewsqlstatementtype); 8363 break; 8364 } 8365 case sstoraclecreatepackagebody: 8366 { 8367 ret = new TPlsqlCreatePackage(pdbvendor); 8368 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8369 break; 8370 } 8371 case sstplsql_createtype_placeholder: 8372 { 8373 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 8374 ret.sqlstatementtype = gnewsqlstatementtype; 8375 // System.out.println(gnewsqlstatementtype); 8376 break; 8377 } 8378 case sstplsql_createtypebody: 8379 { 8380 ret = new TPlsqlCreateTypeBody(pdbvendor); 8381 ret.sqlstatementtype = gnewsqlstatementtype; 8382 break; 8383 } 8384 case sstCommentOn: 8385 { 8386 ret = new TCommentOnSqlStmt(pdbvendor); 8387 break; 8388 } 8389 case sstoraclecreatesequence: 8390 { 8391 ret = new TCreateSequenceStmt(pdbvendor); 8392 break; 8393 } 8394 case sstoraclecreatesynonym: 8395 { 8396 ret = new TCreateSynonymStmt(pdbvendor); 8397 break; 8398 } 8399 case sstoraclecreatedirectory: 8400 { 8401 ret = new TOracleCreateDirectoryStmt(pdbvendor); 8402 break; 8403 } 8404 case sstpostgresqlCreateIndex: 8405 ret = new TCreateIndexSqlStatement(pdbvendor); 8406 break; 8407 case sstpostgresqlCreateView: 8408 ret = new TCreateViewSqlStatement(pdbvendor); 8409 break; 8410 case sstpostgresqlCreateFunction: 8411 ret = new TCreateFunctionStmt(pdbvendor); 8412 break; 8413 case sstcreatetrigger: 8414 ret = new TCreateTriggerStmt(pdbvendor); 8415 break; 8416 case sstpostgresqlMove: 8417 ret = new TMoveStmt(EDbVendor.dbvgreenplum); 8418 break; 8419 case sstpostgresqlTruncate: 8420 ret = new TTruncateStatement(EDbVendor.dbvgreenplum); 8421 break; 8422 case sstpostgresqlExecute: 8423 ret = new TExecuteSqlStatement(EDbVendor.dbvgreenplum); 8424 break; 8425 case sstValues: 8426 ret = new TSelectSqlStatement(EDbVendor.dbvgreenplum); 8427 break; 8428 case sstpostgresqlDeclare: { 8429 boolean lcisnewsql = true; 8430 8431 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos, 2, false); 8432 if ((lcnextsolidtoken != null)) { 8433 if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_CURSOR) { 8434 lcisnewsql = false; 8435 } 8436 } 8437 8438 8439 if (lcisnewsql) 8440 ret = new TCommonBlock(pdbvendor); 8441 else { 8442 ret = new TUnknownSqlStatement(pdbvendor); 8443 } 8444 ret.sqlstatementtype = gnewsqlstatementtype; 8445 8446 break; 8447 } 8448 case sstpostgresqlSet: 8449 ret = new TSetStmt(pdbvendor); 8450 break; 8451 case sstcreateExtension: 8452 ret = new TCreateExtensionStmt(pdbvendor); 8453 break; 8454 case sstcall: 8455 ret = new TCallStatement(pdbvendor); 8456 break; 8457 case sstpostgresqlCreateSchema: 8458 ret = new TCreateSchemaSqlStatement(pdbvendor); 8459 break; 8460 case sstpostgresqlDo: { 8461 boolean lcisnewsql = false; 8462 8463 if (pstate == EFindSqlStateType.stnormal) { 8464 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos, 1, false); 8465 if ((lcnextsolidtoken != null)) { 8466 if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_function_delimiter) 8467 lcisnewsql = true; 8468 else if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_language) 8469 lcisnewsql = true; 8470 } 8471 } 8472 8473 if (lcisnewsql) 8474 ret = new TDoExecuteBlockStmt(pdbvendor); 8475 8476 break; 8477 } 8478 case sstpostgresqlComment: 8479 ret = new TCommentOnSqlStmt(pdbvendor); 8480 break; 8481 default: 8482 { 8483 ret = new TUnknownSqlStatement(pdbvendor); 8484 ret.sqlstatementtype = gnewsqlstatementtype; 8485 break; 8486 } 8487 } // case 8488 8489 return ret; 8490 } 8491 8492TCustomSqlStatement isoraclesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8493 TCustomSqlStatement ret = null; 8494 8495 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8496 8497 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8498 || (pcst.tokencode == TBaseType.cmtslashstar) 8499 || (pcst.tokencode == TBaseType.lexspace) 8500 || (pcst.tokencode == TBaseType.lexnewline) 8501 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8502 { 8503 return null; 8504 } 8505 8506 int lcpos = pcst.posinlist; 8507 TSourceTokenList lcsourcetokenlist = pcst.container; 8508 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8509 8510 //subquery after semicolon or at first line 8511 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8512 { 8513 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8514 if ( k >0 ) 8515 { 8516 ret = new TSelectSqlStatement(pdbvendor); 8517 } 8518 8519 return ret; 8520 } 8521 8522 //cte 8523 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8524 { 8525 ret = findcte(pcst,pdbvendor); 8526 if ( (ret != null) ) return ret; 8527 } 8528 8529 gnewsqlstatementtype = findoraclecmd(pcst); 8530 8531 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8532 switch (gnewsqlstatementtype) { // 8533 case sstinvalid: 8534 { 8535 ret = null; 8536 8537 if ( pstate == EFindSqlStateType.stnormal ) 8538 { 8539 if ( pcst.tokencode == TBaseType.label_begin ) 8540 { 8541 ret = new TCommonBlock(pdbvendor); 8542 gnewsqlstatementtype = ret.sqlstatementtype; 8543 } 8544 else if ( pcst.tokencode == TBaseType.rrw_declare ) 8545 { 8546 ret = new TCommonBlock(pdbvendor); 8547 gnewsqlstatementtype = ret.sqlstatementtype; 8548 } 8549 else if ( pcst.tokencode == TBaseType.rrw_begin ) 8550 { 8551 ret = new TCommonBlock(pdbvendor); 8552 gnewsqlstatementtype = ret.sqlstatementtype; 8553 } 8554 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 8555 { 8556 ret = new TPlsqlCreateProcedure(pdbvendor); 8557 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 8558 gnewsqlstatementtype = ret.sqlstatementtype; 8559 } 8560 else if ( pcst.tokencode == TBaseType.rrw_function ) 8561 { 8562 ret = new TPlsqlCreateFunction(pdbvendor); 8563 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 8564 gnewsqlstatementtype = ret.sqlstatementtype; 8565 } 8566 else if ( pcst.tokencode == TBaseType.rrw_package ) 8567 { 8568 ret = new TPlsqlCreatePackage(pdbvendor); 8569 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8570 gnewsqlstatementtype = ret.sqlstatementtype; 8571 } 8572 } 8573 break; 8574 } 8575 case sstselect: 8576 { 8577 boolean lcisnewsql = true; 8578 8579 if ( pstate != EFindSqlStateType.stnormal ) 8580 { 8581 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8582 if ( (lcprevsolidtoken != null) ) 8583 { 8584 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8585 lcisnewsql = false; //subquery 8586 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 8587 lcisnewsql = false; 8588 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 8589 lcisnewsql = false; 8590 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 8591 lcisnewsql = false; 8592 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 8593 lcisnewsql = false; 8594 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 8595 lcisnewsql = false; 8596 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 8597 { 8598 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 8599 lcisnewsql = false; 8600 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 8601 lcisnewsql = false; 8602 } 8603 8604 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 8605 { 8606 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 8607 if ( (lcpprevsolidtoken != null) ) 8608 { 8609 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 8610 lcisnewsql = false; 8611 } 8612 } 8613 8614 } 8615 8616 8617 if ( (lccurrentsqlstatement != null) ) 8618 { 8619 switch (lccurrentsqlstatement.sqlstatementtype){ 8620 case sstinsert: 8621 lcisnewsql = false; 8622 break; 8623 case sstcreatetable: 8624 case sstcreateview: 8625 lcisnewsql = false; 8626 break; 8627 } 8628 } 8629 8630 } 8631 8632 if ( lcisnewsql ) 8633 ret = new TSelectSqlStatement(pdbvendor); 8634 8635 break; 8636 } 8637 case sstinsert: 8638 { 8639 boolean lcisnewsql = true; 8640 if ( pstate != EFindSqlStateType.stnormal ) 8641 { 8642 if ( (lccurrentsqlstatement != null) ) 8643 { 8644 8645 } 8646 } 8647 8648 if ( lcisnewsql ) 8649 ret = new TInsertSqlStatement(pdbvendor); 8650 8651 break; 8652 } 8653 case sstupdate: 8654 { 8655 boolean lcisnewsql = true; 8656 if ( pstate != EFindSqlStateType.stnormal ) 8657 { 8658 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8659 if ( (lcprevsolidtoken != null) ) 8660 { // 8661 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8662 lcisnewsql = false; 8663 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 8664 lcisnewsql = false; 8665 } 8666 8667 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8668 if ( (lcnextsolidtoken != null) ) 8669 { 8670 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8671 { 8672 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 8673 if ( k == 0 ) lcisnewsql = false; 8674 } 8675 } 8676 8677 8678 if ( (lccurrentsqlstatement != null) ) 8679 { 8680 } 8681 } 8682 8683 if ( lcisnewsql ) 8684 { 8685 ret = new TUpdateSqlStatement(pdbvendor); 8686 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 8687 } 8688 break; 8689 } 8690 case sstdelete: 8691 { 8692 boolean lcisnewsql = true; 8693 8694 if ( pstate != EFindSqlStateType.stnormal ) 8695 { 8696 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8697 if ( (lcprevsolidtoken != null) ) 8698 { 8699 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8700 lcisnewsql = false; 8701 } 8702 8703 if ( (lccurrentsqlstatement != null) ) 8704 { 8705 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8706 if ( (lcnextsolidtoken != null) ){ 8707 if (lcnextsolidtoken.tokencode == TBaseType.rrw_oracle_rows){ 8708 lcisnewsql = false; 8709 } 8710 } 8711 } 8712 } 8713 8714 if ( lcisnewsql ) 8715 ret = new TDeleteSqlStatement(pdbvendor); 8716 8717 break; 8718 } 8719 case sstmerge: 8720 { 8721 ret = new TMergeSqlStatement(pdbvendor); 8722 ret.sqlstatementtype = gnewsqlstatementtype; 8723 break; 8724 } 8725 case sstoraclecommit: 8726 { 8727 8728 boolean lcisnewsql = true; 8729 if ( pstate != EFindSqlStateType.stnormal ) 8730 { 8731 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8732 if ( (lcprevsolidtoken != null) ) 8733 { // 8734 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8735 lcisnewsql = false; 8736 } 8737 } 8738 8739 if (lcisnewsql){ 8740 ret = new TCommitStmt(pdbvendor); 8741 ret.sqlstatementtype = gnewsqlstatementtype; 8742 } 8743 8744 break; 8745 } 8746 case sstoraclerollback: 8747 { 8748 ret = new TUnknownSqlStatement(pdbvendor); 8749 ret.sqlstatementtype = gnewsqlstatementtype; 8750 break; 8751 } 8752 case sstoraclesavepoint: 8753 { 8754 ret = new TUnknownSqlStatement(pdbvendor); 8755 ret.sqlstatementtype = gnewsqlstatementtype; 8756 break; 8757 } 8758 case sstoraclerevoke: 8759 { 8760 ret = new TUnknownSqlStatement(pdbvendor); 8761 ret.sqlstatementtype = gnewsqlstatementtype; 8762 break; 8763 } 8764 case sstoraclegrant: 8765 { 8766 ret = new TUnknownSqlStatement(pdbvendor); 8767 ret.sqlstatementtype = gnewsqlstatementtype; 8768 break; 8769 } 8770 case sstoracleanalyze: 8771 { 8772 ret = new TUnknownSqlStatement(pdbvendor); 8773 ret.sqlstatementtype = gnewsqlstatementtype; 8774 break; 8775 } 8776 case sstTruncate: 8777 { 8778 ret = new TTruncateStatement(pdbvendor); 8779 ret.sqlstatementtype = gnewsqlstatementtype; 8780 break; 8781 } 8782 case sstcreatetable: 8783 { 8784 ret = new TCreateTableSqlStatement(pdbvendor); 8785 break; 8786 } 8787 case sstoraclecreateview: 8788 { 8789 ret = new TCreateViewSqlStatement(pdbvendor); 8790 break; 8791 } 8792 case sstcreatematerializedview:{ 8793 ret = new TCreateMaterializedSqlStatement(pdbvendor); 8794 break; 8795 } 8796 case sstoraclecreatematerializedviewlog:{ 8797 ret = new TCreateMaterializedViewLogSqlStatement(pdbvendor); 8798 break; 8799 } 8800 case sstoraclecreateindex: 8801 { 8802 ret = new TCreateIndexSqlStatement(pdbvendor); 8803 break; 8804 } 8805 case sstoraclecreatedatabase: 8806 { 8807 ret = new TCreateDatabaseSqlStatement(pdbvendor); 8808 break; 8809 } 8810 case sstoracledroptable: 8811 { 8812 ret = new TDropTableSqlStatement(pdbvendor); 8813 break; 8814 } 8815 case sstoracledropview: 8816 { 8817 ret = new TDropViewSqlStatement(pdbvendor); 8818 break; 8819 } 8820 case sstoracledropindex: 8821 { 8822 ret = new TDropIndexSqlStatement(pdbvendor); 8823 break; 8824 } 8825 case sstaltertable: 8826 { 8827 ret = new TAlterTableStatement(pdbvendor); 8828 break; 8829 } 8830 case sstoraclealtersession: 8831 { 8832 ret = new TAlterSessionStatement(pdbvendor); 8833 break; 8834 } 8835 case sstplsql_createprocedure: 8836 { 8837 ret = new TPlsqlCreateProcedure(pdbvendor); 8838 ret.sqlstatementtype = gnewsqlstatementtype; 8839 // System.out.println(gnewsqlstatementtype); 8840 break; 8841 } 8842 case sstplsql_createfunction: 8843 { 8844 ret = new TPlsqlCreateFunction(pdbvendor); 8845 ret.sqlstatementtype = gnewsqlstatementtype; 8846 // System.out.println(gnewsqlstatementtype); 8847 break; 8848 } 8849 case sstplsql_createpackage: 8850 { 8851 ret = new TPlsqlCreatePackage(pdbvendor); 8852 ret.sqlstatementtype = gnewsqlstatementtype; 8853 // System.out.println(gnewsqlstatementtype); 8854 break; 8855 } 8856 case sstplsql_createtrigger: 8857 { 8858 ret = new TPlsqlCreateTrigger(pdbvendor); 8859 ret.sqlstatementtype = gnewsqlstatementtype; 8860 // System.out.println(gnewsqlstatementtype); 8861 break; 8862 } 8863 case sstplsql_execimmestmt: 8864 { 8865 ret = new TExecImmeStmt(pdbvendor); 8866 // ret.sqlstatementtype = gnewsqlstatementtype; 8867 // System.out.println(gnewsqlstatementtype); 8868 break; 8869 } 8870 case sstoraclecreatepackagebody: 8871 { 8872 ret = new TPlsqlCreatePackage(pdbvendor); 8873 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8874 break; 8875 } 8876 case sstplsql_createtype_placeholder: 8877 { 8878 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 8879 ret.sqlstatementtype = gnewsqlstatementtype; 8880 // System.out.println(gnewsqlstatementtype); 8881 break; 8882 } 8883 case sstplsql_createtypebody: 8884 { 8885 ret = new TPlsqlCreateTypeBody(pdbvendor); 8886 ret.sqlstatementtype = gnewsqlstatementtype; 8887 break; 8888 } 8889 case sstCommentOn: 8890 { 8891 ret = new TCommentOnSqlStmt(pdbvendor); 8892 break; 8893 } 8894 case sstoraclecreatesequence: 8895 { 8896 ret = new TCreateSequenceStmt(pdbvendor); 8897 break; 8898 } 8899 case sstoraclecreatesynonym: 8900 { 8901 ret = new TCreateSynonymStmt(pdbvendor); 8902 break; 8903 } 8904 case sstoraclecreatedirectory: 8905 { 8906 ret = new TOracleCreateDirectoryStmt(pdbvendor); 8907 break; 8908 } 8909 case sstoracleexecuteprocedure: 8910 { 8911 ret = new TOracleExecuteProcedure(pdbvendor); 8912 break; 8913 } 8914 case sstExplain: 8915 { 8916 ret = new TExplainPlan(pdbvendor); 8917 break; 8918 } 8919 case sstoraclecreatelibrary: 8920 ret = new TOracleCreateLibraryStmt(pdbvendor); 8921 break; 8922 case sstaltertrigger: 8923 ret = new TAlterTriggerStmt(pdbvendor); 8924 break; 8925 case sstoracledropsequence: 8926 ret = new TDropSequenceStmt(pdbvendor); 8927 break; 8928 case sstoraclecall: 8929 ret = new TCallStatement(pdbvendor); 8930 break; 8931 case sstoraclealterview: 8932 ret = new TAlterViewStatement(pdbvendor); 8933 break; 8934 case sstoracledropsynonym: 8935 ret = new TDropSynonymStmt(pdbvendor); 8936 break; 8937 case sstoracledropdatabaselink: 8938 ret = new TDropDatabaseLinkStmt(pdbvendor); 8939 break; 8940 case sstoraclecreatedatabaselink: 8941 ret = new TCreateDatabaseLinkStmt(pdbvendor); 8942 break; 8943 case sstoracledropmaterializedview: 8944 ret = new TDropMaterializedViewStmt(pdbvendor); 8945 break; 8946 case sstoracledropmaterializedviewlog: 8947 ret = new TDropMaterializedViewLogStmt(pdbvendor); 8948 break; 8949 case sstoraclerename: 8950 ret = new TRenameStmt(pdbvendor); 8951 break; 8952 case sstoracledropprocedure: 8953 ret = new TDropProcedureStmt(pdbvendor); 8954 break; 8955 case sstAlterMaterializedView: 8956 ret = new TAlterMaterializedViewStmt(pdbvendor); 8957 break; 8958 case sstoracledroptrigger: 8959 ret = new TDropTriggerSqlStatement(pdbvendor); 8960 break; 8961 case sstoracledropfunction: 8962 ret = new TDropFunctionStmt(pdbvendor); 8963 break; 8964 case sstoraclealterindex: 8965 ret = new TAlterIndexStmt(pdbvendor); 8966 break; 8967 case sstoraclealtersequence: 8968 ret = new TAlterSequenceStatement(pdbvendor); 8969 break; 8970 case sstoraclealtertype: 8971 ret = new TAlterTypeStatement(pdbvendor); 8972 break; 8973 default: 8974 { 8975 ret = new TUnknownSqlStatement(pdbvendor); 8976 ret.sqlstatementtype = gnewsqlstatementtype; 8977 break; 8978 } 8979 } // case 8980 8981 return ret; 8982} 8983 8984TCustomSqlStatement isinformixsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8985 TCustomSqlStatement ret = null; 8986 8987 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8988 8989 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8990 || (pcst.tokencode == TBaseType.cmtslashstar) 8991 || (pcst.tokencode == TBaseType.lexspace) 8992 || (pcst.tokencode == TBaseType.lexnewline) 8993 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8994 { 8995 return null; 8996 } 8997 8998 int lcpos = pcst.posinlist; 8999 TSourceTokenList lcsourcetokenlist = pcst.container; 9000 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 9001 9002 //subquery after semicolon or at first line 9003 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 9004 { 9005 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 9006 if ( k >0 ) 9007 { 9008 ret = new TSelectSqlStatement(pdbvendor); 9009 } 9010 9011 return ret; 9012 } 9013 9014 //cte 9015 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 9016 { 9017 ret = findcte(pcst,pdbvendor); 9018 if ( (ret != null) ) return ret; 9019 } 9020 9021 gnewsqlstatementtype = findinformixcmd(pcst); 9022 9023 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9024 switch (gnewsqlstatementtype) { // 9025 case sstinvalid: 9026 { 9027 ret = null; 9028 9029 if ( pstate == EFindSqlStateType.stnormal ) 9030 { 9031 if ( pcst.tokencode == TBaseType.label_begin ) 9032 { 9033 ret = new TCommonBlock(pdbvendor); 9034 gnewsqlstatementtype = ret.sqlstatementtype; 9035 } 9036 else if ( pcst.tokencode == TBaseType.rrw_declare ) 9037 { 9038 ret = new TCommonBlock(pdbvendor); 9039 gnewsqlstatementtype = ret.sqlstatementtype; 9040 } 9041 else if ( pcst.tokencode == TBaseType.rrw_begin ) 9042 { 9043 ret = new TCommonBlock(pdbvendor); 9044 gnewsqlstatementtype = ret.sqlstatementtype; 9045 } 9046 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 9047 { 9048 ret = new TPlsqlCreateProcedure(pdbvendor); 9049 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 9050 gnewsqlstatementtype = ret.sqlstatementtype; 9051 } 9052 else if ( pcst.tokencode == TBaseType.rrw_function ) 9053 { 9054 ret = new TPlsqlCreateFunction(pdbvendor); 9055 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 9056 gnewsqlstatementtype = ret.sqlstatementtype; 9057 } 9058 else if ( pcst.tokencode == TBaseType.rrw_package ) 9059 { 9060 ret = new TPlsqlCreatePackage(pdbvendor); 9061 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 9062 gnewsqlstatementtype = ret.sqlstatementtype; 9063 } 9064 } 9065 break; 9066 } 9067 case sstselect: 9068 { 9069 boolean lcisnewsql = true; 9070 9071 if ( pstate != EFindSqlStateType.stnormal ) 9072 { 9073 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9074 if ( (lcprevsolidtoken != null) ) 9075 { 9076 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9077 lcisnewsql = false; //subqery 9078 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 9079 lcisnewsql = false; 9080 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 9081 lcisnewsql = false; 9082 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 9083 lcisnewsql = false; 9084 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 9085 lcisnewsql = false; 9086 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 9087 lcisnewsql = false; 9088 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 9089 { 9090 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 9091 lcisnewsql = false; 9092 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 9093 lcisnewsql = false; 9094 } 9095 9096 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 9097 { 9098 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 9099 if ( (lcpprevsolidtoken != null) ) 9100 { 9101 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 9102 lcisnewsql = false; 9103 } 9104 } 9105 9106 } 9107 9108 9109 if ( (lccurrentsqlstatement != null) ) 9110 { 9111 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 9112 lcisnewsql = false; 9113 } 9114 9115 } 9116 9117 if ( lcisnewsql ) 9118 ret = new TSelectSqlStatement(pdbvendor); 9119 9120 break; 9121 } 9122 case sstinsert: 9123 { 9124 boolean lcisnewsql = true; 9125 if ( pstate != EFindSqlStateType.stnormal ) 9126 { 9127 if ( (lccurrentsqlstatement != null) ) 9128 { 9129 // merge 9130 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9131 { 9132 if (lcprevsolidtoken != null) 9133 { 9134 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9135 {lcisnewsql = false;} 9136 } 9137 } 9138 9139 } 9140 } 9141 9142 if ( lcisnewsql ) 9143 ret = new TInsertSqlStatement(pdbvendor); 9144 9145 break; 9146 } 9147 case sstupdate: 9148 { 9149 boolean lcisnewsql = true; 9150 if ( pstate != EFindSqlStateType.stnormal ) 9151 { 9152 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9153 if ( (lcprevsolidtoken != null) ) 9154 { // 9155 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9156 lcisnewsql = false; 9157 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9158 lcisnewsql = false; 9159 } 9160 9161 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 9162 if ( (lcnextsolidtoken != null) ) 9163 { 9164 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9165 { 9166 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 9167 if ( k == 0 ) lcisnewsql = false; 9168 } 9169 } 9170 9171 9172 if ( (lccurrentsqlstatement != null) ) 9173 { 9174 // merge 9175 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9176 { 9177 if (lcprevsolidtoken != null) 9178 { 9179 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9180 {lcisnewsql = false;} 9181 } 9182 } 9183 } 9184 } 9185 9186 if ( lcisnewsql ) 9187 { 9188 ret = new TUpdateSqlStatement(pdbvendor); 9189 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 9190 } 9191 break; 9192 } 9193 case sstdelete: 9194 { 9195 boolean lcisnewsql = true; 9196 9197 if ( pstate != EFindSqlStateType.stnormal ) 9198 { 9199 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9200 if ( (lcprevsolidtoken != null) ) 9201 { 9202 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9203 lcisnewsql = false; 9204 } 9205 9206 if ( (lccurrentsqlstatement != null) ) 9207 { 9208 // merge 9209 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9210 { 9211 if (lcprevsolidtoken != null) 9212 { 9213 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9214 {lcisnewsql = false;} 9215 } 9216 } 9217 } 9218 } 9219 9220 if ( lcisnewsql ) 9221 ret = new TDeleteSqlStatement(pdbvendor); 9222 9223 break; 9224 } 9225 case sstmerge: 9226 { 9227 ret = new TMergeSqlStatement(pdbvendor); 9228 ret.sqlstatementtype = gnewsqlstatementtype; 9229 break; 9230 } 9231 case sstinformixCommit: 9232 { 9233 ret = new TUnknownSqlStatement(pdbvendor); 9234 ret.sqlstatementtype = gnewsqlstatementtype; 9235 break; 9236 } 9237 case sstinformixSavepoint: 9238 { 9239 ret = new TUnknownSqlStatement(pdbvendor); 9240 ret.sqlstatementtype = gnewsqlstatementtype; 9241 break; 9242 } 9243 case sstinformixRevoke: 9244 { 9245 ret = new TUnknownSqlStatement(pdbvendor); 9246 ret.sqlstatementtype = gnewsqlstatementtype; 9247 break; 9248 } 9249 case sstinformixGrant: 9250 { 9251 ret = new TUnknownSqlStatement(pdbvendor); 9252 ret.sqlstatementtype = gnewsqlstatementtype; 9253 break; 9254 } 9255 case sstTruncate: 9256 { 9257 ret = new TTruncateStatement(pdbvendor); 9258 ret.sqlstatementtype = gnewsqlstatementtype; 9259 break; 9260 } 9261 case sstcreatetable: 9262 case sstinformixCreateTempTable: 9263 { 9264 ret = new TCreateTableSqlStatement(pdbvendor); 9265 break; 9266 } 9267 case sstinformixCreateView: 9268 { 9269 ret = new TCreateViewSqlStatement(pdbvendor); 9270 break; 9271 } 9272 case sstinformixCreateIndex: 9273 { 9274 ret = new TCreateIndexSqlStatement(pdbvendor); 9275 break; 9276 } 9277 case sstinformixCreateDatabase: 9278 { 9279 ret = new TCreateDatabaseSqlStatement(pdbvendor); 9280 break; 9281 } 9282 case sstinformixDropTable: 9283 { 9284 ret = new TDropTableSqlStatement(pdbvendor); 9285 break; 9286 } 9287 case sstinformixDropView: 9288 { 9289 ret = new TDropViewSqlStatement(pdbvendor); 9290 break; 9291 } 9292 case sstinformixDropIndex: 9293 { 9294 ret = new TDropIndexSqlStatement(pdbvendor); 9295 break; 9296 } 9297 case sstinformixDropRowType: 9298 { 9299 ret = new TInformixDropRowTypeStmt(pdbvendor); 9300 break; 9301 } 9302 case sstinformixDropSequence: 9303 { 9304 ret = new TDropSequenceStmt(pdbvendor); 9305 break; 9306 } 9307 case sstinformixDropSynonym: 9308 { 9309 ret = new TDropSynonymStmt(pdbvendor); 9310 break; 9311 } 9312 case sstinformixAlterTable: 9313 { 9314 ret = new TAlterTableStatement(pdbvendor); 9315 break; 9316 } 9317 case sstinformixCreateProcedure: 9318 { 9319 ret = new TInformixCreateProcedure(pdbvendor); 9320 ret.sqlstatementtype = gnewsqlstatementtype; 9321 break; 9322 } 9323 case sstinformixCreateFunction: 9324 { 9325 ret = new TInformixCreateFunction(pdbvendor); 9326 ret.sqlstatementtype = gnewsqlstatementtype; 9327 break; 9328 } 9329 case sstcreatetrigger: 9330 { 9331 ret = new TCreateTriggerStmt(pdbvendor); 9332 break; 9333 } 9334 case sstinformixExecuteImmediate: 9335 { 9336 ret = new TInformixExecuteImmediate(pdbvendor); 9337 break; 9338 } 9339 case sstinformixCreateSequence: 9340 case sstinformixAlterSequence: 9341 { 9342 ret = new TCreateSequenceStmt(pdbvendor); 9343 break; 9344 } 9345 case sstinformixCreateSynonym: 9346 { 9347 ret = new TCreateSynonymStmt(pdbvendor); 9348 break; 9349 } 9350 case sstinformixExecuteFunction: 9351 { 9352 ret = new TInformixExecuteFunction(pdbvendor); 9353 break; 9354 } 9355 case sstinformixExecuteProcedure: 9356 { 9357 ret = new TInformixExecuteProcedure(pdbvendor); 9358 break; 9359 } 9360 case sstinformixCreateRowType: 9361 { 9362 ret = new TInformixCreateRowTypeStmt(pdbvendor); 9363 break; 9364 } 9365 case sstinformixPut: 9366 case sstinformixInfo: 9367 { 9368 ret = null; 9369 9370 if ( pstate == EFindSqlStateType.stnormal ) 9371 { 9372 ret = new TUnknownSqlStatement(pdbvendor); 9373 ret.sqlstatementtype = gnewsqlstatementtype; 9374 } 9375 break; 9376 } 9377 case sstinformixAlterIndex: 9378 { 9379 ret = new TAlterIndexStmt(pdbvendor); 9380 break; 9381 } 9382 case sstinformixRenameColumn: 9383 case sstinformixRenameTable: 9384 case sstinformixRenameSequence: 9385 case sstinformixRenameIndex: 9386 { 9387 ret = new TRenameStmt(pdbvendor); 9388 break; 9389 } 9390 case sstdropdatabase: 9391 ret = new TDropDatabaseStmt(pdbvendor); 9392 break; 9393 case sstinformixRollbackWork: 9394 { 9395 ret = new TMssqlRollback(pdbvendor); 9396 break; 9397 } 9398 default: 9399 { 9400 ret = new TUnknownSqlStatement(pdbvendor); 9401 ret.sqlstatementtype = gnewsqlstatementtype; 9402 break; 9403 } 9404 } // case 9405 9406 return ret; 9407} 9408 9409 9410 TCustomSqlStatement issybasesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 9411 TCustomSqlStatement ret = null; 9412 int k; 9413 boolean lcisnewsql; 9414 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 9415 9416 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 9417 9418 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 9419 || (pcst.tokencode == TBaseType.cmtslashstar) 9420 || (pcst.tokencode == TBaseType.lexspace) 9421 || (pcst.tokencode == TBaseType.lexnewline) 9422 || (pcst.tokentype == ETokenType.ttsemicolon) ) 9423 { 9424 return ret; 9425 } 9426 9427 int lcpos = pcst.posinlist; 9428 TSourceTokenList lcsourcetokenlist = pcst.container; 9429 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 9430 9431 //subquery after semicolon || at first line 9432 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 9433 { 9434 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 9435 if ( k >0 ) 9436 { 9437 ret = new TSelectSqlStatement(pdbvendor); 9438 } 9439 9440 return ret; 9441 } 9442 9443 //cte 9444 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 9445 { 9446 ret = findcte(pcst,pdbvendor); 9447 if ( (ret != null) ) return ret; 9448 } 9449 9450 gnewsqlstatementtype = findsybasecmd(pcst); 9451 9452 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9453 switch(gnewsqlstatementtype ) { // 9454 case sstinvalid: 9455 { 9456 if ( pcst.tokencode == TBaseType.mslabel ) 9457 { 9458 ret = new TMssqlLabel(pdbvendor); 9459 } 9460 else 9461 ret = null; 9462 9463 break; 9464 } 9465 case sstselect: 9466 { 9467 lcisnewsql = true; 9468 9469 if ( pstate != EFindSqlStateType.stnormal ) 9470 { 9471 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9472 if ( (lcprevsolidtoken != null) ) 9473 { 9474 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9475 lcisnewsql = false; //subqery 9476 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 9477 lcisnewsql = false; 9478 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 9479 lcisnewsql = false; 9480 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 9481 lcisnewsql = false; 9482 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 9483 lcisnewsql = false; 9484 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 9485 lcisnewsql = false; 9486 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 9487 { 9488 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 9489 lcisnewsql = false; 9490 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 9491 lcisnewsql = false; 9492 } 9493 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9494 { 9495 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 9496 lcisnewsql = false; 9497 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare ) 9498 lcisnewsql = false; 9499 } 9500 9501 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 9502 { 9503 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 9504 if ( (lcpprevsolidtoken != null) ) 9505 { 9506 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 9507 lcisnewsql = false; 9508 } 9509 } 9510 9511 } 9512 9513 if ( (lccurrentsqlstatement != null) ) 9514 { 9515 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 9516 { 9517 } 9518 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9519 { 9520 if ( (lcprevsolidtoken != null) ) 9521 { 9522 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9523 lcisnewsql = false; 9524 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9525 lcisnewsql = false; 9526 } 9527 } else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9528 { 9529 if ( (lcprevsolidtoken != null) ) 9530 { 9531 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9532 lcisnewsql = false; 9533 } 9534 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 9535 lcisnewsql = false; 9536 } 9537 } 9538 9539 } 9540 9541 if ( lcisnewsql ) 9542 ret = new TSelectSqlStatement(pdbvendor); 9543 9544 break; 9545 9546 } 9547 case sstinsert: 9548 { 9549 lcisnewsql = true; 9550 if ( pstate != EFindSqlStateType.stnormal ) 9551 { 9552 if ( (lccurrentsqlstatement != null) ) 9553 { 9554 // merge 9555 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9556 { 9557 if (lcprevsolidtoken != null) 9558 { 9559 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9560 {lcisnewsql = false;} 9561 } 9562 } 9563 9564 // bulk insert 9565 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert ) 9566 { 9567 if ( (lcprevsolidtoken != null) ) 9568 { 9569 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_bulk ) 9570 lcisnewsql = false; 9571 } 9572 } 9573 9574 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9575 { 9576 if ( (lcprevsolidtoken != null) ) 9577 { 9578 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9579 lcisnewsql = false; 9580 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9581 lcisnewsql = false; 9582 } 9583 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) { 9584 if ( (lcprevsolidtoken != null) ) 9585 { 9586 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9587 lcisnewsql = false; 9588 } 9589 } 9590 9591 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9592 { 9593 if ( (lcprevsolidtoken != null) ) 9594 { 9595 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9596 lcisnewsql = false; 9597 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9598 lcisnewsql = false; 9599 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 9600 lcisnewsql = false; 9601 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 9602 lcisnewsql = false; 9603 } 9604 } 9605 9606 9607 } 9608 } 9609 9610 if ( lcisnewsql ) 9611 { 9612 ret = new TInsertSqlStatement(pdbvendor); 9613 ret.dummytag = 1; // select stmt in insert is permitted 9614 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 9615 { 9616 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 9617 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 9618 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 9619 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 9620 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 9621 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 9622 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 9623 } // for ( 9624 if ( k > lcsourcetokenlist.size() - 1 ) 9625 k = lcsourcetokenlist.size() - 1; 9626 9627 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 9628 { 9629 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 9630 } // for ( 9631 9632 } 9633 9634 break; 9635 } 9636 case sstsybaseInsertBulk: 9637 { 9638 ret = new TInsertBulk(pdbvendor); 9639 break; 9640 } 9641 case sstupdate: 9642 { 9643 lcisnewsql = true; 9644 if ( pstate != EFindSqlStateType.stnormal ) 9645 { 9646 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9647 if ( (lcprevsolidtoken != null) ) 9648 { // 9649 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9650 lcisnewsql = false; 9651 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9652 lcisnewsql = false; 9653 } 9654 9655 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 9656 if ( TBaseType.assigned(lcnextsolidtoken) ) 9657 { 9658 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9659 { 9660 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 9661 if ( k == 0 ) lcisnewsql = false; 9662 } 9663 } 9664 9665 9666 if ( TBaseType.assigned(lccurrentsqlstatement) ) 9667 { 9668 // merge 9669 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9670 { 9671 if (lcprevsolidtoken != null) 9672 { 9673 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9674 {lcisnewsql = false;} 9675 } 9676 } 9677 9678 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9679 { 9680 if ( TBaseType.assigned(lcprevsolidtoken) ) 9681 { 9682 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9683 lcisnewsql = false; 9684 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9685 lcisnewsql = false; 9686 } 9687 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9688 { 9689 if ( TBaseType.assigned(lcprevsolidtoken) ) 9690 { 9691 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9692 lcisnewsql = false; 9693 } 9694 } 9695 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9696 { 9697 if ( TBaseType.assigned(lcprevsolidtoken) ) 9698 { 9699 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9700 lcisnewsql = false; 9701 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9702 lcisnewsql = false; 9703 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 9704 lcisnewsql = false; 9705 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 9706 lcisnewsql = false; 9707 } 9708 } 9709 9710 } 9711 } 9712 9713 if ( lcisnewsql ) 9714 { 9715 ret = new TUpdateSqlStatement(pdbvendor); 9716 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 9717 } 9718 9719 break; 9720 } 9721 case sstdelete: 9722 { 9723 lcisnewsql = true; 9724 9725 if ( pstate != EFindSqlStateType.stnormal ) 9726 { 9727 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9728 if ( TBaseType.assigned(lcprevsolidtoken) ) 9729 { 9730 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9731 lcisnewsql = false; 9732 } 9733 9734 if ( TBaseType.assigned(lccurrentsqlstatement) ) 9735 { 9736 // merge 9737 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9738 { 9739 if (lcprevsolidtoken != null) 9740 { 9741 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9742 {lcisnewsql = false;} 9743 } 9744 } 9745 9746 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9747 { 9748 if ( TBaseType.assigned(lcprevsolidtoken) ) 9749 { 9750 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9751 lcisnewsql = false; 9752 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9753 lcisnewsql = false; 9754 } 9755 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9756 { 9757 if ( TBaseType.assigned(lcprevsolidtoken) ) 9758 { 9759 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9760 lcisnewsql = false; 9761 } 9762 } 9763 9764 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9765 { 9766 if ( TBaseType.assigned(lcprevsolidtoken) ) 9767 { 9768 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9769 lcisnewsql = false; 9770 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9771 lcisnewsql = false; 9772 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 9773 lcisnewsql = false; 9774 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 9775 lcisnewsql = false; 9776 } 9777 } 9778 9779 } 9780 } 9781 9782 if ( lcisnewsql ) 9783 ret = new TDeleteSqlStatement(pdbvendor); 9784 9785 break; 9786 } 9787 case sstcreatetable: 9788 { 9789 ret = new TCreateTableSqlStatement(pdbvendor); 9790 break; 9791 } 9792 case sstcreateview: 9793 { 9794 ret = new TCreateViewSqlStatement(pdbvendor); 9795 break; 9796 } 9797 case sstaltertable: 9798 { 9799 ret = new TAlterTableStatement(pdbvendor); 9800 break; 9801 } 9802 case sstmssqlfetch: 9803 { 9804 ret = new TMssqlFetch(pdbvendor); 9805 break; 9806 } 9807 case sstmssqlif : 9808 { 9809 lcisnewsql = true; 9810 if ((lccurrentsqlstatement != null) && ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldropprocedure )) 9811 {lcisnewsql = false;} 9812 if (lcisnewsql){ 9813 ret = new TMssqlIfElse(pdbvendor); 9814 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 9815 } 9816 9817 break; 9818 } 9819 case sstmssqlwhile: 9820 { 9821 ret = new TMssqlIfElse(pdbvendor); 9822 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 9823 break; 9824 } 9825 case sstmssqlcreateprocedure : 9826 case sstmssqlalterprocedure: 9827 { 9828 ret = new TMssqlCreateProcedure(pdbvendor); 9829 break; 9830 } 9831 case sstmssqlcreatefunction : 9832 case sstmssqlalterfunction: 9833 { 9834 ret = new TMssqlCreateFunction(pdbvendor); 9835 break; 9836 } 9837 case sstcreatetrigger : 9838 case sstmssqlaltertrigger: 9839 { 9840 ret = new TCreateTriggerStmt(pdbvendor); 9841 break; 9842 } 9843 case sstmssqlreturn: 9844 { 9845 ret = new TMssqlReturn(pdbvendor); 9846 break; 9847 } 9848 case sstmssqlprint: 9849 { 9850 ret = new TMssqlPrint(pdbvendor); 9851 break; 9852 } 9853 case sstmssqluse: 9854 { 9855 ret = new TUseDatabase(pdbvendor); 9856 break; 9857 } 9858 case sstmssqlgo: 9859 { 9860 ret = new TMssqlGo(pdbvendor); 9861 break; 9862 } 9863 case sstmssqlrevert: 9864 { 9865 ret = new TMssqlRevert(pdbvendor); 9866 break; 9867 } 9868 case sstmssqlgrant: 9869 { 9870 lcisnewsql = true; 9871 // prev tokentext can't be with 9872 if ( pstate != EFindSqlStateType.stnormal ) 9873 { 9874 if ( TBaseType.assigned(lcprevsolidtoken) ) 9875 { 9876 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 9877 { 9878 ret = null; 9879 lcisnewsql = false; 9880 } 9881 } 9882 } 9883 if ( lcisnewsql ) 9884 { 9885 ret = new TGrantStmt(pdbvendor); 9886 //ret.sqlstatementtype = gnewsqlstatementtype; 9887 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 9888 { 9889 lctoken = lcsourcetokenlist.get(k); 9890 if (lctoken.isnonsolidtoken() ) continue; 9891 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 9892 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 9893 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 9894 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 9895 } 9896 } 9897 break; 9898 } 9899 case sstmssqldeclare: 9900 { 9901 ret = new TMssqlDeclare(pdbvendor); 9902 break; 9903 } 9904 case sstmssqlcontinue: 9905 { 9906 lcisnewsql = true; 9907 if ((lccurrentsqlstatement != null) && ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstload )) 9908 {lcisnewsql = false;} 9909 if (lcisnewsql){ 9910 ret = new TMssqlContinue(pdbvendor); 9911 } 9912 9913 break; 9914 } 9915 case sstbreak: 9916 { 9917 ret = new TBreakStmt(pdbvendor); 9918 break; 9919 } 9920 case sstmssqlopen: 9921 { 9922 ret = new TMssqlOpen(pdbvendor); 9923 break; 9924 } 9925 case sstmssqlclose: 9926 { 9927 ret = new TMssqlClose(pdbvendor); 9928 break; 9929 } 9930 case sstmssqlbulkinsert: 9931 { 9932 ret = new TMssqlBulkInsert(pdbvendor); 9933 break; 9934 } 9935 case sstmssqldeallocate: 9936 { 9937 ret = new TMssqlDeallocate(pdbvendor); 9938 break; 9939 } 9940 case sstmssqlraiserror: 9941 { 9942 ret = new TMssqlRaiserror(pdbvendor); 9943 break; 9944 } 9945 case sstmssqlgoto: 9946 { 9947 ret = new TMssqlGoTo(pdbvendor); 9948 break; 9949 } 9950 case sstmssqldropview: 9951 { 9952 ret = new TDropViewSqlStatement(pdbvendor); 9953 break; 9954 } 9955 case sstmssqldroptable: 9956 { 9957 ret = new TDropTableSqlStatement(pdbvendor); 9958 break; 9959 } 9960 case sstmssqldropindex: 9961 { 9962 ret = new TDropIndexSqlStatement(pdbvendor); 9963 break; 9964 } 9965 case sstmssqldroppartitionscheme : 9966 ret = new TDropPartitionSchemeStmt(pdbvendor); 9967 break; 9968 9969 case sstmssqldropaggregate : 9970 case sstmssqldropapplicationrole : 9971 case sstmssqldropassembly : 9972 case sstmssqldropasymmetrickey : 9973 case sstmssqldropcertificate : 9974 case sstmssqldropcontract : 9975 case sstmssqldropcredential : 9976 case sstmssqldropdefault : 9977 case sstmssqldropendpoint : 9978 case sstmssqldropeventnotification : 9979 case sstmssqldropfulltextcatalog : 9980 case sstmssqldropfulltextindex : 9981 case sstmssqldropfunction : 9982 case sstmssqldroplogin : 9983 case sstmssqldropmasterkey : 9984 case sstmssqldropmessagetype : 9985 case sstmssqldroppartitionfunction : 9986 case sstmssqldropprocedure : 9987 case sstmssqldropqueue : 9988 case sstmssqldropremoteservicebinding : 9989 case sstmssqldroprole : 9990 case sstmssqldroproute : 9991 case sstmssqldroprule : 9992 case sstmssqldropschema : 9993 case sstmssqldropservice : 9994 case sstmssqldropsignature: 9995 case sstmssqldropstatistics : 9996 case sstmssqldropsymmetrickey : 9997 case sstmssqldroptrigger : 9998 case sstmssqldroptype : 9999 case sstmssqldropuser : 10000 case sstmssqldropxmlschemacollection: 10001 case sstmssqldropdatabase : 10002 { 10003 ret = new TMssqlDropDbObject(EDbVendor.dbvsybase); 10004 ret.sqlstatementtype = gnewsqlstatementtype; 10005 break; 10006 } 10007 case sstmssqldropsynonym : 10008 { 10009 ret = new TDropSynonymStmt(pdbvendor); 10010 break; 10011 } 10012 case sstmssqltruncatetable: 10013 { 10014 ret = new TTruncateStatement(pdbvendor); 10015 break; 10016 } 10017 case sstmssqlbegintran: 10018 { 10019 ret = new TBeginTran(pdbvendor); 10020 break; 10021 } 10022 case sstmssqlsavetran: 10023 { 10024 ret = new TMssqlSaveTran(pdbvendor); 10025 break; 10026 } 10027 case sstmssqlcommit: 10028 { 10029 lcisnewsql = true; 10030 10031 if ( TBaseType.assigned(lcprevsolidtoken) ) 10032 { 10033 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10034 { 10035 10036 lcisnewsql = false; 10037 } 10038 } 10039 10040 if (lcisnewsql){ 10041 ret = new TMssqlCommit(pdbvendor); 10042 } 10043 10044 break; 10045 } 10046 case sstmssqlrollback: 10047 { 10048 ret = new TMssqlRollback(pdbvendor); 10049 break; 10050 } 10051 case sstmssqlreadtext : 10052 case sstmssqldbcc : 10053 case sstmssqlrestore : 10054 case sstmssqlbackup : 10055 { 10056 ret = new TMssqlDummyStmt(pdbvendor); 10057 ret.sqlstatementtype = gnewsqlstatementtype; 10058 break; 10059 } 10060 case sstcreateindex: 10061 { 10062 ret = new TCreateIndexSqlStatement(pdbvendor); 10063 break; 10064 } 10065 case sstmssqlwaitfor: 10066 { 10067 ret = new TMssqlWaitFor(pdbvendor); 10068 break; 10069 } 10070 case sstmerge: 10071 { 10072 lcisnewsql = true; 10073 10074 if (pstate != EFindSqlStateType.stnormal) 10075 { 10076 10077 if (lccurrentsqlstatement != null) 10078 { 10079 // merge union, merge join 10080 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 10081 { 10082 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10083 if (lcnextsolidtoken != null) 10084 { 10085 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 10086 { 10087 lcisnewsql = false; 10088 } 10089 } 10090 } 10091 10092 } 10093 10094 TSourceToken lcnexttoken = lcsourcetokenlist.nextsolidtoken(lcpos, 1, false); 10095 if ( (lcnexttoken != null) ) 10096 { 10097 if ( lcnexttoken.tokencode == TBaseType.rrw_sybase_partition ) 10098 lcisnewsql = false; 10099 } 10100 10101 } 10102 10103 if (lcisnewsql) 10104 { 10105 ret = new TMergeSqlStatement(pdbvendor); 10106 ret.sqlstatementtype = gnewsqlstatementtype; 10107 } 10108 10109 break; 10110 } 10111 case sstmssqlbegintry : 10112 case sstmssqlbegincatch: 10113 { 10114 ret = new TMssqlBlock(pdbvendor); 10115 ret.sqlstatementtype = gnewsqlstatementtype; 10116 break; 10117 } 10118 case sstmssqlexec: 10119 { 10120 lcisnewsql = true; 10121 // prev tokentext can't be with 10122 if ( pstate != EFindSqlStateType.stnormal ) 10123 { 10124 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10125 { 10126 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 10127 { 10128 if ( lccurrentsqlstatement.dummytag == 1 ) 10129 { 10130 lcisnewsql = false; 10131 lccurrentsqlstatement.dummytag = 0; // no select is permited after it 10132 } 10133 } 10134 10135 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10136 { 10137 if ( TBaseType.assigned(lcprevsolidtoken) ) 10138 { 10139 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10140 lcisnewsql = false; 10141 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10142 lcisnewsql = false; 10143 } 10144 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ){ 10145 if ( TBaseType.assigned(lcprevsolidtoken) ) 10146 { 10147 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 10148 lcisnewsql = false; 10149 } 10150 } 10151 10152 10153 10154 if ( 10155 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 10156 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 10157 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 10158 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 10159 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 10160 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 10161 ) 10162 { 10163 if ( TBaseType.assigned(lcprevsolidtoken) ) 10164 { 10165 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10166 lcisnewsql = false; 10167 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10168 lcisnewsql = false; 10169 } 10170 } 10171 } 10172 } 10173 if ( lcisnewsql ) 10174 { 10175 ret = new TMssqlExecute(pdbvendor); 10176 } 10177 break; 10178 } 10179 case sstmssqlexecuteas: 10180 { 10181 lcisnewsql = true; 10182 // prev tokentext can't be with 10183 if ( pstate != EFindSqlStateType.stnormal ) 10184 { 10185 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10186 { 10187 if ( 10188 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 10189 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 10190 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 10191 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 10192 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 10193 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 10194 ) 10195 { 10196 if ( TBaseType.assigned(lcprevsolidtoken) ) 10197 { 10198 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10199 lcisnewsql = false; 10200 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10201 lcisnewsql = false; 10202 } 10203 } 10204 } 10205 } 10206 if ( lcisnewsql ) 10207 { 10208 ret = new TMssqlExecuteAs(pdbvendor); 10209 ret.sqlstatementtype = gnewsqlstatementtype; 10210 } 10211 break; 10212 } 10213 case sstmssqlset: 10214 { 10215 lcisnewsql = true; 10216 if ( pstate != EFindSqlStateType.stnormal ) 10217 { 10218 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10219 { 10220 10221 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif) 10222 { 10223 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_update,"",pcst,-10); 10224 if (TBaseType.assigned(lcPPToken)) 10225 { 10226 lcisnewsql = false; 10227 } 10228 } 10229 10230 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10231 { 10232 if (lcprevsolidtoken != null) 10233 { 10234 if (lcprevsolidtoken.tokencode == TBaseType.rrw_update){ 10235 lcisnewsql = false;} 10236 } 10237 } 10238 10239 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupdate ) 10240 { 10241 if ( lccurrentsqlstatement.dummytag == 1 ) 10242 { 10243 //update statement still find set clause yet, so this is setclause in update statement 10244 lccurrentsqlstatement.dummytag = 0; 10245 lcisnewsql = false; 10246 } 10247 } 10248 } 10249 10250 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10251 if ( TBaseType.assigned(lcnextsolidtoken) ) 10252 { //set null, set default 10253 if ( (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(),"null")==0) 10254 || (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(), "default")==0) ) 10255 { 10256 lcisnewsql = false; 10257 } 10258 } 10259 10260 } 10261 10262 if ( lcisnewsql ) 10263 { 10264 ret = new TMssqlSet(pdbvendor); 10265 } 10266 10267 break; 10268 } 10269 case sstmssqlupdatetext: 10270 { 10271 ret = new TMssqlUpdateText(pdbvendor); 10272 break; 10273 } 10274 case sstmssqlendconversation: 10275 { 10276 ret = new TMssqlEndConversation(pdbvendor); 10277 break; 10278 } 10279 case sstmssqlbegindialog: 10280 { 10281 ret = new TMssqlBeginDialog(pdbvendor); 10282 break; 10283 } 10284 case sstmssqlsendonconversation: 10285 { 10286 ret = new TMssqlSendOnConversation(pdbvendor); 10287 break; 10288 } 10289 case sstmssqldisabletrigger : 10290 case sstmssqlenabletrigger: 10291 { 10292 lcisnewsql = true; 10293 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10294 { 10295 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 10296 lcisnewsql = false; 10297 } 10298 10299 if ( lcisnewsql ) 10300 { 10301 ret = new TDisableEnableTriggerStmt(pdbvendor); 10302 ret.sqlstatementtype = gnewsqlstatementtype; 10303 } 10304 break; 10305 } 10306 case sstsybaseWritetext: 10307 { 10308 ret = new TSybaseWritetext(pdbvendor); 10309 break; 10310 } 10311 case sstsybaseDeleteStatistics: 10312 { 10313 ret = new TSybaseDeleteStatistics(pdbvendor); 10314 break; 10315 } 10316 case sstcall: 10317 { 10318 ret = new TCallStatement(pdbvendor); 10319 break; 10320 } 10321 default: 10322 { 10323 ret = new TUnknownSqlStatement(pdbvendor); 10324 ret.sqlstatementtype = gnewsqlstatementtype; 10325 break; 10326 } 10327 } // case 10328 10329 return ret; 10330 } 10331 10332 TCustomSqlStatement ismssqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 10333 TCustomSqlStatement ret = null; 10334 int k; 10335 boolean lcisnewsql; 10336 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 10337 10338 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 10339 10340 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 10341 || (pcst.tokencode == TBaseType.cmtslashstar) 10342 || (pcst.tokencode == TBaseType.lexspace) 10343 || (pcst.tokencode == TBaseType.lexnewline) 10344 || (pcst.tokentype == ETokenType.ttsemicolon) ) 10345 { 10346 return ret; 10347 } 10348 10349 int lcpos = pcst.posinlist; 10350 TSourceTokenList lcsourcetokenlist = pcst.container; 10351 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 10352 10353 //subquery after semicolon or at first line 10354 if ( pcst.tokentype == ETokenType.ttleftparenthesis) // ( 10355 { 10356 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 10357 if ( k >0 ) 10358 { 10359 if (pstate == EFindSqlStateType.stnormal){ 10360 ret = new TSelectSqlStatement(pdbvendor); 10361 return ret; 10362 } 10363// if (((lccurrentsqlstatement != null) )&&(lccurrentsqlstatement.sqlstatementtype != ESqlStatementType.sstselect)&&(lcsourcetokenlist.returnbeforecurtoken(true))){ 10364// ret = new TSelectSqlStatement(pdbvendor); 10365// return ret; 10366// } 10367 } 10368 } 10369 10370 //cte 10371 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 10372 { 10373 ret = findcte(pcst,pdbvendor); 10374 if ( (ret != null) ) return ret; 10375 } 10376 10377 if ( (lccurrentsqlstatement != null) && (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 10378 && (pcst.tokencode == TBaseType.rrw_with) ) 10379 { 10380 TSourceToken lcPrevToken = pcst.prevSolidToken(); 10381 if ((lcPrevToken != null) && (lcPrevToken.tokencode == TBaseType.rrw_as)) 10382 { // mantisbt/view.php?id=3900, create table with as select, ignore tokens from with to select (including the select token) 10383 ret = findcte(pcst,pdbvendor); 10384 if ( (ret != null) ) { 10385 ret = null; 10386 } 10387 } 10388 } 10389 10390 //odbc 10391 if ( (pstate == EFindSqlStateType.stnormal) && ((pcst.tokencode == '{')||(pcst.tokencode == TBaseType.odbc_esc_prefix)) && (pcst.getLinkToken() != null) ) 10392 { 10393 ret = new TCallStatement(pdbvendor); 10394 return ret; 10395 } 10396 10397 gnewsqlstatementtype = findmssqlcmd(pcst); 10398 10399 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10400 switch(gnewsqlstatementtype ) { // 10401 case sstinvalid: 10402 { 10403 if ( pcst.tokencode == TBaseType.mslabel ) 10404 { 10405 ret = new TMssqlLabel(pdbvendor); 10406 } 10407 else 10408 ret = null; 10409 10410 break; 10411 } 10412 case sstselect: 10413 { 10414 lcisnewsql = true; 10415 10416 if ( pstate != EFindSqlStateType.stnormal ) 10417 { 10418 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10419 if ( (lcprevsolidtoken != null) ) 10420 { 10421 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 10422 lcisnewsql = false; //subqery 10423 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 10424 lcisnewsql = false; 10425 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 10426 lcisnewsql = false; 10427 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 10428 lcisnewsql = false; 10429 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 10430 lcisnewsql = false; 10431 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 10432 lcisnewsql = false; 10433 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 10434 { 10435 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 10436 lcisnewsql = false; 10437 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 10438 lcisnewsql = false; 10439 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterview ) 10440 lcisnewsql = false; 10441 } 10442 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10443 { 10444 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 10445 lcisnewsql = false; 10446 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare ) 10447 lcisnewsql = false; 10448 } 10449 10450 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 10451 { 10452 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 10453 if ( (lcpprevsolidtoken != null) ) 10454 { 10455 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 10456 lcisnewsql = false; 10457 } 10458 } 10459 10460 } 10461 10462 if ( (lccurrentsqlstatement != null) ) 10463 { 10464 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 10465 { 10466 } 10467 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10468 { 10469 if ( (lcprevsolidtoken != null) ) 10470 { 10471 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10472 lcisnewsql = false; 10473 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10474 lcisnewsql = false; 10475 } 10476 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 10477 lcisnewsql = false; 10478 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatematerializedview ){ 10479 lcisnewsql = false; 10480 } 10481 } 10482 10483 } 10484 10485 if ( lcisnewsql ) 10486 ret = new TSelectSqlStatement(pdbvendor); 10487 10488 break; 10489 10490 } 10491 case sstinsert: 10492 { 10493 lcisnewsql = true; 10494 if ( pstate != EFindSqlStateType.stnormal ) 10495 { 10496 if ( (lccurrentsqlstatement != null) ) 10497 { 10498 // merge 10499 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10500 { 10501 if (lcprevsolidtoken != null) 10502 { 10503 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10504 {lcisnewsql = false;} 10505 } 10506 } 10507 10508 // bulk insert 10509 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert ) 10510 { 10511 if ( (lcprevsolidtoken != null) ) 10512 { 10513 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_bulk ) 10514 lcisnewsql = false; 10515 } 10516 } 10517 10518 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10519 { 10520 if ( (lcprevsolidtoken != null) ) 10521 { 10522 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10523 lcisnewsql = false; 10524 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10525 lcisnewsql = false; 10526 } 10527 } 10528 10529 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10530 { 10531 if ( (lcprevsolidtoken != null) ) 10532 { 10533 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10534 lcisnewsql = false; 10535 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10536 lcisnewsql = false; 10537 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 10538 lcisnewsql = false; 10539 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 10540 lcisnewsql = false; 10541 } 10542 } 10543 10544 10545 } 10546 } 10547 10548 if ( lcisnewsql ) 10549 { 10550 ret = new TInsertSqlStatement(pdbvendor); 10551 ret.dummytag = 1; // select stmt in insert is permitted 10552 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 10553 { 10554 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 10555 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 10556 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 10557 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 10558 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ){ 10559 ret.dummytag = 0; 10560 break; 10561 } 10562 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 10563 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 10564 } // for ( 10565 if ( k > lcsourcetokenlist.size() - 1 ) 10566 k = lcsourcetokenlist.size() - 1; 10567 10568 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 10569 { 10570 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10571 } // for ( 10572 10573 } 10574 10575 break; 10576 } 10577 case sstupdate: 10578 { 10579 lcisnewsql = true; 10580 if ( pstate != EFindSqlStateType.stnormal ) 10581 { 10582 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10583 if ( (lcprevsolidtoken != null) ) 10584 { // 10585 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10586 lcisnewsql = false; 10587 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10588 lcisnewsql = false; 10589 } 10590 10591 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10592 if ( TBaseType.assigned(lcnextsolidtoken) ) 10593 { 10594 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 10595 { 10596 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 10597 if ( k == 0 ) lcisnewsql = false; 10598 } 10599 } 10600 10601 10602 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10603 { 10604 // merge 10605 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10606 { 10607 if (lcprevsolidtoken != null) 10608 { 10609 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10610 {lcisnewsql = false;} 10611 } 10612 } 10613 10614 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10615 { 10616 if ( TBaseType.assigned(lcprevsolidtoken) ) 10617 { 10618 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10619 lcisnewsql = false; 10620 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10621 lcisnewsql = false; 10622 } 10623 } 10624 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10625 { 10626 if ( TBaseType.assigned(lcprevsolidtoken) ) 10627 { 10628 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10629 lcisnewsql = false; 10630 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10631 lcisnewsql = false; 10632 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 10633 lcisnewsql = false; 10634 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 10635 lcisnewsql = false; 10636 } 10637 } 10638 10639 } 10640 } 10641 10642 if ( lcisnewsql ) 10643 { 10644 ret = new TUpdateSqlStatement(pdbvendor); 10645 ret.dummytag = 1; // means set clause in update is not found yet, used to separate set clause from set statement 10646 } 10647 10648 break; 10649 } 10650 case sstdelete: 10651 { 10652 lcisnewsql = true; 10653 10654 if ( pstate != EFindSqlStateType.stnormal ) 10655 { 10656 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10657 if ( TBaseType.assigned(lcprevsolidtoken) ) 10658 { 10659 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10660 lcisnewsql = false; 10661 } 10662 10663 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10664 { 10665 // merge 10666 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10667 { 10668 if (lcprevsolidtoken != null) 10669 { 10670 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10671 {lcisnewsql = false;} 10672 } 10673 } 10674 10675 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10676 { 10677 if ( TBaseType.assigned(lcprevsolidtoken) ) 10678 { 10679 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10680 lcisnewsql = false; 10681 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10682 lcisnewsql = false; 10683 } 10684 } 10685 10686 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10687 { 10688 if ( TBaseType.assigned(lcprevsolidtoken) ) 10689 { 10690 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10691 lcisnewsql = false; 10692 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10693 lcisnewsql = false; 10694 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 10695 lcisnewsql = false; 10696 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 10697 lcisnewsql = false; 10698 } 10699 } 10700 10701 } 10702 } 10703 10704 if ( lcisnewsql ) 10705 ret = new TDeleteSqlStatement(pdbvendor); 10706 10707 break; 10708 } 10709 case sstcreatetable: 10710 { 10711 lcisnewsql = true; 10712 if ( pstate != EFindSqlStateType.stnormal ) { 10713 10714 if (TBaseType.assigned(lccurrentsqlstatement)) { 10715 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10716 ) 10717 { 10718 lcisnewsql = false; 10719 } 10720 } 10721 } 10722 10723 if (lcisnewsql) { 10724 ret = new TCreateTableSqlStatement(pdbvendor); 10725 10726 } 10727 break; 10728 } 10729 case sstcreateview: 10730 { 10731 10732 lcisnewsql = true; 10733 if ( pstate != EFindSqlStateType.stnormal ) { 10734 10735 if (TBaseType.assigned(lccurrentsqlstatement)) { 10736 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10737 ) 10738 { 10739 lcisnewsql = false; 10740 } 10741 } 10742 } 10743 if (lcisnewsql) { 10744 ret = new TCreateViewSqlStatement(pdbvendor); 10745 } 10746 break; 10747 } 10748 case sstcreatesequence: 10749 { 10750 ret = new TCreateSequenceStmt(pdbvendor); 10751 break; 10752 } 10753 case sstaltertable: 10754 { 10755 ret = new TAlterTableStatement(pdbvendor); 10756 break; 10757 } 10758 case sstmssqlfetch: 10759 { 10760 ret = new TMssqlFetch(pdbvendor); 10761 break; 10762 } 10763 case sstmssqlif : 10764 { 10765 lcisnewsql = true; 10766 if ( pstate != EFindSqlStateType.stnormal ) { 10767 10768 if (TBaseType.assigned(lccurrentsqlstatement)) { 10769 // merge 10770 if ( 10771 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropprocedure) 10772 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropdatabase) 10773 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropfunction) 10774 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlDropSecurityPolicy) 10775 ) 10776 { 10777 lcisnewsql = false; 10778 }else if ( (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdroptable) 10779 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropindex) 10780 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 10781 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropsynonym) 10782 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropview) 10783 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropsequence) 10784 ){ 10785 // DROP TABLE IF EXISTS T1; 10786 TSourceToken st = lcsourcetokenlist.solidtokenbefore(lcpos); 10787 if ((st.tokencode == TBaseType.rrw_table)||(st.tokencode == TBaseType.rrw_index) 10788 ||(st.tokencode == TBaseType.rrw_sqlserver_synonym)||(st.tokencode == TBaseType.rrw_view) 10789 ||(st.tokencode == TBaseType.rrw_sqlserver_sequence) 10790 ){ 10791 lcisnewsql = false; 10792 } 10793 }else if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable)){ 10794 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10795 if (lcnextsolidtoken != null){ 10796 if (lcnextsolidtoken.tokencode == TBaseType.rrw_sqlserver_exists){ 10797 lcisnewsql = false; 10798 } 10799 } 10800 } 10801 } 10802 } 10803 10804 10805 if (lcisnewsql) { 10806 ret = new TMssqlIfElse(pdbvendor); 10807 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 10808 } 10809 break; 10810 } 10811 case sstmssqlwhile: 10812 { 10813 ret = new TMssqlIfElse(pdbvendor); 10814 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 10815 break; 10816 } 10817 case sstmssqlcreateprocedure : 10818 case sstmssqlalterprocedure: 10819 { 10820 ret = new TMssqlCreateProcedure(pdbvendor); 10821 break; 10822 } 10823 case sstmssqlcreatefunction : 10824 case sstmssqlalterfunction: 10825 { 10826 ret = new TMssqlCreateFunction(pdbvendor); 10827 break; 10828 } 10829 case sstcreatetrigger : 10830 case sstmssqlaltertrigger: 10831 { 10832 ret = new TCreateTriggerStmt(pdbvendor); //TMssqlCreateTrigger(pdbvendor); 10833 break; 10834 } 10835 case sstmssqlreturn: 10836 { 10837 ret = new TMssqlReturn(pdbvendor); 10838 break; 10839 } 10840 case sstmssqlprint: 10841 { 10842 if (pdbvendor == EDbVendor.dbvodbc){ 10843 10844 }else if (pdbvendor == EDbVendor.dbvmssql){ 10845 ret = new TMssqlPrint(pdbvendor); 10846 } 10847 10848 break; 10849 } 10850 case sstmssqluse: 10851 { 10852 ret = new TUseDatabase(pdbvendor); 10853 break; 10854 } 10855 case sstmssqlgo: 10856 { 10857 ret = new TMssqlGo(pdbvendor); 10858 break; 10859 } 10860 case sstmssqlrevert: 10861 { 10862 lcisnewsql = true; 10863 // prev tokentext can't be with 10864 if ( pstate != EFindSqlStateType.stnormal ) { 10865 if (TBaseType.assigned(lcprevsolidtoken)) { 10866 if (lcprevsolidtoken.toString().equalsIgnoreCase("no")) { 10867 ret = null; 10868 lcisnewsql = false; 10869 } 10870 } 10871 } 10872 if (lcisnewsql){ 10873 ret = new TMssqlRevert(pdbvendor); 10874 } 10875 10876 break; 10877 } 10878 case sstmssqlgrant: 10879 { 10880 lcisnewsql = true; 10881 // prev tokentext can't be with 10882 if ( pstate != EFindSqlStateType.stnormal ) 10883 { 10884 if ( TBaseType.assigned(lcprevsolidtoken) ) 10885 { 10886 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10887 { 10888 ret = null; 10889 lcisnewsql = false; 10890 } 10891 } 10892 10893 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10894 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10895 ) 10896 { 10897 lcisnewsql = false; 10898 } 10899 } 10900 } 10901 if ( lcisnewsql ) 10902 { 10903 ret = new TGrantStmt(pdbvendor); 10904 //ret.sqlstatementtype = gnewsqlstatementtype; 10905 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10906 { 10907 lctoken = lcsourcetokenlist.get(k); 10908 if (lctoken.isnonsolidtoken() ) continue; 10909 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10910 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10911 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10912 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10913 } 10914 } 10915 break; 10916 } 10917 case sstmssqlrevoke:{ 10918 lcisnewsql = true; 10919 if ( pstate != EFindSqlStateType.stnormal ) 10920 { 10921 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10922 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10923 ) 10924 { 10925 lcisnewsql = false; 10926 } 10927 } 10928 } 10929 if ( lcisnewsql ) 10930 { 10931 ret = new TRevokeStmt(pdbvendor); 10932 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10933 { 10934 lctoken = lcsourcetokenlist.get(k); 10935 if (lctoken.isnonsolidtoken() ) continue; 10936 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10937 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10938 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10939 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10940 } 10941 } 10942 break; 10943 10944 } 10945 case sstmssqldeny: 10946 { 10947 lcisnewsql = true; 10948 if ( pstate != EFindSqlStateType.stnormal ) 10949 { 10950 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10951 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10952 ) 10953 { 10954 lcisnewsql = false; 10955 } 10956 } 10957 } 10958 if ( lcisnewsql ) 10959 { 10960 ret = new TDenyStmt(pdbvendor); 10961 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10962 { 10963 lctoken = lcsourcetokenlist.get(k); 10964 if (lctoken.isnonsolidtoken() ) continue; 10965 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10966 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10967 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10968 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10969 } 10970 } 10971 break; 10972 } 10973 case sstmssqldeclare: 10974 { 10975 ret = new TMssqlDeclare(pdbvendor); 10976 break; 10977 } 10978 case sstmssqlcontinue: 10979 { 10980 ret = new TMssqlContinue(pdbvendor); 10981 break; 10982 } 10983 case sstbreak: 10984 { 10985 ret = new TBreakStmt(pdbvendor); 10986 break; 10987 } 10988 case sstmssqlopen: 10989 { 10990 ret = new TMssqlOpen(pdbvendor); 10991 break; 10992 } 10993 case sstmssqlclose: 10994 { 10995 ret = new TMssqlClose(pdbvendor); 10996 break; 10997 } 10998 case sstmssqlbulkinsert: 10999 { 11000 ret = new TMssqlBulkInsert(pdbvendor); 11001 break; 11002 } 11003 case sstmssqldeallocate: 11004 { 11005 ret = new TMssqlDeallocate(pdbvendor); 11006 break; 11007 } 11008 case sstmssqlraiserror: 11009 { 11010 ret = new TMssqlRaiserror(pdbvendor); 11011 break; 11012 } 11013 case sstmssqlgoto: 11014 { 11015 ret = new TMssqlGoTo(pdbvendor); 11016 break; 11017 } 11018 case sstmssqldropview: 11019 { 11020 ret = new TDropViewSqlStatement(pdbvendor); 11021 break; 11022 } 11023 case sstmssqldroptable: 11024 { 11025 ret = new TDropTableSqlStatement(pdbvendor); 11026 break; 11027 } 11028 case sstmssqldropindex: 11029 { 11030 ret = new TDropIndexSqlStatement(pdbvendor); 11031 break; 11032 } 11033 case sstmssqldroppartitionscheme : 11034 ret = new TDropPartitionSchemeStmt(pdbvendor); 11035 break; 11036 case sstmssqldropaggregate : 11037 case sstmssqldropapplicationrole : 11038 case sstmssqldropassembly : 11039 case sstmssqldropasymmetrickey : 11040 case sstmssqldropcertificate : 11041 case sstmssqldropcontract : 11042 case sstmssqldropcredential : 11043 case sstmssqldropdefault : 11044 case sstmssqldropendpoint : 11045 case sstmssqldropeventnotification : 11046 case sstmssqldropfulltextcatalog : 11047 case sstmssqldropfulltextindex : 11048 case sstmssqldroplogin : 11049 case sstmssqldropmasterkey : 11050 case sstmssqldropmessagetype : 11051 case sstmssqldroppartitionfunction : 11052 case sstmssqldropqueue : 11053 case sstmssqldropremoteservicebinding : 11054 case sstmssqldroprole : 11055 case sstmssqldroproute : 11056 case sstmssqldroprule : 11057 case sstmssqldropservice : 11058 case sstmssqldropsignature: 11059 case sstmssqldropstatistics : 11060 case sstmssqldropsymmetrickey : 11061 case sstmssqldroptrigger : 11062 case sstmssqldroptype : 11063 case sstmssqldropuser : 11064 case sstmssqldropxmlschemacollection: 11065 case sstmssqldropeventsession: 11066 { 11067 ret = new TMssqlDropDbObject(EDbVendor.dbvmssql); 11068 ret.sqlstatementtype = gnewsqlstatementtype; 11069 break; 11070 } 11071 case sstmssqldropsynonym : 11072 { 11073 ret = new TDropSynonymStmt(pdbvendor); 11074 break; 11075 } 11076 case sstmssqldropprocedure : 11077 { 11078 ret = new TDropProcedureStmt(EDbVendor.dbvmssql); 11079 break; 11080 } 11081 case sstmssqldropdatabase : 11082 { 11083 ret = new TDropDatabaseStmt(EDbVendor.dbvmssql); 11084 break; 11085 } 11086 case sstmssqldropschema : 11087 { 11088 ret = new TDropSchemaSqlStatement(EDbVendor.dbvmssql); 11089 break; 11090 } 11091 case sstmssqltruncatetable: 11092 { 11093 ret = new TTruncateStatement(pdbvendor); 11094 break; 11095 } 11096 case sstmssqlbegintran: 11097 { 11098 ret = new TBeginTran(pdbvendor); 11099 break; 11100 } 11101 case sstmssqlsavetran: 11102 { 11103 if (pdbvendor == EDbVendor.dbvodbc){ 11104 11105 }else if (pdbvendor == EDbVendor.dbvmssql) { 11106 ret = new TMssqlSaveTran(pdbvendor); 11107 } 11108 break; 11109 } 11110 case sstmssqlcommit: 11111 { 11112 ret = new TMssqlCommit(pdbvendor); 11113 break; 11114 } 11115 case sstmssqlrollback: 11116 { 11117 ret = new TMssqlRollback(pdbvendor); 11118 break; 11119 } 11120 case sstmssqlreadtext : 11121 case sstmssqldbcc : 11122 case sstmssqlrestore : 11123 case sstmssqlbackup : 11124 { 11125 ret = new TMssqlDummyStmt(pdbvendor); 11126 ret.sqlstatementtype = gnewsqlstatementtype; 11127 break; 11128 } 11129 11130 case sstmssqlreceive: 11131 { 11132 lcisnewsql = true; 11133 if ( pstate != EFindSqlStateType.stnormal ) 11134 { 11135 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 11136 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11137 ) 11138 { 11139 lcisnewsql = false; 11140 } 11141 } 11142 } 11143 if ( lcisnewsql ) 11144 { 11145 ret = new TMssqlDummyStmt(pdbvendor); 11146 ret.sqlstatementtype = gnewsqlstatementtype; 11147 } 11148 break; 11149 } 11150 case sstcreateindex: 11151 { 11152 ret = new TCreateIndexSqlStatement(pdbvendor); 11153 break; 11154 } 11155 case sstmssqlwaitfor: 11156 { 11157 ret = new TMssqlWaitFor(pdbvendor); 11158 break; 11159 } 11160 case sstmerge: 11161 { 11162 lcisnewsql = true; 11163 11164 if (pstate != EFindSqlStateType.stnormal) 11165 { 11166 11167 if (lccurrentsqlstatement != null) 11168 { 11169 // merge union, merge join 11170 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11171 { 11172 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11173 if (lcnextsolidtoken != null) 11174 { 11175 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 11176 { 11177 lcisnewsql = false; 11178 } 11179 } 11180 } 11181 11182// if ( TBaseType.assigned(lcprevsolidtoken) ) 11183// { 11184// if ( lcprevsolidtoken.tokencode == '(' ) 11185// lcisnewsql = false; 11186// } 11187 11188 } 11189 if (lcisnewsql){ 11190 TSourceToken nextSt = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11191 if (nextSt != null){ 11192 if (nextSt.tokencode == TBaseType.rrw_join){ 11193 lcisnewsql = false; 11194 } 11195 } 11196 } 11197 } 11198 11199 if (lcisnewsql) 11200 { 11201 ret = new TMergeSqlStatement(pdbvendor); 11202 ret.sqlstatementtype = gnewsqlstatementtype; 11203 } 11204 11205 break; 11206 } 11207 case sstmssqlbegintry : 11208 case sstmssqlbegincatch: 11209 { 11210 ret = new TMssqlBlock(pdbvendor); 11211 ret.sqlstatementtype = gnewsqlstatementtype; 11212 break; 11213 } 11214 case sstmssqlexec: 11215 { 11216 lcisnewsql = true; 11217 // prev tokentext can't be with 11218 if ( pstate != EFindSqlStateType.stnormal ) 11219 { 11220 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11221 { 11222 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 11223 { 11224 if ( lccurrentsqlstatement.dummytag == 1 ) 11225 { 11226 lcisnewsql = false; 11227 lccurrentsqlstatement.dummytag = 0; // no select is permitted after it 11228 } 11229 11230 TSourceToken valuesToken = pcst.searchToken(TBaseType.rrw_values,-pcst.posinlist); 11231 if (valuesToken != null){ 11232 // https://www.sqlparser.com/bugs/mantisbt/view.php?id=3153 11233 // INSERT INTO @tempTbl VALUES ('Test5') 11234 // 11235 //EXEC sp_execute @handle, 1 11236 // 如果 EXEC 在 insert 语句的 values 后面,则这个 EXEC 为独立的 sql 语句, 11237 // 而不是属于insert 语句 11238 TSourceToken insertToken = lccurrentsqlstatement.sourcetokenlist.get(0); 11239 if (valuesToken.posinlist > insertToken.posinlist){ 11240 lcisnewsql = true; 11241 } 11242 } 11243 } 11244 11245 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 11246 { 11247 if ( TBaseType.assigned(lcprevsolidtoken) ) 11248 { 11249 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 11250 lcisnewsql = false; 11251 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11252 lcisnewsql = false; 11253 } 11254 } 11255 11256 if ( 11257 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 11258 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 11259 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 11260 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 11261 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 11262 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 11263 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatequeue) 11264 ) 11265 { 11266 if ( TBaseType.assigned(lcprevsolidtoken) ) 11267 { 11268 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11269 lcisnewsql = false; 11270 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11271 lcisnewsql = false; 11272 } 11273 } 11274 } 11275 } 11276 if ( lcisnewsql ) 11277 { 11278 ret = new TMssqlExecute(pdbvendor); 11279 } 11280 break; 11281 } 11282 case sstmssqlexecuteas: 11283 { 11284 lcisnewsql = true; 11285 // prev tokentext can't be with 11286 if ( pstate != EFindSqlStateType.stnormal ) 11287 { 11288 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11289 { 11290 if ( 11291 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 11292 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 11293 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 11294 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 11295 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 11296 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 11297 ) 11298 { 11299 if ( TBaseType.assigned(lcprevsolidtoken) ) 11300 { 11301 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11302 lcisnewsql = false; 11303 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11304 lcisnewsql = false; 11305 } 11306 } 11307 } 11308 } 11309 if ( lcisnewsql ) 11310 { 11311 ret = new TMssqlExecuteAs(pdbvendor); 11312 ret.sqlstatementtype = gnewsqlstatementtype; 11313 } 11314 break; 11315 } 11316 case sstmssqlset: 11317 { 11318 lcisnewsql = true; 11319 if ( pstate != EFindSqlStateType.stnormal ) 11320 { 11321 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11322 { 11323 11324 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif) 11325 { 11326 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_update,"",pcst,-10); 11327 if (TBaseType.assigned(lcPPToken)) 11328 { 11329 lcisnewsql = false; 11330 } 11331 } 11332 11333 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterdatabase) 11334 { 11335 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_alter,"",pcst,-10); 11336 if (TBaseType.assigned(lcPPToken)) 11337 { 11338 lcisnewsql = false; 11339 } 11340 } 11341 11342 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11343 { 11344 if (lcprevsolidtoken != null) 11345 { 11346 if (lcprevsolidtoken.tokencode == TBaseType.rrw_update){ 11347 lcisnewsql = false;} 11348 } 11349 } 11350 11351 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupdate ) 11352 { 11353 if ( lccurrentsqlstatement.dummytag == 1 ) 11354 { 11355 //update statement still find set clause yet, so this is set clause in update statement 11356 lccurrentsqlstatement.dummytag = 0; 11357 lcisnewsql = false; 11358 } 11359 } 11360 11361 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateeventsession ) 11362 { 11363 lcisnewsql = false; 11364 } 11365 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 11366 { 11367 lcisnewsql = false; 11368 } 11369 } 11370 11371 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11372 if ( TBaseType.assigned(lcnextsolidtoken) ) 11373 { //set null, set default 11374 if ( (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(),"null")==0) 11375 || (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(), "default")==0) ) 11376 { 11377 lcisnewsql = false; 11378 } 11379 } 11380 11381 } 11382 11383 if ( lcisnewsql ) 11384 { 11385 ret = new TMssqlSet(pdbvendor); 11386 } 11387 11388 break; 11389 } 11390 case sstmssqlsetrowcount: 11391 { 11392 ret = new TMssqlSetRowCount(pdbvendor); 11393 break; 11394 } 11395 case sstmssqlupdatetext: 11396 { 11397 ret = new TMssqlUpdateText(pdbvendor); 11398 break; 11399 } 11400 case sstmssqlendconversation: 11401 { 11402 ret = new TMssqlEndConversation(pdbvendor); 11403 break; 11404 } 11405 case sstmssqlbegindialog: 11406 { 11407 ret = new TMssqlBeginDialog(pdbvendor); 11408 break; 11409 } 11410 case sstmssqlsendonconversation: 11411 { 11412 ret = new TMssqlSendOnConversation(pdbvendor); 11413 break; 11414 } 11415 case sstdropsequence: 11416 ret = new TDropSequenceStmt(pdbvendor); 11417 break; 11418 case sstmssqldisabletrigger : 11419 case sstmssqlenabletrigger: 11420 { 11421 lcisnewsql = true; 11422 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11423 { 11424 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 11425 lcisnewsql = false; 11426 } 11427 11428 if ( lcisnewsql ) 11429 { 11430 ret = new TUnknownSqlStatement(pdbvendor); 11431 ret.sqlstatementtype = gnewsqlstatementtype; 11432 } 11433 break; 11434 } 11435 case sstmssqlthrow: 11436 ret = new TMssqlThrow(pdbvendor); 11437 break; 11438 case sstmssqlalterdatabase: 11439 ret = new TAlterDatabaseStmt(pdbvendor); 11440 break; 11441 case sstmssqlreconfigure: 11442 ret = new TReconfigure(pdbvendor); 11443 break; 11444 case sstcreatedatabase: 11445 { 11446 ret = new TCreateDatabaseSqlStatement(pdbvendor); 11447 break; 11448 } 11449 case sstmssqlcreateschema: 11450 { 11451 ret = new TCreateSchemaSqlStatement(pdbvendor); 11452 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 11453 { 11454 lctoken = lcsourcetokenlist.get(k); 11455 if (lctoken.isnonsolidtoken() ) continue; 11456 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 11457 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 11458 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11459 } 11460 break; 11461 } 11462 case sstmssqlcreatesynonym: 11463 { 11464 ret = new TCreateSynonymStmt(pdbvendor); 11465 break; 11466 } 11467 case sstmssqlcreatetype: 11468 ret = new TMssqlCreateType(pdbvendor); 11469 break; 11470 case sstmssqlcreatexmlschemacollection: 11471 ret = new TMssqlCreateXmlSchemaCollectionStmt(pdbvendor); 11472 break; 11473 case sstmssqlalterindex: 11474 ret = new TAlterIndexStmt(pdbvendor); 11475 break; 11476 case sstmssqlcreateevexternalDataSource: 11477 ret = new TCreateExternalDataSourceStmt(pdbvendor); 11478 break; 11479 case sstmssqlcreateeventsession: 11480 ret = new TCreateEventSession(pdbvendor); 11481 break; 11482 case sstmssqldropfunction : 11483 ret = new TDropFunctionStmt(pdbvendor); 11484 break; 11485 case sstmssqlcreateevexternalLanguage: 11486 ret = new TCreateExternalLanguage(pdbvendor); 11487 break; 11488 case sstmssqlalterview: 11489 { 11490 lcisnewsql = true; 11491 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11492 { 11493 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 11494 lcisnewsql = false; 11495 } 11496 11497 if ( lcisnewsql ) 11498 { 11499 ret = new TAlterViewStatement(pdbvendor); 11500 //ret.sqlstatementtype = gnewsqlstatementtype; 11501 } 11502 break; 11503 } 11504 case sstCreateFileFormat: 11505 { 11506 ret = new TCreateFileFormatStmt(pdbvendor); 11507 break; 11508 } 11509 case sstmssqlcreatemasterkey: 11510 ret = new TCreateMasterKeyStmt(pdbvendor); 11511 break; 11512 case sstmssqlcreatedatabaseencryptionkey: 11513 { 11514 TMssqlStmtStub stub = new TMssqlStmtStub(pdbvendor); 11515 stub.sqlstatementtype = ESqlStatementType.sstmssqlcreatedatabaseencryptionkey; 11516 ret = stub; 11517 break; 11518 } 11519 case sstmssqlcreateselectivexmlindex: 11520 { 11521 TMssqlStmtStub stub = new TMssqlStmtStub(pdbvendor); 11522 stub.sqlstatementtype = ESqlStatementType.sstmssqlcreateselectivexmlindex; 11523 ret = stub; 11524 break; 11525 } 11526 case sstmssqlcreatejsonindex: 11527 { 11528 TMssqlStmtStub stub = new TMssqlStmtStub(pdbvendor); 11529 stub.sqlstatementtype = ESqlStatementType.sstmssqlcreatejsonindex; 11530 ret = stub; 11531 break; 11532 } 11533 case sstmssqlcreatevectorindex: 11534 { 11535 TMssqlStmtStub stub = new TMssqlStmtStub(pdbvendor); 11536 stub.sqlstatementtype = ESqlStatementType.sstmssqlcreatevectorindex; 11537 ret = stub; 11538 break; 11539 } 11540 case sstcreatecredential: 11541 ret = new TCreateCredentialStmt(pdbvendor); 11542 break; 11543 case sstCopyInto: 11544 { 11545 ret = new TMssqlCopyIntoStmt(pdbvendor); 11546 break; 11547 } 11548 case sstcreatematerializedview:{ 11549 ret = new TCreateMaterializedSqlStatement(pdbvendor); 11550 break; 11551 } 11552 case sstmssqlCreateSecurityPolicy: 11553 ret = new TMssqlCreateSecurityPolicy(pdbvendor); 11554 break; 11555 case sstmssqlAlterSecurityPolicy: 11556 ret = new TMssqlAlterSecurityPolicy(pdbvendor); 11557 break; 11558 case sstmssqlDropSecurityPolicy: 11559 ret = new TMssqlDropSecurityPolicy(pdbvendor); 11560 break; 11561 case sstmssqlalterpartitionfunction: 11562 ret = new TAlterPartitionFunctionStmt(pdbvendor); 11563 break; 11564 case sstmssqlcreatepartitionfunction: 11565 ret = new TCreatePartitionFunctionStmt(pdbvendor); 11566 break; 11567 case sstmssqlalterpartitionscheme: 11568 ret = new TAlterPartitionSchemeSqlStatement(pdbvendor); 11569 break; 11570 case sstmssqlcreatepartitionscheme: 11571 ret = new TCreatePartitionSchemeSqlStatement(pdbvendor); 11572 break; 11573 default: 11574 { 11575 ret = new TUnknownSqlStatement(pdbvendor); 11576 ret.sqlstatementtype = gnewsqlstatementtype; 11577 break; 11578 } 11579 } // case 11580 11581 return ret; 11582 } 11583 11584 TCustomSqlStatement isteradatasql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 11585 TCustomSqlStatement ret = null; 11586 int k; 11587 boolean lcisnewsql; 11588 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 11589 11590 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 11591 11592 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 11593 || (pcst.tokencode == TBaseType.cmtslashstar) 11594 || (pcst.tokencode == TBaseType.lexspace) 11595 || (pcst.tokencode == TBaseType.lexnewline) 11596 || (pcst.tokentype == ETokenType.ttsemicolon) ) 11597 { 11598 return ret; 11599 } 11600 11601 int lcpos = pcst.posinlist; 11602 TSourceTokenList lcsourcetokenlist = pcst.container; 11603 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 11604 11605 //subquery after semicolon || at first line 11606 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) 11607 { 11608 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 11609 if ( k >0 ) 11610 { 11611 ret = new TSelectSqlStatement(pdbvendor); 11612 }else{ 11613 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_teradata_sel,1,"("); 11614 if ( k >0 ) 11615 { 11616 ret = new TSelectSqlStatement(pdbvendor); 11617 } 11618 } 11619 11620 return ret; 11621 } 11622 11623 //cte 11624 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 11625 { 11626 ret = findcte(pcst,pdbvendor); 11627 if ( (ret != null) ) return ret; 11628 } 11629 11630 // using 11631 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_teradata_using) ){ 11632 //return mapTeradataUsing(pcst); 11633 return new TTeradataUsing(pdbvendor); 11634 } 11635 11636 if ( (pstate == EFindSqlStateType.stnormal) && 11637 ((pcst.tokencode == TBaseType.rrw_lock)||(pcst.tokencode == TBaseType.rrw_teradata_locking)) ){ 11638 return new TTeradataLock(pdbvendor); 11639 } 11640 11641 gnewsqlstatementtype = findteradatacmd(pcst); 11642 11643 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11644 switch(gnewsqlstatementtype ) { // 11645 case sstinvalid: 11646 { 11647 ret = null; 11648 break; 11649 } 11650 case sstselect: 11651 { 11652 lcisnewsql = true; 11653 11654 if ( pstate != EFindSqlStateType.stnormal ) 11655 { 11656 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11657 if ( (lcprevsolidtoken != null) ) 11658 { 11659 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 11660 lcisnewsql = false; //subqery 11661 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 11662 lcisnewsql = false; 11663 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 11664 lcisnewsql = false; 11665 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 11666 lcisnewsql = false; 11667 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 11668 lcisnewsql = false; 11669 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 11670 lcisnewsql = false; 11671 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 11672 { 11673 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 11674 lcisnewsql = false; 11675 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 11676 lcisnewsql = false; 11677 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatareplaceview ) 11678 lcisnewsql = false; 11679 } 11680 11681 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 11682 { 11683 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 11684 if ( (lcpprevsolidtoken != null) ) 11685 { 11686 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 11687 lcisnewsql = false; 11688 } 11689 } 11690 11691 } 11692 11693 if ( (lccurrentsqlstatement != null) ) 11694 { 11695 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 11696 { 11697 } 11698 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 11699 lcisnewsql = false; 11700 } 11701 } 11702 11703 } 11704 11705 if ( lcisnewsql ) 11706 ret = new TSelectSqlStatement(pdbvendor); 11707 11708 break; 11709 11710 } 11711 case sstinsert: 11712 { 11713 lcisnewsql = true; 11714 if ( pstate != EFindSqlStateType.stnormal ) 11715 { 11716 if ( (lccurrentsqlstatement != null) ) 11717 { 11718 // merge 11719 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11720 { 11721 if (lcprevsolidtoken != null) 11722 { 11723 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11724 {lcisnewsql = false;} 11725 } 11726 } 11727 11728 11729 11730 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11731 { 11732 if ( (lcprevsolidtoken != null) ) 11733 { 11734 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11735 lcisnewsql = false; 11736 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 11737 lcisnewsql = false; 11738 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"before") == 0 ) 11739 lcisnewsql = false; 11740 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 11741 lcisnewsql = false; 11742 } 11743 } 11744 11745 11746 } 11747 } 11748 11749 if ( lcisnewsql ) 11750 { 11751 ret = new TInsertSqlStatement(pdbvendor); 11752 ret.dummytag = 1; // select stmt in insert is permitted 11753 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 11754 { 11755 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 11756 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 11757 // if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 11758 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 11759 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 11760 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 11761 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 11762 } // for ( 11763 if ( k > lcsourcetokenlist.size() - 1 ) 11764 k = lcsourcetokenlist.size() - 1; 11765 11766 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 11767 { 11768 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11769 } // for ( 11770 11771 } 11772 11773 break; 11774 } 11775 case sstupdate: 11776 { 11777 lcisnewsql = true; 11778 if ( pstate != EFindSqlStateType.stnormal ) 11779 { 11780 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11781 if ( (lcprevsolidtoken != null) ) 11782 { // 11783 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 11784 lcisnewsql = false; 11785 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 11786 lcisnewsql = false; 11787 } 11788 11789 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11790 if ( TBaseType.assigned(lcnextsolidtoken) ) 11791 { 11792 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 11793 { 11794 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 11795 if ( k == 0 ) lcisnewsql = false; 11796 } 11797 } 11798 11799 11800 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11801 { 11802 // merge 11803 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11804 { 11805 if (lcprevsolidtoken != null) 11806 { 11807 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11808 {lcisnewsql = false;} 11809 } 11810 } 11811 11812 11813 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11814 { 11815 if ( TBaseType.assigned(lcprevsolidtoken) ) 11816 { 11817 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11818 lcisnewsql = false; 11819 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 11820 lcisnewsql = false; 11821 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"before") == 0 ) 11822 lcisnewsql = false; 11823 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 11824 lcisnewsql = false; 11825 } 11826 } 11827 11828 } 11829 } 11830 11831 if ( lcisnewsql ) 11832 { 11833 ret = new TUpdateSqlStatement(pdbvendor); 11834 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 11835 } 11836 11837 break; 11838 } 11839 case sstdelete: 11840 { 11841 lcisnewsql = true; 11842 11843 if ( pstate != EFindSqlStateType.stnormal ) 11844 { 11845 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11846 if ( TBaseType.assigned(lcprevsolidtoken) ) 11847 { 11848 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 11849 lcisnewsql = false; 11850 } 11851 11852 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11853 { 11854 // merge 11855 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11856 { 11857 if (lcprevsolidtoken != null) 11858 { 11859 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11860 {lcisnewsql = false;} 11861 } 11862 } 11863 11864 11865 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11866 { 11867 if ( TBaseType.assigned(lcprevsolidtoken) ) 11868 { 11869 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11870 lcisnewsql = false; 11871 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 11872 lcisnewsql = false; 11873 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"before") == 0 ) 11874 lcisnewsql = false; 11875 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 11876 lcisnewsql = false; 11877 } 11878 } 11879 11880 } 11881 } 11882 11883 if ( lcisnewsql ) 11884 ret = new TDeleteSqlStatement(pdbvendor); 11885 11886 break; 11887 } 11888 case sstcreatetable: 11889 { 11890 ret = new TCreateTableSqlStatement(pdbvendor); 11891 break; 11892 } 11893 case sstaltertable: 11894 case sstteradataaltertable: 11895 { 11896 ret = new TAlterTableStatement(pdbvendor); 11897 break; 11898 } 11899 case sstteradatafetch: 11900 { 11901 ret = new TMssqlFetch(pdbvendor); 11902 break; 11903 } 11904 case sstcreateprocedure : 11905 case sstteradatareplaceprocedure: 11906 { 11907 ret = new TCreateProcedureStmt(pdbvendor); 11908 break; 11909 } 11910 case sstteradataalterprocedure: 11911 ret = new TAlterProcedureStmt(pdbvendor); 11912 break; 11913 case sstteradatacreatefunction : 11914 case sstteradatareplacefunction: 11915 { 11916 ret = new TTeradataCreateFunction(pdbvendor); 11917 break; 11918 } 11919 case sstteradataalterfunction: 11920 ret = new TAlterFunctionStmt(pdbvendor); 11921 break; 11922 case sstteradatacreatetrigger : 11923 case sstteradataaltertrigger: 11924 case sstteradatareplacetrigger: 11925 { 11926 ret = new TCreateTriggerStmt(pdbvendor); 11927 break; 11928 } 11929 case sstteradatagrant: 11930 { 11931 lcisnewsql = true; 11932 // prev tokentext can't be with 11933 if ( pstate != EFindSqlStateType.stnormal ) 11934 { 11935 if ( TBaseType.assigned(lcprevsolidtoken) ) 11936 { 11937 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11938 { 11939 ret = null; 11940 lcisnewsql = false; 11941 } 11942 } 11943 } 11944 if ( lcisnewsql ) 11945 { 11946 ret = new TTeradataGrant(pdbvendor); 11947 ret.sqlstatementtype = gnewsqlstatementtype; 11948 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 11949 { 11950 lctoken = lcsourcetokenlist.get(k); 11951 if (lctoken.isnonsolidtoken() ) continue; 11952 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 11953 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 11954 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 11955 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11956 } 11957 } 11958 break; 11959 } 11960 case sstdropindex: 11961 { 11962 ret = new TDropIndexSqlStatement(pdbvendor); 11963 break; 11964 } 11965 case sstdroptable: 11966 { 11967 ret = new TDropTableSqlStatement(pdbvendor); 11968 break; 11969 } 11970 case sstdropview: 11971 { 11972 ret = new TDropViewSqlStatement(pdbvendor); 11973 break; 11974 } 11975 case sstteradatadropprocedure: 11976 ret = new TDropProcedureStmt(pdbvendor); 11977 break; 11978 case sstteradatadropauthorization: 11979 case sstteradatadropcast: 11980 case sstteradatadropdatabase: 11981 case sstteradatadropfunction: 11982 case sstteradatadroptrigger: 11983 case sstteradatadropordering: 11984 case sstteradatadropprofile: 11985 case sstteradatadropreplicationgroup: 11986 case sstteradatadroprole: 11987 case sstteradatadroptransform: 11988 case sstteradatadroptype: 11989 case sstteradatadropuser: 11990 case sstteradatadropzone: 11991 { 11992 ret = new TTeradataDropDbObject(EDbVendor.dbvteradata); 11993 ret.sqlstatementtype = gnewsqlstatementtype; 11994 break; 11995 } 11996 case sstteradatadropmacro: 11997 ret = new TDropMacro(EDbVendor.dbvteradata); 11998 break; 11999 case sstteradatadropconstraint: 12000 ret = new TDropConstraintStmt(EDbVendor.dbvteradata); 12001 break; 12002 case sstteradatabegintransaction: 12003 { 12004 ret = new TBeginTran(pdbvendor); 12005 break; 12006 } 12007 case sstteradataendtransaction: 12008 { 12009 ret = new TEndTran(pdbvendor); 12010 break; 12011 } 12012 case sstteradatacommit: 12013 { 12014 ret = new TTeradataCommit(pdbvendor); 12015 break; 12016 } 12017 case sstteradatarollback: 12018 { 12019 ret = new TTeradataRollback(pdbvendor); 12020 break; 12021 } 12022 case sstcreateindex: 12023 { 12024 ret = new TCreateIndexSqlStatement(pdbvendor); 12025 break; 12026 } 12027 case sstmerge: 12028 { 12029 lcisnewsql = true; 12030 12031 if (pstate != EFindSqlStateType.stnormal) 12032 { 12033 12034 if (lccurrentsqlstatement != null) 12035 { 12036 // merge union, merge join 12037 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 12038 { 12039 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 12040 if (lcnextsolidtoken != null) 12041 { 12042 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 12043 { 12044 lcisnewsql = false; 12045 } 12046 } 12047 } 12048 12049 } 12050 } 12051 12052 if (lcisnewsql) 12053 { 12054 ret = new TMergeSqlStatement(pdbvendor); 12055 ret.sqlstatementtype = gnewsqlstatementtype; 12056 } 12057 12058 break; 12059 } 12060 case sstteradataexecute: 12061 { 12062 lcisnewsql = true; 12063 // prev tokentext can't be with 12064 if ( pstate != EFindSqlStateType.stnormal ) 12065 { 12066 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12067 { 12068 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 12069 { 12070 if ( lccurrentsqlstatement.dummytag == 1 ) 12071 { 12072 lcisnewsql = false; 12073 lccurrentsqlstatement.dummytag = 0; // no select is permited after it 12074 } 12075 } 12076 12077 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatagrant ) 12078 { 12079 if ( TBaseType.assigned(lcprevsolidtoken) ) 12080 { 12081 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12082 lcisnewsql = false; 12083 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12084 lcisnewsql = false; 12085 } 12086 } 12087 12088 if ( 12089 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateprocedure) 12090 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger) 12091 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatefunction) 12092 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterprocedure) 12093 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataaltertrigger) 12094 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterfunction) 12095 ) 12096 { 12097 if ( TBaseType.assigned(lcprevsolidtoken) ) 12098 { 12099 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 12100 lcisnewsql = false; 12101 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12102 lcisnewsql = false; 12103 } 12104 } 12105 } 12106 } 12107 if ( lcisnewsql ) 12108 { 12109 ret = new TTeradataExecute(pdbvendor); 12110 } 12111 break; 12112 } 12113 case sstteradatasetsession: 12114 { 12115 ret = new TTeradataSetSession(pdbvendor); 12116 break; 12117 } 12118 case sstteradatadatabase: 12119 if (pcst.isFirstTokenOfLine()){ 12120 ret = new TTeradataSetSession(pdbvendor); 12121 } 12122 12123 break; 12124 case sstteradatasettimezone: 12125 { 12126 ret = new TTeradataSetTimezone(pdbvendor); 12127 break; 12128 } 12129 case sstteradatasetrole: 12130 { 12131 ret = new TTeradataSetRole(pdbvendor); 12132 break; 12133 } 12134 case sstteradataendlogging: 12135 { 12136 ret = new TTeradataEndLogging(pdbvendor); 12137 break; 12138 } 12139 case sstteradatabeginlogging: 12140 { 12141 ret = new TTeradataBeginLogging(pdbvendor); 12142 break; 12143 } 12144 case sstteradataabort: 12145 { 12146 ret = new TTeradataAbort(pdbvendor); 12147 break; 12148 } 12149 case sstteradatareplaceview: 12150 case sstcreateview: 12151 { 12152 ret = new TCreateViewSqlStatement(pdbvendor); 12153 ret.sqlstatementtype = ESqlStatementType.sstcreateview; 12154 break; 12155 } 12156 case sstteradatacollectstatistics: 12157 { 12158 ret = new TTeradataCollectStatistics(pdbvendor); 12159 break; 12160 } 12161 case sstteradatagive: 12162 { 12163 ret = new TTeradataGive(pdbvendor); 12164 break; 12165 } 12166 case sstteradatacall: 12167 ret = new TCallStatement(pdbvendor); 12168 break; 12169 case sstteradatacreatemacro: 12170 case sstteradatareplacemacro: 12171 ret = new TCreateMacro(pdbvendor); 12172 break; 12173 case sstteradatarenametable: 12174 ret = new TRenameStmt(pdbvendor); 12175 break; 12176 case sstteradatacomment: 12177 ret = new TCommentOnSqlStmt(pdbvendor); 12178 break; 12179 case sstteradatacheckworkload: 12180 ret = new TCheckWorkload(pdbvendor); 12181 break; 12182 case sstgetdiagnostics: 12183 ret = new TGetDiagStmt(pdbvendor); 12184 break; 12185 case sstteradatacreaterole: 12186 ret = new TCreateRoleStmt(pdbvendor); 12187 break; 12188 case sstteradatarevoke: 12189 ret = new TRevokeStmt(pdbvendor); 12190 break; 12191 case sstteradataalterzone: 12192 ret = new TAlterZoneStmt(pdbvendor); 12193 break; 12194 case sstcreatezone: 12195 ret = new TCreateZoneStmt(pdbvendor); 12196 break; 12197 case sstteradataalterconstraint: 12198 ret = new TAlterConstraintStmt(pdbvendor); 12199 break; 12200 case sstExplain: 12201 ret = new TExplainPlan(pdbvendor); 12202 break; 12203 case sstteradatareleaseLock: 12204 ret = new TTeradataReleaseLockStmt(pdbvendor); 12205 break; 12206 default: 12207 { 12208 ret = new TTeradataNotImplement(pdbvendor); 12209 ret.sqlstatementtype = gnewsqlstatementtype; 12210 break; 12211 } 12212 } // case 12213 12214 return ret; 12215 } 12216 12217 12218 TCustomSqlStatement ishana(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 12219 TCustomSqlStatement ret = null; 12220 int k; 12221 boolean lcisnewsql; 12222 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 12223 12224 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 12225 12226 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 12227 || (pcst.tokencode == TBaseType.cmtslashstar) 12228 || (pcst.tokencode == TBaseType.lexspace) 12229 || (pcst.tokencode == TBaseType.lexnewline) 12230 || (pcst.tokentype == ETokenType.ttsemicolon) ) 12231 { 12232 return ret; 12233 } 12234 12235 int lcpos = pcst.posinlist; 12236 TSourceTokenList lcsourcetokenlist = pcst.container; 12237 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 12238 12239 //subquery after semicolon || at first line 12240 if ( pcst.tokentype == ETokenType.ttleftparenthesis) // ( 12241 { 12242 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 12243 if ( k >0 ) 12244 { 12245 if (pstate == EFindSqlStateType.stnormal){ 12246 ret = new TSelectSqlStatement(pdbvendor); 12247 return ret; 12248 } 12249 } 12250 } 12251 12252 //cte 12253 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 12254 { 12255 ret = findcte(pcst,pdbvendor); 12256 if ( (ret != null) ) return ret; 12257 } 12258 12259 gnewsqlstatementtype = findhanacmd(pcst); 12260 12261 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12262 switch(gnewsqlstatementtype ) { // 12263 case sstinvalid: 12264 { 12265 if ( pcst.tokencode == TBaseType.mslabel ) 12266 { 12267 ret = new TMssqlLabel(pdbvendor); 12268 } 12269 else 12270 ret = null; 12271 12272 break; 12273 } 12274 case sstselect: 12275 { 12276 lcisnewsql = true; 12277 12278 if ( pstate != EFindSqlStateType.stnormal ) 12279 { 12280 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12281 if ( (lcprevsolidtoken != null) ) 12282 { 12283 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 12284 lcisnewsql = false; //subqery 12285 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 12286 lcisnewsql = false; 12287 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 12288 lcisnewsql = false; 12289 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 12290 lcisnewsql = false; 12291 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 12292 lcisnewsql = false; 12293 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 12294 lcisnewsql = false; 12295 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 12296 { 12297 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 12298 lcisnewsql = false; 12299 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 12300 lcisnewsql = false; 12301 } 12302 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12303 { 12304 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 12305 lcisnewsql = false; 12306 } 12307 else if (lcprevsolidtoken.tokentype == ETokenType.ttrightparenthesis){ 12308 if ((lccurrentsqlstatement != null) && (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)){ 12309 lcisnewsql = false; 12310 } 12311 } 12312 12313 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 12314 { 12315 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 12316 if ( (lcpprevsolidtoken != null) ) 12317 { 12318 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 12319 lcisnewsql = false; 12320 } 12321 } 12322 12323 } 12324 12325 if ( (lccurrentsqlstatement != null) ) 12326 { 12327 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 12328 { 12329 lcisnewsql = false; 12330 } 12331 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12332 { 12333 if ( (lcprevsolidtoken != null) ) 12334 { 12335 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12336 lcisnewsql = false; 12337 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12338 lcisnewsql = false; 12339 } 12340 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 12341 lcisnewsql = false; 12342 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltersequence ){ 12343 lcisnewsql = false; 12344 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstExplain ){ 12345 lcisnewsql = false; 12346 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstRevoke ){ 12347 lcisnewsql = false; 12348 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupsert ){ 12349 lcisnewsql = false; 12350 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterview ){ 12351 lcisnewsql = false; 12352 } 12353 } 12354 12355 } 12356 12357 if ( lcisnewsql ) 12358 ret = new TSelectSqlStatement(pdbvendor); 12359 12360 break; 12361 12362 } 12363 case sstinsert: 12364 { 12365 lcisnewsql = true; 12366 if ( pstate != EFindSqlStateType.stnormal ) 12367 { 12368 if ( (lccurrentsqlstatement != null) ) 12369 { 12370 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateauditpolicy) 12371 { 12372 lcisnewsql = false; 12373 } 12374 // merge 12375 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12376 { 12377 if (lcprevsolidtoken != null) 12378 { 12379 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12380 {lcisnewsql = false;} 12381 } 12382 } 12383 12384 12385 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12386 { 12387 if ( (lcprevsolidtoken != null) ) 12388 { 12389 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12390 lcisnewsql = false; 12391 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12392 lcisnewsql = false; 12393 } 12394 }else if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12395 { 12396 lcisnewsql = false; 12397 } 12398 12399 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12400 { 12401 if ( (lcprevsolidtoken != null) ) 12402 { 12403 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12404 lcisnewsql = false; 12405 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12406 lcisnewsql = false; 12407 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 12408 lcisnewsql = false; 12409 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 12410 lcisnewsql = false; 12411 } 12412 } 12413 12414 12415 } 12416 } 12417 12418 if ( lcisnewsql ) 12419 { 12420 ret = new TInsertSqlStatement(pdbvendor); 12421 ret.dummytag = 1; // select stmt in insert is permitted 12422 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 12423 { 12424 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 12425 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 12426 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 12427 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ){ 12428 ret.dummytag = 0; 12429 break; 12430 } 12431 } // for ( 12432 if ( k > lcsourcetokenlist.size() - 1 ) 12433 k = lcsourcetokenlist.size() - 1; 12434 12435 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 12436 { 12437 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 12438 } // for ( 12439 12440 } 12441 12442 break; 12443 } 12444 case sstupdate: 12445 { 12446 lcisnewsql = true; 12447 if ( pstate != EFindSqlStateType.stnormal ) 12448 { 12449 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12450 if ( (lcprevsolidtoken != null) ) 12451 { // 12452 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 12453 lcisnewsql = false; 12454 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12455 lcisnewsql = false; 12456 } 12457 12458 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 12459 if ( TBaseType.assigned(lcnextsolidtoken) ) 12460 { 12461 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 12462 { 12463 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 12464 if ( k == 0 ) lcisnewsql = false; 12465 } 12466 } 12467 12468 12469 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12470 { 12471 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateauditpolicy) 12472 { 12473 lcisnewsql = false; 12474 }else if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12475 { 12476 lcisnewsql = false; 12477 } 12478 // merge 12479 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12480 { 12481 if (lcprevsolidtoken != null) 12482 { 12483 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12484 {lcisnewsql = false;} 12485 } 12486 } 12487 12488 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12489 { 12490 if ( TBaseType.assigned(lcprevsolidtoken) ) 12491 { 12492 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12493 lcisnewsql = false; 12494 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12495 lcisnewsql = false; 12496 } 12497 } 12498 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12499 { 12500 if ( TBaseType.assigned(lcprevsolidtoken) ) 12501 { 12502 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12503 lcisnewsql = false; 12504 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12505 lcisnewsql = false; 12506 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 12507 lcisnewsql = false; 12508 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 12509 lcisnewsql = false; 12510 } 12511 } 12512 12513 } 12514 } 12515 12516 if ( lcisnewsql ) 12517 { 12518 ret = new TUpdateSqlStatement(pdbvendor); 12519 ret.dummytag = 1; // means set clause in update is not found yet, used to separate set clause from set statement 12520 } 12521 12522 break; 12523 } 12524 case sstdelete: 12525 { 12526 lcisnewsql = true; 12527 12528 if ( pstate != EFindSqlStateType.stnormal ) 12529 { 12530 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12531 if ( TBaseType.assigned(lcprevsolidtoken) ) 12532 { 12533 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 12534 lcisnewsql = false; 12535 } 12536 12537 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12538 { 12539 // merge 12540 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12541 { 12542 if (lcprevsolidtoken != null) 12543 { 12544 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12545 {lcisnewsql = false;} 12546 } 12547 } 12548 12549 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12550 { 12551 if ( TBaseType.assigned(lcprevsolidtoken) ) 12552 { 12553 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12554 lcisnewsql = false; 12555 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12556 lcisnewsql = false; 12557 } 12558 } 12559 12560 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12561 { 12562 if ( TBaseType.assigned(lcprevsolidtoken) ) 12563 { 12564 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12565 lcisnewsql = false; 12566 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12567 lcisnewsql = false; 12568 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 12569 lcisnewsql = false; 12570 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 12571 lcisnewsql = false; 12572 } 12573 } 12574 12575 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstbackupcatalogdelete) 12576 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 12577 ) 12578 { 12579 lcisnewsql = false; 12580 } 12581 12582 } 12583 } 12584 12585 if ( lcisnewsql ) 12586 ret = new TDeleteSqlStatement(pdbvendor); 12587 12588 break; 12589 } 12590 case sstcreatetable: 12591 { 12592 ret = new TCreateTableSqlStatement(pdbvendor); 12593 break; 12594 } 12595 case sstcreateview: 12596 { 12597 ret = new TCreateViewSqlStatement(pdbvendor); 12598 break; 12599 } 12600 case sstcreatesequence: 12601 { 12602 ret = new TCreateSequenceStmt(pdbvendor); 12603 break; 12604 } 12605 case sstaltertable: 12606 { 12607 lcisnewsql = true; 12608 if ( pstate != EFindSqlStateType.stnormal ) 12609 { 12610 lcisnewsql = false; 12611 } 12612 if ( lcisnewsql ) { 12613 ret = new TAlterTableStatement(pdbvendor); 12614 } 12615 break; 12616 } 12617 case sstcreateprocedure : 12618 { 12619 ret = new TCreateProcedureStmt(pdbvendor); 12620 break; 12621 } 12622 case sstalterprocedure: 12623 { 12624 boolean isAlter = false; 12625 // hana alter and create procedure 语法混在一起,无法区分 12626 // c:\prg\gsp_java\gsp_java_core\gsp_sqlfiles\TestCases\public\allversions\hana\create_procedure.sql 12627 if (pcst.tokencode == TBaseType.rrw_alter){ 12628 12629 TSourceToken st = pcst.nextSolidToken(3); 12630 if (st != null){ 12631 switch (st.toString().toUpperCase()) { 12632 case "RECOMPILE": 12633 isAlter = true; 12634 break; 12635 case "ENCRYPTION": 12636 isAlter = true; 12637 break; 12638 case "ADD": 12639 isAlter = true; 12640 break; 12641 default: 12642 break; 12643 } 12644 } 12645 12646 // TSourceToken st = pcst.searchToken("recompile",4); 12647 // if (st != null){ 12648 // isAlter = true; 12649 // }else{ 12650 // st = pcst.searchToken("encryption",4); 12651 // if (st != null){ 12652 // isAlter = true; 12653 // } 12654 // } 12655 } 12656 if (isAlter){ 12657 ret = new TAlterProcedureStmt (pdbvendor); 12658 }else{ 12659 ret = new TCreateProcedureStmt (pdbvendor); 12660 } 12661 12662 break; 12663 } 12664 case sstcreatefunction : 12665 { 12666 ret = new TCreateFunctionStmt(pdbvendor); 12667 break; 12668 } 12669 case sstalterfunction: 12670 { 12671 boolean isAlter = false; 12672 // hana alter and create function 语法混在一起,无法区分 12673 12674 if (pcst.tokencode == TBaseType.rrw_alter){ 12675 TSourceToken stAdd = pcst.searchToken("add",4); 12676 TSourceToken stAlter = pcst.searchToken("alter",4); 12677 TSourceToken stDrop = pcst.searchToken("drop",4); 12678 if ((stAdd != null)||(stAlter != null)||(stDrop != null)){ 12679 isAlter = true; 12680 }else{ 12681 TSourceToken st = pcst.searchToken("encryption",4); 12682 if (st != null){ 12683 isAlter = true; 12684 } 12685 } 12686 } 12687 12688 if (isAlter){ 12689 ret = new TAlterFunctionStmt (pdbvendor); 12690 }else{ 12691 ret = new TCreateFunctionStmt (pdbvendor); 12692 } 12693 12694 12695 break; 12696 } 12697 case sstcreatetrigger : 12698 case sstaltertrigger: 12699 { 12700 ret = new TCreateTriggerStmt(pdbvendor); 12701 break; 12702 } 12703 case sstGrant: 12704 { 12705 lcisnewsql = true; 12706 12707 if ( pstate != EFindSqlStateType.stnormal ) 12708 { 12709 lcisnewsql = false; 12710 12711 } 12712 if ( lcisnewsql ) 12713 { 12714 ret = new TGrantStmt(pdbvendor); 12715 //ret.sqlstatementtype = gnewsqlstatementtype; 12716 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 12717 { 12718 lctoken = lcsourcetokenlist.get(k); 12719 if (lctoken.isnonsolidtoken() ) continue; 12720 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 12721 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 12722 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 12723 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 12724 } 12725 } 12726 break; 12727 } 12728 case sstdropview: 12729 { 12730 ret = new TDropViewSqlStatement(pdbvendor); 12731 break; 12732 } 12733 case sstdroptable: 12734 { 12735 ret = new TDropTableSqlStatement(pdbvendor); 12736 break; 12737 } 12738 case sstdropindex: 12739 { 12740 ret = new TDropIndexSqlStatement(pdbvendor); 12741 break; 12742 } 12743 case ssttruncatetable: 12744 { 12745 ret = new TTruncateStatement(pdbvendor); 12746 break; 12747 } 12748 case sstcommit: 12749 { 12750 lcisnewsql = true; 12751 TSourceToken lcPrev = pcst.prevSolidToken(); 12752 if ((lcPrev != null) && (lcPrev.tokencode == TBaseType.rrw_hana_of)){ 12753 lcisnewsql = false; 12754 } 12755 if ( pstate != EFindSqlStateType.stnormal ) 12756 { 12757 lcisnewsql = false; 12758 12759 } 12760 if (lcisnewsql){ 12761 ret = new TCommitStmt(pdbvendor); 12762 } 12763 12764 break; 12765 } 12766 case sstrollback: 12767 { 12768 ret = new TRollbackStmt(pdbvendor); 12769 break; 12770 } 12771 case sstRevoke: 12772 { 12773 lcisnewsql = true; 12774 12775 if ( pstate != EFindSqlStateType.stnormal ) 12776 { 12777 lcisnewsql = false; 12778 12779 } 12780 if (lcisnewsql){ 12781 ret = new TRevokeStmt(pdbvendor); 12782 } 12783 break; 12784 } 12785 case sstcreateindex: 12786 { 12787 ret = new TCreateIndexSqlStatement(pdbvendor); 12788 break; 12789 } 12790 case sstset: 12791 { 12792 lcisnewsql = true; 12793 if ( pstate != EFindSqlStateType.stnormal ) 12794 { 12795 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12796 { 12797 lcisnewsql = false; 12798 } 12799 } 12800 12801 if ( lcisnewsql ) 12802 { 12803 ret = new TMssqlSet(pdbvendor); 12804 } 12805 12806 break; 12807 } 12808 case sstdropsequence: 12809 ret = new TDropSequenceStmt(pdbvendor); 12810 break; 12811 case sstalterdatabase: 12812 ret = new TAlterDatabaseStmt(pdbvendor); 12813 break; 12814 case sstcreatedatabase: 12815 { 12816 ret = new TCreateDatabaseSqlStatement(pdbvendor); 12817 break; 12818 } 12819 case sstcreateschema: 12820 { 12821 ret = new TCreateSchemaSqlStatement(pdbvendor); 12822 break; 12823 } 12824 case sstcreatesynonym: 12825 { 12826 ret = new TCreateSynonymStmt(pdbvendor); 12827 break; 12828 } 12829 case sstcreatetype: 12830 ret = new TMssqlCreateType(pdbvendor); 12831 break; 12832 case sstreplace: 12833 lcisnewsql = true; 12834 TSourceToken lcNext = pcst.nextSolidToken(); 12835 if ((lcNext != null) && (lcNext.tokencode == '(')){ 12836 lcisnewsql = false; 12837 } 12838 if ( pstate != EFindSqlStateType.stnormal ) 12839 { 12840 lcisnewsql = false; 12841 } 12842 if (lcisnewsql) { 12843 ret = new TUpsertStmt(pdbvendor); 12844 //ret.sqlstatementtype = gnewsqlstatementtype; 12845 } 12846 break; 12847 case sstalterauditpolicy: 12848 ret = new TAlterAuditPolicyStmt(pdbvendor); 12849 break; 12850 case sstaltercredential: 12851 ret = new TAlterCredentialStmt(pdbvendor); 12852 break; 12853 case sstalterfulltextindex: 12854 ret = new TAlterFulltextIndexStmt(pdbvendor); 12855 break; 12856 case sstalterindex: 12857 ret = new TAlterIndexStmt(pdbvendor); 12858 break; 12859 case sstalterldapprovider: 12860 ret = new TAlterLDAPProviderStmt(pdbvendor); 12861 break; 12862 case sstalterjwtprovider: 12863 ret = new TAlterJWTProviderStmt(pdbvendor); 12864 break; 12865 case sstalterpse: 12866 ret = new TAlterPSEStmt(pdbvendor); 12867 break; 12868 case sstalterremotesource: 12869 ret = new TAlterRemoteSourceStmt(pdbvendor); 12870 break; 12871 case sstAlterRole: 12872 ret = new TAlterRoleStmt(pdbvendor); 12873 break; 12874 case sstaltersamlprovider: 12875 ret = new TAlterSAMLProviderStmt(pdbvendor); 12876 break; 12877 case sstaltersequence: 12878 ret = new TAlterSequenceStatement(pdbvendor); 12879 break; 12880 case sstalterstatistics: 12881 ret = new TAlterStatisticsStmt(pdbvendor); 12882 break; 12883 case sstaltersystem: 12884 ret = new TAlterSystemStmt(pdbvendor); 12885 break; 12886 case sstunload: 12887 lcisnewsql = true; 12888 if ( pstate != EFindSqlStateType.stnormal ) 12889 { 12890 lcisnewsql = false; 12891 } 12892 if ( lcisnewsql ) { 12893 ret = new TUnloadStmt(pdbvendor); 12894 ret.sqlstatementtype = gnewsqlstatementtype; 12895 } 12896 break; 12897 case sstunset: 12898 case sstunsetpse: 12899 case sstunsetsystemlicense: 12900 lcisnewsql = true; 12901 if ( pstate != EFindSqlStateType.stnormal ) 12902 { 12903 lcisnewsql = false; 12904 } 12905 if ( lcisnewsql ) { 12906 ret = new TUnsetStmt(pdbvendor); 12907 ret.sqlstatementtype = gnewsqlstatementtype; 12908 } 12909 break; 12910 case sstalteruser: 12911 ret = new TAlterUserStmt(pdbvendor); 12912 break; 12913 case sstconnect: 12914 lcisnewsql = true; 12915 if ( pstate != EFindSqlStateType.stnormal ) 12916 { 12917 lcisnewsql = false; 12918 } 12919 if ( lcisnewsql ) { 12920 ret = new TConnectStmt(pdbvendor); 12921 ret.sqlstatementtype = gnewsqlstatementtype; 12922 } 12923 break; 12924 case sstalterusergroup: 12925 ret = new TAlterUserGroupStmt(pdbvendor); 12926 break; 12927 case sstalterview: 12928 case sstalterviewcache: 12929 ret = new TAlterViewStatement(pdbvendor); 12930 break; 12931 case sstaltervirtualtable: 12932 ret = new TAlterVirtualTableStmt(pdbvendor); 12933 break; 12934 case sstalterworkloadclass: 12935 ret = new TAlterWorkloadClassStmt(pdbvendor); 12936 break; 12937 case sstalterworkloadmapping: 12938 ret = new TAlterWorkloadMappingStmt(pdbvendor); 12939 break; 12940 case sstbackupcancel: 12941 ret = new TBackupCancelStmt(pdbvendor); 12942 break; 12943 case sstbackupcatalogdelete: 12944 ret = new TBackupCatalogDeleteStmt(pdbvendor); 12945 break; 12946 case sstbackupcheck: 12947 case sstbackupcheckaccess: 12948 ret = new TBackupCheckStmt(pdbvendor); 12949 break; 12950 case sstbackupdata: 12951 ret = new TBackupDataStmt(pdbvendor); 12952 break; 12953 case sstbackuplistdata: 12954 ret = new TBackupListDataStmt(pdbvendor); 12955 break; 12956 case sstcall: 12957 ret = new TCallStatement(pdbvendor); 12958 break; 12959 case sstcomment: 12960 ret = new TCommentOnSqlStmt(pdbvendor); 12961 break; 12962 case sstcreateauditpolicy: 12963 ret = new TCreateAuditPolicyStmt(pdbvendor); 12964 break; 12965 case sstcreatecertificate: 12966 ret = new TCreateCertificateStmt(pdbvendor); 12967 break; 12968 case sstcreatecollection: 12969 ret = new TCreateCollectionStmt(pdbvendor); 12970 break; 12971 case sstcreatecredential: 12972 ret = new TCreateCredentialStmt(pdbvendor); 12973 break; 12974 case sstcreatefulltextindex: 12975 ret = new TCreateFulltextIndexStmt(pdbvendor); 12976 break; 12977 case sstcreategraphworkspace: 12978 ret = new TCreateGraphWorkspaceStmt(pdbvendor); 12979 break; 12980 case sstcreateJWTProvider: 12981 ret = new TCreateJWTProviderStmt(pdbvendor); 12982 break; 12983 case sstcreateLDAPProvider: 12984 ret = new TCreateLDAPProviderStmt(pdbvendor); 12985 break; 12986 case sstcreatepse: 12987 ret = new TCreatePSEStmt(pdbvendor); 12988 break; 12989 case sstcreateremotesource: 12990 ret = new TCreateRemoteSourceStmt(pdbvendor); 12991 break; 12992 case sstcreaterole: 12993 ret = new TCreateRoleStmt(pdbvendor); 12994 break; 12995 case sstcreatesamlprovider: 12996 ret = new TCreateSAMLProviderStmt(pdbvendor); 12997 break; 12998 case sstcreatestatistics: 12999 ret = new TCreateStatistics(pdbvendor); 13000 break; 13001 case sstcreatestructuredprivilege: 13002 ret = new TCreateStructuredPrivilegeStmt(pdbvendor); 13003 break; 13004 case sstcreateuser: 13005 ret = new TCreateUserStmt(pdbvendor); 13006 break; 13007 case sstcreateusergroup: 13008 ret = new TCreateUserGroupStmt(pdbvendor); 13009 break; 13010 case sstcreatevirtualfunction: 13011 ret = new TCreateVirtualFunctionStmt(pdbvendor); 13012 break; 13013 case sstcreatevirtualtable: 13014 ret = new TCreateVirtualTableStmt(pdbvendor); 13015 break; 13016 case sstcreateworkloadclass: 13017 ret = new TCreateWorkloadClassStmt(pdbvendor); 13018 break; 13019 case sstcreateworkloadmapping: 13020 ret = new TCreateWorkloadMappingStmt(pdbvendor); 13021 break; 13022 case sstdropauditpolicy: 13023 case sstdropcertificate: 13024 case sstdropcollection: 13025 case sstdropcredential: 13026 case sstdropfulltextindex: 13027 case sstdropJWTProvider: 13028 case sstdropLDAPProvider: 13029 case sstdroppse: 13030 case sstdropremotesource: 13031 case sstdropsamlprovider: 13032 case sstdropstatistics: 13033 case sstdropgraphworkspace: 13034 case sstdropstructuredprivilege: 13035 case sstdroptype: 13036 case sstdropusergroup: 13037 case sstdropworkloadclass: 13038 case sstdropworkloadmapping: 13039 lcisnewsql = true; 13040 if ( pstate != EFindSqlStateType.stnormal ) 13041 { 13042 lcisnewsql = false; 13043 } 13044 if ( lcisnewsql ) { 13045 ret = new TDropStmt(pdbvendor); 13046 } 13047 13048 break; 13049 case sstdropdatabase: 13050 ret = new TDropDatabaseStmt(pdbvendor); 13051 break; 13052 case sstdropfunction: 13053 ret = new TDropFunctionStmt(pdbvendor); 13054 break; 13055 case sstdropprocedure: 13056 ret = new TDropProcedureStmt(pdbvendor); 13057 break; 13058 case sstdroprole: 13059 ret = new TDropRoleStmt(pdbvendor); 13060 break; 13061 case sstdropschema: 13062 ret = new TDropSchemaSqlStatement(pdbvendor); 13063 break; 13064 case sstdropsynonym: 13065 ret = new TDropSynonymStmt(pdbvendor); 13066 break; 13067 case sstdroptrigger: 13068 ret = new TDropTriggerSqlStatement(pdbvendor); 13069 break; 13070 case sstdropuser: 13071 ret = new TDropUserStmt(pdbvendor); 13072 break; 13073 case sstExplain: 13074 ret = new TExplainPlan(pdbvendor); 13075 break; 13076 case sstexport: 13077 ret = new TExportStmt(pdbvendor); 13078 break; 13079 case sstimport: 13080// case sstimportfrom: 13081// case sstimportscan: 13082 ret = new TImportStmt(pdbvendor); 13083 break; 13084 case sstload: 13085 lcisnewsql = true; 13086 if ( pstate != EFindSqlStateType.stnormal ) 13087 { 13088 lcisnewsql = false; 13089 } 13090 if ( lcisnewsql ) { 13091 ret = new TLoadStmt(pdbvendor); 13092 } 13093 13094 break; 13095 case sstlocktable: 13096 ret = new TLockTableStmt(pdbvendor); 13097 break; 13098 case sstmergedelta: 13099 ret = new TMergeDeltaStmt(pdbvendor); 13100 break; 13101 case sstmerge: 13102 ret = new TMergeSqlStatement(pdbvendor); 13103 break; 13104 case sstrecoverdata: 13105 ret = new TRecoverDataStmt(pdbvendor); 13106 break; 13107 case sstrecoverdatabase: 13108 ret = new TRecoverDatabaseStmt(pdbvendor); 13109 break; 13110 case sstrefreshstatistics: 13111 ret = new TRefreshStatisticsStmt(pdbvendor); 13112 break; 13113 case sstrenamecollection: 13114 case sstrenamecolumn: 13115 case sstrenamedatabase: 13116 case sstrenameindex: 13117 case sstrenametable: 13118 ret = new TRenameStmt(pdbvendor); 13119 break; 13120 case sssethistorysession: 13121 case sstsetpse: 13122 case sstsetschema: 13123 case sstsetsystemlicense: 13124 case sstsettransaction: 13125 case sstsettransactionautocommit: 13126 ret = new TSetDatabaseObjectStmt(pdbvendor); 13127 break; 13128 case ssttruncatecollection: 13129 ret = new TTruncateCollectionStmt(pdbvendor); 13130 break; 13131 case sstvalidateLDAPProvider: 13132 ret = new TValidateLDAPProviderStmt(pdbvendor); 13133 break; 13134 case sstvalidateUser: 13135 ret = new TValidateUserStmt(pdbvendor); 13136 break; 13137 case sstupsert: 13138 ret = new TUpsertStmt(pdbvendor); 13139 break; 13140 case sstsavepoint: 13141 { 13142 lcisnewsql = true; 13143 13144 if ( pstate != EFindSqlStateType.stnormal ) 13145 { 13146 lcisnewsql = false; 13147 13148 } 13149 if (lcisnewsql){ 13150 ret = new TSavepointStmt(pdbvendor); 13151 ret.sqlstatementtype = gnewsqlstatementtype; 13152 } 13153 break; 13154 } 13155 default: 13156 { 13157 ret = new TUnknownSqlStatement(pdbvendor); 13158 ret.sqlstatementtype = gnewsqlstatementtype; 13159 break; 13160 } 13161 } // case 13162 13163 return ret; 13164 } 13165 13166 TCustomSqlStatement mapTeradataUsing(TSourceToken ptoken){ 13167 TCustomSqlStatement ret = null; 13168 TSourceToken lctoken = null; 13169 int lcnested = 0,k,j; 13170 13171 //using ... insert/select/delete/update/begin transaction 13172 int lcpos = ptoken.posinlist; 13173 TSourceTokenList lcsourcetokenlist = ptoken.container; 13174 13175 for (int i = lcpos + 1; i < lcsourcetokenlist.size();i++) // iterate 13176 { 13177 lctoken = lcsourcetokenlist.get(i); 13178 if ( (lctoken.tokencode == TBaseType.rrw_delete) ) 13179 { 13180 ret = new TDeleteSqlStatement(EDbVendor.dbvteradata); 13181 gnewsqlstatementtype = ESqlStatementType.sstdelete; 13182 break; 13183 } 13184 else if ( (lctoken.tokencode == TBaseType.rrw_insert) ) 13185 { 13186 ret = new TInsertSqlStatement(EDbVendor.dbvteradata); 13187 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13188 break; 13189 } 13190 else if ( (lctoken.tokencode == TBaseType.rrw_select) ) 13191 { 13192 ret = new TSelectSqlStatement(EDbVendor.dbvteradata); 13193 gnewsqlstatementtype = ESqlStatementType.sstselect; 13194 break; 13195 } 13196 else if ( (lctoken.tokencode == TBaseType.rrw_update) ) 13197 { 13198 ret = new TUpdateSqlStatement(EDbVendor.dbvteradata); 13199 gnewsqlstatementtype = ESqlStatementType.sstupdate; 13200 break; 13201 } 13202 else if ( (lctoken.tokencode == TBaseType.rrw_begin) || (lctoken.tokencode == TBaseType.rrw_bt) ) 13203 { 13204 ret = new TTeradataBeginTransaction(EDbVendor.dbvteradata); 13205 gnewsqlstatementtype = ESqlStatementType.sstteradatabegintransaction; 13206 break; 13207 } 13208 } 13209 return ret; 13210 } 13211 13212/** 13213 * Analyzes a SQL token to determine if it starts a Common Table Expression (CTE) 13214 * and returns the appropriate SQL statement object. 13215 * 13216 * This function handles CTEs that begin with "WITH" and can contain: 13217 * - SELECT statements 13218 * - INSERT statements 13219 * - UPDATE statements 13220 * - DELETE statements 13221 * - MERGE statements 13222 * - VALUES clauses (PostgreSQL) 13223 * 13224 * Side Effects: 13225 * When a CTE is found, this function marks tokens as "ignored" to prevent them from being 13226 * processed again during raw statement parsing: 13227 * 1. All tokens from after WITH up to and including the main statement keyword (SELECT/INSERT/etc.) 13228 * are marked with ETokenStatus.tsignoredbygetrawstatement 13229 * 2. For INSERT statements, additional tokens after INSERT up to VALUES/SELECT/EXECUTE/semicolon 13230 * are also marked as ignored 13231 * 13232 * Example of ignored tokens: 13233 * WITH cte AS (SELECT * FROM t1) -- these tokens marked as ignored 13234 * SELECT * FROM cte; -- SELECT is also marked as ignored 13235 * -- parsing continues after SELECT 13236 * 13237 * @param ptoken The source token to analyze, expected to be a "WITH" keyword 13238 * @param pdbvendor The database vendor type (e.g. Oracle, SQL Server, etc.) 13239 * @return A TCustomSqlStatement object representing the CTE statement type found, 13240 * or null if no valid CTE statement is detected 13241 */ 13242TCustomSqlStatement findcte(TSourceToken ptoken, EDbVendor pdbvendor){ 13243 TCustomSqlStatement ret = null; 13244 TSourceToken lctoken = null; 13245 int lcnested = 0,k,j; 13246 boolean inXmlNamespaces = false; 13247 boolean isXmlNamespaces = false; 13248 13249 int lcpos = ptoken.posinlist; 13250 TSourceTokenList lcsourcetokenlist = ptoken.container; 13251 13252 for (int i = lcpos + 1; i < lcsourcetokenlist.size();i++) // iterate 13253 { 13254 lctoken = lcsourcetokenlist.get(i); 13255// if (lctoken.tokencode == TBaseType.rrw_postgresql_recursive){ 13256// continue; 13257// } 13258 if (lctoken.tokencode == TBaseType.rrw_xmlnamespaces){ 13259 inXmlNamespaces = true; 13260 lcnested = 0; 13261 continue; 13262 } 13263 if (inXmlNamespaces) { 13264 if ( lctoken.tokentype == ETokenType.ttleftparenthesis) lcnested++; 13265 if ( lctoken.tokentype == ETokenType.ttrightparenthesis) { 13266 lcnested--; 13267 if (lcnested == 0) { 13268 inXmlNamespaces = false; 13269 isXmlNamespaces = true; 13270 } 13271 } 13272 continue; 13273 } 13274 if (( lctoken.tokencode == TBaseType.rrw_as ) || isXmlNamespaces) 13275 { 13276 lcnested = 0; 13277 int startPos = i+1; 13278 if (isXmlNamespaces) startPos = i; 13279 for ( j = startPos; j < lcsourcetokenlist.size();j++) 13280 { 13281 lctoken = lcsourcetokenlist.get(j); 13282 if (lctoken.isnonsolidtoken() ) continue; 13283 if ( lctoken.tokentype == ETokenType.ttleftparenthesis) lcnested++; 13284 if ( lctoken.tokentype == ETokenType.ttrightparenthesis) lcnested--; 13285 13286 13287 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_delete) ) 13288 { 13289 ret = new TDeleteSqlStatement(pdbvendor); 13290 ret.isctequery = true; 13291 gnewsqlstatementtype = ESqlStatementType.sstdelete; 13292 break; 13293 } 13294 13295 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_merge) ) 13296 { 13297 ret = new TMergeSqlStatement(pdbvendor); 13298 ret.isctequery = true; 13299 gnewsqlstatementtype = ESqlStatementType.sstmerge; 13300 break; 13301 } 13302 13303 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_insert) ) 13304 { 13305 ret = new TInsertSqlStatement(pdbvendor); 13306 ret.isctequery = true; 13307 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13308 ret.dummytag = 1; // select stmt in insert is permitted 13309 13310 for ( k = lctoken.posinlist + 1; k < lcsourcetokenlist.size();k++) // iterate 13311 { 13312 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 13313 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 13314 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 13315 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 13316 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 13317 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 13318 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 13319 } // for 13320 if ( k > lcsourcetokenlist.size() - 1 ) 13321 k = lcsourcetokenlist.size() - 1; 13322 13323 for (int m = lctoken.posinlist + 1; m <= k; m++) // iterate 13324 { 13325 lcsourcetokenlist.get(m).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 13326 } // for 13327 13328 break; 13329 } 13330 13331 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_values) &&(pdbvendor == EDbVendor.dbvpostgresql) ) 13332 { 13333 ret = new TSelectSqlStatement(pdbvendor); 13334 ret.isctequery = true; 13335 gnewsqlstatementtype = ESqlStatementType.sstselect; 13336 break; 13337 } 13338 13339 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_select) ) 13340 { 13341 ret = new TSelectSqlStatement(pdbvendor); 13342 ret.isctequery = true; 13343 gnewsqlstatementtype = ESqlStatementType.sstselect; 13344 break; 13345 } 13346 13347 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_update) ) 13348 { 13349 ret = new TUpdateSqlStatement(pdbvendor); 13350 ret.isctequery = true; 13351 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 13352 gnewsqlstatementtype = ESqlStatementType.sstupdate; 13353 break; 13354 } 13355 13356 if ( (pdbvendor == EDbVendor.dbvhive) && (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_from) ) 13357 { 13358 TSourceToken cmdToken = lctoken.searchToken(TBaseType.rrw_insert,3); 13359 if (cmdToken != null){ 13360 ret = new TInsertSqlStatement(pdbvendor); 13361 ret.isctequery = true; 13362 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13363 13364 }else{ 13365 ret = new TSelectSqlStatement(pdbvendor); 13366 ret.isctequery = true; 13367 gnewsqlstatementtype = ESqlStatementType.ssthiveFromQuery; 13368 } 13369 break; 13370 } 13371 13372 13373 } // for 13374 13375 if ( (ret != null) ) 13376 { 13377 for (k = lcpos + 1; k <= j;k++) // iterate 13378 { 13379 lcsourcetokenlist.get(k).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 13380 } // for 13381 break; 13382 } 13383 13384 } 13385 } 13386 13387 return ret; 13388} 13389 13390 TCustomSqlStatement findMdxStmtBeginWithClause(TSourceToken ptoken, EDbVendor pdbvendor){ 13391 TCustomSqlStatement ret = null; 13392 ret = new TMdxSelect(pdbvendor); 13393 ret.isctequery = true; 13394 gnewsqlstatementtype = ESqlStatementType.sstmdxselect; 13395 return ret; 13396 } 13397 13398 TCustomSqlStatement isdb2sql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13399 TCustomSqlStatement ret = null; 13400 int k; 13401 boolean lcisnewsql; 13402 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 13403 13404 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 13405 13406 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 13407 || (pcst.tokencode == TBaseType.cmtslashstar) 13408 || (pcst.tokencode == TBaseType.lexspace) 13409 || (pcst.tokencode == TBaseType.lexnewline) 13410 || (pcst.tokentype == ETokenType.ttsemicolon) ) 13411 { 13412 return ret; 13413 } 13414 13415 int lcpos = pcst.posinlist; 13416 TSourceTokenList lcsourcetokenlist = pcst.container; 13417 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 13418 13419 //subquery after semicolon || at first line 13420 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 13421 { 13422 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 13423 if ( k >0 ) 13424 { 13425 ret = new TSelectSqlStatement(pdbvendor); 13426 } 13427 13428 return ret; 13429 } 13430 13431 //cte 13432 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 13433 { 13434 ret = findcte(pcst,pdbvendor); 13435 if ( TBaseType.assigned(ret) ) return ret; 13436 } 13437 13438 //values 13439 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_values) ) 13440 { 13441 ret = new TSelectSqlStatement(pdbvendor); 13442 return ret; 13443 } 13444 13445 // db2 scriptoptions 13446 if ( pcst.tokencode == TBaseType.scriptoptions ) 13447 { 13448 ret = new TDb2ScriptOptionStmt(pdbvendor); 13449 return ret; 13450 } 13451 13452 gnewsqlstatementtype = finddb2cmd(pcst); 13453 13454 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13455 switch(gnewsqlstatementtype) { // 13456 case sstinvalid: 13457 { 13458 ret = null; 13459 if ( pcst.tokencode == TBaseType.rrw_begin ) 13460 { 13461 ret = new TCommonBlock(pdbvendor); 13462 gnewsqlstatementtype = ret.sqlstatementtype; 13463 } 13464 break; 13465 } 13466 case sstselect: 13467 { 13468 lcisnewsql = true; 13469 13470 if ( pstate != EFindSqlStateType.stnormal ) 13471 { 13472 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13473 if ( TBaseType.assigned(lcprevsolidtoken) ) 13474 { 13475 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13476 lcisnewsql = false; //subqery 13477 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 13478 lcisnewsql = false; 13479 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 13480 lcisnewsql = false; 13481 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 13482 lcisnewsql = false; 13483 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 13484 lcisnewsql = false; 13485 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 13486 lcisnewsql = false; 13487 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 13488 { 13489 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 13490 lcisnewsql = false; 13491 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 13492 lcisnewsql = false; 13493 } 13494 13495 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 13496 { 13497 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 13498 if ( TBaseType.assigned(lcpprevsolidtoken) ) 13499 { 13500 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 13501 lcisnewsql = false; 13502 } 13503 } 13504 13505 } 13506 13507 13508 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13509 { 13510 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 13511 { 13512 lcisnewsql = false; 13513 } 13514 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect ) 13515 { 13516 if ( lccurrentsqlstatement.isctequery ) 13517 lcisnewsql = false; 13518 } 13519 } 13520 13521 } 13522 13523 if ( lcisnewsql ) 13524 ret = new TSelectSqlStatement(pdbvendor); 13525 break; 13526 } 13527 case sstinsert: 13528 { 13529 lcisnewsql = true; 13530 if ( pstate != EFindSqlStateType.stnormal ) 13531 { 13532 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13533 { 13534 13535 } 13536 } 13537 13538 if ( lcisnewsql ) 13539 ret = new TInsertSqlStatement(pdbvendor); 13540 break; 13541 } 13542 case sstupdate: 13543 { 13544 lcisnewsql = true; 13545 if ( pstate != EFindSqlStateType.stnormal ) 13546 { 13547 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13548 if ( TBaseType.assigned(lcprevsolidtoken) ) 13549 { // 13550 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13551 lcisnewsql = false; 13552 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 13553 lcisnewsql = false; 13554 } 13555 13556 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 13557 if ( TBaseType.assigned(lcnextsolidtoken) ) 13558 { 13559 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13560 { 13561 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 13562 if ( k == 0 ) lcisnewsql = false; 13563 } 13564 } 13565 13566 13567 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13568 { 13569 } 13570 } 13571 13572 if ( lcisnewsql ) 13573 { 13574 ret = new TUpdateSqlStatement(pdbvendor); 13575 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 13576 } 13577 break; 13578 } 13579 case sstdelete: 13580 { 13581 lcisnewsql = true; 13582 13583 if ( pstate != EFindSqlStateType.stnormal ) 13584 { 13585 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13586 if ( TBaseType.assigned(lcprevsolidtoken) ) 13587 { 13588 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13589 lcisnewsql = false; 13590 } 13591 13592 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13593 { 13594 } 13595 } 13596 13597 if ( lcisnewsql ) 13598 ret = new TDeleteSqlStatement(pdbvendor); 13599 break; 13600 } 13601 case sstmerge: 13602 { 13603 ret = new TMergeSqlStatement(pdbvendor); 13604 ret.sqlstatementtype = gnewsqlstatementtype; 13605 break; 13606 } 13607 case sstcommit: 13608 { 13609 ret = new TUnknownSqlStatement(pdbvendor); 13610 ret.sqlstatementtype = gnewsqlstatementtype; 13611 break; 13612 } 13613 case sstrollback: 13614 { 13615 ret = new TUnknownSqlStatement(pdbvendor); 13616 ret.sqlstatementtype = gnewsqlstatementtype; 13617 break; 13618 } 13619 case sstsavepoint: 13620 { 13621 ret = new TUnknownSqlStatement(pdbvendor); 13622 ret.sqlstatementtype = gnewsqlstatementtype; 13623 break; 13624 } 13625 case sstRevoke: 13626 { 13627 ret = new TUnknownSqlStatement(pdbvendor); 13628 ret.sqlstatementtype = gnewsqlstatementtype; 13629 break; 13630 } 13631 case sstcreatetable: 13632 { 13633 ret = new TCreateTableSqlStatement(pdbvendor); 13634 break; 13635 } 13636 case sstcreateview: 13637 { 13638 ret = new TCreateViewSqlStatement(pdbvendor); 13639 break; 13640 } 13641 case sstcreateindex: 13642 { 13643 ret = new TCreateIndexSqlStatement(pdbvendor); 13644 break; 13645 } 13646 case sstcreatedatabase: 13647 { 13648 ret = new TCreateDatabaseSqlStatement(pdbvendor); 13649 break; 13650 } 13651 case sstdroptable: 13652 { 13653 ret = new TDropTableSqlStatement(pdbvendor); 13654 break; 13655 } 13656 case sstdropview: 13657 { 13658 ret = new TDropViewSqlStatement(pdbvendor); 13659 break; 13660 } 13661 case sstdropindex: 13662 { 13663 ret = new TDropIndexSqlStatement(pdbvendor); 13664 break; 13665 } 13666 case sstaltertable: 13667 { 13668 ret = new TAlterTableStatement(pdbvendor); 13669 break; 13670 } 13671 case sstaltersession: 13672 { 13673 ret = new TAlterSessionStatement(pdbvendor); 13674 break; 13675 } 13676 case sstdb2set: 13677 { 13678 ret = new TDb2SetVariableStmt(pdbvendor); 13679 break; 13680 } 13681 case sstdb2setschema: 13682 { 13683 ret = new TSetDatabaseObjectStmt(pdbvendor); 13684 break; 13685 } 13686 case sstdb2call: 13687 { 13688 ret = new TDb2CallStmt(pdbvendor); 13689 break; 13690 } 13691 case sstdb2declarecursor: 13692 { 13693 ret = new TDb2DeclareCursorStatement(pdbvendor); 13694 break; 13695 } 13696 case sstcreateprocedure: 13697 { 13698 ret = new TCreateProcedureStmt(pdbvendor); 13699 break; 13700 } 13701 case sstcreatefunction: 13702 { 13703 ret = new TCreateFunctionStmt(pdbvendor); 13704 break; 13705 } 13706 case sstdb2createtrigger: 13707 { 13708 ret = new TCreateTriggerStmt(pdbvendor); 13709 break; 13710 } 13711 case sstdb2return: 13712 { 13713 ret = new TDb2ReturnStmt(pdbvendor); 13714 break; 13715 } 13716 case sstdb2refreshtable: 13717 case sstdb2connect: 13718 case sstdb2terminate: 13719 case sstdb2execute: 13720 { 13721 ret = new TDb2DummyStmt(pdbvendor); 13722 break; 13723 } 13724 case sstdb2createalias: 13725 { 13726 ret = new TCreateAliasStmt(pdbvendor); 13727 break; 13728 } 13729 case sstcreateauditpolicy: 13730 ret = new TCreateAuditPolicyStmt(pdbvendor); 13731 break; 13732 case sstdb2comment: 13733 ret = new TCommentOnSqlStmt(pdbvendor); 13734 break; 13735 case sstdb2createvariable: 13736 ret = new TCreateVariableStmt(pdbvendor); 13737 break; 13738 case sstcreaterole: 13739 ret = new TCreateRoleStmt(pdbvendor); 13740 break; 13741 case sstcreateTablespace: 13742 ret = new TCreateTablespaceStmt(pdbvendor); 13743 break; 13744 case sstRunStats: 13745 ret = new TRunStats(pdbvendor); 13746 break; 13747 case ssttruncatetable: 13748 { 13749 ret = new TTruncateStatement(pdbvendor); 13750 break; 13751 } 13752 case sstcreatesynonym: 13753 ret = new TCreateSynonymStmt(pdbvendor); 13754 break; 13755 default: 13756 { 13757 // ret = tdb2dummystmt.create(pdbvendor); 13758 ret = new TUnknownSqlStatement(pdbvendor); 13759 ret.sqlstatementtype = gnewsqlstatementtype; 13760 break; 13761 } 13762 } // case 13763 13764 return ret; 13765} 13766 13767 public TCustomSqlStatement issql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13768 TCustomSqlStatement ret = null; 13769 if (pcst == null) return null; 13770 13771 switch (pdbvendor){ 13772 case dbvoracle: { 13773 ret = isoraclesql(pcst,pdbvendor,pstate,psqlstatement); 13774 break; 13775 } 13776 case dbvmssql: { 13777 ret = ismssqlsql(pcst, pdbvendor, pstate, psqlstatement); 13778 break; 13779 } 13780 case dbvdb2: { 13781 ret = isdb2sql(pcst, pdbvendor, pstate, psqlstatement); 13782 break; 13783 } 13784 case dbvmysql: { 13785 ret = ismysqlsql(pcst, pdbvendor, pstate, psqlstatement); 13786 break; 13787 } 13788 case dbvaccess: { 13789 ret = ismssqlsql(pcst, pdbvendor, pstate, psqlstatement); 13790 break; 13791 } 13792 case dbvteradata: { 13793 ret = isteradatasql(pcst, pdbvendor, pstate, psqlstatement); 13794 break; 13795 } 13796 case dbvpostgresql: { 13797 ret = ispostgresql(pcst, pdbvendor, pstate, psqlstatement); 13798 break; 13799 } 13800 case dbvredshift: { 13801 ret = isredshift(pcst, pdbvendor, pstate, psqlstatement); 13802 break; 13803 } 13804 case dbvgreenplum: { 13805 ret = isgreenplum(pcst,pdbvendor,pstate,psqlstatement); 13806 break; 13807 } 13808 case dbvmdx:{ 13809 ret = ismdxsql(pcst, pdbvendor, pstate, psqlstatement); 13810 break; 13811 } 13812 case dbvnetezza:{ 13813 ret = isnetezza(pcst, pdbvendor, pstate, psqlstatement); 13814 break; 13815 } 13816 case dbvsybase:{ 13817 ret = issybasesql(pcst, pdbvendor, pstate, psqlstatement); 13818 break; 13819 } 13820 case dbvinformix:{ 13821 ret = isinformixsql(pcst, pdbvendor, pstate, psqlstatement); 13822 break; 13823 } 13824 case dbvhive:{ 13825 ret = ishive(pcst, pdbvendor, pstate, psqlstatement); 13826 break; 13827 } 13828 case dbvimpala:{ 13829 ret = ishive(pcst, pdbvendor, pstate, psqlstatement); 13830 break; 13831 } 13832 case dbvhana:{ 13833 ret = ishana(pcst, pdbvendor, pstate, psqlstatement); 13834 break; 13835 } 13836 case dbvvertica:{ 13837 ret = isvertica(pcst, pdbvendor, pstate, psqlstatement); 13838 break; 13839 } 13840 case dbvcouchbase:{ 13841 ret = iscouchbase(pcst, pdbvendor, pstate, psqlstatement); 13842 break; 13843 } 13844 case dbvsnowflake:{ 13845 ret = issnowflake(pcst, pdbvendor, pstate, psqlstatement); 13846 break; 13847 } 13848 case dbvbigquery:{ 13849 ret = isbigquery(pcst, pdbvendor, pstate, psqlstatement); 13850 break; 13851 } 13852 case dbvsoql:{ 13853 ret = ismssqlsql(pcst,pdbvendor,pstate,psqlstatement); 13854 break; 13855 } 13856 case dbvsparksql:{ 13857 ret = issparksql(pcst,pdbvendor,pstate,psqlstatement); 13858 break; 13859 } 13860 case dbvpresto:{ 13861 ret = ispresto(pcst,pdbvendor,pstate,psqlstatement); 13862 break; 13863 } 13864 case dbvathena:{ 13865 ret = isathena(pcst,pdbvendor,pstate,psqlstatement); 13866 break; 13867 } 13868 case dbvdatabricks:{ 13869 ret = isdatabricks(pcst,pdbvendor,pstate,psqlstatement); 13870 break; 13871 } 13872 case dbvgaussdb:{ 13873 ret = isgaussdb(pcst,pdbvendor,pstate,psqlstatement); 13874 break; 13875 } 13876 default: 13877 { 13878 ret = ismssqlsql(pcst,pdbvendor,pstate,psqlstatement); 13879 } 13880 } // case 13881 return ret; 13882 } 13883 TCustomSqlStatement isdatabricks(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13884 13885 TCustomSqlStatement ret = null; 13886 int k; 13887 boolean lcisnewsql; 13888 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 13889 13890 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 13891 13892 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 13893 || (pcst.tokencode == TBaseType.cmtslashstar) 13894 || (pcst.tokencode == TBaseType.lexspace) 13895 || (pcst.tokencode == TBaseType.lexnewline) 13896 || (pcst.tokentype == ETokenType.ttsemicolon) ) 13897 { 13898 return ret; 13899 } 13900 13901 int lcpos = pcst.posinlist; 13902 TSourceTokenList lcsourcetokenlist = pcst.container; 13903 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 13904 13905 //subquery after semicolon || at first line 13906 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 13907 { 13908 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 13909 if ( k >0 ) 13910 { 13911 ret = new TSelectSqlStatement(pdbvendor); 13912 } 13913 13914 return ret; 13915 } 13916 13917 //cte 13918 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 13919 { 13920 ret = findcte(pcst,pdbvendor); 13921 if ( (ret != null) ) return ret; 13922 } 13923 13924 13925 gnewsqlstatementtype = finddatabrickscmd(pcst); 13926 13927 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13928 13929 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 13930 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 13931 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 13932 if (viewToken != null){ 13933 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 13934 } 13935 } 13936 switch (gnewsqlstatementtype){ 13937 case sstinvalid: 13938 { 13939 ret = null; 13940 break; 13941 } 13942 case sstselect: 13943 { 13944 lcisnewsql = true; 13945 13946 if ( pstate != EFindSqlStateType.stnormal ) 13947 { 13948 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13949 if ( TBaseType.assigned(lcprevsolidtoken) ) 13950 { 13951 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13952 lcisnewsql = false; //subqery 13953 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 13954 lcisnewsql = false; 13955 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 13956 lcisnewsql = false; 13957 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 13958 lcisnewsql = false; 13959 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 13960 lcisnewsql = false; 13961 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 13962 lcisnewsql = false; 13963 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 13964 { 13965 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 13966 lcisnewsql = false; 13967 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 13968 lcisnewsql = false; 13969 } 13970 13971 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 13972 { 13973 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 13974 if ( TBaseType.assigned(lcpprevsolidtoken) ) 13975 { 13976 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 13977 lcisnewsql = false; 13978 } 13979 } 13980 13981 } 13982 13983 13984 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13985 { 13986 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 13987 lcisnewsql = false; 13988 } 13989 13990 } 13991 13992 if ( lcisnewsql ) 13993 ret = new TSelectSqlStatement(pdbvendor); 13994 break; 13995 } 13996 case sstinsert: 13997 { 13998 lcisnewsql = true; 13999 if ( pstate != EFindSqlStateType.stnormal ) 14000 { 14001 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14002 { 14003 14004 } 14005 } 14006 14007 if ( lcisnewsql ) 14008 ret = new TInsertSqlStatement(pdbvendor); 14009 ret.sqlstatementtype = gnewsqlstatementtype; 14010 break; 14011 } 14012 case sstdelete: 14013 { 14014 lcisnewsql = true; 14015 14016 if ( pstate != EFindSqlStateType.stnormal ) 14017 { 14018 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14019 if ( TBaseType.assigned(lcprevsolidtoken) ) 14020 { 14021 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14022 lcisnewsql = false; 14023 } 14024 14025 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14026 { 14027 } 14028 } 14029 14030 if ( lcisnewsql ) 14031 ret = new TDeleteSqlStatement(pdbvendor); 14032 break; 14033 } 14034 case sstaltertable: 14035 { 14036 ret = new TAlterTableStatement(pdbvendor); 14037 break; 14038 } 14039 case sstalterfunction: 14040 { 14041 ret = new TAlterFunctionStmt(pdbvendor); 14042 break; 14043 } 14044 case sstAlterSchema: 14045 { 14046 ret = new TAlterSchemaStmt(pdbvendor); 14047 break; 14048 } 14049 case sstanalyzeTable: 14050 { 14051 ret = new TAnalyzeStmt(pdbvendor); 14052 break; 14053 } 14054 case sstcall: 14055 { 14056 ret = new TCallStatement(pdbvendor); 14057 break; 14058 } 14059 case sstcommit: 14060 { 14061 ret = new TCommitStmt(pdbvendor); 14062 break; 14063 } 14064 case sstcreatefunction: 14065 { 14066 ret = new TCreateFunctionStmt(pdbvendor); 14067 break; 14068 } 14069 case sstcreaterole: 14070 { 14071 ret = new TCreateRoleStmt(pdbvendor); 14072 break; 14073 } 14074 case sstcreateschema: 14075 { 14076 ret = new TCreateSchemaSqlStatement(pdbvendor); 14077 break; 14078 } 14079 case sstcreatetable: 14080 { 14081 ret = new TCreateTableSqlStatement(pdbvendor); 14082 break; 14083 } 14084 case sstcreateview: 14085 { 14086 ret = new TCreateViewSqlStatement(pdbvendor); 14087 break; 14088 } 14089 case sstpostgresqlDeallocate: 14090 { 14091 ret = new TUnknownSqlStatement(pdbvendor); 14092 ret.sqlstatementtype = gnewsqlstatementtype; 14093 break; 14094 } 14095 case sstdropfunction: 14096 { 14097 ret = new TDropFunctionStmt(pdbvendor); 14098 break; 14099 } 14100 case sstdroprole: 14101 { 14102 ret = new TDropRoleStmt(pdbvendor); 14103 break; 14104 } 14105 case sstdropschema: 14106 { 14107 ret = new TDropSchemaSqlStatement(pdbvendor); 14108 break; 14109 } 14110 case sstdroptable: 14111 { 14112 ret = new TDropTableSqlStatement(pdbvendor); 14113 break; 14114 } 14115 case sstdropview: 14116 { 14117 ret = new TDropViewSqlStatement(pdbvendor); 14118 break; 14119 } 14120 case sstExecute: 14121 { 14122 ret = new TExecuteSqlStatement(pdbvendor); 14123 break; 14124 } 14125 case sstExplain: 14126 { 14127 ret = new TExplainPlan(pdbvendor); 14128 break; 14129 } 14130 case sstGrant: 14131 { 14132 ret = new TGrantStmt(pdbvendor); 14133 break; 14134 } 14135 case sstprepare: 14136 { 14137 ret = new TPrepareStmt(pdbvendor); 14138 break; 14139 } 14140 case sstset: 14141 case sstReset: 14142 { 14143 lcisnewsql = true; 14144 if ( pstate != EFindSqlStateType.stnormal ) 14145 { 14146 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14147 { 14148 lcisnewsql = false; 14149 } 14150 } 14151 14152 if ( lcisnewsql ) 14153 { 14154 ret = new TSetStmt(pdbvendor); 14155 } 14156 break; 14157 } 14158 case sstShow: 14159 { 14160 ret = new TShowStmt(pdbvendor); 14161 ret.sqlstatementtype = gnewsqlstatementtype; 14162 break; 14163 } 14164 case sstStartTransaction: 14165 { 14166 ret = new TStartTransactionStmt(pdbvendor); 14167 break; 14168 } 14169 case sstValues: 14170 { 14171 ret = new TSelectSqlStatement(pdbvendor); 14172 break; 14173 } 14174 case sstResetSession: 14175 { 14176 ret = new TResetSessionStmt(pdbvendor); 14177 break; 14178 } 14179 case sstCreateExternallocation: 14180 ret = new TCreateExternalLocationStmt(pdbvendor); 14181 break; 14182 case sstList: 14183 { 14184 ret = new TListStmt(pdbvendor); 14185 break; 14186 } 14187 case sstRevoke: 14188 ret = new TRevokeStmt(pdbvendor); 14189 break; 14190 case sstaltercredental: 14191 ret = new TAlterCredentialStmt(pdbvendor); 14192 break; 14193 case sstdescribeCatalog: 14194 case sstdescribeFunction: 14195 case sstdescribeProvider: 14196 case sstdescribeQuery: 14197 case sstdescribeRecipient: 14198 case sstdescribeSchema: 14199 case sstdescribeShare: 14200 case sstdescribeTable: 14201 case sstdescribeDatabase: 14202 case sstdescribeLocation: 14203 case sstdescribeCredential: 14204 case sstdescribe: 14205 ret = new TDescribeStmt(pdbvendor); 14206 break; 14207 case sstUseCatalog: 14208 case sstUseSchema: 14209 case sstUseDatabase: 14210 case sstUse: 14211 ret = new TUseDatabase(pdbvendor); 14212 break; 14213 case sstAnalyzeTable: 14214 ret = new TAnalyzeStmt(pdbvendor); 14215 break; 14216 case sstCreategroup: 14217 ret = new TCreateGroup(pdbvendor); 14218 break; 14219 case sstAlterGroup: 14220 ret = new TAlterGroup(pdbvendor); 14221 break; 14222 case sstDeny: 14223 ret = new TDenyStmt(pdbvendor); 14224 break; 14225 case sstDropGroup: 14226 ret = new TDropGroup(pdbvendor); 14227 break; 14228 case sstmsckrepairtable: 14229 ret = new TMSCKStmt(pdbvendor); 14230 break; 14231 case sstcreatecatalog: 14232 ret = new TCreateCatalogStmt(pdbvendor); 14233 break; 14234 case sstConvertToDelta: 14235 ret = new TConvertToDeltaStmt(pdbvendor); 14236 break; 14237 case sstOptimize: 14238 ret = new TOptimizeStmt(pdbvendor); 14239 break; 14240 case sstRestoreTable: 14241 ret = new TRestoreTableStmt(pdbvendor); 14242 break; 14243 case sstReorgTable: 14244 ret = new TReorgTableStmt(pdbvendor); 14245 break; 14246 case sstVacuum: 14247 ret = new TVacuumStmt(pdbvendor); 14248 break; 14249 case sstmerge: 14250 ret = new TMergeSqlStatement(pdbvendor); 14251 break; 14252 default: 14253 { 14254 ret = new TUnknownSqlStatement(pdbvendor); 14255 ret.sqlstatementtype = gnewsqlstatementtype; 14256 break; 14257 } 14258 } // case 14259 14260 return ret; 14261 14262 } 14263 TCustomSqlStatement ispresto(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14264 14265 TCustomSqlStatement ret = null; 14266 int k; 14267 boolean lcisnewsql; 14268 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14269 14270 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14271 14272 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14273 || (pcst.tokencode == TBaseType.cmtslashstar) 14274 || (pcst.tokencode == TBaseType.lexspace) 14275 || (pcst.tokencode == TBaseType.lexnewline) 14276 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14277 { 14278 return ret; 14279 } 14280 14281 int lcpos = pcst.posinlist; 14282 TSourceTokenList lcsourcetokenlist = pcst.container; 14283 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14284 14285 //subquery after semicolon || at first line 14286 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14287 { 14288 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14289 if ( k >0 ) 14290 { 14291 ret = new TSelectSqlStatement(pdbvendor); 14292 } 14293 14294 return ret; 14295 } 14296 14297 //cte 14298 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14299 { 14300 ret = findcte(pcst,pdbvendor); 14301 if ( (ret != null) ) return ret; 14302 } 14303 14304 14305 gnewsqlstatementtype = findprestocmd(pcst); 14306 14307 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14308 14309 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14310 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14311 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14312 if (viewToken != null){ 14313 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14314 } 14315 } 14316 switch (gnewsqlstatementtype){ 14317 case sstinvalid: 14318 { 14319 ret = null; 14320 break; 14321 } 14322 case sstselect: 14323 { 14324 lcisnewsql = true; 14325 14326 if ( pstate != EFindSqlStateType.stnormal ) 14327 { 14328 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14329 if ( TBaseType.assigned(lcprevsolidtoken) ) 14330 { 14331 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14332 lcisnewsql = false; //subqery 14333 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14334 lcisnewsql = false; 14335 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14336 lcisnewsql = false; 14337 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14338 lcisnewsql = false; 14339 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14340 lcisnewsql = false; 14341 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14342 lcisnewsql = false; 14343 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14344 { 14345 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14346 lcisnewsql = false; 14347 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14348 lcisnewsql = false; 14349 } 14350 14351 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14352 { 14353 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14354 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14355 { 14356 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14357 lcisnewsql = false; 14358 } 14359 } 14360 14361 } 14362 14363 14364 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14365 { 14366 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14367 lcisnewsql = false; 14368 } 14369 14370 } 14371 14372 if ( lcisnewsql ) 14373 ret = new TSelectSqlStatement(pdbvendor); 14374 break; 14375 } 14376 case sstinsert: 14377 { 14378 lcisnewsql = true; 14379 if ( pstate != EFindSqlStateType.stnormal ) 14380 { 14381 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14382 { 14383 14384 } 14385 } 14386 14387 if ( lcisnewsql ) 14388 ret = new TInsertSqlStatement(pdbvendor); 14389 ret.sqlstatementtype = gnewsqlstatementtype; 14390 break; 14391 } 14392 case sstdelete: 14393 { 14394 lcisnewsql = true; 14395 14396 if ( pstate != EFindSqlStateType.stnormal ) 14397 { 14398 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14399 if ( TBaseType.assigned(lcprevsolidtoken) ) 14400 { 14401 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14402 lcisnewsql = false; 14403 } 14404 14405 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14406 { 14407 } 14408 } 14409 14410 if ( lcisnewsql ) 14411 ret = new TDeleteSqlStatement(pdbvendor); 14412 break; 14413 } 14414 case sstaltertable: 14415 { 14416 ret = new TAlterTableStatement(pdbvendor); 14417 break; 14418 } 14419 case sstalterfunction: 14420 { 14421 ret = new TAlterFunctionStmt(pdbvendor); 14422 break; 14423 } 14424 case sstAlterSchema: 14425 { 14426 ret = new TAlterSchemaStmt(pdbvendor); 14427 break; 14428 } 14429 case sstanalyzeTable: 14430 { 14431 ret = new TAnalyzeStmt(pdbvendor); 14432 break; 14433 } 14434 case sstcall: 14435 { 14436 ret = new TCallStatement(pdbvendor); 14437 break; 14438 } 14439 case sstcommit: 14440 { 14441 ret = new TCommitStmt(pdbvendor); 14442 break; 14443 } 14444 case sstcreatefunction: 14445 { 14446 ret = new TCreateFunctionStmt(pdbvendor); 14447 break; 14448 } 14449 case sstcreaterole: 14450 { 14451 ret = new TCreateRoleStmt(pdbvendor); 14452 break; 14453 } 14454 case sstcreateschema: 14455 { 14456 ret = new TCreateSchemaSqlStatement(pdbvendor); 14457 break; 14458 } 14459 case sstcreatetable: 14460 { 14461 ret = new TCreateTableSqlStatement(pdbvendor); 14462 break; 14463 } 14464 case sstcreateview: 14465 { 14466 ret = new TCreateViewSqlStatement(pdbvendor); 14467 break; 14468 } 14469 case sstpostgresqlDeallocate: 14470 { 14471 ret = new TUnknownSqlStatement(pdbvendor); 14472 ret.sqlstatementtype = gnewsqlstatementtype; 14473 break; 14474 } 14475 case sstdescribe: 14476 { 14477 ret = new TDescribeStmt(pdbvendor); 14478 break; 14479 } 14480 case sstdropfunction: 14481 { 14482 ret = new TDropFunctionStmt(pdbvendor); 14483 break; 14484 } 14485 case sstdroprole: 14486 { 14487 ret = new TDropRoleStmt(pdbvendor); 14488 break; 14489 } 14490 case sstdropschema: 14491 { 14492 ret = new TDropSchemaSqlStatement(pdbvendor); 14493 break; 14494 } 14495 case sstdroptable: 14496 { 14497 ret = new TDropTableSqlStatement(pdbvendor); 14498 break; 14499 } 14500 case sstdropview: 14501 { 14502 ret = new TDropViewSqlStatement(pdbvendor); 14503 break; 14504 } 14505 case sstExecute: 14506 { 14507 ret = new TExecuteSqlStatement(pdbvendor); 14508 break; 14509 } 14510 case sstExplain: 14511 { 14512 ret = new TExplainPlan(pdbvendor); 14513 break; 14514 } 14515 case sstGrant: 14516 { 14517 ret = new TGrantStmt(pdbvendor); 14518 break; 14519 } 14520 case sstprepare: 14521 { 14522 ret = new TPrepareStmt(pdbvendor); 14523 break; 14524 } 14525 case sstset: 14526 case sstReset: 14527 { 14528 lcisnewsql = true; 14529 if ( pstate != EFindSqlStateType.stnormal ) 14530 { 14531 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14532 { 14533 lcisnewsql = false; 14534 } 14535 } 14536 14537 if ( lcisnewsql ) 14538 { 14539 ret = new TSetStmt(pdbvendor); 14540 } 14541 break; 14542 } 14543 case sstShow: 14544 { 14545 ret = new TShowStmt(pdbvendor); 14546 ret.sqlstatementtype = gnewsqlstatementtype; 14547 break; 14548 } 14549 case sstStartTransaction: 14550 { 14551 ret = new TStartTransactionStmt(pdbvendor); 14552 break; 14553 } 14554 case sstUse: 14555 { 14556 ret = new TUseDatabase(pdbvendor); 14557 break; 14558 } 14559 case sstValues: 14560 { 14561 ret = new TSelectSqlStatement(pdbvendor); 14562 break; 14563 } 14564 case sstResetSession: 14565 { 14566 ret = new TResetSessionStmt(pdbvendor); 14567 break; 14568 } 14569 default: 14570 { 14571 ret = new TUnknownSqlStatement(pdbvendor); 14572 ret.sqlstatementtype = gnewsqlstatementtype; 14573 break; 14574 } 14575 } // case 14576 14577 return ret; 14578 14579 } 14580 TCustomSqlStatement isathena(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14581 14582 TCustomSqlStatement ret = null; 14583 int k; 14584 boolean lcisnewsql; 14585 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14586 14587 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14588 14589 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14590 || (pcst.tokencode == TBaseType.cmtslashstar) 14591 || (pcst.tokencode == TBaseType.lexspace) 14592 || (pcst.tokencode == TBaseType.lexnewline) 14593 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14594 { 14595 return ret; 14596 } 14597 14598 int lcpos = pcst.posinlist; 14599 TSourceTokenList lcsourcetokenlist = pcst.container; 14600 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14601 14602 //subquery after semicolon || at first line 14603 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14604 { 14605 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14606 if ( k >0 ) 14607 { 14608 ret = new TSelectSqlStatement(pdbvendor); 14609 } 14610 14611 return ret; 14612 } 14613 14614 //cte 14615 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14616 { 14617 ret = findcte(pcst,pdbvendor); 14618 if ( (ret != null) ) return ret; 14619 } 14620 14621 14622 gnewsqlstatementtype = findathenacmd(pcst); 14623 14624 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14625 14626 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14627 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14628 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14629 if (viewToken != null){ 14630 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14631 } 14632 } 14633 switch (gnewsqlstatementtype){ 14634 case sstinvalid: 14635 { 14636 ret = null; 14637 break; 14638 } 14639 case sstselect: 14640 { 14641 lcisnewsql = true; 14642 14643 if ( pstate != EFindSqlStateType.stnormal ) 14644 { 14645 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14646 if ( TBaseType.assigned(lcprevsolidtoken) ) 14647 { 14648 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14649 lcisnewsql = false; //subqery 14650 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14651 lcisnewsql = false; 14652 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14653 lcisnewsql = false; 14654 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14655 lcisnewsql = false; 14656 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14657 lcisnewsql = false; 14658 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14659 lcisnewsql = false; 14660 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14661 { 14662 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14663 lcisnewsql = false; 14664 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14665 lcisnewsql = false; 14666 } 14667 14668 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14669 { 14670 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14671 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14672 { 14673 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14674 lcisnewsql = false; 14675 } 14676 } 14677 14678 } 14679 14680 14681 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14682 { 14683 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14684 lcisnewsql = false; 14685 } 14686 14687 } 14688 14689 if ( lcisnewsql ) 14690 ret = new TSelectSqlStatement(pdbvendor); 14691 break; 14692 } 14693 case sstinsert: 14694 { 14695 lcisnewsql = true; 14696 if ( pstate != EFindSqlStateType.stnormal ) 14697 { 14698 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14699 { 14700 14701 } 14702 } 14703 14704 if ( lcisnewsql ) 14705 ret = new TInsertSqlStatement(pdbvendor); 14706 ret.sqlstatementtype = gnewsqlstatementtype; 14707 break; 14708 } 14709 case sstdelete: 14710 { 14711 lcisnewsql = true; 14712 14713 if ( pstate != EFindSqlStateType.stnormal ) 14714 { 14715 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14716 if ( TBaseType.assigned(lcprevsolidtoken) ) 14717 { 14718 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14719 lcisnewsql = false; 14720 } 14721 14722 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14723 { 14724 } 14725 } 14726 14727 if ( lcisnewsql ) 14728 ret = new TDeleteSqlStatement(pdbvendor); 14729 break; 14730 } 14731 case sstaltertable: 14732 { 14733 ret = new TAlterTableStatement(pdbvendor); 14734 break; 14735 } 14736 case sstalterfunction: 14737 { 14738 ret = new TAlterFunctionStmt(pdbvendor); 14739 break; 14740 } 14741 case sstAlterSchema: 14742 { 14743 ret = new TAlterSchemaStmt(pdbvendor); 14744 break; 14745 } 14746 case sstanalyzeTable: 14747 { 14748 ret = new TAnalyzeStmt(pdbvendor); 14749 break; 14750 } 14751 case sstcall: 14752 { 14753 ret = new TCallStatement(pdbvendor); 14754 break; 14755 } 14756 case sstcommit: 14757 { 14758 ret = new TCommitStmt(pdbvendor); 14759 break; 14760 } 14761 case sstcreatefunction: 14762 { 14763 ret = new TCreateFunctionStmt(pdbvendor); 14764 break; 14765 } 14766 case sstcreaterole: 14767 { 14768 ret = new TCreateRoleStmt(pdbvendor); 14769 break; 14770 } 14771 case sstcreateschema: 14772 { 14773 ret = new TCreateSchemaSqlStatement(pdbvendor); 14774 break; 14775 } 14776 case sstcreatetable: 14777 { 14778 ret = new TCreateTableSqlStatement(pdbvendor); 14779 break; 14780 } 14781 case sstcreateview: 14782 { 14783 ret = new TCreateViewSqlStatement(pdbvendor); 14784 break; 14785 } 14786 case sstpostgresqlDeallocate: 14787 { 14788 ret = new TUnknownSqlStatement(pdbvendor); 14789 ret.sqlstatementtype = gnewsqlstatementtype; 14790 break; 14791 } 14792 case sstdescribe: 14793 { 14794 ret = new TDescribeStmt(pdbvendor); 14795 break; 14796 } 14797 case sstdropfunction: 14798 { 14799 ret = new TDropFunctionStmt(pdbvendor); 14800 break; 14801 } 14802 case sstdroprole: 14803 { 14804 ret = new TDropRoleStmt(pdbvendor); 14805 break; 14806 } 14807 case sstdropschema: 14808 { 14809 ret = new TDropSchemaSqlStatement(pdbvendor); 14810 break; 14811 } 14812 case sstdroptable: 14813 { 14814 ret = new TDropTableSqlStatement(pdbvendor); 14815 break; 14816 } 14817 case sstdropview: 14818 { 14819 ret = new TDropViewSqlStatement(pdbvendor); 14820 break; 14821 } 14822 case sstExecute: 14823 { 14824 ret = new TExecuteSqlStatement(pdbvendor); 14825 break; 14826 } 14827 case sstExplain: 14828 { 14829 ret = new TExplainPlan(pdbvendor); 14830 break; 14831 } 14832 case sstGrant: 14833 { 14834 ret = new TGrantStmt(pdbvendor); 14835 break; 14836 } 14837 case sstprepare: 14838 { 14839 ret = new TPrepareStmt(pdbvendor); 14840 break; 14841 } 14842 case sstset: 14843 case sstReset: 14844 { 14845 lcisnewsql = true; 14846 if ( pstate != EFindSqlStateType.stnormal ) 14847 { 14848 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14849 { 14850 lcisnewsql = false; 14851 } 14852 } 14853 14854 if ( lcisnewsql ) 14855 { 14856 ret = new TSetStmt(pdbvendor); 14857 } 14858 break; 14859 } 14860 case sstShow: 14861 { 14862 ret = new TShowStmt(pdbvendor); 14863 ret.sqlstatementtype = gnewsqlstatementtype; 14864 break; 14865 } 14866 case sstStartTransaction: 14867 { 14868 ret = new TStartTransactionStmt(pdbvendor); 14869 break; 14870 } 14871 case sstUse: 14872 { 14873 ret = new TUseDatabase(pdbvendor); 14874 break; 14875 } 14876 case sstValues: 14877 { 14878 ret = new TSelectSqlStatement(pdbvendor); 14879 break; 14880 } 14881 case sstResetSession: 14882 { 14883 ret = new TResetSessionStmt(pdbvendor); 14884 break; 14885 } 14886 case sstunload: 14887 lcisnewsql = true; 14888 if ( pstate != EFindSqlStateType.stnormal ) 14889 { 14890 lcisnewsql = false; 14891 } 14892 if ( lcisnewsql ) { 14893 ret = new TUnloadStmt(pdbvendor); 14894 ret.sqlstatementtype = gnewsqlstatementtype; 14895 } 14896 break; 14897 case sstmsck: 14898 { 14899 ret = new TMSCKStmt(pdbvendor); 14900 break; 14901 } 14902 case sstcreatedatabase: 14903 { 14904 ret = new TCreateDatabaseSqlStatement(pdbvendor); 14905 break; 14906 } 14907 case sstalterdatabase: 14908 { 14909 ret = new TAlterDatabaseStmt(pdbvendor); 14910 break; 14911 } 14912 case sstdropdatabase: 14913 ret = new TDropDatabaseStmt(pdbvendor); 14914 break; 14915 default: 14916 { 14917 ret = new TUnknownSqlStatement(pdbvendor); 14918 ret.sqlstatementtype = gnewsqlstatementtype; 14919 break; 14920 } 14921 } // case 14922 14923 return ret; 14924 14925 } 14926 14927 TCustomSqlStatement issparksql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14928 14929 TCustomSqlStatement ret = null; 14930 int k; 14931 boolean lcisnewsql; 14932 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14933 14934 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14935 14936 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14937 || (pcst.tokencode == TBaseType.cmtslashstar) 14938 || (pcst.tokencode == TBaseType.lexspace) 14939 || (pcst.tokencode == TBaseType.lexnewline) 14940 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14941 { 14942 return ret; 14943 } 14944 14945 int lcpos = pcst.posinlist; 14946 TSourceTokenList lcsourcetokenlist = pcst.container; 14947 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14948 14949 //subquery after semicolon || at first line 14950 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14951 { 14952 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14953 if ( k >0 ) 14954 { 14955 ret = new TSelectSqlStatement(pdbvendor); 14956 } 14957 14958 return ret; 14959 } 14960 14961 //cte 14962 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14963 { 14964 ret = findcte(pcst,pdbvendor); 14965 if ( (ret != null) ) return ret; 14966 } 14967 14968 14969 gnewsqlstatementtype = findsparksqlcmd(pcst); 14970 14971 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14972 14973 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14974 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14975 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14976 if (viewToken != null){ 14977 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14978 } 14979 } 14980 switch (gnewsqlstatementtype){ 14981 case sstinvalid: 14982 { 14983 ret = null; 14984 break; 14985 } 14986 case sstselect: 14987 { 14988 lcisnewsql = true; 14989 14990 if ( pstate != EFindSqlStateType.stnormal ) 14991 { 14992 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14993 if ( TBaseType.assigned(lcprevsolidtoken) ) 14994 { 14995 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14996 lcisnewsql = false; //subqery 14997 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14998 lcisnewsql = false; 14999 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 15000 lcisnewsql = false; 15001 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 15002 lcisnewsql = false; 15003 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 15004 lcisnewsql = false; 15005 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 15006 lcisnewsql = false; 15007 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 15008 { 15009 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 15010 lcisnewsql = false; 15011 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 15012 lcisnewsql = false; 15013 } 15014 15015 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 15016 { 15017 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 15018 if ( TBaseType.assigned(lcpprevsolidtoken) ) 15019 { 15020 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 15021 lcisnewsql = false; 15022 } 15023 } 15024 15025 } 15026 15027 15028 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15029 { 15030 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 15031 lcisnewsql = false; 15032 } 15033 15034 } 15035 15036 if ( lcisnewsql ) 15037 ret = new TSelectSqlStatement(pdbvendor); 15038 break; 15039 } 15040 case sstinsert: 15041 { 15042 lcisnewsql = true; 15043 if ( pstate != EFindSqlStateType.stnormal ) 15044 { 15045 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15046 { 15047 15048 } 15049 } 15050 15051 if ( lcisnewsql ) 15052 ret = new TInsertSqlStatement(pdbvendor); 15053 ret.sqlstatementtype = gnewsqlstatementtype; 15054 break; 15055 } 15056 case sstupdate: 15057 { 15058 lcisnewsql = true; 15059 if ( pstate != EFindSqlStateType.stnormal ) 15060 { 15061 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15062 if ( TBaseType.assigned(lcprevsolidtoken) ) 15063 { // 15064 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15065 lcisnewsql = false; 15066 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 15067 lcisnewsql = false; 15068 } 15069 15070 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15071 if ( TBaseType.assigned(lcnextsolidtoken) ) 15072 { 15073 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15074 { 15075 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 15076 if ( k == 0 ) lcisnewsql = false; 15077 } 15078 } 15079 15080 15081 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15082 { 15083 } 15084 } 15085 15086 if ( lcisnewsql ) 15087 { 15088 ret = new TUpdateSqlStatement(pdbvendor); 15089 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 15090 } 15091 break; 15092 } 15093 case sstdelete: 15094 { 15095 lcisnewsql = true; 15096 15097 if ( pstate != EFindSqlStateType.stnormal ) 15098 { 15099 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15100 if ( TBaseType.assigned(lcprevsolidtoken) ) 15101 { 15102 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15103 lcisnewsql = false; 15104 } 15105 15106 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15107 { 15108 } 15109 } 15110 15111 if ( lcisnewsql ) 15112 ret = new TDeleteSqlStatement(pdbvendor); 15113 break; 15114 } 15115 case sstcreatetable: 15116 { 15117 ret = new TCreateTableSqlStatement(pdbvendor); 15118 break; 15119 } 15120 case sstcreateview: 15121 { 15122 ret = new TCreateViewSqlStatement(pdbvendor); 15123 break; 15124 } 15125 case sstcreatedatabase: 15126 { 15127 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15128 break; 15129 } 15130 case sstdroptable: 15131 { 15132 ret = new TDropTableSqlStatement(pdbvendor); 15133 break; 15134 } 15135 case sstdropview: 15136 { 15137 ret = new TDropViewSqlStatement(pdbvendor); 15138 break; 15139 } 15140 case sstaltertable: 15141 { 15142 ret = new TAlterTableStatement(pdbvendor); 15143 break; 15144 } 15145 case sstset: 15146 case sstReset: 15147 case sstSetTimeZone: 15148 { 15149 lcisnewsql = true; 15150 if ( pstate != EFindSqlStateType.stnormal ) 15151 { 15152 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15153 { 15154 lcisnewsql = false; 15155 } 15156 } 15157 15158 if ( lcisnewsql ) 15159 { 15160 ret = new TSetStmt(pdbvendor); 15161 } 15162 break; 15163 } 15164 case sstcreatefunction: 15165 { 15166 ret = new TCreateFunctionStmt(pdbvendor); 15167 break; 15168 } 15169 case sstTruncate: 15170 { 15171 ret = new TTruncateStatement(pdbvendor); 15172 break; 15173 } 15174 case sstdescribe: 15175 { 15176 ret = new TDescribeStmt(pdbvendor); 15177 break; 15178 } 15179 case sstExplain: 15180 { 15181 ret = new TExplainPlan(pdbvendor); 15182 break; 15183 } 15184 case sstUse: 15185 { 15186 ret = new TUseDatabase(pdbvendor); 15187 break; 15188 } 15189 case sstLoadData: 15190 { 15191 ret = new TLoadDataStmt(pdbvendor); 15192 break; 15193 } 15194 case sstShowColumns: 15195 case sstShowCreateTable: 15196 case sstShowDatabases: 15197 case sstShowFunctions: 15198 case sstShowPartitions: 15199 case sstShowTableExtended: 15200 case sstShowTables: 15201 case sstShowTblProperties: 15202 case sstShowViews: 15203 case sstShowUser: 15204 ret = new TShowStmt(pdbvendor); 15205 ret.sqlstatementtype = gnewsqlstatementtype; 15206 break; 15207 case sstalterdatabase: 15208 ret = new TAlterDatabaseStmt(pdbvendor); 15209 break; 15210 case sstdescribeDatabase: 15211 case sstdescribeTable: 15212 case sstdescribeFunction: 15213 ret = new TDescribeStmt(pdbvendor); 15214 break; 15215 case sstalterview: 15216 ret = new TAlterViewStatement(pdbvendor); 15217 break; 15218 case sstAddFile: 15219 case sstAddJar: 15220 case sstListFile: 15221 case sstListJar: 15222 ret = new TResourceManagement(pdbvendor); 15223 ret.sqlstatementtype = gnewsqlstatementtype; 15224 break; 15225 case sstdropdatabase: 15226 ret = new TDropDatabaseStmt(pdbvendor); 15227 break; 15228 case sstdropfunction: 15229 ret = new TDropFunctionStmt(pdbvendor); 15230 break; 15231 case ssttruncatetable: 15232 ret = new TTruncateStatement(pdbvendor); 15233 break; 15234 case sstmsck: 15235 { 15236 ret = new TMSCKStmt(pdbvendor); 15237 break; 15238 } 15239 case sstanalyzeTable: 15240 { 15241 ret = new TAnalyzeStmt(pdbvendor); 15242 break; 15243 } 15244 case sstCacheTable: 15245 case sstUnCacheTable: 15246 case sstClearCache: 15247 ret = new TCacheTable(pdbvendor); 15248 break; 15249 case sstRefreshTable: 15250 case sstRefreshFunction: 15251 case sstRefresh: 15252 ret = new TRefresh(pdbvendor); 15253 break; 15254 default: 15255 { 15256 ret = new TUnknownSqlStatement(pdbvendor); 15257 ret.sqlstatementtype = gnewsqlstatementtype; 15258 break; 15259 } 15260 } // case 15261 15262 return ret; 15263 15264 } 15265 15266 TCustomSqlStatement ismysqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15267 TCustomSqlStatement ret = null; 15268 int k; 15269 boolean lcisnewsql; 15270 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 15271 15272 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15273 15274 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15275 || (pcst.tokencode == TBaseType.cmtslashstar) 15276 || (pcst.tokencode == TBaseType.lexspace) 15277 || (pcst.tokencode == TBaseType.lexnewline) 15278 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15279 { 15280 return ret; 15281 } 15282 15283 int lcpos = pcst.posinlist; 15284 TSourceTokenList lcsourcetokenlist = pcst.container; 15285 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15286 15287 //subquery after semicolon || at first line 15288 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15289 { 15290 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15291 if ( k >0 ) 15292 { 15293 ret = new TSelectSqlStatement(pdbvendor); 15294 } 15295 15296 return ret; 15297 } 15298 15299 //cte 15300 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15301 { 15302 ret = findcte(pcst,pdbvendor); 15303 if ( (ret != null) ) return ret; 15304 } 15305 15306 15307 //cte 15308// if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == rrw_with) ) 15309// { 15310// ret = tselectsqlstatement.create(pdbvendor); 15311// tselectsqlstatement(ret).isctequery = true; 15312// exit; 15313// } 15314// 15315 15316 gnewsqlstatementtype = findmysqlcmd(pcst); 15317 15318 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15319 15320 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 15321 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 15322 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 15323 if (viewToken != null){ 15324 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 15325 } 15326 } 15327 switch (gnewsqlstatementtype){ 15328 case sstinvalid: 15329 { 15330 ret = null; 15331 break; 15332 } 15333 case sstselect: 15334 { 15335 lcisnewsql = true; 15336 15337 if ( pstate != EFindSqlStateType.stnormal ) 15338 { 15339 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15340 if ( TBaseType.assigned(lcprevsolidtoken) ) 15341 { 15342 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15343 lcisnewsql = false; //subqery 15344 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 15345 lcisnewsql = false; 15346 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 15347 lcisnewsql = false; 15348 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 15349 lcisnewsql = false; 15350 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 15351 lcisnewsql = false; 15352 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 15353 lcisnewsql = false; 15354 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 15355 { 15356 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 15357 lcisnewsql = false; 15358 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 15359 lcisnewsql = false; 15360 } 15361 15362 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 15363 { 15364 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 15365 if ( TBaseType.assigned(lcpprevsolidtoken) ) 15366 { 15367 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 15368 lcisnewsql = false; 15369 } 15370 } 15371 15372 } 15373 15374 15375 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15376 { 15377 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 15378 lcisnewsql = false; 15379 } 15380 15381 } 15382 15383 if ( lcisnewsql ) 15384 ret = new TSelectSqlStatement(pdbvendor); 15385 break; 15386 } 15387 case sstinsert: 15388 case sstmysqlreplace: 15389 { 15390 lcisnewsql = true; 15391 if ( pstate != EFindSqlStateType.stnormal ) 15392 { 15393 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15394 { 15395 15396 } 15397 } 15398 15399 if ( lcisnewsql ) 15400 ret = new TInsertSqlStatement(pdbvendor); 15401 ret.sqlstatementtype = gnewsqlstatementtype; 15402 break; 15403 } 15404 case sstupdate: 15405 { 15406 lcisnewsql = true; 15407 if ( pstate != EFindSqlStateType.stnormal ) 15408 { 15409 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15410 if ( TBaseType.assigned(lcprevsolidtoken) ) 15411 { // 15412 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15413 lcisnewsql = false; 15414 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 15415 lcisnewsql = false; 15416 } 15417 15418 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15419 if ( TBaseType.assigned(lcnextsolidtoken) ) 15420 { 15421 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15422 { 15423 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 15424 if ( k == 0 ) lcisnewsql = false; 15425 } 15426 } 15427 15428 15429 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15430 { 15431 } 15432 } 15433 15434 if ( lcisnewsql ) 15435 { 15436 ret = new TUpdateSqlStatement(pdbvendor); 15437 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 15438 } 15439 break; 15440 } 15441 case sstdelete: 15442 { 15443 lcisnewsql = true; 15444 15445 if ( pstate != EFindSqlStateType.stnormal ) 15446 { 15447 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15448 if ( TBaseType.assigned(lcprevsolidtoken) ) 15449 { 15450 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15451 lcisnewsql = false; 15452 } 15453 15454 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15455 { 15456 } 15457 } 15458 15459 if ( lcisnewsql ) 15460 ret = new TDeleteSqlStatement(pdbvendor); 15461 break; 15462 } 15463 case sstmerge: 15464 { 15465 ret = new TMergeSqlStatement(pdbvendor); 15466 ret.sqlstatementtype = gnewsqlstatementtype; 15467 break; 15468 } 15469 case sstcommit: 15470 { 15471 ret = new TUnknownSqlStatement(pdbvendor); 15472 ret.sqlstatementtype = gnewsqlstatementtype; 15473 break; 15474 } 15475 case sstrollback: 15476 { 15477 ret = new TUnknownSqlStatement(pdbvendor); 15478 ret.sqlstatementtype = gnewsqlstatementtype; 15479 break; 15480 } 15481 case sstsavepoint: 15482 { 15483 ret = new TUnknownSqlStatement(pdbvendor); 15484 ret.sqlstatementtype = gnewsqlstatementtype; 15485 break; 15486 } 15487 case sstRevoke: 15488 { 15489 ret = new TUnknownSqlStatement(pdbvendor); 15490 ret.sqlstatementtype = gnewsqlstatementtype; 15491 break; 15492 } 15493 case sstcreatetable: 15494 { 15495 ret = new TCreateTableSqlStatement(pdbvendor); 15496 break; 15497 } 15498 case sstcreateview: 15499 { 15500 ret = new TCreateViewSqlStatement(pdbvendor); 15501 break; 15502 } 15503 case sstmysqlcreateindex: 15504 { 15505 ret = new TCreateIndexSqlStatement(pdbvendor); 15506 break; 15507 } 15508 case sstcreatedatabase: 15509 { 15510 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15511 break; 15512 } 15513 case sstmysqldroptable: 15514 case sstdroptable: 15515 { 15516 ret = new TDropTableSqlStatement(pdbvendor); 15517 break; 15518 } 15519 case sstdropview: 15520 { 15521 ret = new TDropViewSqlStatement(pdbvendor); 15522 break; 15523 } 15524 case sstdropindex: 15525 { 15526 ret = new TDropIndexSqlStatement(pdbvendor); 15527 break; 15528 } 15529 case sstaltertable: 15530 { 15531 ret = new TAlterTableStatement(pdbvendor); 15532 break; 15533 } 15534 case sstaltersession: 15535 { 15536 ret = new TAlterSessionStatement(pdbvendor); 15537 break; 15538 } 15539 case sstmysqlset: 15540 { 15541 ret = new TSetStmt(pdbvendor); 15542 break; 15543 } 15544 case sstmysqlcreateprocedure: 15545 { 15546 ret = new TCreateProcedureStmt(pdbvendor); 15547 break; 15548 } 15549 case sstmysqlcreatefunction: 15550 { 15551 ret = new TCreateFunctionStmt(pdbvendor); 15552 break; 15553 } 15554 case sstcreatetrigger: 15555 { 15556 ret = new TCreateTriggerStmt(pdbvendor); 15557 break; 15558 } 15559 case sstmysqlcall: 15560 { 15561 ret = new TCallStatement(pdbvendor); 15562 break; 15563 } 15564 case sstmysqltruncate: 15565 { 15566 ret = new TTruncateStatement(pdbvendor); 15567 break; 15568 } 15569 case sstmysqlprepare: 15570 { 15571 ret = new TPrepareStmt(pdbvendor); 15572 break; 15573 } 15574 case sstdescribe: 15575 { 15576 ret = new TDescribeStmt(pdbvendor); 15577 break; 15578 } 15579 case sstExplain: 15580 { 15581 ret = new TExplainPlan(pdbvendor); 15582 break; 15583 } 15584 case sstmysqldropindex: 15585 { 15586 ret = new TDropIndexSqlStatement(pdbvendor); 15587 break; 15588 } 15589 case sstmysqldropprocedure: 15590 { 15591 ret = new TDropProcedureStmt(pdbvendor); 15592 break; 15593 } 15594 case sstmysqlsignal: 15595 { 15596 ret = new TMySQLSignal(pdbvendor); 15597 break; 15598 } 15599 case sstmysqlstarttransaction: 15600 { 15601 if ( pstate == EFindSqlStateType.stnormal ) 15602 { 15603 ret = new TUnknownSqlStatement(pdbvendor); 15604 ret.sqlstatementtype = gnewsqlstatementtype; 15605 } 15606 break; 15607 } 15608 case sstmysqluse: 15609 { 15610 ret = new TUseDatabase(pdbvendor); 15611 break; 15612 } 15613 case sstmysqlexecute: 15614 { 15615 ret = new TExecuteSqlStatement(pdbvendor); 15616 ret.sqlstatementtype = gnewsqlstatementtype; 15617 break; 15618 } 15619 case sstmysqlcreatedatabase: 15620 { 15621 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15622 break; 15623 } 15624 case sstmysqlrenametable: 15625 { 15626 ret = new TRenameStmt(pdbvendor); 15627 break; 15628 } 15629 case sstmysqlshowindex: 15630 ret = new TShowIndexStmt(pdbvendor); 15631 break; 15632 case sstmysqlloaddatainfile: 15633 ret = new TLoadDataStmt(pdbvendor); 15634 break; 15635 case sstmysqlshowlogs: 15636 case sstmysqlshowbinlogevents: 15637 case sstmysqlshowcharacterset: 15638 case sstmysqlshowcollation: 15639 case sstmysqlshowcolumns: 15640 case sstmysqlshowwarnings: 15641 case sstmysqlshowcreatedatabase: 15642 case sstmysqlshowcreatefunction: 15643 case sstmysqlshowcreateprocedure: 15644 case sstmysqlshowcreatetable: 15645 case sstmysqlshowcreateview: 15646 case sstmysqlshowdatabases: 15647 case sstmysqlshowerrors: 15648 case sstmysqlshowfields: 15649 case sstmysqlshowprocesslist: 15650 case sstmysqlshowtables: 15651 case sstmysqlshowfunctionstatus: 15652 case sstmysqlshowstatus: 15653 case sstmysqlshowvariables: 15654 case sstmysqlshowgrants: 15655 case sstmysqlshowinnodbstatus: 15656 case sstmysqlshowmasterlogs: 15657 case sstmysqlshowplugins: 15658 case sstmysqlshowprivileges: 15659 case sstmysqlshowprofile: 15660 case sstmysqlshowprofiles: 15661 case sstmysqlshowslavehosts: 15662 case sstmysqlshowslavestatus: 15663 case sstmysqlshowtablestatus: 15664 case sstmysqlshowtriggers: 15665 case sstmysqlshowcreateschema: 15666 case sstmysqlshowengines: 15667 ret = new TMySQLShowStmt(pdbvendor); 15668 ret.sqlstatementtype = gnewsqlstatementtype; 15669 break; 15670 case sstmysqlshowengine: 15671 ret = new TShowEngineStmt(pdbvendor); 15672 break; 15673 case sstmysqlshowreplicaStatus: 15674 ret = new TShowStmt(pdbvendor); 15675 ret.sqlstatementtype = gnewsqlstatementtype; 15676 break; 15677 case sstmysqlalterfunction: 15678 ret = new TAlterFunctionStmt(pdbvendor); 15679 break; 15680 case sstmysqlalterprocedure: 15681 ret = new TAlterProcedureStmt(pdbvendor); 15682 break; 15683 case sstmysqldropfunction: 15684 ret = new TDropFunctionStmt(pdbvendor); 15685 break; 15686 case sstmysqldroptrigger: 15687 ret = new TDropTriggerSqlStatement(pdbvendor); 15688 break; 15689 case sstmysqloptimizetable: 15690 ret = new TMySQLOptimizeTableStmt(pdbvendor); 15691 break; 15692 case sstmysqlalterview: 15693 ret = new TAlterViewStatement(pdbvendor); 15694 break; 15695 default: 15696 { 15697 ret = new TUnknownSqlStatement(pdbvendor); 15698 ret.sqlstatementtype = gnewsqlstatementtype; 15699 break; 15700 } 15701 } // case 15702 15703 return ret; 15704} 15705 15706TCustomSqlStatement ismdxsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15707 TCustomSqlStatement ret = null; 15708 15709 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15710 15711 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15712 || (pcst.tokencode == TBaseType.cmtslashstar) 15713 || (pcst.tokencode == TBaseType.lexspace) 15714 || (pcst.tokencode == TBaseType.lexnewline) 15715 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15716 { 15717 return null; 15718 } 15719 15720 int lcpos = pcst.posinlist; 15721 TSourceTokenList lcsourcetokenlist = pcst.container; 15722 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15723 15724 15725 //with clause before statement 15726 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15727 { 15728 ret = findMdxStmtBeginWithClause(pcst,pdbvendor); 15729 if ( (ret != null) ) return ret; 15730 } 15731 15732 gnewsqlstatementtype = findmdxcmd(pcst); 15733 15734 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15735 switch (gnewsqlstatementtype) { // 15736 case sstinvalid: 15737 { 15738 ret = null; 15739 if ( pstate == EFindSqlStateType.stnormal ) 15740 { 15741 //treat all unregonized statement as an expression 15742 ret = new TMdxExpression(EDbVendor.dbvmdx); 15743 } 15744 break; 15745 } 15746 case sstmdxselect: 15747 { 15748 boolean lcisnewsql = true; 15749 15750 if ( pstate != EFindSqlStateType.stnormal ) 15751 { 15752 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect ) 15753 { 15754 if ( lccurrentsqlstatement.isctequery ) 15755 lcisnewsql = false; 15756 } 15757 } 15758 15759 if ( lcisnewsql ) 15760 ret = new TMdxSelect(pdbvendor); 15761 15762 break; 15763 } 15764 case sstmdxupdate: 15765 { 15766 boolean lcisnewsql = true; 15767 if ( pstate != EFindSqlStateType.stnormal ) 15768 { 15769 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15770 if ( (lcprevsolidtoken != null) ) 15771 { // 15772 } 15773 15774 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15775 if ( (lcnextsolidtoken != null) ) 15776 { 15777 } 15778 15779 if ( (lccurrentsqlstatement != null) ) 15780 { 15781 } 15782 } 15783 15784 if ( lcisnewsql ) 15785 { 15786 ret = new TMdxUpdate(pdbvendor); 15787 } 15788 break; 15789 } 15790 case sstmdxaltercube: 15791 { 15792 ret = new TMdxAlterCube(pdbvendor); 15793 break; 15794 } 15795 case sstmdxcalculate: 15796 { 15797 ret = new TMdxCalculate(pdbvendor); 15798 break; 15799 } 15800 case sstmdxcall: 15801 { 15802 ret = new TMdxCall(pdbvendor); 15803 break; 15804 } 15805 case sstmdxcase: 15806 { 15807 ret = new TMdxCase(pdbvendor); 15808 break; 15809 } 15810 case sstmdxclearcalculations: 15811 { 15812 ret = new TMdxClearCalculations(pdbvendor); 15813 break; 15814 } 15815 case sstmdxcreateaction: 15816 { 15817 ret = new TMdxCreateAction(pdbvendor); 15818 break; 15819 } 15820 case sstmdxcreatemember: 15821 { 15822 ret = new TMdxCreateMember(pdbvendor); 15823 break; 15824 } 15825 case sstmdxcreatecellcalculation: 15826 { 15827 ret = new TMdxCreateCellCalculation(pdbvendor); 15828 break; 15829 } 15830 case sstmdxcreateglobalcube: 15831 { 15832 ret = new TMdxCreateGlobalCube(pdbvendor); 15833 break; 15834 } 15835 case sstmdxcreateset: 15836 { 15837 ret = new TMdxCreateSet(pdbvendor); 15838 break; 15839 } 15840 case sstmdxcreatesessioncube: 15841 { 15842 ret = new TMdxCreateSessionCube(pdbvendor); 15843 break; 15844 } 15845 case sstmdxcreatesubcube: 15846 { 15847 ret = new TMdxCreateSubCube(pdbvendor); 15848 break; 15849 } 15850 case sstmdxdrillthrough: 15851 { 15852 ret = new TMdxDrillthrough(pdbvendor); 15853 break; 15854 } 15855 case sstmdxdropaction: 15856 { 15857 ret = new TMdxDropAction(pdbvendor); 15858 break; 15859 } 15860 case sstmdxdropmember: 15861 { 15862 ret = new TMdxDropMember(pdbvendor);//ret = new TMdxCreateSessionCube(pdbvendor); 15863 break; 15864 } 15865 case sstmdxdropcellcalculation: 15866 { 15867 ret = new TMdxDropCellCalculation(pdbvendor); 15868 break; 15869 } 15870 case sstmdxdropset: 15871 { 15872 ret = new TMdxDropSet(pdbvendor); 15873 break; 15874 } 15875 case sstmdxdropsubcube: 15876 { 15877 ret = new TMdxDropSubcube(pdbvendor); 15878 break; 15879 } 15880 case sstmdxfreeze: 15881 { 15882 ret = new TMdxFreeze(pdbvendor); 15883 break; 15884 } 15885 case sstmdxif: 15886 { 15887 ret = new TMdxIf(pdbvendor); 15888 break; 15889 } 15890 case sstmdxrefreshcube: 15891 { 15892 ret = new TMdxRefreshCube(pdbvendor); 15893 break; 15894 } 15895 case sstmdxscope: 15896 { 15897 ret = new TMdxScope(pdbvendor); 15898 break; 15899 } 15900 case sstmdxcreatemeasure: 15901 { 15902 ret = new TMdxCreateMeasure(pdbvendor); 15903 break; 15904 } 15905 case sstmdxexisting: 15906 default: 15907 { 15908 ret = new TUnknownSqlStatement(pdbvendor); 15909 ret.sqlstatementtype = gnewsqlstatementtype; 15910 break; 15911 } 15912 } // case 15913 15914 return ret; 15915} 15916 15917 15918public ESqlStatementType findsybasecmdusedbyyacc(TSourceToken pcst){ 15919 ESqlStatementType ret = ESqlStatementType.sstinvalid; 15920 15921 int lcpos = pcst.posinlist; 15922 TSourceTokenList lcsourcetokenlist = pcst.container; 15923 15924 //subquery after semicolon or at first line 15925 if ( (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15926 { 15927 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15928 if ( k >0 ) 15929 { 15930 ret = ESqlStatementType.sstselect; 15931 } 15932 15933 return ret; 15934 } 15935 15936 15937 ret = findsybasecmd(pcst); 15938 // execute can't be used to delimite other sql 15939 if ( ret == ESqlStatementType.sstmssqlexec ) 15940 ret = ESqlStatementType.sstinvalid; 15941 15942 return ret; 15943} 15944 15945public ESqlStatementType findmssqlcmdusedbyyacc(TSourceToken pcst){ 15946 ESqlStatementType ret = ESqlStatementType.sstinvalid; 15947 15948 int lcpos = pcst.posinlist; 15949 TSourceTokenList lcsourcetokenlist = pcst.container; 15950 15951 //subquery after semicolon or at first line 15952 if ( (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15953 { 15954 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15955 if ( k >0 ) 15956 { 15957 ret = ESqlStatementType.sstselect; 15958 } 15959 15960 return ret; 15961 } 15962 15963 15964 ret = findmssqlcmd(pcst); 15965 // execute can't be used to delimite other sql 15966 if ( ret == ESqlStatementType.sstmssqlexec ) 15967 ret = ESqlStatementType.sstinvalid; 15968 15969 return ret; 15970} 15971 15972 15973TCustomSqlStatement ishive(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15974 TCustomSqlStatement ret = null; 15975 15976 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15977 15978 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15979 || (pcst.tokencode == TBaseType.cmtslashstar) 15980 || (pcst.tokencode == TBaseType.lexspace) 15981 || (pcst.tokencode == TBaseType.lexnewline) 15982 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15983 { 15984 return null; 15985 } 15986 15987 int lcpos = pcst.posinlist; 15988 TSourceTokenList lcsourcetokenlist = pcst.container; 15989 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15990 15991 15992 //from query 15993 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_from) ) 15994 { 15995 if (pcst.container == null){ 15996 return new TSelectSqlStatement(pdbvendor); 15997 } 15998 15999 // search select or insert who comes first, 16000 int lcpos1 = pcst.posinlist; 16001 TSourceTokenList lcsourcetokenlist1 = pcst.container; 16002 TSourceToken tmpSt; 16003 int parenthesisCnt = 0; 16004 for(int k=lcpos1+1;k<lcsourcetokenlist1.size();k++){ 16005 tmpSt = lcsourcetokenlist1.get(k); 16006 if (tmpSt.tokencode == ';') break; 16007 if (tmpSt.tokencode == '(') parenthesisCnt++; 16008 if (tmpSt.tokencode == ')') parenthesisCnt--; 16009 if (parenthesisCnt == 0){ 16010 if (tmpSt.tokencode == TBaseType.rrw_select){ 16011 ret = new TSelectSqlStatement(pdbvendor); 16012 break; 16013 }else if (tmpSt.tokencode == TBaseType.rrw_insert){ 16014 ret = new TInsertSqlStatement(pdbvendor); 16015 break; 16016 } 16017 } 16018 } 16019 16020 if (ret == null){ 16021 ret = new TSelectSqlStatement(pdbvendor); 16022// FROM ( 16023// FROM pv_users 16024// MAP pv_users.userid, pv_users.date 16025// USING 'map_script' 16026// AS dt, uid 16027// CLUSTER BY dt) map_output; 16028 } 16029 16030 return ret; 16031 } 16032 16033 //cte 16034 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16035 { 16036 ret = findcte(pcst,pdbvendor); 16037 if ( (ret != null) ) return ret; 16038 } 16039 16040 gnewsqlstatementtype = findhivecmd(pcst); 16041 16042 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16043 switch (gnewsqlstatementtype) { // 16044 case sstinvalid: 16045 { 16046 ret = null; 16047 break; 16048 } 16049 case sstselect: 16050 { 16051 boolean lcisnewsql = true; 16052 16053 if ( pstate != EFindSqlStateType.stnormal ) 16054 { 16055 16056 if ( (lccurrentsqlstatement != null) ) 16057 { 16058 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery ) 16059 //if (((TSelectSqlStatement)lccurrentsqlstatement).getSelectToken().tokencode == TBaseType.rrw_from) 16060 lcisnewsql = false; 16061 } 16062 16063 } 16064 16065 if ( lcisnewsql ) 16066 ret = new TSelectSqlStatement(pdbvendor); 16067 16068 break; 16069 } 16070 case sstinsert: 16071 { 16072 boolean lcisnewsql = true; 16073 if ( pstate != EFindSqlStateType.stnormal ) 16074 { 16075 if ( (lccurrentsqlstatement != null) ) 16076 { 16077 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery ) 16078 // if (((TSelectSqlStatement)lccurrentsqlstatement).getSelectToken().tokencode == TBaseType.rrw_from) 16079 lcisnewsql = false; 16080 } 16081 } 16082 16083 if ( lcisnewsql ) 16084 ret = new TInsertSqlStatement(pdbvendor); 16085 16086 break; 16087 } 16088 case sstTruncate: 16089 { 16090 ret = new TTruncateStatement(pdbvendor); 16091 break; 16092 } 16093 case sstalterdatabase: 16094 { 16095 ret = new TAlterDatabaseStmt(pdbvendor); 16096 break; 16097 } 16098 case sstalterindex: 16099 { 16100 ret = new TAlterIndexStmt(pdbvendor); 16101 break; 16102 } 16103 case sstaltertable: 16104 { 16105 ret = new TAlterTableStatement(pdbvendor); 16106 break; 16107 } 16108 case sstalterview: 16109 { 16110 ret = new TAlterViewStatement(pdbvendor); 16111 break; 16112 } 16113 case sstanalyzeTable: 16114 { 16115 ret = new TAnalyzeStmt(pdbvendor); 16116 break; 16117 } 16118 case sstcreatedatabase: 16119 { 16120 ret = new TCreateDatabaseSqlStatement(pdbvendor); 16121 break; 16122 } 16123 case sstcreatetable: 16124 { 16125 ret = new TCreateTableSqlStatement(pdbvendor); 16126 break; 16127 } 16128 case sstcreateindex: 16129 { 16130 ret = new TCreateIndexSqlStatement(pdbvendor); 16131 break; 16132 } 16133 case sstcreateview: 16134 { 16135 ret = new TCreateViewSqlStatement(pdbvendor); 16136 break; 16137 } 16138 case ssthiveCreateRole: 16139 { 16140 ret = new THiveCreateRole(pdbvendor); 16141 break; 16142 } 16143 case ssthiveCreateFunction: 16144 { 16145 ret = new THiveCreateFunction(pdbvendor); 16146 break; 16147 } 16148 case ssthiveDesc: 16149 { 16150 ret = new THiveDescribe(pdbvendor); 16151 break; 16152 } 16153 case ssthiveDropDatabase: 16154 { 16155 ret = new THiveDropDatabase(pdbvendor); 16156 break; 16157 } 16158 case sstdropindex: 16159 { 16160 ret = new TDropIndexSqlStatement(pdbvendor); 16161 break; 16162 } 16163 case ssthiveDropRole: 16164 { 16165 ret = new THiveDropRole(pdbvendor); 16166 break; 16167 } 16168 case sstdroptable: 16169 { 16170 ret = new TDropTableSqlStatement(pdbvendor); 16171 break; 16172 } 16173 case ssthiveDropFunciton: 16174 { 16175 ret = new THiveDropFunction(pdbvendor); 16176 break; 16177 } 16178 case sstdropview: 16179 { 16180 ret = new TDropViewSqlStatement(pdbvendor); 16181 break; 16182 } 16183 case ssthiveExplain: 16184 { 16185 ret = new THiveExplain(pdbvendor); 16186 break; 16187 } 16188 case ssthiveExportTable: 16189 { 16190 ret = new THiveExportTable(pdbvendor); 16191 break; 16192 } 16193 case ssthiveGrant: 16194 { 16195 ret = new THiveGrant(pdbvendor); 16196 break; 16197 } 16198 case ssthiveGrantRole: 16199 { 16200 ret = new THiveGrantRole(pdbvendor); 16201 break; 16202 } 16203 case ssthiveImportTable: 16204 { 16205 ret = new THiveImportTable(pdbvendor); 16206 break; 16207 } 16208 case ssthiveLoad: 16209 { 16210 ret = new THiveLoad(pdbvendor); 16211 break; 16212 } 16213 case ssthiveLockTable: 16214 { 16215 ret = new TLockTableStmt(pdbvendor); 16216 break; 16217 } 16218 case sstmsck: 16219 { 16220 ret = new TMSCKStmt(pdbvendor); 16221 break; 16222 } 16223 case ssthiveRevoke: 16224 { 16225 ret = new THiveRevoke(pdbvendor); 16226 break; 16227 } 16228 case ssthiveRevokeRole: 16229 { 16230 ret = new THiveRevokeRole(pdbvendor); 16231 break; 16232 } 16233 case ssthiveSet: 16234 { 16235 ret = new THiveSet(pdbvendor); 16236 break; 16237 } 16238 case ssthiveShow: 16239 { 16240 ret = new THiveShow(pdbvendor); 16241 break; 16242 } 16243 case ssthiveShowGrants: 16244 { 16245 ret = new THiveShowGrant(pdbvendor); 16246 break; 16247 } 16248 case ssthiveShowRoleGrants: 16249 { 16250 ret = new THiveShowRoleGrant(pdbvendor); 16251 break; 16252 } 16253 case ssthiveUnlockTable: 16254 { 16255 ret = new THiveUnlockTable(pdbvendor); 16256 break; 16257 } 16258 case ssthiveSwitchDatabase: 16259 { 16260 ret = new TUseDatabase(pdbvendor); 16261 break; 16262 } 16263 case sstmerge: 16264 { 16265 ret = new TMergeSqlStatement(pdbvendor); 16266 break; 16267 } 16268 case sstupdate: 16269 { 16270 ret = new TUpdateSqlStatement(pdbvendor); 16271 break; 16272 } 16273 case sstdelete: 16274 { 16275 ret = new TDeleteSqlStatement(pdbvendor); 16276 break; 16277 } 16278 case sstCreateMacro: 16279 ret = new TCreateMacro(pdbvendor); 16280 break; 16281 case sstDropMacro: 16282 ret = new TDropMacro(pdbvendor); 16283 break; 16284 case sstcreatematerializedview: 16285 ret = new TCreateMaterializedSqlStatement(pdbvendor); 16286 break; 16287 case sstupsert: 16288 ret = new TUpsertStmt(pdbvendor); 16289 break; 16290 default: 16291 { 16292 ret = new TUnknownSqlStatement(pdbvendor); 16293 ret.sqlstatementtype = gnewsqlstatementtype; 16294 break; 16295 } 16296 } // case 16297 16298 return ret; 16299} 16300 16301 TCustomSqlStatement isvertica(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 16302 TCustomSqlStatement ret = null; 16303 16304 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 16305 16306 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 16307 || (pcst.tokencode == TBaseType.cmtslashstar) 16308 || (pcst.tokencode == TBaseType.lexspace) 16309 || (pcst.tokencode == TBaseType.lexnewline) 16310 || (pcst.tokentype == ETokenType.ttsemicolon) ) 16311 { 16312 return null; 16313 } 16314 16315 int lcpos = pcst.posinlist; 16316 TSourceTokenList lcsourcetokenlist = pcst.container; 16317 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 16318 16319 //subquery after semicolon or at first line 16320 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 16321 { 16322 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 16323 if ( k >0 ) 16324 { 16325 ret = new TSelectSqlStatement(pdbvendor); 16326 } 16327 16328 return ret; 16329 } 16330 16331 //cte 16332 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16333 { 16334 ret = findcte(pcst,pdbvendor); 16335 if ( (ret != null) ) return ret; 16336 } 16337 16338 gnewsqlstatementtype = findverticacmd(pcst); 16339 16340 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16341 switch (gnewsqlstatementtype) { // 16342 case sstinvalid: 16343 { 16344 ret = null; 16345 16346 if ( pstate == EFindSqlStateType.stnormal ) 16347 { 16348 if ( pcst.tokencode == TBaseType.label_begin ) 16349 { 16350 ret = new TCommonBlock(pdbvendor); 16351 gnewsqlstatementtype = ret.sqlstatementtype; 16352 } 16353 else if ( pcst.tokencode == TBaseType.rrw_declare ) 16354 { 16355 ret = new TCommonBlock(pdbvendor); 16356 gnewsqlstatementtype = ret.sqlstatementtype; 16357 } 16358 else if ( pcst.tokencode == TBaseType.rrw_begin ) 16359 { 16360 ret = new TCommonBlock(pdbvendor); 16361 gnewsqlstatementtype = ret.sqlstatementtype; 16362 } 16363 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 16364 { 16365 ret = new TPlsqlCreateProcedure(pdbvendor); 16366 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 16367 gnewsqlstatementtype = ret.sqlstatementtype; 16368 } 16369 else if ( pcst.tokencode == TBaseType.rrw_function ) 16370 { 16371 ret = new TPlsqlCreateFunction(pdbvendor); 16372 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 16373 gnewsqlstatementtype = ret.sqlstatementtype; 16374 } 16375 else if ( pcst.tokencode == TBaseType.rrw_package ) 16376 { 16377 ret = new TPlsqlCreatePackage(pdbvendor); 16378 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 16379 gnewsqlstatementtype = ret.sqlstatementtype; 16380 } 16381 } 16382 break; 16383 } 16384 case sstselect: 16385 { 16386 boolean lcisnewsql = true; 16387 16388 if ( pstate != EFindSqlStateType.stnormal ) 16389 { 16390 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16391 if ( (lcprevsolidtoken != null) ) 16392 { 16393 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16394 lcisnewsql = false; //subqery 16395 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 16396 lcisnewsql = false; 16397 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 16398 lcisnewsql = false; 16399 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 16400 lcisnewsql = false; 16401 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 16402 lcisnewsql = false; 16403 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 16404 lcisnewsql = false; 16405 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 16406 { 16407 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 16408 lcisnewsql = false; 16409 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 16410 lcisnewsql = false; 16411 } 16412 16413 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 16414 { 16415 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 16416 if ( (lcpprevsolidtoken != null) ) 16417 { 16418 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 16419 lcisnewsql = false; 16420 } 16421 } 16422 16423 } 16424 16425 16426 if ( (lccurrentsqlstatement != null) ) 16427 { 16428 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 16429 lcisnewsql = false; 16430 } 16431 16432 } 16433 16434 if ( lcisnewsql ) 16435 ret = new TSelectSqlStatement(pdbvendor); 16436 16437 break; 16438 } 16439 case sstinsert: 16440 { 16441 boolean lcisnewsql = true; 16442 if ( pstate != EFindSqlStateType.stnormal ) 16443 { 16444 if ( (lccurrentsqlstatement != null) ) 16445 { 16446 16447 } 16448 } 16449 16450 if ( lcisnewsql ) 16451 ret = new TInsertSqlStatement(pdbvendor); 16452 16453 break; 16454 } 16455 case sstupdate: 16456 { 16457 boolean lcisnewsql = true; 16458 if ( pstate != EFindSqlStateType.stnormal ) 16459 { 16460 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16461 if ( (lcprevsolidtoken != null) ) 16462 { // 16463 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16464 lcisnewsql = false; 16465 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 16466 lcisnewsql = false; 16467 } 16468 16469 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 16470 if ( (lcnextsolidtoken != null) ) 16471 { 16472 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16473 { 16474 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 16475 if ( k == 0 ) lcisnewsql = false; 16476 } 16477 } 16478 16479 16480 if ( (lccurrentsqlstatement != null) ) 16481 { 16482 } 16483 } 16484 16485 if ( lcisnewsql ) 16486 { 16487 ret = new TUpdateSqlStatement(pdbvendor); 16488 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 16489 } 16490 break; 16491 } 16492 case sstdelete: 16493 { 16494 boolean lcisnewsql = true; 16495 16496 if ( pstate != EFindSqlStateType.stnormal ) 16497 { 16498 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16499 if ( (lcprevsolidtoken != null) ) 16500 { 16501 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16502 lcisnewsql = false; 16503 } 16504 16505 if ( (lccurrentsqlstatement != null) ) 16506 { 16507 } 16508 } 16509 16510 if ( lcisnewsql ) 16511 ret = new TDeleteSqlStatement(pdbvendor); 16512 16513 break; 16514 } 16515 case sstmerge: 16516 { 16517 ret = new TMergeSqlStatement(pdbvendor); 16518 ret.sqlstatementtype = gnewsqlstatementtype; 16519 break; 16520 } 16521 case sstcommit: 16522 case sstEnd: 16523 { 16524 ret = new TCommitStmt(pdbvendor); 16525 ret.sqlstatementtype = gnewsqlstatementtype; 16526 break; 16527 } 16528 case sstrollback: 16529 { 16530 ret = new TRollbackStmt(pdbvendor); 16531 ret.sqlstatementtype = gnewsqlstatementtype; 16532 break; 16533 } 16534 case sstsavepoint: 16535 { 16536 ret = new TSavepointStmt(pdbvendor); 16537 ret.sqlstatementtype = gnewsqlstatementtype; 16538 break; 16539 } 16540 case sstRevoke: 16541 { 16542 ret = new TRevokeStmt(pdbvendor); 16543 ret.sqlstatementtype = gnewsqlstatementtype; 16544 break; 16545 } 16546 case sstGrant: 16547 { 16548 ret = new TGrantStmt(pdbvendor); 16549 ret.sqlstatementtype = gnewsqlstatementtype; 16550 break; 16551 } 16552 case sstTruncate: 16553 { 16554 ret = new TTruncateStatement(pdbvendor); 16555 ret.sqlstatementtype = gnewsqlstatementtype; 16556 break; 16557 } 16558 case sstcreatetable: 16559 { 16560 ret = new TCreateTableSqlStatement(pdbvendor); 16561 break; 16562 } 16563 case sstcreateview: 16564 { 16565 ret = new TCreateViewSqlStatement(pdbvendor); 16566 break; 16567 } 16568 case sstcreateindex: 16569 { 16570 ret = new TCreateIndexSqlStatement(pdbvendor); 16571 break; 16572 } 16573 case sstcreatedatabase: 16574 { 16575 ret = new TCreateDatabaseSqlStatement(pdbvendor); 16576 break; 16577 } 16578 case sstdroptable: 16579 { 16580 ret = new TDropTableSqlStatement(pdbvendor); 16581 break; 16582 } 16583 case sstdropview: 16584 { 16585 ret = new TDropViewSqlStatement(pdbvendor); 16586 break; 16587 } 16588 case sstdropindex: 16589 { 16590 ret = new TDropIndexSqlStatement(pdbvendor); 16591 break; 16592 } 16593 case sstaltertable: 16594 { 16595 ret = new TAlterTableStatement(pdbvendor); 16596 break; 16597 } 16598 case sstaltersession: 16599 { 16600 ret = new TAlterSessionStatement(pdbvendor); 16601 break; 16602 } 16603 case sstcreateprocedure: 16604 { 16605 ret = new TCreateProcedureStmt(pdbvendor); 16606 break; 16607 } 16608 case sstCommentOn: 16609 { 16610 ret = new TCommentOnSqlStmt(pdbvendor); 16611 break; 16612 } 16613 case sstcreatesequence: 16614 { 16615 ret = new TCreateSequenceStmt(pdbvendor); 16616 break; 16617 } 16618 case sstcreatefunction: 16619 ret = new TVerticaCreateFunction(pdbvendor); 16620 break; 16621 case sstaltersequence: 16622 ret = new TAlterSequenceStatement(pdbvendor); 16623 break; 16624 case sstAlterAccessPolicy: 16625 ret = new TAlterAccessPolicy(pdbvendor); 16626 break; 16627 case sstAlterAuthentication: 16628 ret = new TAlterAuthentication(pdbvendor); 16629 break; 16630 case sstalterdatabase: 16631 ret = new TAlterDatabaseStmt(pdbvendor); 16632 break; 16633 case sstAlterFaultGroup: 16634 ret = new TAlterFaultGroup(pdbvendor); 16635 break; 16636 case sstalterfunction: 16637 ret = new TAlterFunctionStmt(pdbvendor); 16638 break; 16639 case sstAlterLibrary: 16640 ret = new TAlterLibraryStmt(pdbvendor); 16641 break; 16642 case sstAlterNode: 16643 ret = new TAlterNode(pdbvendor); 16644 break; 16645 case sstAlterNetworkInterface: 16646 ret = new TAlterNetworkInterface(pdbvendor); 16647 break; 16648 case sstAlterProjection: 16649 ret = new TAlterProjectionRename(pdbvendor); 16650 break; 16651 case sstAlterProfile: 16652 ret = new TAlterProfile(pdbvendor); 16653 break; 16654 case sstAlterResourcePool: 16655 ret = new TAlterResourcePool(pdbvendor); 16656 break; 16657 case sstAlterRole: 16658 ret = new TAlterRoleStmt(pdbvendor); 16659 break; 16660 case sstAlterSchema: 16661 ret = new TAlterSchemaStmt(pdbvendor); 16662 break; 16663 case sstAlterSubnet: 16664 ret = new TAlterSubnet(pdbvendor); 16665 break; 16666 case sstBegin: 16667 case sstStartTransaction: 16668 ret = new TBeginTran(pdbvendor); 16669 break; 16670 case sstReleaseSavepoint: 16671 ret = new TReleaseSavepointStmt(pdbvendor); 16672 break; 16673 case sstconnect: 16674 ret = new TConnectStmt(pdbvendor); 16675 break; 16676 case sstCreateAccessPolicy: 16677 ret = new TCreateAccessPolicy(pdbvendor); 16678 break; 16679 case sstCreateAuthentication: 16680 ret = new TCreateAuthentication(pdbvendor); 16681 break; 16682 case sstCreateFaultGroup: 16683 ret = new TCreateFaultGroup(pdbvendor); 16684 break; 16685 case sstCreateHCatalogSchema: 16686 ret = new TCreateHCatalogSchema(pdbvendor); 16687 break; 16688 case sstCreateSubnet: 16689 ret = new TCreateSubnet(pdbvendor); 16690 break; 16691 case sstcreateuser: 16692 ret = new TCreateUserStmt(pdbvendor); 16693 break; 16694 case sstDisconnect: 16695 ret = new TDisconnectStmt(pdbvendor); 16696 break; 16697 case sstDropAccessPolicy: 16698 ret = new TDropAccessPolicy(pdbvendor); 16699 break; 16700 case sstDropAggregateFunction: 16701 ret = new TDropAggregateFunction(pdbvendor); 16702 break; 16703 case sstDropAuthentication: 16704 ret = new TDropAuthentication(pdbvendor); 16705 break; 16706 case sstDropFaultGroup: 16707 ret = new TDropFaultGroup(pdbvendor); 16708 break; 16709 case sstdropfunction: 16710 ret = new TDropFunctionStmt(pdbvendor); 16711 break; 16712 case sstDropLibrary: 16713 ret = new TDropLibraryStmt(pdbvendor); 16714 break; 16715 case sstDropNetworkInterface: 16716 ret = new TDropNetworkInterface(pdbvendor); 16717 break; 16718 case sstdropprocedure: 16719 ret = new TDropProcedureStmt(pdbvendor); 16720 break; 16721 case sstDropProjection: 16722 ret = new TDropProjectionStmt(pdbvendor); 16723 break; 16724 case sstDropResourcePool: 16725 ret = new TDropResourcePool(pdbvendor); 16726 break; 16727 case sstdroprole: 16728 ret = new TDropRoleStmt(pdbvendor); 16729 break; 16730 case sstdropschema: 16731 ret = new TDropSchemaSqlStatement(pdbvendor); 16732 break; 16733 case sstdropsequence: 16734 ret = new TDropSequenceStmt(pdbvendor); 16735 break; 16736 case sstDropSubnet: 16737 ret = new TDropSubnet(pdbvendor); 16738 break; 16739 case sstDropTextIndex: 16740 ret = new TDropTextIndex(pdbvendor); 16741 break; 16742 case sstDropTransformFunction: 16743 ret = new TDropTransformFunction(pdbvendor); 16744 break; 16745 case sstdropuser: 16746 ret = new TDropUserStmt(pdbvendor); 16747 break; 16748 case sstExplain: 16749 { 16750 ret = new TExplainPlan(pdbvendor); 16751 break; 16752 } 16753 case sstExportToVertica: 16754 ret = new TExportToVertica(pdbvendor); 16755 break; 16756 case sstProfile: 16757 ret = new TProfileStmt(pdbvendor); 16758 break; 16759 case sstset: 16760 ret = new TVerticaSetStmt(pdbvendor); 16761 break; 16762 case sstShow: 16763 ret = new TVerticaShow(pdbvendor); 16764 break; 16765 case sstcall: 16766 ret = new TCallStatement(pdbvendor); 16767 break; 16768 default: 16769 { 16770 ret = new TUnknownSqlStatement(pdbvendor); 16771 ret.sqlstatementtype = gnewsqlstatementtype; 16772 break; 16773 } 16774 } // case 16775 16776 return ret; 16777 } 16778 16779 16780 TCustomSqlStatement iscouchbase(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 16781 TCustomSqlStatement ret = null; 16782 16783 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 16784 16785 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 16786 || (pcst.tokencode == TBaseType.cmtslashstar) 16787 || (pcst.tokencode == TBaseType.lexspace) 16788 || (pcst.tokencode == TBaseType.lexnewline) 16789 || (pcst.tokentype == ETokenType.ttsemicolon) ) 16790 { 16791 return null; 16792 } 16793 16794 int lcpos = pcst.posinlist; 16795 TSourceTokenList lcsourcetokenlist = pcst.container; 16796 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 16797 16798 //subquery after semicolon or at first line 16799 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 16800 { 16801 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 16802 if ( k >0 ) 16803 { 16804 ret = new TSelectSqlStatement(pdbvendor); 16805 } 16806 16807 return ret; 16808 } 16809 16810 //cte 16811 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16812 { 16813 ret = findcte(pcst,pdbvendor); 16814 if ( (ret != null) ) return ret; 16815 } 16816 16817 gnewsqlstatementtype = findcouchbasecmd(pcst); 16818 16819 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16820 switch (gnewsqlstatementtype) { // 16821 case sstinvalid: 16822 { 16823 ret = null; 16824 16825 if ( pstate == EFindSqlStateType.stnormal ) 16826 { 16827 if ( pcst.tokencode == TBaseType.label_begin ) 16828 { 16829 ret = new TCommonBlock(pdbvendor); 16830 gnewsqlstatementtype = ret.sqlstatementtype; 16831 } 16832 else if ( pcst.tokencode == TBaseType.rrw_declare ) 16833 { 16834 ret = new TCommonBlock(pdbvendor); 16835 gnewsqlstatementtype = ret.sqlstatementtype; 16836 } 16837 else if ( pcst.tokencode == TBaseType.rrw_begin ) 16838 { 16839 ret = new TCommonBlock(pdbvendor); 16840 gnewsqlstatementtype = ret.sqlstatementtype; 16841 } 16842 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 16843 { 16844 ret = new TPlsqlCreateProcedure(pdbvendor); 16845 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 16846 gnewsqlstatementtype = ret.sqlstatementtype; 16847 } 16848 else if ( pcst.tokencode == TBaseType.rrw_function ) 16849 { 16850 ret = new TPlsqlCreateFunction(pdbvendor); 16851 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 16852 gnewsqlstatementtype = ret.sqlstatementtype; 16853 } 16854 else if ( pcst.tokencode == TBaseType.rrw_package ) 16855 { 16856 ret = new TPlsqlCreatePackage(pdbvendor); 16857 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 16858 gnewsqlstatementtype = ret.sqlstatementtype; 16859 } 16860 } 16861 break; 16862 } 16863 case sstselect: 16864 { 16865 boolean lcisnewsql = true; 16866 16867 if ( pstate != EFindSqlStateType.stnormal ) 16868 { 16869 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16870 if ( (lcprevsolidtoken != null) ) 16871 { 16872 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16873 lcisnewsql = false; //subqery 16874 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 16875 lcisnewsql = false; 16876 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 16877 lcisnewsql = false; 16878 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 16879 lcisnewsql = false; 16880 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 16881 lcisnewsql = false; 16882 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 16883 lcisnewsql = false; 16884 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 16885 { 16886 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 16887 lcisnewsql = false; 16888 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 16889 lcisnewsql = false; 16890 } 16891 16892 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 16893 { 16894 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 16895 if ( (lcpprevsolidtoken != null) ) 16896 { 16897 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 16898 lcisnewsql = false; 16899 } 16900 } 16901 16902 } 16903 16904 16905 if ( (lccurrentsqlstatement != null) ) 16906 { 16907 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 16908 lcisnewsql = false; 16909 } 16910 16911 } 16912 16913 if ( lcisnewsql ) 16914 ret = new TSelectSqlStatement(pdbvendor); 16915 16916 break; 16917 } 16918 case sstinsert: 16919 { 16920 boolean lcisnewsql = true; 16921 if ( pstate != EFindSqlStateType.stnormal ) 16922 { 16923 if ( (lccurrentsqlstatement != null) ) 16924 { 16925 16926 } 16927 } 16928 16929 if ( lcisnewsql ) 16930 ret = new TInsertSqlStatement(pdbvendor); 16931 16932 break; 16933 } 16934 case sstupdate: 16935 { 16936 boolean lcisnewsql = true; 16937 if ( pstate != EFindSqlStateType.stnormal ) 16938 { 16939 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16940 if ( (lcprevsolidtoken != null) ) 16941 { // 16942 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16943 lcisnewsql = false; 16944 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 16945 lcisnewsql = false; 16946 } 16947 16948 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 16949 if ( (lcnextsolidtoken != null) ) 16950 { 16951 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16952 { 16953 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 16954 if ( k == 0 ) lcisnewsql = false; 16955 } 16956 } 16957 16958 16959 if ( (lccurrentsqlstatement != null) ) 16960 { 16961 } 16962 } 16963 16964 if ( lcisnewsql ) 16965 { 16966 ret = new TUpdateSqlStatement(pdbvendor); 16967 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 16968 } 16969 break; 16970 } 16971 case sstdelete: 16972 { 16973 boolean lcisnewsql = true; 16974 16975 if ( pstate != EFindSqlStateType.stnormal ) 16976 { 16977 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16978 if ( (lcprevsolidtoken != null) ) 16979 { 16980 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16981 lcisnewsql = false; 16982 } 16983 16984 if ( (lccurrentsqlstatement != null) ) 16985 { 16986 } 16987 } 16988 16989 if ( lcisnewsql ) 16990 ret = new TDeleteSqlStatement(pdbvendor); 16991 16992 break; 16993 } 16994 case sstmerge: 16995 { 16996 ret = new TMergeSqlStatement(pdbvendor); 16997 ret.sqlstatementtype = gnewsqlstatementtype; 16998 break; 16999 } 17000 case sstcreateindex: 17001 { 17002 ret = new TCreateIndexSqlStatement(pdbvendor); 17003 break; 17004 } 17005 case sstdropindex: 17006 { 17007 ret = new TDropIndexSqlStatement(pdbvendor); 17008 break; 17009 } 17010 case sstBuildIndex: 17011 ret = new TTBuildIndexesStmt(pdbvendor); 17012 break; 17013 case sstinfer: 17014 ret = new TInferKeyspaceStmt(pdbvendor); 17015 break; 17016 case sstupsert: 17017 ret = new TUpsertStmt(pdbvendor); 17018 break; 17019 case sstExplain: 17020 { 17021 ret = new TExplainPlan(pdbvendor); 17022 break; 17023 } 17024 case sstprepare: 17025 { 17026 ret = new TExplainPlan(pdbvendor); 17027 ret.sqlstatementtype = ESqlStatementType.sstprepare; 17028 break; 17029 } 17030 case sstExecutePreparedStmt: 17031 ret = new TExecuteSqlStatement(pdbvendor); 17032 break; 17033 default: 17034 { 17035 ret = new TUnknownSqlStatement(pdbvendor); 17036 ret.sqlstatementtype = gnewsqlstatementtype; 17037 break; 17038 } 17039 } // case 17040 17041 return ret; 17042 } 17043 17044 /** 17045 * Generic method for yacc parsers to find SQL command type. 17046 * Delegates to vendor-specific implementations where available. 17047 * Added temporarily for revert testing - uses token's dbvendor field. 17048 */ 17049 public ESqlStatementType findCmdUsedByYacc(TSourceToken token) { 17050 EDbVendor vendor = token.getDbvendor(); 17051 if (vendor == null) { 17052 return ESqlStatementType.sstinvalid; 17053 } 17054 17055 // Delegate to vendor-specific methods where they exist 17056 switch (vendor) { 17057 case dbvmssql: 17058 return findmssqlcmdusedbyyacc(token); 17059 case dbvsybase: 17060 return findsybasecmdusedbyyacc(token); 17061 // For other vendors, use generic command finding 17062 default: 17063 TSqlCmdList cmdList = getSqlCmdList(vendor); 17064 if (cmdList == null || cmdList.size() == 0) { 17065 return ESqlStatementType.sstunknown; 17066 } 17067 // Use generic finddbcmd for vendors without specific yacc methods 17068 return finddbcmd(token, cmdList); 17069 } 17070 } 17071 17072}