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.sstcreatecredential, TBaseType.rrw_create,"database","scoped","credential"," "," "," "); 2217 addmssqlcmds(ESqlStatementType.sstmssqlcreatedefault, TBaseType.rrw_create,"default"," "," "," "," "," "); 2218 addmssqlcmds(ESqlStatementType.sstmssqlcreateendpoint, TBaseType.rrw_create,"endpoint"," "," "," "," "," "); 2219 addmssqlcmds(ESqlStatementType.sstmssqlcreateeventnotification, TBaseType.rrw_create,"event", "notification"," "," "," "," "); 2220 addmssqlcmds(ESqlStatementType.sstmssqlcreateeventsession, TBaseType.rrw_create,"event", "session"," "," "," "," "); 2221 addmssqlcmds(ESqlStatementType.sstmssqlcreateevexternalDataSource, TBaseType.rrw_create,"external", "data","source"," "," "," "); 2222 addmssqlcmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create,"external","file","format"," "," "," "); 2223 addmssqlcmds(ESqlStatementType.sstmssqlcreateevexternalLanguage, TBaseType.rrw_create,"external", "language"," "," "," "," "); 2224 addmssqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"external","table"," "," "," "," "); 2225 addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, TBaseType.rrw_create,"fulltext", "catalog"," "," "," "," "); 2226 addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextindex, TBaseType.rrw_create,"fulltext", "index"," "," "," "," "); 2227 addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 2228 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 2229 addmssqlcmds(ESqlStatementType.sstmssqlcreatelogin, TBaseType.rrw_create,"login"," "," "," "," "," "); 2230 addmssqlcmds(ESqlStatementType.sstmssqlcreatemasterkey, TBaseType.rrw_create,"master","key"," "," "," "," "); 2231 addmssqlcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 2232 2233 addmssqlcmds(ESqlStatementType.sstmssqlcreatemessagetype, TBaseType.rrw_create,"message","type"," "," "," "," "); 2234 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","columnstore","index"," "," "," "); 2235 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","index"," "," "," "," "); 2236 2237 addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"or","alter","function"," "," "," "); 2238 2239 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","alter","proc"," "," "," "); 2240 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","alter","procedure"," "," "," "); 2241 2242 addmssqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","alter","view"," "," "," "); 2243 addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionfunction, TBaseType.rrw_create,"partition","function"," "," "," "," "); 2244 addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionscheme, TBaseType.rrw_create,"partition","scheme"," "," "," "," "); 2245 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"primary","xml","index"," "," "," "); 2246 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 2247 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 2248 addmssqlcmds(ESqlStatementType.sstmssqlcreatequeue, TBaseType.rrw_create,"queue"," "," "," "," "," "); 2249 addmssqlcmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, TBaseType.rrw_create,"remote", "service", "binding"," "," "," "); 2250 addmssqlcmds(ESqlStatementType.sstmssqlcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 2251 addmssqlcmds(ESqlStatementType.sstmssqlcreateroute, TBaseType.rrw_create,"route"," "," "," "," "," "); 2252 addmssqlcmds(ESqlStatementType.sstmssqlcreaterule, TBaseType.rrw_create,"rule"," "," "," "," "," "); 2253 addmssqlcmds(ESqlStatementType.sstmssqlcreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 2254 addmssqlcmds(ESqlStatementType.sstmssqlCreateSecurityPolicy, TBaseType.rrw_create, "security", "policy", " ", " ", " ", " "); 2255 addmssqlcmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2256 addmssqlcmds(ESqlStatementType.sstmssqlcreateservice, TBaseType.rrw_create,"service"," "," "," "," "," "); 2257 addmssqlcmds(ESqlStatementType.sstmssqlcreatestatistics, TBaseType.rrw_create,"statistics"," "," "," "," "," "); 2258 addmssqlcmds(ESqlStatementType.sstmssqlcreatesymmetrickey, TBaseType.rrw_create,"symmetric", "key"," "," "," "," "); 2259 addmssqlcmds(ESqlStatementType.sstmssqlcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2260 addmssqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 2261 addmssqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 2262 addmssqlcmds(ESqlStatementType.sstmssqlcreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 2263 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","clustered","index"," "," "," "); 2264 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 2265 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","nonclustered","index"," "," "," "); 2266 addmssqlcmds(ESqlStatementType.sstmssqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 2267 addmssqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2268 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"xml","index"," "," "," "," "); 2269 addmssqlcmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, TBaseType.rrw_create,"xml", "schema", "collection"," "," "," "); 2270// DBCC 2271 addmssqlcmds(ESqlStatementType.sstmssqldbcc, TBaseType.rrw_dbcc," "," "," "," "," "," "); 2272//DEALLOCATE 2273 addmssqlcmds(ESqlStatementType.sstmssqldeallocate, TBaseType.rrw_deallocate," "," "," "," "," "," "); 2274//DECLARE 2275 addmssqlcmds(ESqlStatementType.sstmssqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 2276//DELETE 2277 addmssqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2278//DENY 2279 addmssqlcmds(ESqlStatementType.sstmssqldeny, TBaseType.rrw_deny," "," "," "," "," "," "); 2280//DISABLE TRIGGER 2281 addmssqlcmds(ESqlStatementType.sstmssqldisabletrigger, TBaseType.rrw_disable,"trigger"," "," "," "," "," "); 2282//drop 2283 addmssqlcmds(ESqlStatementType.sstmssqldropaggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 2284 addmssqlcmds(ESqlStatementType.sstmssqldropapplicationrole, TBaseType.rrw_drop,"application", "role"," "," "," "," "); 2285 addmssqlcmds(ESqlStatementType.sstmssqldropassembly, TBaseType.rrw_drop,"assembly"," "," "," "," "," "); 2286 addmssqlcmds(ESqlStatementType.sstmssqldropasymmetrickey, TBaseType.rrw_drop,"asymmetric", "key"," "," "," "," "); 2287 addmssqlcmds(ESqlStatementType.sstmssqldropcertificate, TBaseType.rrw_drop,"certificate"," "," "," "," "," "); 2288 addmssqlcmds(ESqlStatementType.sstmssqldropcontract, TBaseType.rrw_drop,"contract"," "," "," "," "," "); 2289 addmssqlcmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"counter", "signature"," "," "," "," "); 2290 addmssqlcmds(ESqlStatementType.sstmssqldropcredential, TBaseType.rrw_drop,"credential"," "," "," "," "," "); 2291 addmssqlcmds(ESqlStatementType.sstmssqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 2292 addmssqlcmds(ESqlStatementType.sstmssqldropdefault, TBaseType.rrw_drop,"default"," "," "," "," "," "); 2293 addmssqlcmds(ESqlStatementType.sstmssqldropendpoint, TBaseType.rrw_drop,"endpoint"," "," "," "," "," "); 2294 addmssqlcmds(ESqlStatementType.sstmssqldropeventnotification, TBaseType.rrw_drop,"event", "notification"," "," "," "," "); 2295 addmssqlcmds(ESqlStatementType.sstmssqldropeventsession, TBaseType.rrw_drop,"event", "session"," "," "," "," "); 2296 addmssqlcmds(ESqlStatementType.sstmssqldropfulltextcatalog, TBaseType.rrw_drop,"fulltext", "catalog"," "," "," "," "); 2297 addmssqlcmds(ESqlStatementType.sstmssqldropfulltextindex, TBaseType.rrw_drop,"fulltext", "index"," "," "," "," "); 2298 addmssqlcmds(ESqlStatementType.sstmssqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 2299 addmssqlcmds(ESqlStatementType.sstmssqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2300 addmssqlcmds(ESqlStatementType.sstmssqldroplogin, TBaseType.rrw_drop,"login"," "," "," "," "," "); 2301 addmssqlcmds(ESqlStatementType.sstmssqldropmasterkey, TBaseType.rrw_drop,"master", "key"," "," "," "," "); 2302 addmssqlcmds(ESqlStatementType.sstmssqldropmessagetype, TBaseType.rrw_drop,"message", "type"," "," "," "," "); 2303 addmssqlcmds(ESqlStatementType.sstmssqldroppartitionfunction, TBaseType.rrw_drop,"partition", "function"," "," "," "," "); 2304 addmssqlcmds(ESqlStatementType.sstmssqldroppartitionscheme, TBaseType.rrw_drop,"partition", "scheme"," "," "," "," "); 2305 addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"proc"," "," "," "," "," "); 2306 addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 2307 addmssqlcmds(ESqlStatementType.sstmssqldropqueue, TBaseType.rrw_drop,"queue"," "," "," "," "," "); 2308 addmssqlcmds(ESqlStatementType.sstmssqldropremoteservicebinding, TBaseType.rrw_drop,"remote", "service", "binding"," "," "," "); 2309 addmssqlcmds(ESqlStatementType.sstmssqldroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 2310 addmssqlcmds(ESqlStatementType.sstmssqldroproute, TBaseType.rrw_drop,"route"," "," "," "," "," "); 2311 addmssqlcmds(ESqlStatementType.sstmssqldroprule, TBaseType.rrw_drop,"rule"," "," "," "," "," "); 2312 addmssqlcmds(ESqlStatementType.sstmssqldropschema, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 2313 addmssqlcmds(ESqlStatementType.sstmssqlDropSecurityPolicy, TBaseType.rrw_drop, "security", "policy", " ", " ", " ", " "); 2314 addmssqlcmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 2315 addmssqlcmds(ESqlStatementType.sstmssqldropservice, TBaseType.rrw_drop,"service"," "," "," "," "," "); 2316 addmssqlcmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"signature"," "," "," "," "," "); 2317 addmssqlcmds(ESqlStatementType.sstmssqldropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 2318 addmssqlcmds(ESqlStatementType.sstmssqldropsymmetrickey, TBaseType.rrw_drop,"symmetric", "key"," "," "," "," "); 2319 addmssqlcmds(ESqlStatementType.sstmssqldropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2320 addmssqlcmds(ESqlStatementType.sstmssqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2321 addmssqlcmds(ESqlStatementType.sstmssqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 2322 addmssqlcmds(ESqlStatementType.sstmssqldroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 2323 addmssqlcmds(ESqlStatementType.sstmssqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 2324 addmssqlcmds(ESqlStatementType.sstmssqldropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2325 addmssqlcmds(ESqlStatementType.sstmssqldropxmlschemacollection, TBaseType.rrw_drop,"xml", "schema", "collection"," "," "," "); 2326//enable trigger 2327 addmssqlcmds(ESqlStatementType.sstmssqlenabletrigger, TBaseType.rrw_enable,"trigger"," "," "," "," "," "); 2328//END CONVERSATION 2329// AddMssqlCmds(ESqlStatementType.sstMssqlEndCatch,TBaseType.rrw_end,'catch'); 2330 addmssqlcmds(ESqlStatementType.sstmssqlendconversation, TBaseType.rrw_end,"conversation"," "," "," "," "," "); 2331// AddMssqlCmds(ESqlStatementType.sstMssqlEndTry,TBaseType.rrw_end,'try'); 2332//exec 2333//exec as 2334 addmssqlcmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_exec," "," "," "," "," "," "); 2335 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","caller"," "," "," "," "); 2336 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","login"," "," "," "," "); 2337 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","user"," "," "," "," "); 2338 addmssqlcmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_execute, " "," "," "," "," "," "); 2339 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","caller"," "," "," "," "); 2340 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","login"," "," "," "," "); 2341 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","user"," "," "," "," "); 2342//fetch 2343 addmssqlcmds(ESqlStatementType.sstmssqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2344//go 2345 addmssqlcmds(ESqlStatementType.sstmssqlgo, TBaseType.rrw_go," "," "," "," "," "," "); 2346//goto 2347 addmssqlcmds(ESqlStatementType.sstmssqlgoto, TBaseType.rrw_goto," "," "," "," "," "," "); 2348//GRANT 2349 addmssqlcmds(ESqlStatementType.sstmssqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 2350 2351//if 2352 addmssqlcmds(ESqlStatementType.sstmssqlif, TBaseType.rrw_if," "," "," "," "," "," "); 2353 2354//GRANT 2355 addmssqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2356 addmssqlcmds(ESqlStatementType.sstmssqlinsertbulk, TBaseType.rrw_insert,"bulk"," "," "," "," "," "); 2357//KILL 2358 addmssqlcmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2359//KILL 2360 addmssqlcmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2361 addmssqlcmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, TBaseType.rrw_kill,"kill", "query", "notification", "subscription"," "," "); 2362 addmssqlcmds(ESqlStatementType.sstmssqlkillstats, TBaseType.rrw_kill,"stats"," "," "," "," "," "); 2363 2364// 2365 addmssqlcmds(ESqlStatementType.sstsybaselocktable,TBaseType.rw_locktable,"table"," "," "," "," "," "); 2366//MOVE CONVERSATION 2367 addmssqlcmds(ESqlStatementType.sstmssqlmoveconversation, TBaseType.rrw_move,"conversation"," "," "," "," "," "); 2368//merge 2369 addmssqlcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2370//open 2371 addmssqlcmds(ESqlStatementType.sstmssqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 2372 addmssqlcmds(ESqlStatementType.sstmssqlopenmasterkey, TBaseType.rrw_open,"master", "key"," "," "," "," "); 2373 addmssqlcmds(ESqlStatementType.sstmssqlopensymmetrickey, TBaseType.rrw_open,"symmetric", "key"," "," "," "," "); 2374//PRINT 2375 addmssqlcmds(ESqlStatementType.sstmssqlprint, TBaseType.rrw_print," "," "," "," "," "," "); 2376//RAISERROR 2377 addmssqlcmds(ESqlStatementType.sstmssqlraiserror, TBaseType.rrw_raiserror," "," "," "," "," "," "); 2378//READTEXT 2379 addmssqlcmds(ESqlStatementType.sstmssqlreadtext, TBaseType.rrw_readtext," "," "," "," "," "," "); 2380//RECEIVE 2381 addmssqlcmds(ESqlStatementType.sstmssqlreceive, TBaseType.rrw_receive," "," "," "," "," "," "); 2382//RECONFIGURE 2383 addmssqlcmds(ESqlStatementType.sstmssqlreconfigure, TBaseType.rrw_reconfigure," "," "," "," "," "," "); 2384//RESTORE 2385 addmssqlcmds(ESqlStatementType.sstmssqlrestoredatabase, TBaseType.rrw_restore,"database"," "," "," "," "," "); 2386 addmssqlcmds(ESqlStatementType.sstmssqlrestorefilelistonly, TBaseType.rrw_restore,"filelistonly"," "," "," "," "," "); 2387 addmssqlcmds(ESqlStatementType.sstmssqlrestoreheaderonly, TBaseType.rrw_restore,"headeronly"," "," "," "," "," "); 2388 addmssqlcmds(ESqlStatementType.sstmssqlrestorelabelonly, TBaseType.rrw_restore,"labelonly"," "," "," "," "," "); 2389 addmssqlcmds(ESqlStatementType.sstmssqlrestorelog, TBaseType.rrw_restore,"log"," "," "," "," "," "); 2390 addmssqlcmds(ESqlStatementType.sstmssqlrestoremasterkey, TBaseType.rrw_restore,"master","key"," "," "," "," "); 2391 addmssqlcmds(ESqlStatementType.sstmssqlrestorerewindonly, TBaseType.rrw_restore,"rewindonly"," "," "," "," "," "); 2392 addmssqlcmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, TBaseType.rrw_restore,"service","master","key"," "," "," "); 2393 addmssqlcmds(ESqlStatementType.sstmssqlrestoreverifyonly, TBaseType.rrw_restore,"verifyonly"," "," "," "," "," "); 2394//RETURN 2395 addmssqlcmds(ESqlStatementType.sstmssqlreturn, TBaseType.rrw_return," "," "," "," "," "," "); 2396//REVERT 2397 addmssqlcmds(ESqlStatementType.sstmssqlrevert, TBaseType.rrw_revert," "," "," "," "," "," "); 2398//REVOKE 2399 addmssqlcmds(ESqlStatementType.sstmssqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2400//ROLLBACK 2401 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2402 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"tran"," "," "," "," "," "); 2403 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"transaction"," "," "," "," "," "); 2404 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 2405//SAVE 2406 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save," "," "," "," "," "," "); 2407 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"tran"," "," "," "," "," "); 2408 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"transaction"," "," "," "," "," "); 2409//SELECT 2410 addmssqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2411//SEND ON CONVERSATION 2412 addmssqlcmds(ESqlStatementType.sstmssqlsendonconversation, TBaseType.rrw_send,"on","conversation"," "," "," "," "); 2413//SET 2414 addmssqlcmds(ESqlStatementType.sstmssqlset, TBaseType.rrw_set," "," "," "," "," "," "); 2415//SET rowcount 2416 addmssqlcmds(ESqlStatementType.sstmssqlsetrowcount, TBaseType.rrw_set,"rowcount"," "," "," "," "," "); 2417//SET 2418 addmssqlcmds(ESqlStatementType.sstmssqlsetuser,TBaseType.rrw_setuser," "," "," "," "," "," "); 2419//SHUTDOWN 2420 addmssqlcmds(ESqlStatementType.sstmssqlshutdown, TBaseType.rrw_shutdown," "," "," "," "," "," "); 2421//SIGN 2422// addmssqlcmds(ESqlStatementType.sstmssqlsign, rrw_sign," "," "," "," "," "," "); 2423 2424//throw 2425 addmssqlcmds(ESqlStatementType.sstmssqlthrow, TBaseType.rrw_sqlserver_throw," "," "," "," "," "," "); 2426 2427//TRUNCATE TABLE 2428 addmssqlcmds(ESqlStatementType.sstmssqltruncatetable, TBaseType.rrw_truncate,"table"," "," "," "," "," "); 2429//UPDATE 2430 addmssqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2431//UPDATE STATISTICS 2432 addmssqlcmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 2433//UPDATETEXT 2434 addmssqlcmds(ESqlStatementType.sstmssqlupdatetext, TBaseType.rrw_updatetext," "," "," "," "," "," "); 2435//USE 2436 addmssqlcmds(ESqlStatementType.sstmssqluse, TBaseType.rrw_use," "," "," "," "," "," "); 2437//WAITFOR 2438 addmssqlcmds(ESqlStatementType.sstmssqlwaitfor, TBaseType.rrw_waitfor," "," "," "," "," "," "); 2439//WHILE 2440 addmssqlcmds(ESqlStatementType.sstmssqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 2441//WITH, don't recongize here, let isMssqlSql do it 2442// AddMssqlCmds(ESqlStatementType.sstMssqlCTE,rrw_WITH,' '); 2443//WITH XMLNAMESPACES 2444 // addmssqlcmds(ESqlStatementType.sstmssqlwithxmlnamespaces, TBaseType.rrw_with,"xmlnamespaces"," "," "," "," "," "); 2445//WRITETEXT 2446 addmssqlcmds(ESqlStatementType.sstmssqlwritetext, TBaseType.rrw_writetext," "," "," "," "," "," "); 2447 2448} 2449 2450void initdb2cmds(){ 2451// cmd must be sort alphabetically 2452 adddb2cmds(ESqlStatementType.sstdb2allocatecursor, TBaseType.rrw_allocate,"cursor"," "," "," "," "," "); 2453 adddb2cmds(ESqlStatementType.sstdb2alterbufferpool, TBaseType.rrw_alter,"bufferpool"," "," "," "," "," "); 2454 adddb2cmds(ESqlStatementType.sstdb2alterdatabasepartitiongroup, TBaseType.rrw_alter,"database", "partition", "group"," "," "," "); 2455 adddb2cmds(ESqlStatementType.sstdb2alterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 2456 adddb2cmds(ESqlStatementType.sstdb2altermethod, TBaseType.rrw_alter,"method"," "," "," "," "," "); 2457 adddb2cmds(ESqlStatementType.sstdb2alternickname, TBaseType.rrw_alter,"nickname"," "," "," "," "," "); 2458 adddb2cmds(ESqlStatementType.sstdb2alterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 2459 adddb2cmds(ESqlStatementType.sstdb2altersequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 2460 adddb2cmds(ESqlStatementType.sstdb2alterserver, TBaseType.rrw_alter,"server"," "," "," "," "," "); 2461 adddb2cmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 2462 adddb2cmds(ESqlStatementType.sstdb2altertablespace, TBaseType.rrw_alter,"tablespace"," "," "," "," "," "); 2463 adddb2cmds(ESqlStatementType.sstdb2altertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 2464 adddb2cmds(ESqlStatementType.sstdb2alterusermapping, TBaseType.rrw_alter,"user","mapping"," "," "," "," "); 2465 adddb2cmds(ESqlStatementType.sstdb2alterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 2466 adddb2cmds(ESqlStatementType.sstdb2alterwrapper, TBaseType.rrw_alter,"wrapper"," "," "," "," "," "); 2467 adddb2cmds(ESqlStatementType.sstdb2associatelocators, TBaseType.rrw_associate,"locators"," "," "," "," "," "); 2468 adddb2cmds(ESqlStatementType.sstdb2begindeclaresection, TBaseType.rrw_begin,"declare", "section"," "," "," "," "); 2469 adddb2cmds(ESqlStatementType.sstdb2call, TBaseType.rrw_call," "," "," "," "," "," "); 2470 adddb2cmds(ESqlStatementType.sstdb2case, TBaseType.rrw_case," "," "," "," "," "," "); 2471 adddb2cmds(ESqlStatementType.sstdb2close, TBaseType.rrw_close," "," "," "," "," "," "); 2472 adddb2cmds(ESqlStatementType.sstdb2comment, TBaseType.rrw_comment," "," "," "," "," "," "); 2473 adddb2cmds(ESqlStatementType.sstdb2commit, TBaseType.rrw_commit," "," "," "," "," "," "); 2474 adddb2cmds(ESqlStatementType.sstdb2connect, TBaseType.rrw_connect," "," "," "," "," "," "); 2475 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"alias"," "," "," "," "," "); 2476 adddb2cmds(ESqlStatementType.sstcreateauditpolicy, TBaseType.rrw_create,"audit","policy"," "," "," "," "); 2477 adddb2cmds(ESqlStatementType.sstdb2createbufferpool, TBaseType.rrw_create,"bufferpool"," "," "," "," "," "); 2478 adddb2cmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database", " ", " "," "," "," "); 2479 adddb2cmds(ESqlStatementType.sstdb2createdatabasepartitiongroup, TBaseType.rrw_create,"database", "partition", "group"," "," "," "); 2480 adddb2cmds(ESqlStatementType.sstdb2createdistincttype, TBaseType.rrw_create,"distinct", "type"," "," "," "," "); 2481 adddb2cmds(ESqlStatementType.sstdb2createeventmonitor, TBaseType.rrw_create,"eventmonitor"," "," "," "," "," "); 2482 adddb2cmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 2483 adddb2cmds(ESqlStatementType.sstdb2createfunctionmapping, TBaseType.rrw_create,"function", "mapping"," "," "," "," "); 2484 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 2485 adddb2cmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 2486 adddb2cmds(ESqlStatementType.sstdb2createindexextension, TBaseType.rrw_create,"index", "extension"," "," "," "," "); 2487 adddb2cmds(ESqlStatementType.sstcreateTablespace, TBaseType.rrw_create,"large","tablespace"," "," "," "," "); 2488 adddb2cmds(ESqlStatementType.sstdb2createmethod, TBaseType.rrw_create,"method"," "," "," "," "," "); 2489 adddb2cmds(ESqlStatementType.sstdb2createnickname, TBaseType.rrw_create,"nickname"," "," "," "," "," "); 2490 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"or","replace","alias"," "," "," "); 2491 adddb2cmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 2492 adddb2cmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 2493 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"or","replace","public","alias"," "," "); 2494 adddb2cmds(ESqlStatementType.sstdb2createtrigger, TBaseType.rrw_create,"or","replace","trigger"," "," "," "); 2495 adddb2cmds(ESqlStatementType.sstdb2createvariable, TBaseType.rrw_create,"or","replace","variable"," "," "," "); 2496 adddb2cmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 2497 adddb2cmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 2498 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"public","alias"," "," "," "," "); 2499 adddb2cmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 2500 adddb2cmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 2501 adddb2cmds(ESqlStatementType.sstdb2createschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 2502 adddb2cmds(ESqlStatementType.sstdb2createsequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 2503 adddb2cmds(ESqlStatementType.sstdb2createserver, TBaseType.rrw_create,"server"," "," "," "," "," "); 2504 adddb2cmds(ESqlStatementType.sstdb2createstogroup, TBaseType.rrw_create,"stogroup"," "," "," "," "," "); 2505 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"summary","table"," "," "," "," "); 2506 adddb2cmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2507 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 2508 adddb2cmds(ESqlStatementType.sstcreateTablespace, TBaseType.rrw_create,"tablespace"," "," "," "," "," "); 2509 adddb2cmds(ESqlStatementType.sstdb2createtransform, TBaseType.rrw_create,"transform"," "," "," "," "," "); 2510 adddb2cmds(ESqlStatementType.sstdb2createtrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 2511 adddb2cmds(ESqlStatementType.sstdb2createtype, TBaseType.rrw_create,"type"," "," "," "," "," "); 2512 adddb2cmds(ESqlStatementType.sstdb2createtypemapping, TBaseType.rrw_create,"type", "mapping"," "," "," "," "); 2513 adddb2cmds(ESqlStatementType.sstdb2createusermapping, TBaseType.rrw_create,"user", "mapping"," "," "," "," "); 2514 adddb2cmds(ESqlStatementType.sstdb2createvariable, TBaseType.rrw_create,"variable"," "," "," "," "," "); 2515 adddb2cmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2516 adddb2cmds(ESqlStatementType.sstdb2createwrapper, TBaseType.rrw_create,"wrapper"," "," "," "," "," "); 2517 adddb2cmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"*","index"," "," "," "," "); 2518 adddb2cmds(ESqlStatementType.sstdb2declareglobaltemporarytable, TBaseType.rrw_declare, "global", "temporary", "table"," "," "," "); 2519 adddb2cmds(ESqlStatementType.sstdb2declarecursor, TBaseType.rrw_declare,"*","cursor"," "," "," "," "); 2520 adddb2cmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2521 adddb2cmds(ESqlStatementType.sstdb2describe, TBaseType.rrw_describe," "," "," "," "," "," "); 2522 adddb2cmds(ESqlStatementType.sstdb2disconnect, TBaseType.rrw_disconnect," "," "," "," "," "," "); 2523 adddb2cmds(ESqlStatementType.sstdb2drop, TBaseType.rrw_drop," "," "," "," "," "," "); 2524 adddb2cmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2525 adddb2cmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2526 adddb2cmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2527 adddb2cmds(ESqlStatementType.sstdb2enddeclaresection, TBaseType.rrw_end,"declare","section"," "," "," "," "); 2528 adddb2cmds(ESqlStatementType.sstdb2execute, TBaseType.rrw_execute," "," "," "," "," "," "); 2529 adddb2cmds(ESqlStatementType.sstdb2executeimmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 2530 adddb2cmds(ESqlStatementType.sstdb2explain, TBaseType.rrw_explain," "," "," "," "," "," "); 2531 adddb2cmds(ESqlStatementType.sstdb2fetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2532 adddb2cmds(ESqlStatementType.sstdb2flusheventmonitor, TBaseType.rrw_flush, "event", "monitor"," "," "," "," "); 2533 adddb2cmds(ESqlStatementType.sstdb2flushpackagecache, TBaseType.rrw_flush,"package", "cache"," "," "," "," "); 2534 adddb2cmds(ESqlStatementType.sstdb2for, TBaseType.rrw_for," "," "," "," "," "," "); 2535 adddb2cmds(ESqlStatementType.sstdb2freelocator, TBaseType.rrw_free,"locator"," "," "," "," "," "); 2536 adddb2cmds(ESqlStatementType.sstgetdiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 2537 adddb2cmds(ESqlStatementType.sstdb2goto, TBaseType.rrw_goto," "," "," "," "," "," "); 2538 adddb2cmds(ESqlStatementType.sstdb2grant, TBaseType.rrw_grant," "," "," "," "," "," "); 2539 adddb2cmds(ESqlStatementType.sstdb2if, TBaseType.rrw_if," "," "," "," "," "," "); 2540 adddb2cmds(ESqlStatementType.sstdb2include, TBaseType.rrw_include," "," "," "," "," "," "); 2541 adddb2cmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2542 adddb2cmds(ESqlStatementType.sstdb2iterate, TBaseType.rrw_iterate," "," "," "," "," "," "); 2543 adddb2cmds(ESqlStatementType.sstdb2labelOn, TBaseType.rrw_db2_label,"on"," "," "," "," "," "); 2544 adddb2cmds(ESqlStatementType.sstdb2leave, TBaseType.rrw_leave," "," "," "," "," "," "); 2545 adddb2cmds(ESqlStatementType.sstdb2locktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 2546 adddb2cmds(ESqlStatementType.sstdb2loop, TBaseType.rrw_loop," "," "," "," "," "," "); 2547 adddb2cmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2548 adddb2cmds(ESqlStatementType.sstdb2open, TBaseType.rrw_open," "," "," "," "," "," "); 2549 adddb2cmds(ESqlStatementType.sstdb2prepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 2550 adddb2cmds(ESqlStatementType.sstdb2refreshtable, TBaseType.rrw_refresh,"table"," "," "," "," "," "); 2551 adddb2cmds(ESqlStatementType.sstdb2release, TBaseType.rrw_release," "," "," "," "," "," "); 2552 adddb2cmds(ESqlStatementType.sstdb2releasesavepoint, TBaseType.rrw_release,"savepoint"," "," "," "," "," "); 2553 adddb2cmds(ESqlStatementType.sstdb2rename, TBaseType.rrw_rename," "," "," "," "," "," "); 2554 adddb2cmds(ESqlStatementType.sstdb2renametablespace, TBaseType.rrw_rename,"tablespace"," "," "," "," "," "); 2555 adddb2cmds(ESqlStatementType.sstdb2repeat, TBaseType.rrw_repeat," "," "," "," "," "," "); 2556 adddb2cmds(ESqlStatementType.sstdb2resignal, TBaseType.rrw_resignal," "," "," "," "," "," "); 2557 adddb2cmds(ESqlStatementType.sstdb2return, TBaseType.rrw_return," "," "," "," "," "," "); 2558 adddb2cmds(ESqlStatementType.sstdb2revoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2559 adddb2cmds(ESqlStatementType.sstdb2rollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2560 adddb2cmds(ESqlStatementType.sstRunStats, TBaseType.rrw_db2_runstats," "," "," "," "," "," "); 2561 adddb2cmds(ESqlStatementType.sstdb2savepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 2562 adddb2cmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2563 adddb2cmds(ESqlStatementType.sstdb2setconnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 2564 adddb2cmds(ESqlStatementType.sstdb2set, TBaseType.rrw_set," "," "," "," "," "," "); 2565 adddb2cmds(ESqlStatementType.sstdb2setconnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 2566 adddb2cmds(ESqlStatementType.sstdb2setcurrentdefaulttransformgroup, TBaseType.rrw_set,"current default transform group"," "," "," "," "," "); 2567 adddb2cmds(ESqlStatementType.sstdb2setcurrentdegree, TBaseType.rrw_set,"current", "degree"," "," "," "," "); 2568 adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainmode, TBaseType.rrw_set,"current", "explain", "mode"," "," "," "); 2569 adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainsnapshot, TBaseType.rrw_set,"current", "explain", "snapshot"," "," "," "); 2570 adddb2cmds(ESqlStatementType.sstdb2setcurrentisolation, TBaseType.rrw_set,"current", "isolation"," "," "," "," "); 2571 adddb2cmds(ESqlStatementType.sstdb2setcurrentlocktimeout, TBaseType.rrw_set,"current", "lock", "timeout"," "," "," "); 2572 adddb2cmds(ESqlStatementType.sstdb2setcurrentmaintainedtabletypesforoptimization, TBaseType.rrw_set,"current", "maintained", "table", "types"," "," "); 2573 adddb2cmds(ESqlStatementType.sstdb2setcurrentpackagepath, TBaseType.rrw_set,"current", "package", "path"," "," "," "); 2574 adddb2cmds(ESqlStatementType.sstdb2setcurrentpackageset, TBaseType.rrw_set,"current", "packageset"," "," "," "," "); 2575 adddb2cmds(ESqlStatementType.sstdb2setcurrentqueryoptimization, TBaseType.rrw_set,"current", "query", "optimization"," "," "," "); 2576 adddb2cmds(ESqlStatementType.sstdb2setcurrentrefreshage, TBaseType.rrw_set,"current", "refresh", "age"," "," "," "); 2577 adddb2cmds(ESqlStatementType.sstdb2setschema, TBaseType.rrw_set,"current","schema"," "," "," "," "); 2578 adddb2cmds(ESqlStatementType.sstdb2setencryptionpassword, TBaseType.rrw_set,"encryption", "password"," "," "," "," "); 2579 adddb2cmds(ESqlStatementType.sstdb2seteventmonitorstate, TBaseType.rrw_set,"event", "monitor", "state"," "," "," "); 2580 adddb2cmds(ESqlStatementType.sstdb2setintegrity, TBaseType.rrw_set,"integrity"," "," "," "," "," "); 2581 adddb2cmds(ESqlStatementType.sstdb2setpassthru, TBaseType.rrw_set,"passthru"," "," "," "," "," "); 2582 adddb2cmds(ESqlStatementType.sstdb2setpath, TBaseType.rrw_set,"path"," "," "," "," "," "); 2583 adddb2cmds(ESqlStatementType.sstdb2setschema, TBaseType.rrw_set,"schema"," "," "," "," "," "); 2584 adddb2cmds(ESqlStatementType.sstdb2setserveroption, TBaseType.rrw_set,"server", "option"," "," "," "," "); 2585 adddb2cmds(ESqlStatementType.sstdb2setsessionauthorization, TBaseType.rrw_set,"session", "authorization"," "," "," "," "); 2586 adddb2cmds(ESqlStatementType.sstdb2signal, TBaseType.rrw_signal," "," "," "," "," "," "); 2587 adddb2cmds(ESqlStatementType.sstdb2terminate, TBaseType.rrw_terminate," "," "," "," "," "," "); 2588//TRUNCATE TABLE 2589 adddb2cmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate," "," "," "," "," "," "); 2590 2591 adddb2cmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2592 adddb2cmds(ESqlStatementType.sstdb2updateCommand, TBaseType.rrw_update,"command"," "," "," "," "," "); 2593// AddDB2Cmds(sstDB2VALUES,rrw_VALUES); 2594// AddDB2Cmds(sstDB2WHENEVER,rrw_WHENEVER); 2595 adddb2cmds(ESqlStatementType.sstdb2while, TBaseType.rrw_while," "," "," "," "," "," "); 2596 2597} 2598 2599void initnetezzacmds(){ 2600 addnetezzacmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 2601 addnetezzacmds(ESqlStatementType.sstnetezzaAlterDatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 2602 addnetezzacmds(ESqlStatementType.sstnetezzaAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 2603 addnetezzacmds(ESqlStatementType.sstnetezzaAlterHistoryConfiguration, TBaseType.rrw_alter, "history", " ", " ", " ", " ", " "); 2604 addnetezzacmds(ESqlStatementType.sstnetezzaAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2605 addnetezzacmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 2606 addnetezzacmds(ESqlStatementType.sstAlterSynonym, TBaseType.rrw_alter, "synonym", " ", " ", " ", " ", " "); 2607 addnetezzacmds(ESqlStatementType.sstnetezzaAlterTable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 2608 addnetezzacmds(ESqlStatementType.sstnetezzaAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 2609 addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 2610 addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, TBaseType.rrw_alter, "views", " ", " ", " ", " ", " "); 2611 addnetezzacmds(ESqlStatementType.sstnetezzaBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 2612 addnetezzacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 2613 addnetezzacmds(ESqlStatementType.sstnetezzaComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 2614 addnetezzacmds(ESqlStatementType.sstnetezzaCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 2615 addnetezzacmds(ESqlStatementType.sstnetezzaCopy, TBaseType.rrw_netezza_copy, " ", " ", " ", " ", " ", " "); 2616 addnetezzacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 2617 addnetezzacmds(ESqlStatementType.sstnetezzaCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 2618 addnetezzacmds(ESqlStatementType.sstnetezzaCreateGruop, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 2619 addnetezzacmds(ESqlStatementType.sstnetezzaCreateHistoryConfiguration, TBaseType.rrw_create, "history", "configuration", " ", " ", " ", " "); 2620 addnetezzacmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 2621 addnetezzacmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "or", "replace", "materialized", "view", " ", " "); 2622 addnetezzacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 2623 addnetezzacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 2624 addnetezzacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 2625 addnetezzacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2626 addnetezzacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "synonym", " ", " ", " ", " ", " "); 2627 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 2628 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 2629 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 2630 addnetezzacmds(ESqlStatementType.sstnetezzaCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 2631 addnetezzacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 2632// addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "volatile", "table", " ", " ", " ", " "); 2633 addnetezzacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete , " ", " ", " ", " ", " ", " "); 2634 addnetezzacmds(ESqlStatementType.sstnetezzaDropConnection, TBaseType.rrw_drop, "connection", " ", " ", " ", " ", " "); 2635 addnetezzacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 2636 addnetezzacmds(ESqlStatementType.sstnetezzaDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 2637 addnetezzacmds(ESqlStatementType.sstnetezzaDropHistoryConfiguration, TBaseType.rrw_drop, "history", "configuration", " ", " ", " ", " "); 2638 addnetezzacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 2639 addnetezzacmds(ESqlStatementType.sstnetezzaDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 2640 addnetezzacmds(ESqlStatementType.sstnetezzaDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 2641 addnetezzacmds(ESqlStatementType.sstnetezzaDropSession, TBaseType.rrw_drop, "session", " ", " ", " ", " ", " "); 2642 addnetezzacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "synonym", " ", " ", " ", " ", " "); 2643 addnetezzacmds(ESqlStatementType.sstnetezzaDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 2644 addnetezzacmds(ESqlStatementType.sstnetezzaDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 2645 addnetezzacmds(ESqlStatementType.sstnetezzaDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 2646 addnetezzacmds(ESqlStatementType.sstexecutestmt, TBaseType.rrw_exec, " ", " ", " ", " ", " ", " "); 2647 addnetezzacmds(ESqlStatementType.sstexecutestmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 2648 addnetezzacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 2649 addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, TBaseType.rrw_netezza_generate, "express", "statistics", " ", " ", " ", " "); 2650 addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, TBaseType.rrw_netezza_generate, "statistics", " ", " ", " ", " ", " "); 2651 addnetezzacmds(ESqlStatementType.sstnetezzaGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 2652 addnetezzacmds(ESqlStatementType.sstnetezzaGroomTable, TBaseType.rrw_netezza_groom, "table", " ", " ", " ", " ", " "); 2653 addnetezzacmds(ESqlStatementType.sstlocktable, TBaseType.rrw_lock, "table", " ", " ", " ", " ", " "); 2654 addnetezzacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 2655 addnetezzacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 2656 addnetezzacmds(ESqlStatementType.sstnetezzaReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 2657 addnetezzacmds(ESqlStatementType.sstnetezzaRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 2658 addnetezzacmds(ESqlStatementType.sstnetezzaRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 2659 addnetezzacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 2660 addnetezzacmds(ESqlStatementType.sstnetezzaSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 2661 addnetezzacmds(ESqlStatementType.sstSetCatalog, TBaseType.rrw_set, "catalog", " ", " ", " ", " ", " "); 2662 addnetezzacmds(ESqlStatementType.sstSetSchema, TBaseType.rrw_set, "schema", " ", " ", " ", " ", " "); 2663 addnetezzacmds(ESqlStatementType.sstnetezzaShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 2664 addnetezzacmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 2665 addnetezzacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 2666} 2667 void initgaussdbcmds(){ 2668// cmd must be sorted alphabetically 2669 addgaussdbcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 2670 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 2671 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 2672 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 2673 addgaussdbcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 2674 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 2675 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 2676 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 2677 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 2678 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 2679 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 2680 2681 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 2682 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 2683 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 2684 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 2685 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 2686 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 2687 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 2688 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 2689 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 2690 addgaussdbcmds(ESqlStatementType.sstAlterPackage, TBaseType.rrw_alter, "package", " ", " ", " ", " ", " "); 2691 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterPolicy, TBaseType.rrw_alter, "policy", " ", " ", " ", " ", " "); 2692 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 2693 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterProcedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 2694 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterPublication, TBaseType.rrw_alter, "publication", " ", " ", " ", " ", " "); 2695 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 2696 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRoutine, TBaseType.rrw_alter, "routine", " ", " ", " ", " ", " "); 2697 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRule, TBaseType.rrw_alter, "rule", " ", " ", " ", " ", " "); 2698 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 2699 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2700 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 2701 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterStatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 2702 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSubscription, TBaseType.rrw_alter, "subscription", " ", " ", " ", " ", " "); 2703 addgaussdbcmds(ESqlStatementType.sstAlterSynonym, TBaseType.rrw_alter, "synonym", " ", " ", " ", " ", " "); 2704 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 2705 2706 addgaussdbcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 2707 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 2708 2709 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 2710 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 2711 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 2712 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 2713 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 2714 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 2715 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 2716 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 2717 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 2718 addgaussdbcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 2719 2720 // begin is recognized in isgaussdb() method. 2721 // addgaussdbcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 2722 2723 addgaussdbcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 2724 2725 addgaussdbcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 2726 addgaussdbcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 2727 2728 addgaussdbcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_postgresql_cluster, " ", " ", " ", " ", " ", " "); 2729 2730 addgaussdbcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 2731 2732 addgaussdbcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 2733 addgaussdbcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 2734 addgaussdbcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_postgresql_copy, " ", " ", " ", " ", " ", " "); 2735 2736 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAccessMethod, TBaseType.rrw_create, "access", "method", " ", " ", " ", " "); 2737 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 2738 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAssertion, TBaseType.rrw_create, "assertion", " ", " ", " ", " ", " "); 2739 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 2740 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 2741 2742 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 2743 2744 addgaussdbcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 2745 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 2746 addgaussdbcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "default", "conversion", " ", " ", " ", " "); 2747 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 2748 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 2749 addgaussdbcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 2750 2751 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 2752 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 2753 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 2754 2755 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "global", "index", " ", " ", " ", " "); 2756 2757 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 2758 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 2759 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 2760 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "global", "unique", "index", " ", " ", " "); 2761 2762 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 2763 2764 addgaussdbcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "incremental", "materialized", "view", " ", " ", " "); 2765 2766 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 2767 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 2768 2769 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 2770 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 2771 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 2772 2773 addgaussdbcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 2774 2775 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 2776 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 2777 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 2778 2779 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 2780 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 2781 2782 addgaussdbcmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","package"," "," "," "); 2783 addgaussdbcmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","package","body"," "," "); 2784 2785 2786 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "procedural", "language", " ", " "); 2787 addgaussdbcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 2788 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 2789 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "or", "replace", "rule ", " ", " ", " "); 2790 addgaussdbcmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"or","replace","synonym"," "," "," "); 2791 2792 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 2793 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 2794 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "or", "replace", "trigger", " ", " ", " "); 2795 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 2796 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "procedural", "language", " "); 2797 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 2798 2799 addgaussdbcmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"package"," "," "," "," "," "); 2800 addgaussdbcmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"package","body"," "," "," "," "); 2801 2802 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreatePolicy, TBaseType.rrw_create, "policy", " ", " ", " ", " ", " "); 2803 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "procedural", "language", " ", " ", " ", " "); 2804 addgaussdbcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 2805 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreatePublication, TBaseType.rrw_create, "publication", " ", " ", " ", " ", " "); 2806 2807 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 2808 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 2809 2810 2811 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 2812 2813 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2814 2815 2816 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 2817 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateStatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 2818 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSubscription, TBaseType.rrw_create, "subscription", " ", " ", " ", " ", " "); 2819 addgaussdbcmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2820 2821 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 2822 2823 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 2824 2825 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 2826 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 2827 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 2828 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 2829 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 2830 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 2831 2832 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 2833 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 2834 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 2835 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 2836 2837 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTransform, TBaseType.rrw_create, "transform", " ", " ", " ", " ", " "); 2838 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 2839 2840 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 2841 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "procedural", "language", " ", " ", " "); 2842 2843 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 2844 2845 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 2846 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "unlogged", "sequence", " ", " ", " ", " "); 2847 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlogged", "table", " ", " ", " ", " "); 2848 2849 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 2850 2851 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 2852 2853 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 2854 2855 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 2856 2857 2858 addgaussdbcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 2859 2860 addgaussdbcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 2861 2862 addgaussdbcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 2863 2864 addgaussdbcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_postgresql_discard, " ", " ", " ", " ", " ", " "); 2865 2866 addgaussdbcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 2867 2868 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAccessMethod, TBaseType.rrw_drop, "access", "method", " ", " ", " ", " "); 2869 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 2870 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAssertion, TBaseType.rrw_drop, "assertion", " ", " ", " ", " ", " "); 2871 2872 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 2873 2874 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 2875 2876 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 2877 2878 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 2879 2880 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 2881 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropEventTrigger, TBaseType.rrw_drop, "event", "trigger", " ", " ", " ", " "); 2882 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 2883 2884 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 2885 2886 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 2887 2888 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 2889 2890 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 2891 2892 addgaussdbcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 2893 2894 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 2895 2896 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 2897 2898 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 2899 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 2900 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 2901 2902 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 2903 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropPolicy, TBaseType.rrw_drop, "policy", " ", " ", " ", " ", " "); 2904 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 2905 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropProcedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 2906 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropPublication, TBaseType.rrw_drop, "publication", " ", " ", " ", " ", " "); 2907 2908 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 2909 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRoutine, TBaseType.rrw_drop, "routine", " ", " ", " ", " ", " "); 2910 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 2911 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 2912 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 2913 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 2914 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropStatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 2915 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSubscription, TBaseType.rrw_drop, "subscription", " ", " ", " ", " ", " "); 2916 addgaussdbcmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2917 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 2918 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 2919 2920 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 2921 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 2922 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 2923 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 2924 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTransform, TBaseType.rrw_drop, "transform", " ", " ", " ", " ", " "); 2925 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 2926 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 2927 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 2928 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 2929 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 2930 2931 addgaussdbcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 2932 2933 addgaussdbcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 2934 2935 addgaussdbcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 2936 2937 addgaussdbcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 2938 2939 addgaussdbcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 2940 addgaussdbcmds(ESqlStatementType.sstPostgresqlImport, TBaseType.rrw_postgresql_import, "foreign", "schema", " ", " ", " ", " "); 2941 addgaussdbcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 2942 2943 addgaussdbcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_postgresql_listen, " ", " ", " ", " ", " ", " "); 2944 2945 addgaussdbcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 2946 2947 addgaussdbcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 2948 addgaussdbcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2949 2950 addgaussdbcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 2951 2952 addgaussdbcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_postgresql_notify, " ", " ", " ", " ", " ", " "); 2953 2954 addgaussdbcmds(ESqlStatementType.sstPostgresqlBlock, TBaseType.rrw_plpgsql_function_delimiter, " ", " ", " ", " ", " ", " "); 2955 2956 2957 addgaussdbcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 2958 2959 addgaussdbcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 2960 2961 addgaussdbcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_postgresql_reassign, "owned", " ", " ", " ", " ", " "); 2962 2963 addgaussdbcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "incremental","materialized", "view", " ", " ", " "); 2964 addgaussdbcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 2965 2966 addgaussdbcmds(ESqlStatementType.sstReindex, TBaseType.rrw_postgresql_reindex, " ", " ", " ", " ", " ", " "); 2967 2968 addgaussdbcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 2969 addgaussdbcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 2970 2971 addgaussdbcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 2972 2973 addgaussdbcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 2974 2975 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 2976 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 2977 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollbackToSavepoint, TBaseType.rrw_rollback, "to", "savepoint", " ", " ", " ", " "); 2978 addgaussdbcmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 2979 2980 addgaussdbcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_postgresql_security, "label", " ", " ", " ", " ", " "); 2981 2982 2983 addgaussdbcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 2984 2985 addgaussdbcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 2986 2987 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 2988 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 2989 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 2990 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 2991 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSearchPath, TBaseType.rrw_set, "search_path", " ", " ", " ", " ", " "); 2992 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 2993 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 2994 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 2995 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 2996 2997 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 2998 addgaussdbcmds(ESqlStatementType.sstpostgresqlShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 2999 addgaussdbcmds(ESqlStatementType.sstpostgresqlShowSearchPath, TBaseType.rrw_show, "search_path", " ", " ", " ", " ", " "); 3000 // addgaussdbcmds(ESqlStatementType.sstpostgresqlStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3001 addgaussdbcmds(ESqlStatementType.sstPostgresqlTable, TBaseType.rrw_table, " ", " ", " ", " ", " ", " "); 3002 addgaussdbcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3003 addgaussdbcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3004 3005 addgaussdbcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_postgresql_unlisten, " ", " ", " ", " ", " ", " "); 3006 3007 addgaussdbcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3008 addgaussdbcmds(ESqlStatementType.sstVacuum, TBaseType.rrw_postgresql_vacuum, " ", " ", " ", " ", " ", " "); 3009 addgaussdbcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 3010 3011 } 3012 3013 void initpostgresqlcmds(){ 3014// cmd must be sorted alphabetically 3015 addpostgresqlcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3016 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 3017 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 3018 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 3019 addpostgresqlcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3020 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 3021 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 3022 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 3023 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 3024 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 3025 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 3026 3027 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3028 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3029 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 3030 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 3031 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 3032 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 3033 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 3034 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 3035 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 3036 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterPolicy, TBaseType.rrw_alter, "policy", " ", " ", " ", " ", " "); 3037 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 3038 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterProcedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 3039 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterPublication, TBaseType.rrw_alter, "publication", " ", " ", " ", " ", " "); 3040 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3041 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRoutine, TBaseType.rrw_alter, "routine", " ", " ", " ", " ", " "); 3042 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRule, TBaseType.rrw_alter, "rule", " ", " ", " ", " ", " "); 3043 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3044 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3045 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 3046 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterStatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 3047 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSubscription, TBaseType.rrw_alter, "subscription", " ", " ", " ", " ", " "); 3048 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 3049 3050 addpostgresqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3051 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 3052 3053 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 3054 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 3055 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 3056 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 3057 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 3058 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 3059 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3060 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 3061 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3062 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3063 3064 addpostgresqlcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3065 3066 addpostgresqlcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3067 3068 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 3069 addpostgresqlcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3070 3071 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_postgresql_cluster, " ", " ", " ", " ", " ", " "); 3072 3073 addpostgresqlcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 3074 3075 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3076 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 3077 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_postgresql_copy, " ", " ", " ", " ", " ", " "); 3078 3079 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAccessMethod, TBaseType.rrw_create, "access", "method", " ", " ", " ", " "); 3080 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 3081 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAssertion, TBaseType.rrw_create, "assertion", " ", " ", " ", " ", " "); 3082 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 3083 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 3084 3085 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 3086 3087 addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 3088 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3089 addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "default", "conversion", " ", " ", " ", " "); 3090 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 3091 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 3092 addpostgresqlcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 3093 3094 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 3095 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 3096 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3097 3098 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3099 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3100 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 3101 3102 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3103 3104 3105 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 3106 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 3107 3108 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3109 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3110 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 3111 3112 addpostgresqlcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3113 3114 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 3115 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 3116 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 3117 3118 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3119 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 3120 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "procedural", "language", " ", " "); 3121 addpostgresqlcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 3122 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 3123 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "or", "replace", "rule ", " ", " ", " "); 3124 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3125 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3126 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "or", "replace", "trigger", " ", " ", " "); 3127 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 3128 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "procedural", "language", " "); 3129 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3130 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreatePolicy, TBaseType.rrw_create, "policy", " ", " ", " ", " ", " "); 3131 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "procedural", "language", " ", " ", " ", " "); 3132 addpostgresqlcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3133 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreatePublication, TBaseType.rrw_create, "publication", " ", " ", " ", " ", " "); 3134 3135 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "recursive", "view", " ", " ", " ", " "); 3136 3137 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3138 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 3139 3140 3141 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3142 3143 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3144 3145 3146 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 3147 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateStatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 3148 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSubscription, TBaseType.rrw_create, "subscription", " ", " ", " ", " ", " "); 3149 3150 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3151 3152 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 3153 3154 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 3155 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3156 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 3157 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 3158 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3159 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 3160 3161 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 3162 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 3163 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 3164 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 3165 3166 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTransform, TBaseType.rrw_create, "transform", " ", " ", " ", " ", " "); 3167 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 3168 3169 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 3170 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "procedural", "language", " ", " ", " "); 3171 3172 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 3173 3174 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 3175 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "unlogged", "sequence", " ", " ", " ", " "); 3176 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlogged", "table", " ", " ", " ", " "); 3177 3178 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3179 3180 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 3181 3182 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3183 3184 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 3185 3186 3187 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3188 3189 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3190 3191 addpostgresqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3192 3193 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_postgresql_discard, " ", " ", " ", " ", " ", " "); 3194 3195 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 3196 3197 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAccessMethod, TBaseType.rrw_drop, "access", "method", " ", " ", " ", " "); 3198 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 3199 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAssertion, TBaseType.rrw_drop, "assertion", " ", " ", " ", " ", " "); 3200 3201 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 3202 3203 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 3204 3205 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 3206 3207 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3208 3209 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 3210 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropEventTrigger, TBaseType.rrw_drop, "event", "trigger", " ", " ", " ", " "); 3211 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 3212 3213 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3214 3215 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 3216 3217 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 3218 3219 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3220 3221 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3222 3223 addpostgresqlcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 3224 3225 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 3226 3227 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3228 3229 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 3230 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 3231 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 3232 3233 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 3234 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropPolicy, TBaseType.rrw_drop, "policy", " ", " ", " ", " ", " "); 3235 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 3236 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropProcedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3237 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropPublication, TBaseType.rrw_drop, "publication", " ", " ", " ", " ", " "); 3238 3239 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3240 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRoutine, TBaseType.rrw_drop, "routine", " ", " ", " ", " ", " "); 3241 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 3242 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3243 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 3244 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 3245 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropStatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 3246 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSubscription, TBaseType.rrw_drop, "subscription", " ", " ", " ", " ", " "); 3247 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3248 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 3249 3250 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 3251 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 3252 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 3253 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 3254 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTransform, TBaseType.rrw_drop, "transform", " ", " ", " ", " ", " "); 3255 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 3256 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 3257 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3258 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 3259 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3260 3261 addpostgresqlcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3262 3263 addpostgresqlcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3264 3265 addpostgresqlcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3266 3267 addpostgresqlcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3268 3269 addpostgresqlcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3270 addpostgresqlcmds(ESqlStatementType.sstPostgresqlImport, TBaseType.rrw_postgresql_import, "foreign", "schema", " ", " ", " ", " "); 3271 addpostgresqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3272 3273 addpostgresqlcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_postgresql_listen, " ", " ", " ", " ", " ", " "); 3274 3275 addpostgresqlcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 3276 3277 addpostgresqlcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3278 3279 addpostgresqlcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3280 3281 addpostgresqlcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 3282 3283 addpostgresqlcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_postgresql_notify, " ", " ", " ", " ", " ", " "); 3284 3285 addpostgresqlcmds(ESqlStatementType.sstPostgresqlBlock, TBaseType.rrw_plpgsql_function_delimiter, " ", " ", " ", " ", " ", " "); 3286 3287 3288 addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3289 3290 addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 3291 3292 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_postgresql_reassign, "owned", " ", " ", " ", " ", " "); 3293 3294 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 3295 3296 addpostgresqlcmds(ESqlStatementType.sstReindex, TBaseType.rrw_postgresql_reindex, " ", " ", " ", " ", " ", " "); 3297 3298 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 3299 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 3300 3301 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3302 3303 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3304 3305 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3306 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 3307 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackToSavepoint, TBaseType.rrw_rollback, "to", "savepoint", " ", " ", " ", " "); 3308 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 3309 3310 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_postgresql_security, "label", " ", " ", " ", " ", " "); 3311 3312 3313 addpostgresqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3314 3315 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3316 3317 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 3318 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 3319 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 3320 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 3321 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSearchPath, TBaseType.rrw_set, "search_path", " ", " ", " ", " ", " "); 3322 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 3323 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 3324 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 3325 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 3326 3327 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 3328 addpostgresqlcmds(ESqlStatementType.sstpostgresqlShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3329 addpostgresqlcmds(ESqlStatementType.sstpostgresqlShowSearchPath, TBaseType.rrw_show, "search_path", " ", " ", " ", " ", " "); 3330 // addpostgresqlcmds(ESqlStatementType.sstpostgresqlStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3331 addpostgresqlcmds(ESqlStatementType.sstPostgresqlTable, TBaseType.rrw_table, " ", " ", " ", " ", " ", " "); 3332 addpostgresqlcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3333 addpostgresqlcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3334 3335 addpostgresqlcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_postgresql_unlisten, " ", " ", " ", " ", " ", " "); 3336 3337 addpostgresqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3338 addpostgresqlcmds(ESqlStatementType.sstVacuum, TBaseType.rrw_postgresql_vacuum, " ", " ", " ", " ", " ", " "); 3339 addpostgresqlcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 3340 3341 } 3342 3343 void initbigquerycmds() { 3344// cmd must be sorted alphabetically 3345 addbigquerycmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3346 addbigquerycmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3347 3348 addbigquerycmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3349 addbigquerycmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "transaction", " ", " ", " ", " ", " "); 3350 3351 addbigquerycmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3352 addbigquerycmds(ESqlStatementType.sst_casestmt, TBaseType.rrw_case, " ", " ", " ", " ", " ", " "); 3353 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3354 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3355 addbigquerycmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3356 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "external", "table", " ", " "); 3357 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temporary", "table", " ", " "); 3358 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3359 addbigquerycmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "or", "replace", "materialized", "view", " ", " "); 3360 addbigquerycmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 3361 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "table", " ", " ", " "); 3362 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "table", "function", " ", " "); 3363 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "temp", "function", " ", " "); 3364 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temp", "table", " ", " "); 3365 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "temporary", "function", " ", " "); 3366 addbigquerycmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3367 addbigquerycmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3368 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3369 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "table", "function", " ", " ", " ", " "); 3370 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temp", "function", " ", " ", " ", " "); 3371 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3372 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary", "function", " ", " ", " ", " "); 3373 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3374 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "snapshot", "table", " ", " ", " ", " "); 3375 addbigquerycmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3376 addbigquerycmds(ESqlStatementType.sstBigQueryDeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 3377 addbigquerycmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3378 addbigquerycmds(ESqlStatementType.sstDropRowAccessPolicy, TBaseType.rrw_drop, "all","row", "access", "policies", " ", " "); 3379 addbigquerycmds(ESqlStatementType.sstDropAssignment, TBaseType.rrw_drop, "assignment", " ", " ", " ", " ", " "); 3380 addbigquerycmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3381 addbigquerycmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3382 addbigquerycmds(ESqlStatementType.sstDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3383 addbigquerycmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3384 addbigquerycmds(ESqlStatementType.sstDropReservation, TBaseType.rrw_drop, "reservation", " ", " ", " ", " ", " "); 3385 addbigquerycmds(ESqlStatementType.sstDropRowAccessPolicy, TBaseType.rrw_drop, "row", "access", "policy", " ", " ", " "); 3386 addbigquerycmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3387 addbigquerycmds(ESqlStatementType.sstDropTableFunction, TBaseType.rrw_drop, "table", "function", " ", " ", " ", " "); 3388 addbigquerycmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3389 addbigquerycmds(ESqlStatementType.sstDropSnapshotTable, TBaseType.rrw_drop, "snapshot", "table", " ", " ", " ", " "); 3390 addbigquerycmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3391 3392 addbigquerycmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, "immediate"," "," "," "," "," "); 3393 3394 addbigquerycmds(ESqlStatementType.sstBigQueryExportData, TBaseType.rrw_bigquery_export, "data", " ", " ", " ", " ", " "); 3395 addbigquerycmds(ESqlStatementType.sstForStmt, TBaseType.rrw_for, " ", " ", " ", " ", " ", " "); 3396 addbigquerycmds(ESqlStatementType.sst_ifstmt, TBaseType.rrw_if, " ", " ", " ", " ", " ", " "); 3397 addbigquerycmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3398 addbigquerycmds(ESqlStatementType.sst_loopstmt, TBaseType.rrw_loop, " ", " ", " ", " ", " ", " "); 3399 addbigquerycmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 3400 addbigquerycmds(ESqlStatementType.sstRepeat, TBaseType.rrw_repeat, " ", " ", " ", " ", " ", " "); 3401 addbigquerycmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3402 addbigquerycmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3403 addbigquerycmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3404 addbigquerycmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3405 addbigquerycmds(ESqlStatementType.sstWhilestmt, TBaseType.rrw_while, " ", " ", " ", " ", " ", " "); 3406 } 3407 3408void initsnowflakecmds(){ 3409// cmd must be sorted alphabetically 3410 addsnowflakecmds(ESqlStatementType.sstAlterAccount, TBaseType.rrw_alter, "account", " ", " ", " ", " ", " "); 3411 addsnowflakecmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3412 addsnowflakecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "external", "table", " ", " ", " ", " "); 3413 addsnowflakecmds(ESqlStatementType.sstAlterFileFormat, TBaseType.rrw_alter, "file", "format", " ", " ", " ", " "); 3414 addsnowflakecmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3415 addsnowflakecmds(ESqlStatementType.sstAlterMaterializedView, TBaseType.rrw_alter,"materialized","view"," "," "," "," "); 3416 addsnowflakecmds(ESqlStatementType.sstAlterNetworkPolicy, TBaseType.rrw_alter, "network", "policy", " ", " ", " ", " "); 3417 addsnowflakecmds(ESqlStatementType.sstAlterPipe, TBaseType.rrw_alter, "pipe", " ", " ", " ", " ", " "); 3418 addsnowflakecmds(ESqlStatementType.sstAlterResourceMonitor, TBaseType.rrw_alter, "resource", "monitor", " ", " ", " ", " "); 3419 addsnowflakecmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3420 addsnowflakecmds(ESqlStatementType.sstAlterTask, TBaseType.rrw_alter, "task", " ", " ", " ", " ", " "); 3421 addsnowflakecmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3422 addsnowflakecmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 3423 addsnowflakecmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3424 addsnowflakecmds(ESqlStatementType.sstAlterShare, TBaseType.rrw_alter, "share", " ", " ", " ", " ", " "); 3425 addsnowflakecmds(ESqlStatementType.sstAlterStage, TBaseType.rrw_alter, "stage", " ", " ", " ", " ", " "); 3426 addsnowflakecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3427 addsnowflakecmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3428 addsnowflakecmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3429 addsnowflakecmds(ESqlStatementType.sstAlterWarehouse, TBaseType.rrw_alter, "warehouse", " ", " ", " ", " ", " "); 3430 3431 addsnowflakecmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3432 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_snowflake_begin_transaction, " ", " ", " ", " ", " ", " "); 3433 3434 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "work", " ", " ", " ", " ", " "); 3435 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "transaction", " ", " ", " ", " ", " "); 3436 3437 addsnowflakecmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3438 addsnowflakecmds(ESqlStatementType.sstcomment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 3439 3440 addsnowflakecmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3441 addsnowflakecmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_snowflake_copy, "into", " ", " ", " ", " ", " "); 3442 3443 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3444 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "dynamic", "table", " ", " ", " ", " "); 3445 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3446 addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create, "file", "format", " ", " ", " ", " "); 3447 addsnowflakecmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3448 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "table", " ", " ", " ", " "); 3449 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3450 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3451 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "hybrid", "table", " ", " ", " ", " "); 3452 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "table", " ", " ", " ", " "); 3453 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3454 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3455 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 3456 addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, TBaseType.rrw_create, "network", "policy", " ", " ", " ", " "); 3457 addsnowflakecmds(ESqlStatementType.sstCreatePipe, TBaseType.rrw_create, "or", "replace", "pipe", " ", " ", " "); 3458 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "external", "table", " ", " "); 3459 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "or", "replace", "database", " ", " ", " "); 3460 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "dynamic", "table", " ", " "); 3461 addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create, "or", "replace", "file", "format", " ", " "); 3462 addsnowflakecmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3463 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "force", "view", " ", " "); 3464 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "global","temporary", "table", " "); 3465 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "hybrid", "table", " ", " "); 3466 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "local","temporary", "table", " "); 3467 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","materialized","view"," "," "); 3468 addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, TBaseType.rrw_create, "or", "replace", "network", "policy", " ", " "); 3469 addsnowflakecmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"or", "replace", "procedure", " ", " ", " "); 3470 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "recursive", "view", " ", " "); 3471 3472 addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, TBaseType.rrw_create, "or", "replace","resource", "monitor", " ", " "); 3473 addsnowflakecmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "or", "replace","role", " ", " ", " "); 3474 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "or", "replace","schema", " ", " ", " "); 3475 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","secure","materialized","view"," "); 3476 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "secure", "view", " ", " "); 3477 addsnowflakecmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "or", "replace","sequence", " ", " ", " "); 3478 addsnowflakecmds(ESqlStatementType.sstCreateShare, TBaseType.rrw_create, "or", "replace","share", " ", " ", " "); 3479 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "or", "replace","stage", " ", " ", " "); 3480 addsnowflakecmds(ESqlStatementType.sstCreateStream, TBaseType.rrw_create, "or", "replace","stream", " ", " ", " "); 3481 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "table", " ", " ", " "); 3482 addsnowflakecmds(ESqlStatementType.sstCreateTask, TBaseType.rrw_create, "or", "replace", "task", " ", " ", " "); 3483 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temp", "table", " ", " "); 3484 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3485 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "or", "replace","temporary", "stage", " ", " "); 3486 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temporary", "table", " ", " "); 3487 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3488 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "or", "replace", "transient", "database", " ", " "); 3489 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "or", "replace", "transient", "schema", " ", " "); 3490 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "transient", "table", " ", " "); 3491 addsnowflakecmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "or", "replace","user", " ", " ", " "); 3492 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3493 addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, TBaseType.rrw_create, "or", "replace", "warehouse", " ", " ", " "); 3494 addsnowflakecmds(ESqlStatementType.sstCreatePipe, TBaseType.rrw_create, "pipe", " ", " ", " ", " ", " "); 3495 addsnowflakecmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3496 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "recursive", "view", " ", " ", " ", " "); 3497 addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, TBaseType.rrw_create, "resource", "monitor", " ", " ", " ", " "); 3498 addsnowflakecmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3499 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3500 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"secure","materialized","view"," "," "," "); 3501 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "secure", "view", " ", " ", " ", " "); 3502 addsnowflakecmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3503 addsnowflakecmds(ESqlStatementType.sstCreateShare, TBaseType.rrw_create, "share", " ", " ", " ", " ", " "); 3504 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "stage", " ", " ", " ", " ", " "); 3505 addsnowflakecmds(ESqlStatementType.sstCreateStream, TBaseType.rrw_create, "stream", " ", " ", " ", " ", " "); 3506 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3507 addsnowflakecmds(ESqlStatementType.sstCreateTask, TBaseType.rrw_create, "task", " ", " ", " ", " ", " "); 3508 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3509 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create,"temporary", "stage", " ", " ", " ", " "); 3510 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3511 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "transient", "database", " ", " ", " ", " "); 3512 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transient", "dynamic", "table", " ", " ", " "); 3513 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "transient","schema", " ", " ", " ", " "); 3514 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transient", "table", " ", " "," "," "); 3515 addsnowflakecmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3516 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3517 addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, TBaseType.rrw_create, "warehouse", " ", " ", " ", " ", " "); 3518 3519 addsnowflakecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3520 3521 addsnowflakecmds(ESqlStatementType.sstDescFileFormat, TBaseType.rrw_snowflake_desc, "file", "format", " ", " ", " ", " "); 3522 addsnowflakecmds(ESqlStatementType.sstDescFunction, TBaseType.rrw_snowflake_desc, "function", " ", " ", " ", " ", " "); 3523 addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, TBaseType.rrw_snowflake_desc, "network", "policy", " ", " ", " ", " "); 3524 addsnowflakecmds(ESqlStatementType.sstDescPipe, TBaseType.rrw_snowflake_desc, "pipe", " ", " ", " ", " ", " "); 3525 addsnowflakecmds(ESqlStatementType.sstDescResult, TBaseType.rrw_snowflake_desc, "result", " ", " ", " ", " ", " "); 3526 addsnowflakecmds(ESqlStatementType.sstDescShare, TBaseType.rrw_snowflake_desc, "share", " ", " ", " ", " ", " "); 3527 addsnowflakecmds(ESqlStatementType.sstDescStage, TBaseType.rrw_snowflake_desc, "stage", " ", " ", " ", " ", " "); 3528 addsnowflakecmds(ESqlStatementType.sstDescStorage, TBaseType.rrw_snowflake_desc, "storage", " ", " ", " ", " ", " "); 3529 addsnowflakecmds(ESqlStatementType.sstDescTable, TBaseType.rrw_snowflake_desc, "table", " ", " ", " ", " ", " "); 3530 addsnowflakecmds(ESqlStatementType.sstDescUser, TBaseType.rrw_snowflake_desc, "user", " ", " ", " ", " ", " "); 3531 addsnowflakecmds(ESqlStatementType.sstDescView, TBaseType.rrw_snowflake_desc, "view", " ", " ", " ", " ", " "); 3532 3533 addsnowflakecmds(ESqlStatementType.sstDescFileFormat, TBaseType.rrw_describe, "file", "format", " ", " ", " ", " "); 3534 addsnowflakecmds(ESqlStatementType.sstDescFunction, TBaseType.rrw_describe, "function", " ", " ", " ", " ", " "); 3535 addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, TBaseType.rrw_describe, "network", "policy", " ", " ", " ", " "); 3536 addsnowflakecmds(ESqlStatementType.sstDescPipe, TBaseType.rrw_describe, "pipe", " ", " ", " ", " ", " "); 3537 addsnowflakecmds(ESqlStatementType.sstDescResult, TBaseType.rrw_describe, "result", " ", " ", " ", " ", " "); 3538 addsnowflakecmds(ESqlStatementType.sstDescShare, TBaseType.rrw_describe, "share", " ", " ", " ", " ", " "); 3539 addsnowflakecmds(ESqlStatementType.sstDescStage, TBaseType.rrw_describe, "stage", " ", " ", " ", " ", " "); 3540 addsnowflakecmds(ESqlStatementType.sstDescStorage, TBaseType.rrw_describe, "storage", " ", " ", " ", " ", " "); 3541 addsnowflakecmds(ESqlStatementType.sstDescTable, TBaseType.rrw_describe, "table", " ", " ", " ", " ", " "); 3542 addsnowflakecmds(ESqlStatementType.sstDescUser, TBaseType.rrw_describe, "user", " ", " ", " ", " ", " "); 3543 addsnowflakecmds(ESqlStatementType.sstDescView, TBaseType.rrw_describe, "view", " ", " ", " ", " ", " "); 3544 3545 addsnowflakecmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3546 addsnowflakecmds(ESqlStatementType.sstDropFileFormat, TBaseType.rrw_drop, "file", "format", " ", " ", " ", " "); 3547 addsnowflakecmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3548 addsnowflakecmds(ESqlStatementType.sstDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3549 addsnowflakecmds(ESqlStatementType.sstDropNetworkPolicy, TBaseType.rrw_drop, "network", "policy", " ", " ", " ", " "); 3550 addsnowflakecmds(ESqlStatementType.sstDropPipe, TBaseType.rrw_drop, "pipe", " ", " ", " ", " ", " "); 3551 addsnowflakecmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3552 addsnowflakecmds(ESqlStatementType.sstDropResourceMonitor, TBaseType.rrw_drop, "resource", "monitor", " ", " ", " ", " "); 3553 addsnowflakecmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3554 addsnowflakecmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3555 addsnowflakecmds(ESqlStatementType.sstDropShare, TBaseType.rrw_drop, "share", " ", " ", " ", " ", " "); 3556 addsnowflakecmds(ESqlStatementType.sstDropStage, TBaseType.rrw_drop, "stage", " ", " ", " ", " ", " "); 3557 addsnowflakecmds(ESqlStatementType.sstDropStream, TBaseType.rrw_drop, "stream", " ", " ", " ", " ", " "); 3558 addsnowflakecmds(ESqlStatementType.sstDropStreamlit, TBaseType.rrw_drop, "streamlit", " ", " ", " ", " ", " "); 3559 addsnowflakecmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3560 3561 addsnowflakecmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3562 addsnowflakecmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3563 addsnowflakecmds(ESqlStatementType.sstDropWarehouse, TBaseType.rrw_drop, "warehouse", " ", " ", " ", " ", " "); 3564 3565 addsnowflakecmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, "immediate"," "," "," "," "," "); 3566 3567 addsnowflakecmds(ESqlStatementType.sstGet, TBaseType.rrw_get, " ", " ", " ", " ", " ", " "); 3568 3569 addsnowflakecmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3570 3571 addsnowflakecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3572 3573 addsnowflakecmds(ESqlStatementType.sstList, TBaseType.rrw_snowflake_list, " ", " ", " ", " ", " ", " "); 3574 addsnowflakecmds(ESqlStatementType.sstList, TBaseType.rrw_snowflake_ls, " ", " ", " ", " ", " ", " "); 3575 3576 addsnowflakecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 3577 3578 addsnowflakecmds(ESqlStatementType.sstSnowflakePseudoExprStmt, TBaseType.rrw_snowflake_pseudo_stmt_sign, " ", " ", " ", " ", " ", " "); 3579 addsnowflakecmds(ESqlStatementType.sstPut, TBaseType.rrw_snowflake_put, " ", " ", " ", " ", " ", " "); 3580 3581 addsnowflakecmds(ESqlStatementType.sstRemove, TBaseType.rrw_snowflake_remove, " ", " ", " ", " ", " ", " "); 3582 3583 addsnowflakecmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3584 addsnowflakecmds(ESqlStatementType.sstRemove, TBaseType.rrw_snowflake_rm, " ", " ", " ", " ", " ", " "); 3585 addsnowflakecmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3586 3587 3588 addsnowflakecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3589 3590 addsnowflakecmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3591 3592 addsnowflakecmds(ESqlStatementType.sstShowColumns, TBaseType.rrw_show, "columns", " ", " ", " ", " ", " "); 3593 addsnowflakecmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "databases", " ", " ", " ", " ", " "); 3594 addsnowflakecmds(ESqlStatementType.sstShowFileFormats, TBaseType.rrw_show, "file", "formats", " ", " ", " ", " "); 3595 addsnowflakecmds(ESqlStatementType.sstShowFunctions, TBaseType.rrw_show, "functions", " ", " ", " ", " ", " "); 3596 addsnowflakecmds(ESqlStatementType.sstShowGrants, TBaseType.rrw_show, "grants", " ", " ", " ", " ", " "); 3597 addsnowflakecmds(ESqlStatementType.sstShowLocks, TBaseType.rrw_show, "locks", " ", " ", " ", " ", " "); 3598 addsnowflakecmds(ESqlStatementType.sstShowNetworkPolicies, TBaseType.rrw_show, "network", "policies", " ", " ", " ", " "); 3599 addsnowflakecmds(ESqlStatementType.sstShowObjects, TBaseType.rrw_show, "objects", " ", " ", " ", " ", " "); 3600 addsnowflakecmds(ESqlStatementType.sstShowParameters, TBaseType.rrw_show, "parameters", " ", " ", " ", " ", " "); 3601 addsnowflakecmds(ESqlStatementType.sstShowPipes, TBaseType.rrw_show, "pipes", " ", " ", " ", " ", " "); 3602 addsnowflakecmds(ESqlStatementType.sstShowProcedures, TBaseType.rrw_show, "procedures", " ", " ", " ", " ", " "); 3603 addsnowflakecmds(ESqlStatementType.sstShowResourceMonitors, TBaseType.rrw_show, "resource", "monitors", " ", " ", " ", " "); 3604 addsnowflakecmds(ESqlStatementType.sstShowRoles, TBaseType.rrw_show, "roles", " ", " ", " ", " ", " "); 3605 addsnowflakecmds(ESqlStatementType.sstShowSchemas, TBaseType.rrw_show, "schemas", " ", " ", " ", " ", " "); 3606 addsnowflakecmds(ESqlStatementType.sstShowSequences, TBaseType.rrw_show, "sequences", " ", " ", " ", " ", " "); 3607 addsnowflakecmds(ESqlStatementType.sstShowShares, TBaseType.rrw_show, "shares", " ", " ", " ", " ", " "); 3608 addsnowflakecmds(ESqlStatementType.sstShowStages, TBaseType.rrw_show, "stages", " ", " ", " ", " ", " "); 3609 addsnowflakecmds(ESqlStatementType.sstShowStreams, TBaseType.rrw_show, "streams", " ", " ", " ", " ", " "); 3610 addsnowflakecmds(ESqlStatementType.sstShowTables, TBaseType.rrw_show, "tables", " ", " ", " ", " ", " "); 3611 addsnowflakecmds(ESqlStatementType.sstShowTasks, TBaseType.rrw_show, "tasks", " ", " ", " ", " ", " "); 3612 addsnowflakecmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "terse", "databases", " ", " ", " ", " "); 3613 addsnowflakecmds(ESqlStatementType.sstShowStreams, TBaseType.rrw_show, "terse", "streams", " ", " ", " ", " "); 3614 addsnowflakecmds(ESqlStatementType.sstShowTasks, TBaseType.rrw_show, "terse", "tasks", " ", " ", " ", " "); 3615 addsnowflakecmds(ESqlStatementType.sstShowTransactions, TBaseType.rrw_show, "transactions", " ", " ", " ", " ", " "); 3616 addsnowflakecmds(ESqlStatementType.sstShowUserFunctions, TBaseType.rrw_show, "user", "functions", " ", " ", " ", " "); 3617 addsnowflakecmds(ESqlStatementType.sstShowUsers, TBaseType.rrw_show, "users", " ", " ", " ", " ", " "); 3618 addsnowflakecmds(ESqlStatementType.sstShowVariables, TBaseType.rrw_show, "variables", " ", " ", " ", " ", " "); 3619 addsnowflakecmds(ESqlStatementType.sstShowViews, TBaseType.rrw_show, "views", " ", " ", " ", " ", " "); 3620 addsnowflakecmds(ESqlStatementType.sstShowWarehouses, TBaseType.rrw_show, "warehouses", " ", " ", " ", " ", " "); 3621 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3622 addsnowflakecmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3623 3624 addsnowflakecmds(ESqlStatementType.sstUndropDatabase, TBaseType.rrw_snowflake_undrop, "database", " ", " ", " ", " ", " "); 3625 addsnowflakecmds(ESqlStatementType.sstUndropSchema, TBaseType.rrw_snowflake_undrop, "schema", " ", " ", " ", " ", " "); 3626 addsnowflakecmds(ESqlStatementType.sstUndropTable, TBaseType.rrw_snowflake_undrop, "table", " ", " ", " ", " ", " "); 3627 3628 addsnowflakecmds(ESqlStatementType.sstunset, TBaseType.rrw_snowflake_unset, " ", " ", " ", " ", " ", " "); 3629 addsnowflakecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3630 addsnowflakecmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " ", " ", " ", " ", " ", " "); 3631 addsnowflakecmds(ESqlStatementType.sstUseSecondaryRoles, TBaseType.rrw_use, "secondary", "roles", " ", " ", " ", " "); 3632} 3633 3634void initredshiftcmds() { 3635// cmd must be sorted alphabetically 3636 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3637 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, "transaction", " ", " ", " ", " ", " "); 3638 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, "work", " ", " ", " ", " ", " "); 3639 addredshiftcmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3640 addredshiftcmds(ESqlStatementType.sstredshiftAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3641 addredshiftcmds(ESqlStatementType.sstredshiftAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3642 addredshiftcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3643 addredshiftcmds(ESqlStatementType.sstredshiftAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3644 addredshiftcmds(ESqlStatementType.sstredshiftAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3645 addredshiftcmds(ESqlStatementType.sstredshiftAnalyzeCompression, TBaseType.rrw_analyze, "Compression", " ", " ", " ", " ", " "); 3646 addredshiftcmds(ESqlStatementType.sstredshiftBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3647 addredshiftcmds(ESqlStatementType.sstredshiftCancel, TBaseType.rrw_redshift_cancel, " ", " ", " ", " ", " ", " "); 3648 addredshiftcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3649 3650 addredshiftcmds(ESqlStatementType.sstredshiftClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3651 addredshiftcmds(ESqlStatementType.sstredshiftComment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 3652 addredshiftcmds(ESqlStatementType.sstredshiftCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3653 addredshiftcmds(ESqlStatementType.sstredshiftCopy, TBaseType.rrw_redshift_copy, " ", " ", " ", " ", " ", " "); 3654 addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, TBaseType.rrw_create, "external", "schema", " ", " ", " ", " "); 3655 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3656 addredshiftcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3657 addredshiftcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3658 addredshiftcmds(ESqlStatementType.sstredshiftCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3659 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "table", " ", " ", " ", " "); 3660 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local","temp", "table", " ", " ", " "); 3661 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local","temporary", "table", " ", " ", " "); 3662 addredshiftcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 3663 addredshiftcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace","function", " ", " ", " "); 3664 addredshiftcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","materialized","view"," "," "); 3665 addredshiftcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace","procedure", " ", " ", " "); 3666 addredshiftcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3667 addredshiftcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3668 addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3669 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3670 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3671 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3672 addredshiftcmds(ESqlStatementType.sstredshiftCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3673 addredshiftcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3674 addredshiftcmds(ESqlStatementType.sstredshiftDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3675 addredshiftcmds(ESqlStatementType.sstredshiftDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3676 addredshiftcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3677 addredshiftcmds(ESqlStatementType.sstredshiftDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3678 addredshiftcmds(ESqlStatementType.sstredshiftDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3679 addredshiftcmds(ESqlStatementType.sstredshiftDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3680 addredshiftcmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3681 addredshiftcmds(ESqlStatementType.sstredshiftDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3682 addredshiftcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3683 addredshiftcmds(ESqlStatementType.sstredshiftEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3684 addredshiftcmds(ESqlStatementType.sstExecutePreparedStmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3685 addredshiftcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3686 addredshiftcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3687 addredshiftcmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3688 addredshiftcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, "into", " ", " ", " ", " ", " "); 3689 addredshiftcmds(ESqlStatementType.sstredshiftLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3690 addredshiftcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3691 3692 addredshiftcmds(ESqlStatementType.sstredshiftPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3693 addredshiftcmds(ESqlStatementType.sstredshiftReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3694 addredshiftcmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3695 addredshiftcmds(ESqlStatementType.sstredshiftRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3696 addredshiftcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3697 addredshiftcmds(ESqlStatementType.sstredshiftSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3698 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, TBaseType.rrw_set, "Authorization", " ", " ", " ", " ", " "); 3699 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionCharacteristics, TBaseType.rrw_set, "Characteristics", " ", " ", " ", " ", " "); 3700 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, TBaseType.rrw_set, "local", "Authorization", " ", " ", " ", " "); 3701 addredshiftcmds(ESqlStatementType.sstredshiftShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3702 addredshiftcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "Transaction", " ", " ", " ", " ", " "); 3703 addredshiftcmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3704 addredshiftcmds(ESqlStatementType.sstredshiftUnload, TBaseType.rrw_redshift_unload, " ", " ", " ", " ", " ", " "); 3705 addredshiftcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3706 addredshiftcmds(ESqlStatementType.sstredshiftVacuum, TBaseType.rrw_redshift_vacuum, " ", " ", " ", " ", " ", " "); 3707} 3708 3709void initgreenplumcmds(){ 3710// cmd must be sorted alphabetically 3711 addgreenplumcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3712 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 3713 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 3714 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 3715 addgreenplumcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3716 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 3717 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 3718 3719 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterExternalTable, TBaseType.rrw_alter, "external", "table", " ", " ", " ", " "); 3720 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterFilespace, TBaseType.rrw_alter, "filespace", " ", " ", " ", " ", " "); 3721 3722// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 3723// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 3724// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 3725// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 3726 3727 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3728 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3729 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 3730 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 3731// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 3732 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 3733 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 3734 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 3735 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 3736 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 3737 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterProtocol, TBaseType.rrw_alter, "protocol", " ", " ", " ", " ", " "); 3738 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterResourceQueue, TBaseType.rrw_alter, "resource", "queue", " ", " ", " ", " "); 3739 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3740 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3741 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3742 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 3743 addgreenplumcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3744 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 3745 3746// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 3747// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 3748// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 3749// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 3750 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 3751 3752 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 3753 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3754// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 3755// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3756 addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_greenplum_analyse, " ", " ", " ", " ", " ", " "); 3757 addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3758 3759 addgreenplumcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3760 addgreenplumcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3761 3762 addgreenplumcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 3763 addgreenplumcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3764 3765 addgreenplumcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_greenplum_cluster, " ", " ", " ", " ", " ", " "); 3766 3767 addgreenplumcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 3768 3769 addgreenplumcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3770 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 3771 addgreenplumcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_greenplum_copy, " ", " ", " ", " ", " ", " "); 3772 3773 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 3774 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 3775 3776 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 3777 3778 addgreenplumcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 3779 3780 addgreenplumcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 3781 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3782 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 3783 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 3784 addgreenplumcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 3785 3786// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 3787// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 3788 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3789 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "temp", "table", " ", " ", " "); 3790 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "temporary", "table", " ", " ", " "); 3791 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "table", " ", " ", " "); 3792 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "temp", "table", " ", " "); 3793 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "temporary", "table", " ", " "); 3794 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateFilespace, TBaseType.rrw_create, "filespace", " ", " ", " ", " ", " "); 3795 3796 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3797 3798 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3799 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3800 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 3801 3802 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3803 3804 3805 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 3806 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 3807 3808 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3809 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3810 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 3811 3812 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateMaterializedView, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3813 3814 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 3815// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 3816// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 3817 3818 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "table", " ", " ", " "); 3819 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "temp", "table", " ", " "); 3820 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "temporary", "table", " ", " "); 3821 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "table", " ", " "); 3822 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "temp", "table", " "); 3823 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "temporary", "table", " "); 3824 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "table", " ", " ", " "); 3825 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "temp", "table", " ", " "); 3826 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "temporary", "table", " ", " "); 3827 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "table", " ", " "); 3828 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "temp", "table", " "); 3829 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "temporary", "table", " "); 3830 3831 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateResourceQueue, TBaseType.rrw_create, "resource", "queue", " ", " ", " ", " "); 3832 3833 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3834 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 3835 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 3836 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3837 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3838 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 3839 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3840 3841 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3842 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 3843 3844 3845 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3846 3847 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3848 3849 3850 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 3851 3852 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3853 3854 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 3855 3856 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 3857 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3858 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 3859 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 3860 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3861 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 3862 3863// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 3864// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 3865// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 3866// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 3867 3868 addgreenplumcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 3869 3870 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 3871 3872 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 3873 3874 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 3875 3876 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3877 3878// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 3879 3880 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3881 3882 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 3883 3884 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "table", " ", " ", " "); 3885 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "web", "table", " ", " "); 3886 3887 addgreenplumcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3888 3889 addgreenplumcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3890 3891 addgreenplumcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3892 3893// addgreenplumcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_discard, " ", " ", " ", " ", " ", " "); 3894 addgreenplumcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 3895 3896 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 3897 3898 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 3899 3900// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 3901 3902 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 3903 3904 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3905 3906 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 3907 3908 addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3909 3910 addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, TBaseType.rrw_drop, "external", "web", "table", " ", " ", " "); 3911 3912 addgreenplumcmds(ESqlStatementType.sstgreenplumDropFilespace, TBaseType.rrw_drop, "filespace", " ", " ", " ", " ", " "); 3913 3914// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 3915// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 3916// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 3917 3918 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3919 3920 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3921 3922 addgreenplumcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 3923 3924 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 3925 3926 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3927 3928 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 3929// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 3930// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 3931 3932 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 3933 3934 3935 addgreenplumcmds(ESqlStatementType.sstgreenplumDropResourceQueue, TBaseType.rrw_drop, "resource", "queue", " ", " ", " ", " "); 3936 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 3937 3938 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3939 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 3940 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3941 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 3942 //addgreenplumcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 3943 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3944 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 3945 3946// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 3947// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 3948// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 3949// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 3950 3951 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 3952 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 3953 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3954 //addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 3955 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3956 3957 addgreenplumcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3958 3959 addgreenplumcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3960 3961 addgreenplumcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3962 3963 addgreenplumcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3964 3965 addgreenplumcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3966 3967 addgreenplumcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3968 3969// addgreenplumcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_listen, " ", " ", " ", " ", " ", " "); 3970 3971 addgreenplumcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 3972 3973 addgreenplumcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3974 3975 addgreenplumcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 3976 3977 //addgreenplumcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_notify, " ", " ", " ", " ", " ", " "); 3978 3979 addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3980 3981// addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 3982 3983 addgreenplumcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_greenplum_reassign, "owned", " ", " ", " ", " ", " "); 3984 3985 addgreenplumcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 3986 3987 addgreenplumcmds(ESqlStatementType.sstpostgresqlReindex, TBaseType.rrw_greenplum_reindex, " ", " ", " ", " ", " ", " "); 3988 3989 addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 3990 addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 3991 3992 addgreenplumcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3993 3994 addgreenplumcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3995 3996 addgreenplumcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3997// addgreenplumcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 3998 3999 addgreenplumcmds(ESqlStatementType.sstpostgresqlSavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 4000 4001// addgreenplumcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_security, "label", " ", " ", " ", " ", " "); 4002 4003 addgreenplumcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4004 4005 addgreenplumcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 4006 4007// addgreenplumcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 4008 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 4009 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 4010 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 4011 4012 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 4013 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 4014 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 4015 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 4016 4017 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 4018 4019 addgreenplumcmds(ESqlStatementType.sstgreenplumShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 4020 4021 addgreenplumcmds(ESqlStatementType.sstgreenplumStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 4022 4023 addgreenplumcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 4024 4025 //addgreenplumcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_unlisten, " ", " ", " ", " ", " ", " "); 4026 4027 addgreenplumcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4028 4029 addgreenplumcmds(ESqlStatementType.sstgreenplumVacuum, TBaseType.rrw_greenplum_vacuum, " ", " ", " ", " ", " ", " "); 4030 addgreenplumcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 4031 4032} 4033 4034 4035void initoraclecmds(){ 4036// cmd must be sort alphabetically 4037 addoraclecmds(ESqlStatementType.sstoraclealtercluster, TBaseType.rrw_alter,"cluster"," "," "," "," "," "); 4038 addoraclecmds(ESqlStatementType.sstoraclealterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 4039 addoraclecmds(ESqlStatementType.sstoraclealterdimension, TBaseType.rrw_alter,"dimension"," "," "," "," "," "); 4040 addoraclecmds(ESqlStatementType.sstoraclealterdiskgroup, TBaseType.rrw_alter,"diskgroup"," "," "," "," "," "); 4041 addoraclecmds(ESqlStatementType.sstoraclealterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 4042 addoraclecmds(ESqlStatementType.sstoraclealterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 4043 addoraclecmds(ESqlStatementType.sstoraclealterindextype, TBaseType.rrw_alter,"indextype"," "," "," "," "," "); 4044 addoraclecmds(ESqlStatementType.sstoraclealterjava, TBaseType.rrw_alter,"java"," "," "," "," "," "); 4045 addoraclecmds(ESqlStatementType.sstAlterMaterializedView, TBaseType.rrw_alter,"materialized","view"," "," "," "," "); 4046 addoraclecmds(ESqlStatementType.sstoraclealtermaterializedviewlog, TBaseType.rrw_alter,"materialized","view","log"," "," "," "); 4047 addoraclecmds(ESqlStatementType.sstoraclealteroperator, TBaseType.rrw_alter,"operator"," "," "," "," "," "); 4048 addoraclecmds(ESqlStatementType.sstoraclealteroutline, TBaseType.rrw_alter,"outline"," "," "," "," "," "); 4049 addoraclecmds(ESqlStatementType.sstoraclealterpackage, TBaseType.rrw_alter,"package"," "," "," "," "," "); 4050 addoraclecmds(ESqlStatementType.sstoraclealterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 4051 addoraclecmds(ESqlStatementType.sstoraclealterprofile, TBaseType.rrw_alter,"profile"," "," "," "," "," "); 4052 addoraclecmds(ESqlStatementType.sstoraclealterresourcecost, TBaseType.rrw_alter,"resource","cost"," "," "," "," "); 4053 addoraclecmds(ESqlStatementType.sstoraclealterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 4054 addoraclecmds(ESqlStatementType.sstoraclealterrollbacksegment, TBaseType.rrw_alter,"rollback","segment"," "," "," "," "); 4055 addoraclecmds(ESqlStatementType.sstoraclealtersequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 4056 addoraclecmds(ESqlStatementType.sstoraclealtersession, TBaseType.rrw_alter,"session"," "," "," "," "," "); 4057 addoraclecmds(ESqlStatementType.sstoraclealtersystem, TBaseType.rrw_alter,"system"," "," "," "," "," "); 4058 addoraclecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 4059 addoraclecmds(ESqlStatementType.sstoraclealtertablespace, TBaseType.rrw_alter,"tablespace"," "," "," "," "," "); 4060 addoraclecmds(ESqlStatementType.sstaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 4061 addoraclecmds(ESqlStatementType.sstoraclealtertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 4062 addoraclecmds(ESqlStatementType.sstoraclealteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 4063 addoraclecmds(ESqlStatementType.sstoraclealterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 4064 addoraclecmds(ESqlStatementType.sstoracleanalyze, TBaseType.rrw_analyze," "," "," "," "," "," "); 4065 addoraclecmds(ESqlStatementType.sstoracleassociatestatistics, TBaseType.rrw_associate,"statistics"," "," "," "," "," "); 4066 addoraclecmds(ESqlStatementType.sstoracleaudit, TBaseType.rrw_audit," "," "," "," "," "," "); 4067 addoraclecmds(ESqlStatementType.sstoraclecall, TBaseType.rrw_call," "," "," "," "," "," "); 4068 addoraclecmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment," "," "," "," "," "," "); 4069 addoraclecmds(ESqlStatementType.sstoraclecommit, TBaseType.rrw_commit," "," "," "," "," "," "); 4070 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"bigfile","tablespace"," "," "," "," "); 4071 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"bitmap","index"," "," "," "," "); 4072 addoraclecmds(ESqlStatementType.sstoraclecreatecluster, TBaseType.rrw_create,"cluster"," "," "," "," "," "); 4073 addoraclecmds(ESqlStatementType.sstoraclecreatecontext, TBaseType.rrw_create,"context"," "," "," "," "," "); 4074 addoraclecmds(ESqlStatementType.sstoraclecreatecontrolfile, TBaseType.rrw_create,"controlfile"," "," "," "," "," "); 4075 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"editionable","function"," "," "," "," "); 4076 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"editionable","package"," "," "," "," "); 4077 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"editionable","package","body"," "," "," "); 4078 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"editionable","procedure"," "," "," "," "); 4079 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"editioning","view"," "," "," "," "); 4080 addoraclecmds(ESqlStatementType.sstoraclecreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 4081 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"database","link"," "," "," "," "); 4082 addoraclecmds(ESqlStatementType.sstoraclecreatedimension, TBaseType.rrw_create,"dimension"," "," "," "," "," "); 4083 addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, TBaseType.rrw_create,"directory"," "," "," "," "," "); 4084 addoraclecmds(ESqlStatementType.sstoraclecreatediskgroup, TBaseType.rrw_create,"diskgroup"," "," "," "," "," "); 4085 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"force","view"," "," "," "," "); 4086 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 4087 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temp","table"," "," "," "); 4088 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 4089 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 4090 addoraclecmds(ESqlStatementType.sstoraclecreateindextype, TBaseType.rrw_create,"indextype"," "," "," "," "," "); 4091 addoraclecmds(ESqlStatementType.sstoraclecreatejava, TBaseType.rrw_create,"java"," "," "," "," "," "); 4092 addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, TBaseType.rrw_create,"library"," "," "," "," "," "); 4093 addoraclecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 4094 addoraclecmds(ESqlStatementType.sstoraclecreatematerializedviewlog, TBaseType.rrw_create, "materialized","view","log"," "," "," "); 4095 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"noforce","view"," "," "," "," "); 4096 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"noneditionable","function"," "," "," "," "); 4097 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"noneditionable","package"," "," "," "," "); 4098 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"noneditionable","package","body"," "," "," "); 4099 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"noneditionable","procedure"," "," "," "," "); 4100 addoraclecmds(ESqlStatementType.sstoraclecreateoperator, TBaseType.rrw_create,"operator"," "," "," "," "," "); 4101 addoraclecmds(ESqlStatementType.sstoraclecreatecontext, TBaseType.rrw_create,"or","replace","context"," "," "," "); 4102 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editionable","editioning","view"," "); 4103 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","editionable","function"," "," "); 4104 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","editionable","package"," "," "); 4105 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","editionable","package","body"," "); 4106 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","editionable","procedure"," "," "); 4107 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","editionable","trigger"," "," "); 4108 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editionable","view"," "," "); 4109 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editioning","view"," "," "); 4110 addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, TBaseType.rrw_create,"or","replace","directory"," "," "," "); 4111 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","view"," "," "); 4112 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editionable","view"," "); 4113 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editionable","editioning","view"); 4114 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editioning","view"," "); 4115 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","noneditionable","view"," "); 4116 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 4117 addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, TBaseType.rrw_create,"or","replace","library"," "," "," "); 4118 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","noforce","view"," "," "); 4119 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","noneditionable","function"," "," "); 4120 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","noneditionable","package"," "," "); 4121 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","noneditionable","package","body"," "); 4122 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","noneditionable","procedure"," "," "); 4123 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","noneditionable","public","synonym"," "); 4124 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","noneditionable","trigger"," "," "); 4125 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","noneditionable","view"," "," "); 4126 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","package"," "," "," "); 4127 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","package","body"," "," "); 4128 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 4129 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","public","synonym"," "," "); 4130 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","synonym"," "," "," "); 4131 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","trigger"," "," "," "); 4132 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_create,"or","replace","type"," "," "," "); 4133 addoraclecmds(ESqlStatementType.sstplsql_createtypebody, TBaseType.rrw_create,"or","replace","type","body"," "," "); 4134 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 4135 addoraclecmds(ESqlStatementType.sstoraclecreateoutline, TBaseType.rrw_create,"outline"," "," "," "," "," "); 4136 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"package"," "," "," "," "," "); 4137 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"package","body"," "," "," "," "); 4138 addoraclecmds(ESqlStatementType.sstoraclecreatepfile, TBaseType.rrw_create,"pfile"," "," "," "," "," "); 4139 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 4140 addoraclecmds(ESqlStatementType.sstoraclecreateprofile, TBaseType.rrw_create,"profile"," "," "," "," "," "); 4141 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"public","database","link"," "," "," "); 4142 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 4143 addoraclecmds(ESqlStatementType.sstoraclecreaterestorepoint, TBaseType.rrw_create,"resotre","point"," "," "," "," "); 4144 addoraclecmds(ESqlStatementType.sstoraclecreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 4145 addoraclecmds(ESqlStatementType.sstoraclecreaterollbacksegment, TBaseType.rrw_create,"rollback","segment"," "," "," "," "); 4146 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"shared","database","link"," "," "," "); 4147 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"shared","public","database","link"," "," "); 4148 addoraclecmds(ESqlStatementType.sstoraclecreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 4149 addoraclecmds(ESqlStatementType.sstoraclecreatesequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 4150 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"smallfile","tablespace"," "," "," "," "); 4151 addoraclecmds(ESqlStatementType.sstoraclecreatespfile, TBaseType.rrw_create,"spfile"," "," "," "," "," "); 4152 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 4153 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 4154 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"tablespace"," "," "," "," "," "); 4155 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"temporary","tablespace"," "," "," "," "); 4156 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 4157 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_create,"type"," "," "," "," "," "); 4158 addoraclecmds(ESqlStatementType.sstplsql_createtypebody, TBaseType.rrw_create,"type","body"," "," "," "," "); 4159 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"undo","tablespace"," "," "," "," "); 4160 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 4161 addoraclecmds(ESqlStatementType.sstoraclecreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 4162 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 4163 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_custom,"package"," "," "," "," "," "); 4164 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_custom,"package","body"," "," "," "," "); 4165 addoraclecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 4166 addoraclecmds(ESqlStatementType.sstoracledisassociatestatistics, TBaseType.rrw_disassociate, "statistics"," "," "," "," "," "); 4167 addoraclecmds(ESqlStatementType.sstoracledropcluster, TBaseType.rrw_drop,"cluster"," "," "," "," "," "); 4168 addoraclecmds(ESqlStatementType.sstoracledropcontext, TBaseType.rrw_drop,"context"," "," "," "," "," "); 4169 addoraclecmds(ESqlStatementType.sstoracledropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 4170 addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, TBaseType.rrw_drop,"database","link"," "," "," "," "); 4171 addoraclecmds(ESqlStatementType.sstoracledropdimension, TBaseType.rrw_drop,"dimension"," "," "," "," "," "); 4172 addoraclecmds(ESqlStatementType.sstoracledropdirectory, TBaseType.rrw_drop,"directory"," "," "," "," "," "); 4173 addoraclecmds(ESqlStatementType.sstoracledropdiskgroup, TBaseType.rrw_drop,"diskgroup"," "," "," "," "," "); 4174 addoraclecmds(ESqlStatementType.sstoracledropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 4175 addoraclecmds(ESqlStatementType.sstoracledropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 4176 addoraclecmds(ESqlStatementType.sstoracledropindextype, TBaseType.rrw_drop,"indextype"," "," "," "," "," "); 4177 addoraclecmds(ESqlStatementType.sstoracledropjava, TBaseType.rrw_drop,"java"," "," "," "," "," "); 4178 addoraclecmds(ESqlStatementType.sstoracledroplibrary, TBaseType.rrw_drop,"library"," "," "," "," "," "); 4179 addoraclecmds(ESqlStatementType.sstoracledropmaterializedview, TBaseType.rrw_drop,"materialized","view"," "," "," "," "); 4180 addoraclecmds(ESqlStatementType.sstoracledropmaterializedviewlog, TBaseType.rrw_drop,"materialized","view","log"," "," "," "); 4181 addoraclecmds(ESqlStatementType.sstoracledropoperator, TBaseType.rrw_drop,"operator"," "," "," "," "," "); 4182 addoraclecmds(ESqlStatementType.sstoracledropoutline, TBaseType.rrw_drop,"outline"," "," "," "," "," "); 4183 addoraclecmds(ESqlStatementType.sstoracledroppackage, TBaseType.rrw_drop,"package"," "," "," "," "," "); 4184 addoraclecmds(ESqlStatementType.sstoracledropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 4185 addoraclecmds(ESqlStatementType.sstoracledropprofile, TBaseType.rrw_drop,"profile"," "," "," "," "," "); 4186 addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, TBaseType.rrw_drop,"public","database","link"," "," "," "); 4187 addoraclecmds(ESqlStatementType.sstoracledropsynonym, TBaseType.rrw_drop,"public","synonym"," "," "," "," "); 4188 addoraclecmds(ESqlStatementType.sstoracledroprestorepoint, TBaseType.rrw_drop,"restore","point"," "," "," "," "); 4189 addoraclecmds(ESqlStatementType.sstoracledroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 4190 addoraclecmds(ESqlStatementType.sstoracledroprollbacksegment, TBaseType.rrw_drop,"rollback","segment"," "," "," "," "); 4191 addoraclecmds(ESqlStatementType.sstoracledropsequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 4192 addoraclecmds(ESqlStatementType.sstoracledropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 4193 addoraclecmds(ESqlStatementType.sstoracledroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 4194 addoraclecmds(ESqlStatementType.sstoracledroptablespace, TBaseType.rrw_drop,"tablespace"," "," "," "," "," "); 4195 addoraclecmds(ESqlStatementType.sstoracledroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 4196 addoraclecmds(ESqlStatementType.sstoracledroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 4197 addoraclecmds(ESqlStatementType.sstoracledroptypebody, TBaseType.rrw_drop,"type","body"," "," "," "," "); 4198 addoraclecmds(ESqlStatementType.sstoracledropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 4199 addoraclecmds(ESqlStatementType.sstoracledropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 4200 addoraclecmds(ESqlStatementType.sstoracleexecuteprocedure, TBaseType.rrw_execute," "," "," "," "," "," "); 4201 addoraclecmds(ESqlStatementType.sstplsql_execimmestmt, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 4202 addoraclecmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain,"plan"," "," "," "," "," "); 4203 addoraclecmds(ESqlStatementType.sstoracleflashbackdatabase, TBaseType.rrw_flashback,"database"," "," "," "," "," "); 4204 addoraclecmds(ESqlStatementType.sstoracleflashbacktable, TBaseType.rrw_flashback,"table"," "," "," "," "," "); 4205 addoraclecmds(ESqlStatementType.sstoraclegrant, TBaseType.rrw_grant," "," "," "," "," "," "); 4206 addoraclecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 4207 addoraclecmds(ESqlStatementType.sstoraclelocktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 4208 addoraclecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 4209 addoraclecmds(ESqlStatementType.sstoraclenoaudit, TBaseType.rrw_noaudit," "," "," "," "," "," "); 4210 addoraclecmds(ESqlStatementType.sstoraclepurge, TBaseType.rrw_purge," "," "," "," "," "," "); 4211 addoraclecmds(ESqlStatementType.sstoraclerename, TBaseType.rrw_rename," "," "," "," "," "," "); 4212 addoraclecmds(ESqlStatementType.sstoraclerevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 4213 addoraclecmds(ESqlStatementType.sstoraclerollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 4214 addoraclecmds(ESqlStatementType.sstoraclesavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 4215 addoraclecmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 4216 addoraclecmds(ESqlStatementType.sstoraclesetconstraint, TBaseType.rrw_set,"constraint"," "," "," "," "," "); 4217 addoraclecmds(ESqlStatementType.sstoraclesetconstraint, TBaseType.rrw_set,"constraints"," "," "," "," "," "); 4218 addoraclecmds(ESqlStatementType.sstoraclesetrole, TBaseType.rrw_set,"role"," "," "," "," "," "); 4219 addoraclecmds(ESqlStatementType.sstoraclesettransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 4220 addoraclecmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 4221 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_type2," "," "," "," "," "," "); 4222 addoraclecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 4223 4224} 4225 4226void initinformixcmds(){ 4227// cmd must be sort alphabetically 4228 addinformixcmds(ESqlStatementType.sstinformixAllocateCollection, TBaseType.rrw_allocate,"collection"," "," "," "," "," "); 4229 addinformixcmds(ESqlStatementType.sstinformixAllocateDescriptor, TBaseType.rrw_allocate,"descriptor"," "," "," "," "," "); 4230 addinformixcmds(ESqlStatementType.sstinformixAlterAccess_Method, TBaseType.rrw_alter,"access_method"," "," "," "," "," "); 4231 addinformixcmds(ESqlStatementType.sstinformixAlterFragment, TBaseType.rrw_alter,"fragment"," "," "," "," "," "); 4232 addinformixcmds(ESqlStatementType.sstinformixAlterFunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 4233 addinformixcmds(ESqlStatementType.sstinformixAlterIndex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 4234 addinformixcmds(ESqlStatementType.sstinformixAlterProcedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 4235 addinformixcmds(ESqlStatementType.sstinformixAlterRoutine, TBaseType.rrw_alter,"routine"," "," "," "," "," "); 4236 addinformixcmds(ESqlStatementType.sstinformixAlterSecurityLabelComponent, TBaseType.rrw_alter,"security","label","component"," "," "," "); 4237 addinformixcmds(ESqlStatementType.sstinformixAlterSequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 4238 addinformixcmds(ESqlStatementType.sstinformixAlterTable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 4239 addinformixcmds(ESqlStatementType.sstinformixAlterTrustedContext, TBaseType.rrw_alter,"trusted","context"," "," "," "," "); 4240 addinformixcmds(ESqlStatementType.sstinformixAlterUser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 4241 addinformixcmds(ESqlStatementType.sstinformixBegin, TBaseType.rrw_begin," "," "," "," "," "," "); 4242 addinformixcmds(ESqlStatementType.sstinformixClose, TBaseType.rrw_close," "," "," "," "," "," "); 4243 addinformixcmds(ESqlStatementType.sstinformixCloseDatabase, TBaseType.rrw_close,"database"," "," "," "," "," "); 4244 addinformixcmds(ESqlStatementType.sstinformixCommit, TBaseType.rrw_commit," "," "," "," "," "," "); 4245 addinformixcmds(ESqlStatementType.sstinformixConnect, TBaseType.rrw_informix_connect_to," "," "," "," "," "," "); 4246 addinformixcmds(ESqlStatementType.sstinformixCreateAccess_Method, TBaseType.rrw_create,"access_method"," "," "," "," "," "); 4247 addinformixcmds(ESqlStatementType.sstinformixCreateAggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 4248 addinformixcmds(ESqlStatementType.sstinformixCreateCast, TBaseType.rrw_create,"cast"," "," "," "," "," "); 4249 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"cluster","index"," "," "," "," "); 4250 addinformixcmds(ESqlStatementType.sstinformixCreateDatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 4251 addinformixcmds(ESqlStatementType.sstinformixCreateFunction, TBaseType.rrw_create,"dba","function"," "," "," "," "); 4252 addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, TBaseType.rrw_create,"dba","procedure"," "," "," "," "); 4253 addinformixcmds(ESqlStatementType.sstinformixCreateDefaultUser, TBaseType.rrw_create,"default","user"," "," "," "," "); 4254 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"distinct","cluster","index"," "," "," "); 4255 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"distinct","index"," "," "," "," "); 4256 addinformixcmds(ESqlStatementType.sstinformixCreateDistinctType, TBaseType.rrw_create,"distinct","type"," "," "," "," "); 4257 addinformixcmds(ESqlStatementType.sstinformixCreateExternalTable, TBaseType.rrw_create,"external","table"," "," "," "," "); 4258 addinformixcmds(ESqlStatementType.sstinformixCreateFunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 4259 addinformixcmds(ESqlStatementType.sstinformixCreateFunctionFrom, TBaseType.rrw_create,"function","from"," "," "," "," "); 4260 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"index"," "," "," "," "," "); 4261 addinformixcmds(ESqlStatementType.sstinformixCreateOpaqueType, TBaseType.rrw_create,"opaque","type"," "," "," "," "); 4262 addinformixcmds(ESqlStatementType.sstinformixCreateOpclass, TBaseType.rrw_create,"opclass"," "," "," "," "," "); 4263 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"private","synonym"," "," "," "," "); 4264 addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 4265 addinformixcmds(ESqlStatementType.sstinformixCreateProcedureFrom, TBaseType.rrw_create,"procedure","from"," "," "," "," "); 4266 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 4267 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"raw","table"," "," "," "," "); 4268 addinformixcmds(ESqlStatementType.sstinformixCreateRole, TBaseType.rrw_create,"role"," "," "," "," "," "); 4269 addinformixcmds(ESqlStatementType.sstinformixCreateRoutineFrom, TBaseType.rrw_create,"routine","from"," "," "," "," "); 4270 addinformixcmds(ESqlStatementType.sstinformixCreateRowType, TBaseType.rrw_create,"row","type"," "," "," "," "); 4271 addinformixcmds(ESqlStatementType.sstinformixCreateSchema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 4272 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabel, TBaseType.rrw_create,"security","label"," "," "," "," "); 4273 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabelComponent, TBaseType.rrw_create,"security","label","component"," "," "," "); 4274 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityPolicy, TBaseType.rrw_create,"security","policy"," "," "," "," "); 4275 addinformixcmds(ESqlStatementType.sstinformixCreateSequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 4276 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"standard","table"," "," "," "," "); 4277 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 4278 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 4279 addinformixcmds(ESqlStatementType.sstinformixCreateTempTable, TBaseType.rrw_create,"temp","table"," "," "," "," "); 4280 addinformixcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 4281 addinformixcmds(ESqlStatementType.sstinformixCreateTrustedContext, TBaseType.rrw_create,"trusted","context"," "," "," "," "); 4282 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"unique","cluster","index"," "," "," "); 4283 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 4284 addinformixcmds(ESqlStatementType.sstinformixCreateUser, TBaseType.rrw_create,"user"," "," "," "," "," "); 4285 addinformixcmds(ESqlStatementType.sstinformixCreateView, TBaseType.rrw_create,"view"," "," "," "," "," "); 4286 addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasource, TBaseType.rrw_create,"xadatasource"," "," "," "," "," "); 4287 addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasourceType, TBaseType.rrw_create,"xadatasource","type"," "," "," "," "); 4288 //addinformixcmds(ESqlStatementType.sstinformixDatabase, TBaseType.rrw_database," "," "," "," "," "," "); 4289 addinformixcmds(ESqlStatementType.sstinformixDeallocateCollection, TBaseType.rrw_deallocate,"collection"," "," "," "," "," "); 4290 addinformixcmds(ESqlStatementType.sstinformixDeallocateDescriptor, TBaseType.rrw_deallocate, "descriptor"," "," "," "," "," "); 4291 addinformixcmds(ESqlStatementType.sstinformixDeallocateRow, TBaseType.rrw_deallocate,"row"," "," "," "," "," "); 4292 addinformixcmds(ESqlStatementType.sstinformixDeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 4293 addinformixcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 4294 addinformixcmds(ESqlStatementType.sstinformixDescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 4295 addinformixcmds(ESqlStatementType.sstinformixDescribeInput, TBaseType.rrw_describe,"input"," "," "," "," "," "); 4296 addinformixcmds(ESqlStatementType.sstinformixDisconnect, TBaseType.rrw_disconnect," "," "," "," "," "," "); 4297 addinformixcmds(ESqlStatementType.sstinformixDropAccess_Method, TBaseType.rrw_drop,"access_method"," "," "," "," "," "); 4298 addinformixcmds(ESqlStatementType.sstinformixDropAggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 4299 addinformixcmds(ESqlStatementType.sstinformixDropCast, TBaseType.rrw_drop,"cast"," "," "," "," "," "); 4300 addinformixcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 4301 addinformixcmds(ESqlStatementType.sstinformixDropFunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 4302 addinformixcmds(ESqlStatementType.sstinformixDropIndex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 4303 addinformixcmds(ESqlStatementType.sstinformixDropOpclass, TBaseType.rrw_drop,"opclass"," "," "," "," "," "); 4304 addinformixcmds(ESqlStatementType.sstinformixDropProcedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 4305 addinformixcmds(ESqlStatementType.sstinformixDropRole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 4306 addinformixcmds(ESqlStatementType.sstinformixDropRoutine, TBaseType.rrw_drop,"routine"," "," "," "," "," "); 4307 addinformixcmds(ESqlStatementType.sstinformixDropRowType, TBaseType.rrw_drop,"row","type"," "," "," "," "); 4308 addinformixcmds(ESqlStatementType.sstinformixDropSecurity, TBaseType.rrw_drop,"security"," "," "," "," "," "); 4309 addinformixcmds(ESqlStatementType.sstinformixDropSequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 4310 addinformixcmds(ESqlStatementType.sstinformixDropSynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 4311 addinformixcmds(ESqlStatementType.sstinformixDropTable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 4312 addinformixcmds(ESqlStatementType.sstinformixDropTrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 4313 addinformixcmds(ESqlStatementType.sstinformixDropTrustedContext, TBaseType.rrw_drop,"trusted","context"," "," "," "," "); 4314 addinformixcmds(ESqlStatementType.sstinformixDropType, TBaseType.rrw_drop,"type"," "," "," "," "," "); 4315 addinformixcmds(ESqlStatementType.sstinformixDropUser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 4316 addinformixcmds(ESqlStatementType.sstinformixDropView, TBaseType.rrw_drop,"view"," "," "," "," "," "); 4317 addinformixcmds(ESqlStatementType.sstinformixDropXaDatasource, TBaseType.rrw_drop,"xadatasource"," "," "," "," "," "); 4318 addinformixcmds(ESqlStatementType.sstinformixDropXaDatasourceType, TBaseType.rrw_drop,"xadatasource","type"," "," "," "," "); 4319 addinformixcmds(ESqlStatementType.sstinformixExecute, TBaseType.rrw_exec," "," "," "," "," "," "); 4320 addinformixcmds(ESqlStatementType.sstinformixExecute, TBaseType.rrw_execute," "," "," "," "," "," "); 4321 addinformixcmds(ESqlStatementType.sstinformixExecuteFunction, TBaseType.rrw_execute,"function"," "," "," "," "," "); 4322 addinformixcmds(ESqlStatementType.sstinformixExecuteImmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 4323 addinformixcmds(ESqlStatementType.sstinformixExecuteProcedure, TBaseType.rrw_execute,"procedure"," "," "," "," "," "); 4324 addinformixcmds(ESqlStatementType.sstinformixFetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 4325 addinformixcmds(ESqlStatementType.sstinformixFlush, TBaseType.rrw_flush," "," "," "," "," "," "); 4326 addinformixcmds(ESqlStatementType.sstinformixFree, TBaseType.rrw_free," "," "," "," "," "," "); 4327 addinformixcmds(ESqlStatementType.sstinformixGetDescriptor, TBaseType.rrw_get,"descriptor"," "," "," "," "," "); 4328 addinformixcmds(ESqlStatementType.sstinformixGetDiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 4329 addinformixcmds(ESqlStatementType.sstinformixGrant, TBaseType.rrw_grant," "," "," "," "," "," "); 4330 addinformixcmds(ESqlStatementType.sstinformixGrantFragment, TBaseType.rrw_grant,"fragment"," "," "," "," "," "); 4331 addinformixcmds(ESqlStatementType.sstinformixInfo, TBaseType.rrw_informix_info," "," "," "," "," "," "); 4332 addinformixcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 4333 addinformixcmds(ESqlStatementType.sstinformixLoad, TBaseType.rrw_load," "," "," "," "," "," "); 4334 addinformixcmds(ESqlStatementType.sstinformixLockTable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 4335 addinformixcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 4336 addinformixcmds(ESqlStatementType.sstinformixOpen, TBaseType.rrw_open," "," "," "," "," "," "); 4337 addinformixcmds(ESqlStatementType.sstinformixOutput, TBaseType.rrw_informix_output," "," "," "," "," "," "); 4338 addinformixcmds(ESqlStatementType.sstinformixPrepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 4339 addinformixcmds(ESqlStatementType.sstinformixPut, TBaseType.rrw_informix_put," "," "," "," "," "," "); 4340 addinformixcmds(ESqlStatementType.sstinformixReleaseSavepoint, TBaseType.rrw_release,"savepoint"," "," "," "," "," "); 4341 addinformixcmds(ESqlStatementType.sstinformixRenameColumn, TBaseType.rrw_rename,"column"," "," "," "," "," "); 4342 addinformixcmds(ESqlStatementType.sstinformixRenameDatabase, TBaseType.rrw_rename,"database"," "," "," "," "," "); 4343 addinformixcmds(ESqlStatementType.sstinformixRenameIndex, TBaseType.rrw_rename,"index"," "," "," "," "," "); 4344 addinformixcmds(ESqlStatementType.sstinformixRenameSecurity, TBaseType.rrw_rename,"security"," "," "," "," "," "); 4345 addinformixcmds(ESqlStatementType.sstinformixRenameSequence, TBaseType.rrw_rename,"sequence"," "," "," "," "," "); 4346 addinformixcmds(ESqlStatementType.sstinformixRenameTable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 4347 addinformixcmds(ESqlStatementType.sstinformixRenameTrustedContext, TBaseType.rrw_rename,"trusted","context"," "," "," "," "); 4348 addinformixcmds(ESqlStatementType.sstinformixRenameUser, TBaseType.rrw_rename,"user"," "," "," "," "," "); 4349 addinformixcmds(ESqlStatementType.sstinformixRevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 4350 addinformixcmds(ESqlStatementType.sstinformixRevokeFragment, TBaseType.rrw_revoke,"fragment"," "," "," "," "," "); 4351 addinformixcmds(ESqlStatementType.sstinformixRollbackWork, TBaseType.rrw_rollback," "," "," "," "," "," "); 4352 addinformixcmds(ESqlStatementType.sstinformixRollbackWork, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 4353 addinformixcmds(ESqlStatementType.sstinformixSaveExternalDirectives, TBaseType.rrw_save,"external","directives"," "," "," "," "); 4354 addinformixcmds(ESqlStatementType.sstinformixSavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 4355 addinformixcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 4356 addinformixcmds(ESqlStatementType.sstinformixSetAutofree, TBaseType.rrw_set,"autofree"," "," "," "," "," "); 4357 addinformixcmds(ESqlStatementType.sstinformixSetCollation, TBaseType.rrw_set,"collation"," "," "," "," "," "); 4358 addinformixcmds(ESqlStatementType.sstinformixSetConnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 4359 addinformixcmds(ESqlStatementType.sstinformixSetConstraints, TBaseType.rrw_set,"constraints"," "," "," "," "," "); 4360 addinformixcmds(ESqlStatementType.sstinformixSetDatabaseObject, TBaseType.rrw_set,"database","object"," "," "," "," "); 4361 addinformixcmds(ESqlStatementType.sstinformixSetDataskip, TBaseType.rrw_set,"dataskip"," "," "," "," "," "); 4362 addinformixcmds(ESqlStatementType.sstinformixSetDebugFile, TBaseType.rrw_set,"debug","file"," "," "," "," "); 4363 addinformixcmds(ESqlStatementType.sstinformixSetDeferred_Prepare, TBaseType.rrw_set,"defferred_prepare"," "," "," "," "," "); 4364 addinformixcmds(ESqlStatementType.sstinformixSetDescriptor, TBaseType.rrw_set,"descriptor"," "," "," "," "," "); 4365 addinformixcmds(ESqlStatementType.sstinformixSetEncryptionPassword, TBaseType.rrw_set,"encryption","password"," "," "," "," "); 4366 addinformixcmds(ESqlStatementType.sstinformixSetEnvironment, TBaseType.rrw_set,"environment"," "," "," "," "," "); 4367 addinformixcmds(ESqlStatementType.sstinformixSetExplain, TBaseType.rrw_set,"explain"," "," "," "," "," "); 4368 addinformixcmds(ESqlStatementType.sstinformixSetIndexes, TBaseType.rrw_set,"indexes"," "," "," "," "," "); 4369 addinformixcmds(ESqlStatementType.sstinformixSetIsolation, TBaseType.rrw_set,"isolation"," "," "," "," "," "); 4370 addinformixcmds(ESqlStatementType.sstinformixSetLockMode, TBaseType.rrw_set,"lock","mode"," "," "," "," "); 4371 addinformixcmds(ESqlStatementType.sstinformixSetLog, TBaseType.rrw_set,"log"," "," "," "," "," "); 4372 addinformixcmds(ESqlStatementType.sstinformixSetOptimization, TBaseType.rrw_set,"optimization"," "," "," "," "," "); 4373 addinformixcmds(ESqlStatementType.sstinformixSetPDQPriority, TBaseType.rrw_set,"pdqpriority"," "," "," "," "," "); 4374 addinformixcmds(ESqlStatementType.sstinformixSetRole, TBaseType.rrw_set,"role"," "," "," "," "," "); 4375 addinformixcmds(ESqlStatementType.sstinformixSetSessionAuthorization, TBaseType.rrw_set,"session","authorization"," "," "," "," "); 4376 addinformixcmds(ESqlStatementType.sstinformixSetStatementCache, TBaseType.rrw_set,"statement","cache"," "," "," "," "); 4377 addinformixcmds(ESqlStatementType.sstinformixSetTransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 4378 addinformixcmds(ESqlStatementType.sstinformixSetTransactionMode, TBaseType.rrw_set,"transaction","mode"," "," "," "," "); 4379 addinformixcmds(ESqlStatementType.sstinformixSetTriggers, TBaseType.rrw_set,"triggers"," "," "," "," "," "); 4380 addinformixcmds(ESqlStatementType.sstinformixSetUserPassword, TBaseType.rrw_set,"user","password"," "," "," "," "); 4381 addinformixcmds(ESqlStatementType.sstinformixStartViolationsTable, TBaseType.rrw_start,"violations","table"," "," "," "," "); 4382 addinformixcmds(ESqlStatementType.sstinformixStopViolationsTable, TBaseType.rrw_stop,"violations","table"," "," "," "," "); 4383 addinformixcmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 4384 addinformixcmds(ESqlStatementType.sstinformixUnload, TBaseType.rrw_informix_unload," "," "," "," "," "," "); 4385 addinformixcmds(ESqlStatementType.sstinformixUnlockTable, TBaseType.rrw_unlock,"table"," "," "," "," "," "); 4386 addinformixcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 4387 addinformixcmds(ESqlStatementType.sstinformixUpdateStatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 4388 addinformixcmds(ESqlStatementType.sstinformixWhenever, TBaseType.rrw_informix_whenever," "," "," "," "," "," "); 4389} 4390 public void initcouchbasecmds() { 4391 addcouchbasecmds(ESqlStatementType.sstBuildIndex, TBaseType.rrw_couchbase_build, "index"," ", " ", " ", " ", " "); 4392 addcouchbasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 4393 addcouchbasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "primary", "index", " ", " ", " ", " "); 4394 addcouchbasecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 4395 addcouchbasecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 4396 addcouchbasecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "primary", "index", " ", " ", " ", " "); 4397 addcouchbasecmds(ESqlStatementType.sstExecutePreparedStmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 4398 addcouchbasecmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 4399 addcouchbasecmds(ESqlStatementType.sstinfer, TBaseType.rrw_couchbase_infer, " ", " ", " ", " ", " ", " "); 4400 addcouchbasecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4401 addcouchbasecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 4402 addcouchbasecmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 4403 addcouchbasecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4404 addcouchbasecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4405 addcouchbasecmds(ESqlStatementType.sstupsert, TBaseType.rrw_couchbase_upsert, " ", " ", " ", " ", " ", " "); 4406 } 4407 4408 void initverticacmds(){ 4409 4410 addverticacmds(ESqlStatementType.sstActivateDirectedQuery, TBaseType.rrw_vertica_activate, "directed", "query", " ", " ", " ", " "); 4411 4412 addverticacmds(ESqlStatementType.sstAlterAccessPolicy, TBaseType.rrw_alter, "access", "policy", " ", " ", " ", " "); 4413 addverticacmds(ESqlStatementType.sstAlterAuthentication, TBaseType.rrw_alter, "authentication", " ", " ", " ", " ", " "); 4414 addverticacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 4415 addverticacmds(ESqlStatementType.sstAlterFaultGroup, TBaseType.rrw_alter, "fault", "group", " ", " ", " ", " "); 4416 addverticacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 4417 addverticacmds(ESqlStatementType.sstAlterLibrary, TBaseType.rrw_alter, "library", " ", " ", " ", " ", " "); 4418 addverticacmds(ESqlStatementType.sstAlterNode, TBaseType.rrw_alter, "node", " ", " ", " ", " ", " "); 4419 addverticacmds(ESqlStatementType.sstAlterNetworkInterface, TBaseType.rrw_alter, "network", "interface", " ", " ", " ", " "); 4420 addverticacmds(ESqlStatementType.sstAlterProjection, TBaseType.rrw_alter, "projection", " ", " ", " ", " ", " "); 4421 addverticacmds(ESqlStatementType.sstAlterProfile, TBaseType.rrw_alter, "profile", " ", " ", " ", " ", " "); 4422 addverticacmds(ESqlStatementType.sstAlterResourcePool, TBaseType.rrw_alter, "resource", "pool", " ", " ", " ", " "); 4423 addverticacmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 4424 addverticacmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 4425 addverticacmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 4426 addverticacmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 4427 addverticacmds(ESqlStatementType.sstAlterSubnet, TBaseType.rrw_alter, "subnet", " ", " ", " ", " ", " "); 4428 addverticacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 4429 addverticacmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 4430 addverticacmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 4431 4432 addverticacmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 4433 addverticacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 4434 4435 addverticacmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 4436 addverticacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 4437 addverticacmds(ESqlStatementType.sstconnect, TBaseType.rrw_connect, "to", " ", " ", " ", " ", " "); 4438 addverticacmds(ESqlStatementType.sstCopy, TBaseType.rrw_vertica_copy, " ", " ", " ", " ", " ", " "); 4439 4440 addverticacmds(ESqlStatementType.sstCreateAccessPolicy, TBaseType.rrw_create, "access", "policy", " ", " ", " ", " "); 4441 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "aggregate", "function", " ", " ", " ", " "); 4442 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "analytic", "function", " ", " ", " ", " "); 4443 addverticacmds(ESqlStatementType.sstCreateAuthentication, TBaseType.rrw_create, "authentication", " ", " ", " ", " ", " "); 4444 addverticacmds(ESqlStatementType.sstCreateDirectedQuery, TBaseType.rrw_create, "directed", "query", " ", " ", " ", " "); 4445 addverticacmds(ESqlStatementType.sstCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 4446 addverticacmds(ESqlStatementType.sstCreateFaultGroup, TBaseType.rrw_create , "fault", "group", " ", " ", " ", " "); 4447 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "filter", " ", " ", " ", " ", " "); 4448 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flex", "table", " ", " ", " ", " "); 4449 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flexible", "table", " ", " ", " ", " "); 4450 4451 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "function", " ", " ", " ", " ", " "); 4452 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "global", "temp", "table", " ", " ", " "); 4453 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "global", "temporary", "table", " ", " ", " "); 4454 addverticacmds(ESqlStatementType.sstCreateHCatalogSchema, TBaseType.rrw_create , "hcatalog", "schema", " ", " ", " ", " "); 4455 addverticacmds(ESqlStatementType.sstCreateLibrary, TBaseType.rrw_create, "library", " ", " ", " ", " ", " "); 4456 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "local", "temp", "table", " ", " ", " "); 4457 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "local", "temp", "view", " ", " ", " "); 4458 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "local", "temporary", "table", " ", " ", " "); 4459 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "local", "temporary", "view", " ", " ", " "); 4460 addverticacmds(ESqlStatementType.sstCreateLocation, TBaseType.rrw_create , "location", " ", " ", " ", " ", " "); 4461 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "managed", "external", "table", " ", " ", " "); 4462 addverticacmds(ESqlStatementType.sstCreateNetworkInterface, TBaseType.rrw_create, "network", "interface", " ", " ", " ", " "); 4463 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "or", "replace", "aggregate", "function", " ", " "); 4464 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "or", "replace", "function", " ", " ", " "); 4465 addverticacmds(ESqlStatementType.sstCreateLibrary, TBaseType.rrw_create , "or", "replace", "library", " ", " ", " "); 4466 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "local", "temp", "view", " "); 4467 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "local", "temporary", "view", " "); 4468 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "view", " ", " ", " "); 4469 addverticacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create , "or", "replace", "procedure", " ", " ", " "); 4470 4471 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "parser", " ", " ", " ", " ", " "); 4472 addverticacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create , "procedure", " ", " ", " ", " ", " "); 4473 addverticacmds(ESqlStatementType.sstCreateProfile, TBaseType.rrw_create , "profile", " ", " ", " ", " ", " "); 4474 addverticacmds(ESqlStatementType.sstCreateProjection, TBaseType.rrw_create , "projection", " ", " ", " ", " ", " "); 4475 addverticacmds(ESqlStatementType.sstCreateResourcePool, TBaseType.rrw_create , "resource", "pool", " ", " ", " ", " "); 4476 addverticacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create , "role", " ", " ", " ", " ", " "); 4477 addverticacmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create , "schema", " ", " ", " ", " ", " "); 4478 addverticacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create , "sequence", " ", " ", " ", " ", " "); 4479 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "source", " ", " ", " ", " ", " "); 4480 addverticacmds(ESqlStatementType.sstCreateSubnet, TBaseType.rrw_create , "subnet", " ", " ", " ", " ", " "); 4481 4482 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "table", " ", " ", " ", " ", " "); 4483 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "temp", "table", " ", " ", " ", " "); 4484 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "temporary", "table", " ", " ", " ", " "); 4485 addverticacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create , "text", "index", " ", " ", " ", " "); 4486 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "transform", "function", " ", " ", " ", " "); 4487 addverticacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create , "user", " ", " ", " ", " ", " "); 4488 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "view", " ", " ", " ", " ", " "); 4489 4490 addverticacmds(ESqlStatementType.sstDeActivateDirectedQuery, TBaseType.rrw_vertica_deactivate, "directed", "query", " ", " ", " ", " "); 4491 4492 addverticacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete , " ", " ", " ", " ", " ", " "); 4493 addverticacmds(ESqlStatementType.sstDisconnect, TBaseType.rrw_disconnect , " ", " ", " ", " ", " ", " "); 4494 4495 addverticacmds(ESqlStatementType.sstDeActivateDirectedQuery, TBaseType.rrw_drop, "directed", "query", " ", " ", " ", " "); 4496 addverticacmds(ESqlStatementType.sstDropAccessPolicy, TBaseType.rrw_drop, "access","policy", " ", " ", " ", " "); 4497 addverticacmds(ESqlStatementType.sstDropAggregateFunction, TBaseType.rrw_drop, "aggregate","function", " ", " ", " ", " "); 4498 addverticacmds(ESqlStatementType.sstDropAuthentication, TBaseType.rrw_drop, "authentication"," ", " ", " ", " ", " "); 4499 4500 addverticacmds(ESqlStatementType.sstDropFaultGroup, TBaseType.rrw_drop, "fault","group", " ", " ", " ", " "); 4501 4502 addverticacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," ", " ", " ", " ", " "); 4503 addverticacmds(ESqlStatementType.sstDropLibrary, TBaseType.rrw_drop, "library"," ", " ", " ", " ", " "); 4504 addverticacmds(ESqlStatementType.sstDropNetworkInterface, TBaseType.rrw_drop, "network","interface", " ", " ", " ", " "); 4505 addverticacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure"," ", " ", " ", " ", " "); 4506 addverticacmds(ESqlStatementType.sstDropProfile, TBaseType.rrw_drop, "profile"," ", " ", " ", " ", " "); 4507 addverticacmds(ESqlStatementType.sstDropProjection, TBaseType.rrw_drop, "projection"," ", " ", " ", " ", " "); 4508 addverticacmds(ESqlStatementType.sstDropResourcePool, TBaseType.rrw_drop, "resource","pool", " ", " ", " ", " "); 4509 addverticacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," ", " ", " ", " ", " "); 4510 addverticacmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," ", " ", " ", " ", " "); 4511 addverticacmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop, "sequence"," ", " ", " ", " ", " "); 4512 addverticacmds(ESqlStatementType.sstDropSubnet, TBaseType.rrw_drop, "subnet"," ", " ", " ", " ", " "); 4513 addverticacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," ", " ", " ", " ", " "); 4514 addverticacmds(ESqlStatementType.sstDropTextIndex, TBaseType.rrw_drop, "text","index", " ", " ", " ", " "); 4515 addverticacmds(ESqlStatementType.sstDropTransformFunction, TBaseType.rrw_drop, "transform","function", " ", " ", " ", " "); 4516 addverticacmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user"," ", " ", " ", " ", " "); 4517 addverticacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," ", " ", " ", " ", " "); 4518 4519 addverticacmds(ESqlStatementType.sstEnd, TBaseType.rrw_end, " ", " "," ", " ", " ", " "); 4520 addverticacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " "," ", " ", " ", " "); 4521 addverticacmds(ESqlStatementType.sstExportToVertica, TBaseType.rrw_vertica_export, "to", "vertica"," ", " ", " ", " "); 4522 addverticacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " "," ", " ", " ", " "); 4523 addverticacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " "," ", " ", " ", " "); 4524 addverticacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " "," ", " ", " ", " "); 4525 addverticacmds(ESqlStatementType.sstProfile, TBaseType.rrw_vertica_profile, " ", " "," ", " ", " ", " "); 4526 addverticacmds(ESqlStatementType.sstReleaseSavepoint, TBaseType.rrw_release, " ", " "," ", " ", " ", " "); 4527 addverticacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " "," ", " ", " ", " "); 4528 addverticacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " "," ", " ", " ", " "); 4529 addverticacmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " "," ", " ", " ", " "); 4530 addverticacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " "," ", " ", " ", " "); 4531 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "datestyle", "to"," ", " ", " ", " "); 4532 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "escape_string_warning", "to"," ", " ", " ", " "); 4533 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "intervalstyle", "to"," ", " ", " ", " "); 4534 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "locale", " "," ", " ", " ", " "); 4535 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role", " "," ", " ", " ", " "); 4536 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "search_path", " "," ", " ", " ", " "); 4537 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session", " "," ", " ", " ", " "); 4538 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "standard_conforming_strings", " "," ", " ", " ", " "); 4539 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "time", "zone"," ", " ", " ", " "); 4540 addverticacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, " ", " "," ", " ", " ", " "); 4541 addverticacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, " ", " "," ", " ", " ", " "); 4542 addverticacmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, "table", " "," ", " ", " ", " "); 4543 addverticacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " "," ", " ", " ", " "); 4544 4545 4546 // addverticacmds(ESqlStatementType.sstGetDirectedQuery, TBaseType.rrw_get, "directed", "query", " ", " ", " ", " "); 4547 // addverticacmds(ESqlStatementType.sstSaveQuery, TBaseType.rrw_save, "query", " "," ", " ", " ", " "); 4548 4549 } 4550 4551 void inithanacmds(){ 4552//alter 4553 addhanacmds(ESqlStatementType.sstalterauditpolicy, TBaseType.rrw_alter, "audit", "policy", " ", " ", " ", " "); 4554 addhanacmds(ESqlStatementType.sstaltercredential, TBaseType.rrw_alter, "credential", " ", " ", " ", " ", " "); 4555 addhanacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 4556 addhanacmds(ESqlStatementType.sstalterfulltextindex, TBaseType.rrw_alter, "fulltext", "index", " ", " ", " ", " "); 4557 addhanacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 4558 addhanacmds(ESqlStatementType.sstalterindex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 4559 addhanacmds(ESqlStatementType.sstalterldapprovider, TBaseType.rrw_alter, "ldap", "provider", " ", " ", " ", " "); 4560 addhanacmds(ESqlStatementType.sstalterjwtprovider, TBaseType.rrw_alter, "jwt", "provider", " ", " ", " ", " "); 4561 addhanacmds(ESqlStatementType.sstalterpse, TBaseType.rrw_alter, "pse", " ", " ", " ", " ", " "); 4562 addhanacmds(ESqlStatementType.sstalterprocedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 4563 addhanacmds(ESqlStatementType.sstalterremotesource, TBaseType.rrw_alter, "remote", "source", " ", " ", " ", " "); 4564 addhanacmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 4565 addhanacmds(ESqlStatementType.sstaltersamlprovider, TBaseType.rrw_alter, "saml", "provider", " ", " ", " ", " "); 4566 addhanacmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 4567 addhanacmds(ESqlStatementType.sstalterstatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 4568 addhanacmds(ESqlStatementType.sstalterstructuredprivilege, TBaseType.rrw_alter, "structured", "privilege", " ", " ", " ", " "); 4569 addhanacmds(ESqlStatementType.sstaltersystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 4570 addhanacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 4571 addhanacmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 4572 addhanacmds(ESqlStatementType.sstalterusergroup, TBaseType.rrw_alter, "usergroup", " ", " ", " ", " ", " "); 4573 addhanacmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 4574 addhanacmds(ESqlStatementType.sstalterviewcache, TBaseType.rrw_alter, "view", "cache", " ", " ", " ", " "); 4575 addhanacmds(ESqlStatementType.sstaltervirtualtable, TBaseType.rrw_alter, "virtual", "table", " ", " ", " ", " "); 4576 addhanacmds(ESqlStatementType.sstalterworkloadclass, TBaseType.rrw_alter, "workload", "class", " ", " ", " ", " "); 4577 addhanacmds(ESqlStatementType.sstalterworkloadmapping, TBaseType.rrw_alter, "workload", "mapping", " ", " ", " ", " "); 4578 4579//backup 4580 addhanacmds(ESqlStatementType.sstbackupcancel, TBaseType.rrw_backup,"cancel"," "," "," "," "," "); 4581 addhanacmds(ESqlStatementType.sstbackupcatalogdelete, TBaseType.rrw_backup, "catalog", "delete", " ", " ", " ", " "); 4582 addhanacmds(ESqlStatementType.sstbackupcheck, TBaseType.rrw_backup,"check"," "," "," "," "," "); 4583 addhanacmds(ESqlStatementType.sstbackupcheckaccess, TBaseType.rrw_backup, "check", "access", " ", " ", " ", " "); 4584 addhanacmds(ESqlStatementType.sstbackupdata, TBaseType.rrw_backup, "data", " ", " ", " ", " ", " "); 4585 addhanacmds(ESqlStatementType.sstbackuplistdata, TBaseType.rrw_backup, "list", "data", " ", " ", " ", " "); 4586 4587 addhanacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 4588 4589//commit 4590 addhanacmds(ESqlStatementType.sstcomment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 4591 addhanacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 4592 addhanacmds(ESqlStatementType.sstconnect, TBaseType.rrw_connect, " ", " ", " ", " ", " ", " "); 4593 4594//create 4595 addhanacmds(ESqlStatementType.sstcreateauditpolicy, TBaseType.rrw_create, "audit", "policy", " ", " ", " ", " "); 4596 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "btree", "index", " ", " ", " ", " "); 4597 addhanacmds(ESqlStatementType.sstcreatecertificate, TBaseType.rrw_create, "certificate", " ", " ", " ", " ", " "); 4598 addhanacmds(ESqlStatementType.sstcreatecollection, TBaseType.rrw_create, "collection", " ", " ", " ", " ", " "); 4599 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "column", "table", " ", " ", " ", " "); 4600 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "cpbtree", "index", " ", " ", " ", " "); 4601 addhanacmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create, "credential", " ", " ", " ", " ", " "); 4602 addhanacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 4603 addhanacmds(ESqlStatementType.sstcreatefulltextindex, TBaseType.rrw_create, "fulltext", "index", " ", " ", " ", " "); 4604 addhanacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 4605 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "column", "table", " ", " "); 4606 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 4607 addhanacmds(ESqlStatementType.sstcreategraphworkspace, TBaseType.rrw_create, "graph", "workspace", " ", " ", " ", " "); 4608 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"history","column","table"," "," "," "); 4609 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 4610 addhanacmds(ESqlStatementType.sstcreateJWTProvider, TBaseType.rrw_create, "jwt", "provider", " ", " ", " ", " "); 4611 addhanacmds(ESqlStatementType.sstcreateLDAPProvider, TBaseType.rrw_create, "ldap", "provider", " ", " ", " ", " "); 4612 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"local","temporary","column","table"," "," "); 4613 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 4614 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "force", "editionable", "view", " "); 4615 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "or", "replace", "public", "synonym", " ", " "); 4616 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "or", "replace", "synonym", " ", " ", " "); 4617 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 4618 addhanacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 4619 addhanacmds(ESqlStatementType.sstcreatepse, TBaseType.rrw_create, "pse", " ", " ", " ", " ", " "); 4620 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "public", "synonym", " ", " ", " ", " "); 4621 addhanacmds(ESqlStatementType.sstcreateremotesource, TBaseType.rrw_create, "remote", "source", " ", " ", " ", " "); 4622 addhanacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "restricted", "user", " ", " ", " ", " "); 4623 addhanacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 4624 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "row", "table", " ", " ", " ", " "); 4625 addhanacmds(ESqlStatementType.sstcreatesamlprovider, TBaseType.rrw_create, "saml", "provider", " ", " ", " ", " "); 4626 addhanacmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 4627 addhanacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 4628 addhanacmds(ESqlStatementType.sstcreatestatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 4629 addhanacmds(ESqlStatementType.sstcreatestructuredprivilege, TBaseType.rrw_create, "structured", "privilege", " ", " ", " ", " "); 4630 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "synonym", " ", " ", " ", " ", " "); 4631 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 4632 addhanacmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 4633 addhanacmds(ESqlStatementType.sstcreatetype, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 4634 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 4635 addhanacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 4636 addhanacmds(ESqlStatementType.sstcreateusergroup, TBaseType.rrw_create, "usergroup", " ", " ", " ", " ", " "); 4637 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 4638 addhanacmds(ESqlStatementType.sstcreatevirtualfunction, TBaseType.rrw_create, "virtual", "function", " ", " ", " ", " "); 4639 addhanacmds(ESqlStatementType.sstcreatevirtualtable, TBaseType.rrw_create, "virtual", "table", " ", " ", " ", " "); 4640 addhanacmds(ESqlStatementType.sstcreateworkloadclass, TBaseType.rrw_create, "workload", "class", " ", " ", " ", " "); 4641 addhanacmds(ESqlStatementType.sstcreateworkloadmapping, TBaseType.rrw_create, "workload", "mapping", " ", " ", " ", " "); 4642 4643//DELETE 4644 addhanacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 4645 4646 addhanacmds(ESqlStatementType.sstdobeginend, TBaseType.rrw_do, "begin", " ", " ", " ", " ", " "); 4647 4648//drop 4649 addhanacmds(ESqlStatementType.sstdropauditpolicy, TBaseType.rrw_drop, "audit", "policy", " ", " ", " ", " "); 4650 addhanacmds(ESqlStatementType.sstdropcertificate, TBaseType.rrw_drop, "certificate", " ", " ", " ", " ", " "); 4651 addhanacmds(ESqlStatementType.sstdropcollection, TBaseType.rrw_drop, "collection", " ", " ", " ", " ", " "); 4652 addhanacmds(ESqlStatementType.sstdropcredential, TBaseType.rrw_drop, "credential", " ", " ", " ", " ", " "); 4653 addhanacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 4654 addhanacmds(ESqlStatementType.sstdropfulltextindex, TBaseType.rrw_drop, "fulltext", "index", " ", " ", " ", " "); 4655 addhanacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 4656 addhanacmds(ESqlStatementType.sstdropgraphworkspace, TBaseType.rrw_drop, "graph", "workspace", " ", " ", " ", " "); 4657 addhanacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 4658 addhanacmds(ESqlStatementType.sstdropJWTProvider, TBaseType.rrw_drop, "jwt", "provider", " ", " ", " ", " "); 4659 addhanacmds(ESqlStatementType.sstdropLDAPProvider, TBaseType.rrw_drop, "ldap", "provider", " ", " ", " ", " "); 4660 addhanacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 4661 addhanacmds(ESqlStatementType.sstdroppse, TBaseType.rrw_drop, "pse", " ", " ", " ", " ", " "); 4662 addhanacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "public", "synonym", " ", " ", " ", " "); 4663 addhanacmds(ESqlStatementType.sstdropremotesource, TBaseType.rrw_drop, "remote", "source", " ", " ", " ", " "); 4664 addhanacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 4665 addhanacmds(ESqlStatementType.sstdropsamlprovider, TBaseType.rrw_drop, "saml", "provider", " ", " ", " ", " "); 4666 addhanacmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 4667 addhanacmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 4668 addhanacmds(ESqlStatementType.sstdropstatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 4669 addhanacmds(ESqlStatementType.sstdropstructuredprivilege, TBaseType.rrw_drop, "structured", "privilege", " ", " ", " ", " "); 4670 addhanacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "synonym", " ", " ", " ", " ", " "); 4671 addhanacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 4672 addhanacmds(ESqlStatementType.sstdroptrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 4673 addhanacmds(ESqlStatementType.sstdroptype, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 4674 addhanacmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 4675 addhanacmds(ESqlStatementType.sstdropusergroup, TBaseType.rrw_drop, "usergroup", " ", " ", " ", " ", " "); 4676 addhanacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 4677 addhanacmds(ESqlStatementType.sstdropworkloadclass, TBaseType.rrw_drop, "workload", "class", " ", " ", " ", " "); 4678 addhanacmds(ESqlStatementType.sstdropworkloadmapping, TBaseType.rrw_drop, "workload", "mapping", " ", " ", " ", " "); 4679 4680 addhanacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, "plan", " ", " ", " ", " ", " "); 4681 addhanacmds(ESqlStatementType.sstexport, TBaseType.rrw_hana_export, " ", " ", " ", " ", " ", " "); 4682 4683//GRANT 4684 addhanacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 4685 4686 addhanacmds(ESqlStatementType.sstimport, TBaseType.rrw_hana_import, " ", " ", " ", " ", " ", " "); 4687 addhanacmds(ESqlStatementType.sstimportfrom, TBaseType.rrw_hana_import, "from", " ", " ", " ", " ", " "); 4688 addhanacmds(ESqlStatementType.sstimportscan, TBaseType.rrw_hana_import, "scan", " ", " ", " ", " ", " "); 4689 4690//insert 4691 addhanacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4692 4693// 4694 addhanacmds(ESqlStatementType.sstload, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 4695 addhanacmds(ESqlStatementType.sstlocktable, TBaseType.rrw_lock, "table", " ", " ", " ", " ", " "); 4696 4697 addhanacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, "into", " ", " ", " ", " ", " "); 4698 4699 addhanacmds(ESqlStatementType.sstmergedelta, TBaseType.rrw_merge, "delta", " ", " ", " ", " ", " "); 4700 addhanacmds(ESqlStatementType.sstmergedelta, TBaseType.rrw_merge,"history","delta"," "," "," "," "); 4701 4702 addhanacmds(ESqlStatementType.sstrecoverdata, TBaseType.rrw_hana_recover,"data"," "," "," "," "," "); 4703 addhanacmds(ESqlStatementType.sstrecoverdatabase, TBaseType.rrw_hana_recover, "database", " ", " ", " ", " ", " "); 4704 addhanacmds(ESqlStatementType.sstrefreshstatistics, TBaseType.rrw_refresh, "statistics", " ", " ", " ", " ", " "); 4705 addhanacmds(ESqlStatementType.sstrenamecollection, TBaseType.rrw_rename,"collection"," "," "," "," "," "); 4706 addhanacmds(ESqlStatementType.sstrenamecolumn, TBaseType.rrw_rename,"column"," "," "," "," "," "); 4707 addhanacmds(ESqlStatementType.sstrenamedatabase, TBaseType.rrw_rename,"database"," "," "," "," "," "); 4708 addhanacmds(ESqlStatementType.sstrenameindex, TBaseType.rrw_rename,"index"," "," "," "," "," "); 4709 addhanacmds(ESqlStatementType.sstrenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 4710 addhanacmds(ESqlStatementType.sstreplace, TBaseType.rrw_replace, " ", " ", " ", " ", " ", " "); 4711 4712 addhanacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 4713 4714 addhanacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 4715 4716 addhanacmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 4717//SELECT 4718 addhanacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4719 4720//SET 4721 addhanacmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 4722 addhanacmds(ESqlStatementType.sssethistorysession, TBaseType.rrw_set, "history", "session", " ", " ", " ", " "); 4723 addhanacmds(ESqlStatementType.sstsetpse, TBaseType.rrw_set, "pse", " ", " ", " ", " ", " "); 4724 addhanacmds(ESqlStatementType.sstsetschema, TBaseType.rrw_set, "schema", " ", " ", " ", " ", " "); 4725 addhanacmds(ESqlStatementType.sstsetsystemlicense, TBaseType.rrw_set, "system", "license", " ", " ", " ", " "); 4726 addhanacmds(ESqlStatementType.sstsettransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 4727 addhanacmds(ESqlStatementType.sstsettransactionautocommit, TBaseType.rrw_set, "transaction", "autocommit", " ", " ", " ", " "); 4728 4729 addhanacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 4730 4731 4732//TRUNCATE TABLE 4733 addhanacmds(ESqlStatementType.ssttruncatecollection, TBaseType.rrw_truncate, "collection", " ", " ", " ", " ", " "); 4734 addhanacmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table", " ", " ", " ", " ", " "); 4735 addhanacmds(ESqlStatementType.sstunload, TBaseType.rrw_hana_unload, " ", " ", " ", " ", " ", " "); 4736 addhanacmds(ESqlStatementType.sstunset, TBaseType.rrw_hana_unset, " ", " ", " ", " ", " ", " "); 4737 addhanacmds(ESqlStatementType.sstunsetpse, TBaseType.rrw_hana_unset, "pse", " ", " ", " ", " ", " "); 4738 addhanacmds(ESqlStatementType.sstunsetsystemlicense, TBaseType.rrw_hana_unset, "system", "license", " ", " ", " ", " "); 4739 4740//UPDATE 4741 addhanacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4742 4743 addhanacmds(ESqlStatementType.sstupsert, TBaseType.rrw_hana_upsert, " ", " ", " ", " ", " ", " "); 4744 addhanacmds(ESqlStatementType.sstvalidateLDAPProvider, TBaseType.rrw_hana_validate, "ldap", "provider", " ", " ", " ", " "); 4745 addhanacmds(ESqlStatementType.sstvalidateUser, TBaseType.rrw_hana_validate, "user", " ", " ", " ", " ", " "); 4746 4747 } 4748 4749ESqlStatementType findsybasecmd(TSourceToken ptoken){ 4750 if (sybasecmds.size() == 0) {initsybasecmds();} 4751 return finddbcmd(ptoken,sybasecmds); 4752} 4753 4754 ESqlStatementType findmssqlcmd(TSourceToken ptoken){ 4755 if (mssqlcmds.size() == 0) {initmssqlcmds();} 4756 return finddbcmd(ptoken,mssqlcmds); 4757 } 4758 4759 ESqlStatementType findteradatacmd(TSourceToken ptoken){ 4760 if (teradatacmds.size() == 0) {initteradatacmds();} 4761 return finddbcmd(ptoken,teradatacmds); 4762} 4763 4764ESqlStatementType findpostgresqlcmd(TSourceToken ptoken){ 4765 if (postgresqlcmds.size() == 0) {initpostgresqlcmds();} 4766 return finddbcmd(ptoken,postgresqlcmds); 4767} 4768 4769 ESqlStatementType findredshiftcmd(TSourceToken ptoken){ 4770 if (redshiftcmds.size() == 0) {initredshiftcmds();} 4771 return finddbcmd(ptoken,redshiftcmds); 4772 } 4773 4774 4775 ESqlStatementType findgreenplumcmd(TSourceToken ptoken){ 4776 if (greenplumcmds.size() == 0) {initgreenplumcmds();} 4777 return finddbcmd(ptoken,greenplumcmds); 4778} 4779 4780 4781ESqlStatementType findnetezzacmd(TSourceToken ptoken){ 4782 if (netezzacmds.size() == 0) {initnetezzacmds();} 4783 return finddbcmd(ptoken,netezzacmds); 4784} 4785 4786ESqlStatementType findsparksqlcmd(TSourceToken ptoken){ 4787 if (sparksqlcmds.size() == 0) {initsparksqlcmds();} 4788 return finddbcmd(ptoken,sparksqlcmds); 4789 } 4790 4791ESqlStatementType finddatabrickscmd(TSourceToken ptoken){ 4792 if (databrickscmds.size() == 0) {initdatabrickscmds();} 4793 return finddbcmd(ptoken,databrickscmds); 4794} 4795 ESqlStatementType findgaussdbcmd(TSourceToken ptoken){ 4796 if (gaussdbcmds.size() == 0) {initgaussdbcmds();} 4797 return finddbcmd(ptoken,gaussdbcmds); 4798 } 4799ESqlStatementType findprestocmd(TSourceToken ptoken){ 4800 if (prestocmds.size() == 0) {initprestocmds();} 4801 return finddbcmd(ptoken,prestocmds); 4802} 4803 4804ESqlStatementType findathenacmd(TSourceToken ptoken){ 4805 if (athenacmds.size() == 0) {initathenacmds();} 4806 return finddbcmd(ptoken,athenacmds); 4807} 4808 4809ESqlStatementType findmysqlcmd(TSourceToken ptoken){ 4810 if (mysqlcmds.size() == 0) {initmysqlcmds();} 4811 return finddbcmd(ptoken,mysqlcmds); 4812} 4813 4814ESqlStatementType findhivecmd(TSourceToken ptoken){ 4815 if (hivecmds.size() == 0) {inithivecmds();} 4816 return finddbcmd(ptoken,hivecmds); 4817 } 4818 4819ESqlStatementType finddb2cmd(TSourceToken ptoken){ 4820 if (db2cmds.size() == 0) {initdb2cmds();} 4821 return finddbcmd(ptoken,db2cmds); 4822 } 4823 4824 4825ESqlStatementType findoraclecmd(TSourceToken ptoken){ 4826 if (oraclecmds.size() == 0) {initoraclecmds();} 4827 return finddbcmd(ptoken,oraclecmds); 4828 } 4829 4830ESqlStatementType findmdxcmd(TSourceToken ptoken){ 4831 if (mdxcmds.size() == 0) {initmdxcmds();} 4832 return finddbcmd(ptoken,mdxcmds); 4833 } 4834 4835ESqlStatementType findinformixcmd(TSourceToken ptoken){ 4836 if (informixcmds.size() == 0) {initinformixcmds();} 4837 return finddbcmd(ptoken,informixcmds); 4838 } 4839 4840ESqlStatementType findhanacmd(TSourceToken ptoken){ 4841 if (hanacmds.size() == 0) {inithanacmds();} 4842 return finddbcmd(ptoken,hanacmds); 4843} 4844 4845ESqlStatementType findverticacmd(TSourceToken ptoken){ 4846 if (verticacmds.size() == 0) {initverticacmds();} 4847 return finddbcmd(ptoken,verticacmds); 4848} 4849 4850ESqlStatementType findcouchbasecmd(TSourceToken ptoken){ 4851 if (couchbasecmds.size() == 0) {initcouchbasecmds();} 4852 return finddbcmd(ptoken,couchbasecmds); 4853} 4854 4855ESqlStatementType findsnowflakecmd(TSourceToken ptoken){ 4856 if (snowflakecmds.size() == 0) {initsnowflakecmds();} 4857 return finddbcmd(ptoken,snowflakecmds); 4858} 4859 4860ESqlStatementType findbigquerycmd(TSourceToken ptoken){ 4861 if (bigquerycmds.size() == 0) {initbigquerycmds();} 4862 return finddbcmd(ptoken,bigquerycmds); 4863} 4864 4865TCustomSqlStatement isnetezza(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 4866 TCustomSqlStatement ret = null; 4867 4868 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 4869 4870 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 4871 || (pcst.tokencode == TBaseType.cmtslashstar) 4872 || (pcst.tokencode == TBaseType.lexspace) 4873 || (pcst.tokencode == TBaseType.lexnewline) 4874 || (pcst.tokentype == ETokenType.ttsemicolon) ) 4875 { 4876 return null; 4877 } 4878 4879 int lcpos = pcst.posinlist; 4880 TSourceTokenList lcsourcetokenlist = pcst.container; 4881 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 4882 4883 //subquery after semicolon or at first line 4884 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 4885 { 4886 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 4887 if ( k >0 ) 4888 { 4889 ret = new TSelectSqlStatement(pdbvendor); 4890 } 4891 4892 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); // ( with 4893 if ( k >0 ) 4894 { 4895 ret = new TSelectSqlStatement(pdbvendor); 4896 } 4897 4898 return ret; 4899 } 4900 4901 //cte 4902 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 4903 { 4904 ret = findcte(pcst,pdbvendor); 4905 if ( (ret != null) ) return ret; 4906 } 4907 4908 gnewsqlstatementtype = findnetezzacmd(pcst); 4909 4910 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4911 switch (gnewsqlstatementtype) { // 4912 case sstinvalid: 4913 { 4914 ret = null; 4915 4916 if ( pstate == EFindSqlStateType.stnormal ) 4917 { 4918 } 4919 break; 4920 } 4921 case sstselect: 4922 { 4923 boolean lcisnewsql = true; 4924 4925 if ( pstate != EFindSqlStateType.stnormal ) 4926 { 4927 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4928 if ( (lcprevsolidtoken != null) ) 4929 { 4930 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 4931 lcisnewsql = false; //subqery 4932 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 4933 lcisnewsql = false; 4934 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 4935 lcisnewsql = false; 4936 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 4937 lcisnewsql = false; 4938 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 4939 lcisnewsql = false; 4940 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 4941 lcisnewsql = false; 4942 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 4943 { 4944 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 4945 lcisnewsql = false; 4946 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 4947 lcisnewsql = false; 4948 } 4949 4950 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 4951 { 4952 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 4953 if ( (lcpprevsolidtoken != null) ) 4954 { 4955 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 4956 lcisnewsql = false; 4957 } 4958 } 4959 4960 } 4961 4962 4963 if ( (lccurrentsqlstatement != null) ) 4964 { 4965 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 4966 lcisnewsql = false; 4967 } 4968 4969 } 4970 4971 if ( lcisnewsql ) 4972 ret = new TSelectSqlStatement(pdbvendor); 4973 4974 break; 4975 } 4976 case sstinsert: 4977 { 4978 boolean lcisnewsql = true; 4979 if ( pstate != EFindSqlStateType.stnormal ) 4980 { 4981 if ( (lccurrentsqlstatement != null) ) 4982 { 4983 4984 } 4985 } 4986 4987 if ( lcisnewsql ) 4988 ret = new TInsertSqlStatement(pdbvendor); 4989 4990 break; 4991 } 4992 case sstupdate: 4993 { 4994 boolean lcisnewsql = true; 4995 if ( pstate != EFindSqlStateType.stnormal ) 4996 { 4997 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4998 if ( (lcprevsolidtoken != null) ) 4999 { // 5000 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5001 lcisnewsql = false; 5002 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5003 lcisnewsql = false; 5004 } 5005 5006 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5007 if ( (lcnextsolidtoken != null) ) 5008 { 5009 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5010 { 5011 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5012 if ( k == 0 ) lcisnewsql = false; 5013 } 5014 } 5015 5016 5017 if ( (lccurrentsqlstatement != null) ) 5018 { 5019 } 5020 } 5021 5022 if ( lcisnewsql ) 5023 { 5024 ret = new TUpdateSqlStatement(pdbvendor); 5025 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5026 } 5027 break; 5028 } 5029 case sstdelete: 5030 { 5031 boolean lcisnewsql = true; 5032 5033 if ( pstate != EFindSqlStateType.stnormal ) 5034 { 5035 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5036 if ( (lcprevsolidtoken != null) ) 5037 { 5038 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5039 lcisnewsql = false; 5040 } 5041 5042 if ( (lccurrentsqlstatement != null) ) 5043 { 5044 } 5045 } 5046 5047 if ( lcisnewsql ) 5048 ret = new TDeleteSqlStatement(pdbvendor); 5049 5050 break; 5051 } 5052 case sstTruncate: 5053 { 5054 ret = new TTruncateStatement(pdbvendor); 5055 ret.sqlstatementtype = gnewsqlstatementtype; 5056 break; 5057 } 5058 case sstcreatetable: 5059 case sstnetezzaCreateExternalTable: 5060 { 5061 ret = new TCreateTableSqlStatement(pdbvendor); 5062 break; 5063 } 5064 case sstcreateview: 5065 { 5066 ret = new TCreateViewSqlStatement(pdbvendor); 5067 break; 5068 } 5069 case sstcreatematerializedview:{ 5070 ret = new TCreateMaterializedSqlStatement(pdbvendor); 5071 break; 5072 } 5073 case sstcreatedatabase: 5074 { 5075 ret = new TCreateDatabaseSqlStatement(pdbvendor); 5076 break; 5077 } 5078 case sstdroptable: 5079 { 5080 ret = new TDropTableSqlStatement(pdbvendor); 5081 break; 5082 } 5083 case sstdropview: 5084 { 5085 ret = new TDropViewSqlStatement(pdbvendor); 5086 break; 5087 } 5088 case sstaltertable: 5089 { 5090 ret = new TAlterTableStatement(pdbvendor); 5091 break; 5092 } 5093 case sstaltersession: 5094 { 5095 ret = new TAlterSessionStatement(pdbvendor); 5096 break; 5097 } 5098 case sstnetezzaGroomTable: 5099 { 5100 ret = new TNetezzaGroomTable(pdbvendor); 5101 break; 5102 } 5103 case sstnetezzaGenerateStatistics: 5104 { 5105 ret = new TNetezzaGenerateStatistics(pdbvendor); 5106 break; 5107 } 5108 case sstnetezzaAlterTable: 5109 { 5110 ret = new TAlterTableStatement(pdbvendor); 5111 break; 5112 } 5113 case sstnetezzaDropSchema: 5114 { 5115 ret = new TDropSchemaSqlStatement(pdbvendor); 5116 break; 5117 } 5118 case sstnetezzaCreateUser: 5119 { 5120 ret = new TCreateUserStmt(pdbvendor); 5121 break; 5122 } 5123 case sstnetezzaAlterView: 5124 { 5125 ret = new TAlterViewStatement(pdbvendor); 5126 break; 5127 } 5128 case sstnetezzaAlterDatabase: 5129 { 5130 ret = new TAlterDatabaseStmt(pdbvendor); 5131 break; 5132 } 5133 case sstAlterSchema: 5134 { 5135 ret = new TAlterSchemaStmt(pdbvendor); 5136 break; 5137 } 5138 case sstAlterSynonym: 5139 { 5140 ret = new TAlterSynonymStmt(pdbvendor); 5141 break; 5142 } 5143 case sstnetezzaDropTable: 5144 { 5145 ret = new TDropTableSqlStatement(pdbvendor); 5146 break; 5147 } 5148 case sstnetezzaDropView: 5149 { 5150 ret = new TDropViewSqlStatement(pdbvendor); 5151 break; 5152 } 5153 case sstmerge: 5154 { 5155 ret = new TMergeSqlStatement(pdbvendor); 5156 break; 5157 } 5158 case sstdropprocedure: 5159 { 5160 ret = new TDropProcedureStmt(pdbvendor); 5161 break; 5162 } 5163 case sstdropsynonym: 5164 ret = new TDropSynonymStmt(pdbvendor); 5165 break; 5166 case sstdropdatabase: 5167 ret = new TDropDatabaseStmt(pdbvendor); 5168 break; 5169 case sstcall: 5170 ret = new TCallStatement(pdbvendor); 5171 break; 5172 case sstcreatesynonym: 5173 ret = new TCreateSynonymStmt(pdbvendor); 5174 break; 5175 case sstcreatesequence: 5176 ret = new TCreateSequenceStmt(pdbvendor); 5177 break; 5178 case sstnetezzaDropSequence: 5179 ret = new TDropSequenceStmt(pdbvendor); 5180 break; 5181 case sstnetezzaGrant: 5182 ret = new TGrantStmt(pdbvendor); 5183 break; 5184 case sstexecutestmt: 5185 ret = new TExecuteSqlStatement(pdbvendor); 5186 break; 5187 case sstlocktable: 5188 ret = new TLockTableStmt(pdbvendor); 5189 break; 5190 case sstnetezzaComment: 5191 ret = new TCommentOnSqlStmt(pdbvendor); 5192 break; 5193 case sstcreateprocedure: 5194 ret = new TCreateProcedureStmt(pdbvendor); 5195 break; 5196 case sstnetezzaCopy: 5197 ret = new TCopyStmt(pdbvendor); 5198 break; 5199 case sstExplain: 5200 ret = new TExplainPlan(pdbvendor); 5201 break; 5202 case sstSetCatalog: 5203 ret = new TSetCatalogStmt(pdbvendor); 5204 break; 5205 case sstSetSchema: 5206 ret = new TSetSchemaStmt(pdbvendor); 5207 break; 5208 case sstnetezzaCommit: 5209 case sstnetezzaRollback: 5210 case sstnetezzaRevoke: 5211 default: 5212 { 5213 ret = new TUnknownSqlStatement(pdbvendor); 5214 ret.sqlstatementtype = gnewsqlstatementtype; 5215 break; 5216 } 5217 } // case 5218 5219 return ret; 5220} 5221 5222 TCustomSqlStatement isredshift(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 5223 TCustomSqlStatement ret = null; 5224 5225 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 5226 5227 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 5228 || (pcst.tokencode == TBaseType.cmtslashstar) 5229 || (pcst.tokencode == TBaseType.lexspace) 5230 || (pcst.tokencode == TBaseType.lexnewline) 5231 || (pcst.tokentype == ETokenType.ttsemicolon) ) 5232 { 5233 return null; 5234 } 5235 5236 int lcpos = pcst.posinlist; 5237 TSourceTokenList lcsourcetokenlist = pcst.container; 5238 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 5239 5240 //subquery after semicolon or at first line 5241 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 5242 { 5243 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 5244 if ( k >0 ) 5245 { 5246 ret = new TSelectSqlStatement(pdbvendor); 5247 } 5248 5249 return ret; 5250 } 5251 5252 //cte 5253 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 5254 { 5255 ret = findcte(pcst,pdbvendor); 5256 if ( (ret != null) ) return ret; 5257 } 5258 5259 gnewsqlstatementtype = findredshiftcmd(pcst); 5260 5261 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5262 switch (gnewsqlstatementtype) { // 5263 case sstinvalid: 5264 { 5265 ret = null; 5266 break; 5267 } 5268 case sstselect: 5269 { 5270 boolean lcisnewsql = true; 5271 5272 if ( pstate != EFindSqlStateType.stnormal ) 5273 { 5274 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5275 if ( (lcprevsolidtoken != null) ) 5276 { 5277 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5278 lcisnewsql = false; //subqery 5279 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 5280 lcisnewsql = false; 5281 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 5282 lcisnewsql = false; 5283 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 5284 lcisnewsql = false; 5285 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 5286 lcisnewsql = false; 5287 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 5288 lcisnewsql = false; 5289 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 5290 { 5291 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 5292 lcisnewsql = false; 5293 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 5294 lcisnewsql = false; 5295 } 5296 5297 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 5298 { 5299 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 5300 if ( (lcpprevsolidtoken != null) ) 5301 { 5302 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5303 lcisnewsql = false; 5304 } 5305 } 5306 5307 } 5308 5309 5310 if ( (lccurrentsqlstatement != null) ) 5311 { 5312 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5313 lcisnewsql = false; 5314 } 5315 5316 } 5317 5318 if ( lcisnewsql ) 5319 ret = new TSelectSqlStatement(pdbvendor); 5320 5321 break; 5322 } 5323 case sstinsert: 5324 { 5325 boolean lcisnewsql = true; 5326 if ( pstate != EFindSqlStateType.stnormal ) 5327 { 5328 if ( (lccurrentsqlstatement != null) ) 5329 { 5330 5331 } 5332 } 5333 5334 if ( lcisnewsql ) 5335 ret = new TInsertSqlStatement(pdbvendor); 5336 5337 break; 5338 } 5339 case sstupdate: 5340 { 5341 boolean lcisnewsql = true; 5342 if ( pstate != EFindSqlStateType.stnormal ) 5343 { 5344 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5345 if ( (lcprevsolidtoken != null) ) 5346 { // 5347 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5348 lcisnewsql = false; 5349 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5350 lcisnewsql = false; 5351 } 5352 5353 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5354 if ( (lcnextsolidtoken != null) ) 5355 { 5356 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5357 { 5358 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5359 if ( k == 0 ) lcisnewsql = false; 5360 } 5361 } 5362 5363 5364 if ( (lccurrentsqlstatement != null) ) 5365 { 5366 } 5367 } 5368 5369 if ( lcisnewsql ) 5370 { 5371 ret = new TUpdateSqlStatement(pdbvendor); 5372 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5373 } 5374 break; 5375 } 5376 case sstdelete: 5377 { 5378 boolean lcisnewsql = true; 5379 5380 if ( pstate != EFindSqlStateType.stnormal ) 5381 { 5382 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5383 if ( (lcprevsolidtoken != null) ) 5384 { 5385 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5386 lcisnewsql = false; 5387 } 5388 5389 if ( (lccurrentsqlstatement != null) ) 5390 { 5391 } 5392 } 5393 5394 if ( lcisnewsql ) 5395 ret = new TDeleteSqlStatement(pdbvendor); 5396 5397 break; 5398 } 5399 case sstredshiftAbort: 5400 { 5401 ret = new TRedshiftAbort(pdbvendor); 5402 ret.sqlstatementtype = gnewsqlstatementtype; 5403 break; 5404 } 5405 case sstalterdatabase: 5406 { 5407 ret = new TAlterDatabaseStmt(pdbvendor); 5408 break; 5409 } 5410 case sstredshiftAlterGroup: 5411 { 5412 ret = new TAlterGroup(pdbvendor); 5413 break; 5414 } 5415 case sstredshiftAlterSchema: 5416 { 5417 ret = new TRedshiftAlterSchema(pdbvendor); 5418 break; 5419 } 5420 case sstaltertable: 5421 { 5422 ret = new TAlterTableStatement(pdbvendor); 5423 break; 5424 } 5425 case sstredshiftAlterUser: 5426 { 5427 ret = new TRedshiftAlterUser(pdbvendor); 5428 break; 5429 } 5430 case sstredshiftAnalyze: 5431 { 5432 ret = new TRedshiftAnalyze(pdbvendor); 5433 break; 5434 } 5435 case sstredshiftAnalyzeCompression: 5436 { 5437 ret = new TRedshiftAnalyzeCompression(pdbvendor); 5438 break; 5439 } 5440 case sstredshiftBegin: 5441 { 5442 ret = new TRedshiftBegin(pdbvendor); 5443 break; 5444 } 5445 case sstredshiftCancel: 5446 { 5447 ret = new TRedshiftCancel(pdbvendor); 5448 break; 5449 } 5450 case sstredshiftClose: 5451 { 5452 ret = new TCloseStmt(pdbvendor); 5453 break; 5454 } 5455 case sstredshiftComment: 5456 { 5457 ret = new TRedshiftComment(pdbvendor); 5458 break; 5459 } 5460 case sstredshiftCommit: 5461 { 5462 ret = new TRedshiftCommit(pdbvendor); 5463 break; 5464 } 5465 case sstredshiftCopy: 5466 { 5467 ret = new TRedshiftCopy(pdbvendor); 5468 break; 5469 } 5470 case sstcreatedatabase: 5471 { 5472 ret = new TCreateDatabaseSqlStatement(pdbvendor); 5473 break; 5474 } 5475 case sstredshiftCreateGroup: 5476 { 5477 ret = new TCreateGroup(pdbvendor); 5478 break; 5479 } 5480 case sstredshiftCreateSchema: 5481 { 5482 ret = new TCreateSchemaSqlStatement(pdbvendor); 5483 break; 5484 } 5485 case sstcreatetable: 5486 { 5487 ret = new TCreateTableSqlStatement(pdbvendor); 5488 break; 5489 } 5490 case sstredshiftCreateUser: 5491 { 5492 ret = new TRedshiftCreateUser(pdbvendor); 5493 break; 5494 } 5495 case sstcreateview: 5496 { 5497 ret = new TCreateViewSqlStatement(pdbvendor); 5498 break; 5499 } 5500 case sstredshiftDeallocate: 5501 { 5502 ret = new TRedshiftDeallocate(pdbvendor); 5503 break; 5504 } 5505 case sstredshiftDeclare: 5506 { 5507 ret = new TRedshiftDeclare(pdbvendor); 5508 break; 5509 } 5510 case sstredshiftDropDatabase: 5511 { 5512 ret = new TDropDatabaseStmt(pdbvendor); 5513 break; 5514 } 5515 case sstredshiftDropGroup: 5516 { 5517 ret = new TDropGroup(pdbvendor); 5518 break; 5519 } 5520 case sstredshiftDropSchema: 5521 { 5522 ret = new TRedshiftDropSchema(pdbvendor); 5523 break; 5524 } 5525 case sstdroptable: 5526 { 5527 ret = new TDropTableSqlStatement(pdbvendor); 5528 break; 5529 } 5530 case sstredshiftDropUser: 5531 { 5532 ret = new TRedshiftDropUser(pdbvendor); 5533 break; 5534 } 5535 case sstdropview: 5536 { 5537 ret = new TDropViewSqlStatement(pdbvendor); 5538 break; 5539 } 5540 case sstredshiftEnd: 5541 { 5542 ret = new TRedshiftEnd(pdbvendor); 5543 break; 5544 } 5545 case sstExecutePreparedStmt: 5546 { 5547 ret = new TExecuteSqlStatement(pdbvendor); 5548 break; 5549 } 5550 case sstExplain: 5551 { 5552 ret = new TExplainPlan(pdbvendor); 5553 break; 5554 } 5555 case sstFetchFrom: 5556 { 5557 ret = new TFetchFromStmt(pdbvendor); 5558 break; 5559 } 5560 case sstGrant: 5561 { 5562 ret = new TGrantStmt(pdbvendor); 5563 break; 5564 } 5565 case sstredshiftLock: 5566 { 5567 ret = new TLockTableStmt(pdbvendor); 5568 break; 5569 } 5570 case sstredshiftPrepare: 5571 { 5572 ret = new TRedshiftPrepare(pdbvendor); 5573 break; 5574 } 5575 case sstredshiftReset: 5576 { 5577 ret = new TRedshiftReset(pdbvendor); 5578 break; 5579 } 5580 case sstRevoke: 5581 { 5582 ret = new TRevokeStmt(pdbvendor); 5583 break; 5584 } 5585 case sstredshiftRollback: 5586 { 5587 ret = new TRedshiftRollback(pdbvendor); 5588 break; 5589 } 5590 case sstredshiftSet: 5591 { 5592 ret = new TSetStmt(pdbvendor); 5593 break; 5594 } 5595 case sstredshiftSetSessionAuthorization: 5596 { 5597 ret = new TRedshiftSessionAuthorization(pdbvendor); 5598 break; 5599 } 5600 case sstredshiftShow: 5601 { 5602 ret = new TShowStmt(pdbvendor); 5603 break; 5604 } 5605 case sstStartTransaction: 5606 { 5607 ret = new TStartTransactionStmt(pdbvendor); 5608 break; 5609 } 5610 case sstTruncate: 5611 { 5612 ret = new TTruncateStatement(pdbvendor); 5613 break; 5614 } 5615 case sstredshiftUnload: 5616 { 5617 ret = new TUnloadStmt(pdbvendor); 5618 break; 5619 } 5620 case sstredshiftVacuum: 5621 { 5622 ret = new TRedshiftVacuum(pdbvendor); 5623 break; 5624 } 5625 case sstcreatefunction: 5626 ret = new TCreateFunctionStmt(pdbvendor); 5627 break; 5628 case sstcreateprocedure: 5629 ret = new TCreateProcedureStmt(pdbvendor); 5630 break; 5631 case sstcreatematerializedview:{ 5632 ret = new TCreateMaterializedSqlStatement(pdbvendor); 5633 break; 5634 } 5635 case sstcall: 5636 ret = new TCallStatement(pdbvendor); 5637 break; 5638 case sstmerge: 5639 { 5640 ret = new TMergeSqlStatement(pdbvendor); 5641 break; 5642 } 5643 default: 5644 { 5645 ret = new TUnknownSqlStatement(pdbvendor); 5646 ret.sqlstatementtype = gnewsqlstatementtype; 5647 break; 5648 } 5649 } // case 5650 5651 return ret; 5652 } 5653 TCustomSqlStatement isgaussdb(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 5654 TCustomSqlStatement ret = null; 5655 5656 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 5657 5658 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 5659 || (pcst.tokencode == TBaseType.cmtslashstar) 5660 || (pcst.tokencode == TBaseType.lexspace) 5661 || (pcst.tokencode == TBaseType.lexnewline) 5662 || (pcst.tokentype == ETokenType.ttsemicolon) ) 5663 { 5664 return null; 5665 } 5666 5667 int lcpos = pcst.posinlist; 5668 TSourceTokenList lcsourcetokenlist = pcst.container; 5669 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 5670 5671 //subquery after semicolon or at first line 5672 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 5673 { 5674 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 5675 if ( k >0 ) 5676 { 5677 ret = new TSelectSqlStatement(pdbvendor); 5678 }else{ 5679 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); 5680 if ( k >0 ) 5681 { // syntax like: (with ... ) 5682 ret = new TSelectSqlStatement(pdbvendor); 5683 } 5684 } 5685 5686 return ret; 5687 } 5688 5689 //cte 5690 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 5691 { 5692 ret = findcte(pcst,pdbvendor); 5693 if ( (ret != null) ) return ret; 5694 } 5695 5696 gnewsqlstatementtype = findgaussdbcmd(pcst); 5697 5698 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5699 switch (gnewsqlstatementtype) { // 5700 case sstinvalid: 5701 { 5702 ret = null; 5703 5704 if ( pstate == EFindSqlStateType.stnormal ) 5705 { 5706 if ( pcst.tokencode == TBaseType.label_begin ) 5707 { 5708 ret = new TCommonBlock(pdbvendor); 5709 gnewsqlstatementtype = ret.sqlstatementtype; 5710 5711 } 5712 else if ( pcst.tokencode == TBaseType.rrw_declare ) 5713 { 5714 ret = new TCommonBlock(pdbvendor); 5715 gnewsqlstatementtype = ret.sqlstatementtype; 5716 } 5717 else if ( pcst.tokencode == TBaseType.rrw_begin ) 5718 { 5719 // https://support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0498.html 5720 // 有两种可能 1:开启匿名块,或 2:开启事务 5721 boolean isBlock = true; 5722 TSourceToken st = pcst.nextSolidToken(); 5723 if (st != null){ 5724 if ((st.tokencode == ';') 5725 ||(st.toString().equalsIgnoreCase("work")) 5726 ||(st.toString().equalsIgnoreCase("transaction")) 5727 ){ 5728 isBlock = false; 5729 } 5730 } 5731 if (isBlock){ 5732 ret = new TCommonBlock(pdbvendor); 5733 gnewsqlstatementtype = ret.sqlstatementtype; 5734 }else{ 5735 ret = new TStartTransactionStmt(pdbvendor); 5736 gnewsqlstatementtype = ret.sqlstatementtype; 5737 pcst.tokencode = TBaseType.GAUSSDB_BEGIN_TRANSACTION; 5738 } 5739 5740 } 5741 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 5742 { 5743 ret = new TCreateProcedureStmt(pdbvendor); 5744 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 5745 gnewsqlstatementtype = ret.sqlstatementtype; 5746 } 5747 else if ( pcst.tokencode == TBaseType.rrw_function ) 5748 { 5749 ret = new TPlsqlCreateFunction(pdbvendor); 5750 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 5751 gnewsqlstatementtype = ret.sqlstatementtype; 5752 } 5753 else if ( pcst.tokencode == TBaseType.rrw_package ) 5754 { 5755 ret = new TPlsqlCreatePackage(pdbvendor); 5756 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 5757 gnewsqlstatementtype = ret.sqlstatementtype; 5758 } 5759 } 5760 break; 5761 } 5762 case sstpostgresqlDeclare:{ 5763 // https://support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0554.html 5764 // declare cursor_name [ BINARY ] [ NO SCROLL ] CURSOR ..., 这是单个的定义游标语句 5765 // 下面这种类型的定义才是开始一个 匿名块 5766 // [DECLARE [declare_statements]] 5767 //BEGIN 5768 //execution_statements 5769 //END; 5770 5771 // 判断逻辑如下: 5772 // 1. 如果 declare 后直接跟 CURSOR, 那就是开启一个 匿名块 5773 // 2. 如果 declare 后直接跟的是一个 identifier, 那再检查之后的第2或3或4个token是否为 CURSOR, 5774 // 如果是,该语句为 单个的定义游标语句,否则为 匿名块 5775 5776 boolean isBlock = true; 5777 TSourceToken st = pcst.nextSolidToken(); 5778 if (st != null){ 5779 if (st.tokencode == TBaseType.GAUSSDB_CURSOR){ 5780 isBlock = true; 5781 }else if (st.tokencode == TBaseType.ident){ 5782 st = st.nextSolidToken(); 5783 if (st != null){ 5784 if ((st.tokencode == TBaseType.GAUSSDB_CURSOR) 5785 ||(st.tokencode == TBaseType.rrw_binary) 5786 ||(st.toString().equalsIgnoreCase("no")) 5787 ){ 5788 isBlock = false; 5789 } 5790 } 5791 } 5792 } 5793 if (isBlock){ 5794 ret = new TCommonBlock(pdbvendor); 5795 gnewsqlstatementtype = ret.sqlstatementtype; 5796 }else{ 5797 ret = new TDeclareCursorStmt(pdbvendor); 5798 gnewsqlstatementtype = ret.sqlstatementtype; 5799 pcst.tokencode = TBaseType.GAUSSDB_DECLARE_SINGLE_STMT; 5800 } 5801 5802 break; 5803 } 5804 case sstmerge: 5805 { 5806 ret = new TMergeSqlStatement(pdbvendor); 5807 ret.sqlstatementtype = gnewsqlstatementtype; 5808 break; 5809 } 5810 case sstcreatesynonym: 5811 ret = new TCreateSynonymStmt(pdbvendor); 5812 break; 5813 case sstdropsynonym: 5814 ret = new TDropSynonymStmt(pdbvendor); 5815 break; 5816 case sstAlterPackage: 5817 ret = new TAlterPackageStmt(pdbvendor); 5818 break; 5819 case sstpostgresqlRefreshMaterializedView: 5820 ret = new TRefreshMaterializedViewStmt(pdbvendor); 5821 break; 5822 case sstAlterSynonym: 5823 ret = new TAlterSynonymStmt(pdbvendor); 5824 break; 5825 case sstsavepoint: 5826 { 5827 ret = new TSavepointStmt(pdbvendor); 5828 ret.sqlstatementtype = gnewsqlstatementtype; 5829 break; 5830 } 5831 case sstselect: 5832 { 5833 boolean lcisnewsql = true; 5834 5835 if ( pstate != EFindSqlStateType.stnormal ) 5836 { 5837 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5838 if ( (lcprevsolidtoken != null) ) 5839 { 5840 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5841 lcisnewsql = false; //subqery 5842 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 5843 lcisnewsql = false; 5844 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 5845 lcisnewsql = false; 5846 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 5847 lcisnewsql = false; 5848 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 5849 lcisnewsql = false; 5850 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 5851 lcisnewsql = false; 5852 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 5853 { 5854 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 5855 lcisnewsql = false; 5856 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 5857 lcisnewsql = false; 5858 } 5859 5860 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 5861 { 5862 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 5863 if ( (lcpprevsolidtoken != null) ) 5864 { 5865 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5866 lcisnewsql = false; 5867 } 5868 } 5869 5870 } 5871 5872 5873 if ( (lccurrentsqlstatement != null) ) 5874 { 5875 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5876 lcisnewsql = false; 5877 } 5878 5879 } 5880 5881 if ( lcisnewsql ) 5882 ret = new TSelectSqlStatement(pdbvendor); 5883 5884 break; 5885 } 5886 case sstinsert: 5887 { 5888 boolean lcisnewsql = true; 5889 if ( pstate != EFindSqlStateType.stnormal ) 5890 { 5891 if ( (lccurrentsqlstatement != null) ) 5892 { 5893 5894 } 5895 } 5896 5897 if ( lcisnewsql ) 5898 ret = new TInsertSqlStatement(pdbvendor); 5899 5900 break; 5901 } 5902 case sstupdate: 5903 { 5904 boolean lcisnewsql = true; 5905 if ( pstate != EFindSqlStateType.stnormal ) 5906 { 5907 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5908 if ( (lcprevsolidtoken != null) ) 5909 { // 5910 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5911 lcisnewsql = false; 5912 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5913 lcisnewsql = false; 5914 } 5915 5916 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5917 if ( (lcnextsolidtoken != null) ) 5918 { 5919 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5920 { 5921 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5922 if ( k == 0 ) lcisnewsql = false; 5923 } 5924 } 5925 5926 5927 if ( (lccurrentsqlstatement != null) ) 5928 { 5929 } 5930 } 5931 5932 if ( lcisnewsql ) 5933 { 5934 ret = new TUpdateSqlStatement(pdbvendor); 5935 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5936 } 5937 break; 5938 } 5939 case sstdelete: 5940 { 5941 boolean lcisnewsql = true; 5942 5943 if ( pstate != EFindSqlStateType.stnormal ) 5944 { 5945 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5946 if ( (lcprevsolidtoken != null) ) 5947 { 5948 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5949 lcisnewsql = false; 5950 } 5951 5952 if ( (lccurrentsqlstatement != null) ) 5953 { 5954 } 5955 } 5956 5957 if ( lcisnewsql ) 5958 ret = new TDeleteSqlStatement(pdbvendor); 5959 5960 break; 5961 } 5962 case sstoraclecommit: 5963 { 5964 ret = new TUnknownSqlStatement(pdbvendor); 5965 ret.sqlstatementtype = gnewsqlstatementtype; 5966 break; 5967 } 5968 case sstoraclerollback: 5969 { 5970 ret = new TUnknownSqlStatement(pdbvendor); 5971 ret.sqlstatementtype = gnewsqlstatementtype; 5972 break; 5973 } 5974 case sstoraclesavepoint: 5975 { 5976 ret = new TUnknownSqlStatement(pdbvendor); 5977 ret.sqlstatementtype = gnewsqlstatementtype; 5978 break; 5979 } 5980 case sstoraclerevoke: 5981 { 5982 ret = new TUnknownSqlStatement(pdbvendor); 5983 ret.sqlstatementtype = gnewsqlstatementtype; 5984 break; 5985 } 5986 case sstoraclegrant: 5987 { 5988 ret = new TUnknownSqlStatement(pdbvendor); 5989 //ret = new TGrantStmt(pdbvendor); 5990 ret.sqlstatementtype = gnewsqlstatementtype; 5991 break; 5992 } 5993 case sstoracleanalyze: 5994 { 5995 ret = new TUnknownSqlStatement(pdbvendor); 5996 ret.sqlstatementtype = gnewsqlstatementtype; 5997 break; 5998 } 5999 case sstoracletruncate: 6000 { 6001 ret = new TUnknownSqlStatement(pdbvendor); 6002 ret.sqlstatementtype = gnewsqlstatementtype; 6003 break; 6004 } 6005 case sstcreatetable: 6006 { 6007 ret = new TCreateTableSqlStatement(pdbvendor); 6008 break; 6009 } 6010 case sstoraclecreateview: 6011 { 6012 ret = new TCreateViewSqlStatement(pdbvendor); 6013 break; 6014 } 6015 case sstcreatematerializedview:{ 6016 ret = new TCreateMaterializedSqlStatement(pdbvendor); 6017 break; 6018 } 6019 case sstoraclecreateindex: 6020 { 6021 ret = new TCreateIndexSqlStatement(pdbvendor); 6022 break; 6023 } 6024 case sstoraclecreatedatabase: 6025 { 6026 ret = new TCreateDatabaseSqlStatement(pdbvendor); 6027 break; 6028 } 6029 case sstoracledroptable: 6030 { 6031 ret = new TDropTableSqlStatement(pdbvendor); 6032 break; 6033 } 6034 case sstoracledropview: 6035 { 6036 ret = new TDropViewSqlStatement(pdbvendor); 6037 break; 6038 } 6039 case sstoracledropindex: 6040 { 6041 ret = new TDropIndexSqlStatement(pdbvendor); 6042 break; 6043 } 6044 case sstaltertable: 6045 { 6046 ret = new TAlterTableStatement(pdbvendor); 6047 break; 6048 } 6049 case sstoraclealtersession: 6050 { 6051 ret = new TAlterSessionStatement(pdbvendor); 6052 break; 6053 } 6054 case sstplsql_createprocedure: 6055 { 6056 ret = new TPlsqlCreateProcedure(pdbvendor); 6057 ret.sqlstatementtype = gnewsqlstatementtype; 6058 // System.out.println(gnewsqlstatementtype); 6059 break; 6060 } 6061 case sstplsql_createfunction: 6062 { 6063 ret = new TPlsqlCreateFunction(pdbvendor); 6064 ret.sqlstatementtype = gnewsqlstatementtype; 6065 // System.out.println(gnewsqlstatementtype); 6066 break; 6067 } 6068 case sstplsql_createpackage: 6069 { 6070 ret = new TPlsqlCreatePackage(pdbvendor); 6071 ret.sqlstatementtype = gnewsqlstatementtype; 6072 // System.out.println(gnewsqlstatementtype); 6073 break; 6074 } 6075 case sstoraclecreatepackagebody: 6076 { 6077 ret = new TPlsqlCreatePackage(pdbvendor); 6078 ret.sqlstatementtype = gnewsqlstatementtype; 6079 //ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6080 break; 6081 } 6082 case sstplsql_createtrigger: 6083 { 6084 ret = new TPlsqlCreateTrigger(pdbvendor); 6085 ret.sqlstatementtype = gnewsqlstatementtype; 6086 // System.out.println(gnewsqlstatementtype); 6087 break; 6088 } 6089 case sstplsql_execimmestmt: 6090 { 6091 ret = new TExecImmeStmt(pdbvendor); 6092 // ret.sqlstatementtype = gnewsqlstatementtype; 6093 // System.out.println(gnewsqlstatementtype); 6094 break; 6095 } 6096 case sstplsql_createtype_placeholder: 6097 { 6098 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 6099 ret.sqlstatementtype = gnewsqlstatementtype; 6100 // System.out.println(gnewsqlstatementtype); 6101 break; 6102 } 6103 case sstplsql_createtypebody: 6104 { 6105 ret = new TPlsqlCreateTypeBody(pdbvendor); 6106 ret.sqlstatementtype = gnewsqlstatementtype; 6107 break; 6108 } 6109 case sstCommentOn: 6110 { 6111 ret = new TCommentOnSqlStmt(pdbvendor); 6112 break; 6113 } 6114 case sstoraclecreatesequence: 6115 { 6116 ret = new TCreateSequenceStmt(pdbvendor); 6117 break; 6118 } 6119 case sstoraclecreatesynonym: 6120 { 6121 ret = new TCreateSynonymStmt(pdbvendor); 6122 break; 6123 } 6124 case sstoraclecreatedirectory: 6125 { 6126 ret = new TOracleCreateDirectoryStmt(pdbvendor); 6127 break; 6128 } 6129 case sstpostgresqlCreateIndex: 6130 ret = new TCreateIndexSqlStatement(pdbvendor); 6131 break; 6132 case sstpostgresqlCreateView: 6133 ret = new TCreateViewSqlStatement(pdbvendor); 6134 break; 6135 case sstpostgresqlCreateFunction: 6136 ret = new TCreateFunctionStmt(pdbvendor); 6137 break; 6138 case sstcreatetrigger: 6139 ret = new TCreateTriggerStmt(pdbvendor); 6140 break; 6141 case sstpostgresqlMove: 6142 ret = new TMoveStmt(pdbvendor); 6143 break; 6144 case sstpostgresqlTruncate: 6145 ret = new TTruncateStatement(pdbvendor); 6146 break; 6147 case sstpostgresqlExecute: 6148 ret = new TExecuteSqlStatement(pdbvendor); 6149 break; 6150 case sstpostgresqlDropTable: 6151 ret = new TDropTableSqlStatement(pdbvendor); 6152 break; 6153 case sstPostgresqlBlock: 6154 ret = new TCommonBlock(pdbvendor); 6155 break; 6156 case sstVacuum: 6157 ret = new TVacuumStmt(pdbvendor); 6158 break; 6159 case sstReindex: 6160 ret = new TReindexStmt(pdbvendor); 6161 break; 6162 case sstcreateprocedure: 6163 ret = new TCreateProcedureStmt(pdbvendor); 6164 break; 6165 case sstpostgresqlCommit: 6166 ret = new TCommitStmt(pdbvendor); 6167 break; 6168 case sstpostgresqlCreateSchema: 6169 ret = new TCreateSchemaSqlStatement(pdbvendor); 6170 break; 6171 case sstpostgresqlDropSchema: 6172 ret = new TDropSchemaSqlStatement(pdbvendor); 6173 break; 6174 case sstpostgresqlShowSearchPath: 6175 ret = new TShowSearchPathStmt(pdbvendor); 6176 break; 6177 case sstpostgresqlCopy: 6178 ret = new TCopyStmt(pdbvendor); 6179 break; 6180 case sstcall: 6181 ret = new TCallStatement(pdbvendor); 6182 break; 6183 case sstpostgresqlAlterSchema: 6184 ret = new TAlterSchemaStmt(pdbvendor); 6185 break; 6186 case sstpostgresqlAlterfunction: 6187 ret = new TAlterFunctionStmt(pdbvendor); 6188 break; 6189 case sstStartTransaction: 6190 { 6191 ret = new TStartTransactionStmt(pdbvendor); 6192 break; 6193 } 6194 case sstpostgresqlComment: 6195 ret = new TCommentOnSqlStmt(pdbvendor); 6196 break; 6197 case sstpostgresqlShow: 6198 ret = new TShowStmt(pdbvendor); 6199 break; 6200 case sstpostgresqlSetSearchPath: 6201 case sstpostgresqlSet: 6202 ret = new TSetStmt(pdbvendor); 6203 break; 6204 case sstpostgresqlDropFunction: 6205 ret = new TDropFunctionStmt(pdbvendor); 6206 break; 6207 case sstpostgresqlDropTrigger: 6208 ret = new TDropTriggerSqlStatement(pdbvendor); 6209 break; 6210 case sstpostgresqlDropProcedure: 6211 ret = new TDropProcedureStmt(pdbvendor); 6212 break; 6213 case sstdropindex: 6214 ret = new TDropIndexSqlStatement(pdbvendor); 6215 break; 6216 case sstpostgresqlDropSequence: 6217 ret = new TDropSequenceStmt(pdbvendor); 6218 break; 6219 case sstpostgresqlDropView: 6220 ret = new TDropViewSqlStatement(pdbvendor); 6221 break; 6222 case sstpostgresqlCreateSequence: 6223 ret = new TCreateSequenceStmt(pdbvendor); 6224 break; 6225 case sstpostgresqlCreateType: 6226 ret = new TCreateTypeStmt(pdbvendor); 6227 break; 6228 case sstcreateExtension: 6229 ret = new TCreateExtensionStmt(pdbvendor); 6230 break; 6231 case sstPostgresqlTable: 6232 ret = new TPostgresqlTableStmt(pdbvendor); 6233 break; 6234 case sstpostgresqlEnd: 6235 ret = new TEndTran(pdbvendor); 6236 break; 6237 case sstpostgresqlDo: 6238 boolean lcisnewsql = false; 6239 6240 if ( pstate == EFindSqlStateType.stnormal ) 6241 { 6242 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6243 if ( (lcnextsolidtoken != null) ) 6244 { 6245 if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_function_delimiter ) 6246 lcisnewsql = true; 6247 } 6248 } 6249 6250 if ( lcisnewsql ) 6251 ret = new TDoExecuteBlockStmt(pdbvendor); 6252 6253 break; 6254 default: 6255 { 6256 ret = new TUnknownSqlStatement(pdbvendor); 6257 ret.sqlstatementtype = gnewsqlstatementtype; 6258 break; 6259 } 6260 } // case 6261 6262 return ret; 6263 } 6264 6265 TCustomSqlStatement ispostgresql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 6266 TCustomSqlStatement ret = null; 6267 6268 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 6269 6270 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 6271 || (pcst.tokencode == TBaseType.cmtslashstar) 6272 || (pcst.tokencode == TBaseType.lexspace) 6273 || (pcst.tokencode == TBaseType.lexnewline) 6274 || (pcst.tokentype == ETokenType.ttsemicolon) ) 6275 { 6276 return null; 6277 } 6278 6279 int lcpos = pcst.posinlist; 6280 TSourceTokenList lcsourcetokenlist = pcst.container; 6281 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 6282 6283 //subquery after semicolon or at first line 6284 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 6285 { 6286 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 6287 if ( k >0 ) 6288 { 6289 ret = new TSelectSqlStatement(pdbvendor); 6290 } 6291 6292 return ret; 6293 } 6294 6295 //cte 6296 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 6297 { 6298 ret = findcte(pcst,pdbvendor); 6299 if ( (ret != null) ) return ret; 6300 } 6301 6302 gnewsqlstatementtype = findpostgresqlcmd(pcst); 6303 6304 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6305 switch (gnewsqlstatementtype) { // 6306 case sstinvalid: 6307 { 6308 ret = null; 6309 6310 if ( pstate == EFindSqlStateType.stnormal ) 6311 { 6312 if ( pcst.tokencode == TBaseType.label_begin ) 6313 { 6314 ret = new TCommonBlock(pdbvendor); 6315 gnewsqlstatementtype = ret.sqlstatementtype; 6316 } 6317 else if ( pcst.tokencode == TBaseType.rrw_declare ) 6318 { 6319 ret = new TCommonBlock(pdbvendor); 6320 gnewsqlstatementtype = ret.sqlstatementtype; 6321 } 6322 else if ( pcst.tokencode == TBaseType.rrw_begin ) 6323 { 6324 ret = new TCommonBlock(pdbvendor); 6325 gnewsqlstatementtype = ret.sqlstatementtype; 6326 } 6327 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 6328 { 6329 ret = new TCreateProcedureStmt(pdbvendor); 6330 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 6331 gnewsqlstatementtype = ret.sqlstatementtype; 6332 } 6333 else if ( pcst.tokencode == TBaseType.rrw_function ) 6334 { 6335 ret = new TPlsqlCreateFunction(pdbvendor); 6336 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 6337 gnewsqlstatementtype = ret.sqlstatementtype; 6338 } 6339 else if ( pcst.tokencode == TBaseType.rrw_package ) 6340 { 6341 ret = new TPlsqlCreatePackage(pdbvendor); 6342 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6343 gnewsqlstatementtype = ret.sqlstatementtype; 6344 } 6345 } 6346 break; 6347 } 6348 case sstselect: 6349 { 6350 boolean lcisnewsql = true; 6351 6352 if ( pstate != EFindSqlStateType.stnormal ) 6353 { 6354 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6355 if ( (lcprevsolidtoken != null) ) 6356 { 6357 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6358 lcisnewsql = false; //subqery 6359 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 6360 lcisnewsql = false; 6361 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 6362 lcisnewsql = false; 6363 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 6364 lcisnewsql = false; 6365 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 6366 lcisnewsql = false; 6367 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 6368 lcisnewsql = false; 6369 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 6370 { 6371 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 6372 lcisnewsql = false; 6373 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 6374 lcisnewsql = false; 6375 } 6376 6377 6378 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 6379 { 6380 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 6381 if ( (lcpprevsolidtoken != null) ) 6382 { 6383 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 6384 lcisnewsql = false; 6385 } 6386 } 6387 6388 } 6389 6390 6391 if ( (lccurrentsqlstatement != null) ) 6392 { 6393 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 6394 lcisnewsql = false; 6395 } 6396 6397 } 6398 6399 if ( lcisnewsql ) 6400 ret = new TSelectSqlStatement(pdbvendor); 6401 6402 break; 6403 } 6404 case sstinsert: 6405 { 6406 boolean lcisnewsql = true; 6407 if ( pstate != EFindSqlStateType.stnormal ) 6408 { 6409 if ( (lccurrentsqlstatement != null) ) 6410 { 6411 6412 } 6413 } 6414 6415 if ( lcisnewsql ) 6416 ret = new TInsertSqlStatement(pdbvendor); 6417 6418 break; 6419 } 6420 case sstupdate: 6421 { 6422 boolean lcisnewsql = true; 6423 if ( pstate != EFindSqlStateType.stnormal ) 6424 { 6425 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6426 if ( (lcprevsolidtoken != null) ) 6427 { // 6428 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6429 lcisnewsql = false; 6430 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 6431 lcisnewsql = false; 6432 } 6433 6434 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6435 if ( (lcnextsolidtoken != null) ) 6436 { 6437 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6438 { 6439 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 6440 if ( k == 0 ) lcisnewsql = false; 6441 } 6442 } 6443 6444 6445 if ( (lccurrentsqlstatement != null) ) 6446 { 6447 } 6448 } 6449 6450 if ( lcisnewsql ) 6451 { 6452 ret = new TUpdateSqlStatement(pdbvendor); 6453 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 6454 } 6455 break; 6456 } 6457 case sstdelete: 6458 { 6459 boolean lcisnewsql = true; 6460 6461 if ( pstate != EFindSqlStateType.stnormal ) 6462 { 6463 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6464 if ( (lcprevsolidtoken != null) ) 6465 { 6466 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6467 lcisnewsql = false; 6468 } 6469 6470 if ( (lccurrentsqlstatement != null) ) 6471 { 6472 } 6473 } 6474 6475 if ( lcisnewsql ) 6476 ret = new TDeleteSqlStatement(pdbvendor); 6477 6478 break; 6479 } 6480 case sstmerge: 6481 { 6482 ret = new TMergeSqlStatement(pdbvendor); 6483 ret.sqlstatementtype = gnewsqlstatementtype; 6484 break; 6485 } 6486 case sstoraclecommit: 6487 { 6488 ret = new TUnknownSqlStatement(pdbvendor); 6489 ret.sqlstatementtype = gnewsqlstatementtype; 6490 break; 6491 } 6492 case sstoraclerollback: 6493 { 6494 ret = new TUnknownSqlStatement(pdbvendor); 6495 ret.sqlstatementtype = gnewsqlstatementtype; 6496 break; 6497 } 6498 case sstoraclesavepoint: 6499 { 6500 ret = new TUnknownSqlStatement(pdbvendor); 6501 ret.sqlstatementtype = gnewsqlstatementtype; 6502 break; 6503 } 6504 case sstoraclerevoke: 6505 { 6506 ret = new TUnknownSqlStatement(pdbvendor); 6507 ret.sqlstatementtype = gnewsqlstatementtype; 6508 break; 6509 } 6510 case sstoraclegrant: 6511 { 6512 ret = new TUnknownSqlStatement(pdbvendor); 6513 //ret = new TGrantStmt(pdbvendor); 6514 ret.sqlstatementtype = gnewsqlstatementtype; 6515 break; 6516 } 6517 case sstoracleanalyze: 6518 { 6519 ret = new TUnknownSqlStatement(pdbvendor); 6520 ret.sqlstatementtype = gnewsqlstatementtype; 6521 break; 6522 } 6523 case sstoracletruncate: 6524 { 6525 ret = new TUnknownSqlStatement(pdbvendor); 6526 ret.sqlstatementtype = gnewsqlstatementtype; 6527 break; 6528 } 6529 case sstcreatetable: 6530 { 6531 ret = new TCreateTableSqlStatement(pdbvendor); 6532 break; 6533 } 6534 case sstoraclecreateview: 6535 { 6536 ret = new TCreateViewSqlStatement(pdbvendor); 6537 break; 6538 } 6539 case sstcreatematerializedview:{ 6540 ret = new TCreateMaterializedSqlStatement(pdbvendor); 6541 break; 6542 } 6543 case sstoraclecreateindex: 6544 { 6545 ret = new TCreateIndexSqlStatement(pdbvendor); 6546 break; 6547 } 6548 case sstoraclecreatedatabase: 6549 { 6550 ret = new TCreateDatabaseSqlStatement(pdbvendor); 6551 break; 6552 } 6553 case sstoracledroptable: 6554 { 6555 ret = new TDropTableSqlStatement(pdbvendor); 6556 break; 6557 } 6558 case sstoracledropview: 6559 { 6560 ret = new TDropViewSqlStatement(pdbvendor); 6561 break; 6562 } 6563 case sstoracledropindex: 6564 { 6565 ret = new TDropIndexSqlStatement(pdbvendor); 6566 break; 6567 } 6568 case sstaltertable: 6569 { 6570 ret = new TAlterTableStatement(pdbvendor); 6571 break; 6572 } 6573 case sstoraclealtersession: 6574 { 6575 ret = new TAlterSessionStatement(pdbvendor); 6576 break; 6577 } 6578 case sstplsql_createprocedure: 6579 { 6580 ret = new TPlsqlCreateProcedure(pdbvendor); 6581 ret.sqlstatementtype = gnewsqlstatementtype; 6582 // System.out.println(gnewsqlstatementtype); 6583 break; 6584 } 6585 case sstplsql_createfunction: 6586 { 6587 ret = new TPlsqlCreateFunction(pdbvendor); 6588 ret.sqlstatementtype = gnewsqlstatementtype; 6589 // System.out.println(gnewsqlstatementtype); 6590 break; 6591 } 6592 case sstplsql_createpackage: 6593 { 6594 ret = new TPlsqlCreatePackage(pdbvendor); 6595 ret.sqlstatementtype = gnewsqlstatementtype; 6596 // System.out.println(gnewsqlstatementtype); 6597 break; 6598 } 6599 case sstplsql_createtrigger: 6600 { 6601 ret = new TPlsqlCreateTrigger(pdbvendor); 6602 ret.sqlstatementtype = gnewsqlstatementtype; 6603 // System.out.println(gnewsqlstatementtype); 6604 break; 6605 } 6606 case sstplsql_execimmestmt: 6607 { 6608 ret = new TExecImmeStmt(pdbvendor); 6609 // ret.sqlstatementtype = gnewsqlstatementtype; 6610 // System.out.println(gnewsqlstatementtype); 6611 break; 6612 } 6613 case sstoraclecreatepackagebody: 6614 { 6615 ret = new TPlsqlCreatePackage(pdbvendor); 6616 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6617 break; 6618 } 6619 case sstplsql_createtype_placeholder: 6620 { 6621 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 6622 ret.sqlstatementtype = gnewsqlstatementtype; 6623 // System.out.println(gnewsqlstatementtype); 6624 break; 6625 } 6626 case sstplsql_createtypebody: 6627 { 6628 ret = new TPlsqlCreateTypeBody(pdbvendor); 6629 ret.sqlstatementtype = gnewsqlstatementtype; 6630 break; 6631 } 6632 case sstCommentOn: 6633 { 6634 ret = new TCommentOnSqlStmt(pdbvendor); 6635 break; 6636 } 6637 case sstoraclecreatesequence: 6638 { 6639 ret = new TCreateSequenceStmt(pdbvendor); 6640 break; 6641 } 6642 case sstoraclecreatesynonym: 6643 { 6644 ret = new TCreateSynonymStmt(pdbvendor); 6645 break; 6646 } 6647 case sstoraclecreatedirectory: 6648 { 6649 ret = new TOracleCreateDirectoryStmt(pdbvendor); 6650 break; 6651 } 6652 case sstpostgresqlCreateIndex: 6653 ret = new TCreateIndexSqlStatement(pdbvendor); 6654 break; 6655 case sstpostgresqlCreateView: 6656 ret = new TCreateViewSqlStatement(pdbvendor); 6657 break; 6658 case sstpostgresqlCreateFunction: 6659 ret = new TCreateFunctionStmt(pdbvendor); 6660 break; 6661 case sstcreatetrigger: 6662 ret = new TCreateTriggerStmt(pdbvendor); 6663 break; 6664 case sstpostgresqlMove: 6665 ret = new TMoveStmt(pdbvendor); 6666 break; 6667 case sstpostgresqlTruncate: 6668 ret = new TTruncateStatement(pdbvendor); 6669 break; 6670 case sstpostgresqlExecute: 6671 ret = new TExecuteSqlStatement(pdbvendor); 6672 break; 6673 case sstpostgresqlDropTable: 6674 ret = new TDropTableSqlStatement(pdbvendor); 6675 break; 6676 case sstPostgresqlBlock: 6677 ret = new TCommonBlock(pdbvendor); 6678 break; 6679 case sstVacuum: 6680 ret = new TVacuumStmt(pdbvendor); 6681 break; 6682 case sstReindex: 6683 ret = new TReindexStmt(pdbvendor); 6684 break; 6685 case sstcreateprocedure: 6686 ret = new TCreateProcedureStmt(pdbvendor); 6687 break; 6688 case sstpostgresqlCommit: 6689 ret = new TCommitStmt(pdbvendor); 6690 break; 6691 case sstpostgresqlCreateSchema: 6692 ret = new TCreateSchemaSqlStatement(pdbvendor); 6693 break; 6694 case sstpostgresqlDropSchema: 6695 ret = new TDropSchemaSqlStatement(pdbvendor); 6696 break; 6697 case sstpostgresqlShowSearchPath: 6698 ret = new TShowSearchPathStmt(pdbvendor); 6699 break; 6700 case sstpostgresqlCopy: 6701 ret = new TCopyStmt(pdbvendor); 6702 break; 6703 case sstcall: 6704 ret = new TCallStatement(pdbvendor); 6705 break; 6706 case sstpostgresqlAlterSchema: 6707 ret = new TAlterSchemaStmt(pdbvendor); 6708 break; 6709 case sstpostgresqlAlterfunction: 6710 ret = new TAlterFunctionStmt(pdbvendor); 6711 break; 6712 case sstStartTransaction: 6713 { 6714 ret = new TStartTransactionStmt(pdbvendor); 6715 break; 6716 } 6717 case sstpostgresqlComment: 6718 ret = new TCommentOnSqlStmt(pdbvendor); 6719 break; 6720 case sstpostgresqlShow: 6721 ret = new TShowStmt(pdbvendor); 6722 break; 6723 case sstpostgresqlSetSearchPath: 6724 case sstpostgresqlSet: 6725 ret = new TSetStmt(pdbvendor); 6726 break; 6727 case sstpostgresqlDropFunction: 6728 ret = new TDropFunctionStmt(pdbvendor); 6729 break; 6730 case sstpostgresqlDropTrigger: 6731 ret = new TDropTriggerSqlStatement(pdbvendor); 6732 break; 6733 case sstpostgresqlDropProcedure: 6734 ret = new TDropProcedureStmt(pdbvendor); 6735 break; 6736 case sstdropindex: 6737 ret = new TDropIndexSqlStatement(pdbvendor); 6738 break; 6739 case sstpostgresqlDropSequence: 6740 ret = new TDropSequenceStmt(pdbvendor); 6741 break; 6742 case sstpostgresqlDropView: 6743 ret = new TDropViewSqlStatement(pdbvendor); 6744 break; 6745 case sstpostgresqlCreateSequence: 6746 ret = new TCreateSequenceStmt(pdbvendor); 6747 break; 6748 case sstpostgresqlCreateType: 6749 ret = new TCreateTypeStmt(pdbvendor); 6750 break; 6751 case sstcreateExtension: 6752 ret = new TCreateExtensionStmt(pdbvendor); 6753 break; 6754 case sstPostgresqlTable: 6755 ret = new TPostgresqlTableStmt(pdbvendor); 6756 break; 6757 case sstpostgresqlDropMaterializedView: 6758 ret = new TDropMaterializedViewStmt(pdbvendor); 6759 break; 6760 case sstpostgresqlDo: 6761 boolean lcisnewsql = false; 6762 6763 if ( pstate == EFindSqlStateType.stnormal ) 6764 { 6765 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6766 if ( (lcnextsolidtoken != null) ) 6767 { 6768 if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_function_delimiter ) 6769 lcisnewsql = true; 6770 } 6771 } 6772 6773 if ( lcisnewsql ) 6774 ret = new TDoExecuteBlockStmt(pdbvendor); 6775 6776 break; 6777 case sstpostgresqlDeclare: 6778 ret = new TCommonBlock(pdbvendor); 6779 gnewsqlstatementtype = ret.sqlstatementtype; 6780 break; 6781 case sstpostgresqlExplain: 6782 ret = new TExplainPlan(pdbvendor); 6783 gnewsqlstatementtype = ret.sqlstatementtype; 6784 break; 6785 case sstpostgresqlCreateRole: 6786 ret = new TCreateRoleStmt(pdbvendor); 6787 break; 6788 case sstpostgresqlAlterRole: 6789 ret = new TAlterRoleStmt(pdbvendor); 6790 break; 6791 case sstpostgresqlAlterIndex: 6792 ret = new TAlterIndexStmt(pdbvendor); 6793 break; 6794 default: 6795 { 6796 ret = new TUnknownSqlStatement(pdbvendor); 6797 ret.sqlstatementtype = gnewsqlstatementtype; 6798 break; 6799 } 6800 } // case 6801 6802 return ret; 6803 } 6804 6805 6806 6807TCustomSqlStatement isbigquery(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 6808 TCustomSqlStatement ret = null; 6809 6810 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 6811 6812 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 6813 || (pcst.tokencode == TBaseType.cmtslashstar) 6814 || (pcst.tokencode == TBaseType.lexspace) 6815 || (pcst.tokencode == TBaseType.lexnewline) 6816 || (pcst.tokentype == ETokenType.ttsemicolon) ) 6817 { 6818 return null; 6819 } 6820 6821 int lcpos = pcst.posinlist; 6822 TSourceTokenList lcsourcetokenlist = pcst.container; 6823 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 6824 6825 //subquery after semicolon or at first line 6826 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 6827 { 6828 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 6829 if ( k >0 ) 6830 { 6831 ret = new TSelectSqlStatement(pdbvendor); 6832 } 6833 6834 return ret; 6835 } 6836 6837 //cte 6838 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 6839 { 6840 ret = findcte(pcst,pdbvendor); 6841 if ( (ret != null) ) return ret; 6842 } 6843 6844 gnewsqlstatementtype = findbigquerycmd(pcst); 6845 6846 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6847 switch (gnewsqlstatementtype) { // 6848 case sstinvalid: 6849 { 6850 ret = null; 6851 6852 if ( pstate == EFindSqlStateType.stnormal ) 6853 { 6854 if ( pcst.tokencode == TBaseType.rrw_begin ) 6855 { 6856 6857 ret = new TCommonBlock(pdbvendor); 6858 gnewsqlstatementtype = ret.sqlstatementtype; 6859 } 6860 6861 } 6862 break; 6863 } 6864 case sstselect: 6865 { 6866 boolean lcisnewsql = true; 6867 6868 if ( pstate != EFindSqlStateType.stnormal ) 6869 { 6870 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6871 if ( (lcprevsolidtoken != null) ) 6872 { 6873 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6874 lcisnewsql = false; //subqery 6875 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 6876 lcisnewsql = false; 6877 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 6878 lcisnewsql = false; 6879 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 6880 lcisnewsql = false; 6881 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 6882 lcisnewsql = false; 6883 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 6884 lcisnewsql = false; 6885 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 6886 { 6887 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 6888 lcisnewsql = false; 6889 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 6890 lcisnewsql = false; 6891 } 6892 6893 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 6894 { 6895 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 6896 if ( (lcpprevsolidtoken != null) ) 6897 { 6898 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 6899 lcisnewsql = false; 6900 } 6901 } 6902 6903 } 6904 6905 6906 if ( (lccurrentsqlstatement != null) ) 6907 { 6908 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 6909 lcisnewsql = false; 6910 } 6911 6912 } 6913 6914 if ( lcisnewsql ) 6915 ret = new TSelectSqlStatement(pdbvendor); 6916 6917 break; 6918 } 6919 case sstinsert: 6920 { 6921 boolean lcisnewsql = true; 6922 if ( pstate != EFindSqlStateType.stnormal ) 6923 { 6924 if ( (lccurrentsqlstatement != null) ) 6925 { 6926 6927 } 6928 } 6929 6930 if ( lcisnewsql ) 6931 ret = new TInsertSqlStatement(pdbvendor); 6932 6933 break; 6934 } 6935 case sstupdate: 6936 { 6937 boolean lcisnewsql = true; 6938 if ( pstate != EFindSqlStateType.stnormal ) 6939 { 6940 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6941 if ( (lcprevsolidtoken != null) ) 6942 { // 6943 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6944 lcisnewsql = false; 6945 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 6946 lcisnewsql = false; 6947 } 6948 6949 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6950 if ( (lcnextsolidtoken != null) ) 6951 { 6952 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6953 { 6954 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 6955 if ( k == 0 ) lcisnewsql = false; 6956 } 6957 } 6958 6959 6960 if ( (lccurrentsqlstatement != null) ) 6961 { 6962 } 6963 } 6964 6965 if ( lcisnewsql ) 6966 { 6967 ret = new TUpdateSqlStatement(pdbvendor); 6968 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 6969 } 6970 break; 6971 } 6972 case sstdelete: 6973 { 6974 boolean lcisnewsql = true; 6975 6976 if ( pstate != EFindSqlStateType.stnormal ) 6977 { 6978 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6979 if ( (lcprevsolidtoken != null) ) 6980 { 6981 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6982 lcisnewsql = false; 6983 } 6984 6985 if ( (lccurrentsqlstatement != null) ) 6986 { 6987 } 6988 } 6989 6990 if ( lcisnewsql ) 6991 ret = new TDeleteSqlStatement(pdbvendor); 6992 6993 break; 6994 } 6995 case sstmerge: 6996 { 6997 ret = new TMergeSqlStatement(pdbvendor); 6998 ret.sqlstatementtype = gnewsqlstatementtype; 6999 break; 7000 } 7001 case sstcreatetable: 7002 { 7003 ret = new TCreateTableSqlStatement(pdbvendor); 7004 break; 7005 } 7006 case sstcreateview:{ 7007 ret = new TCreateViewSqlStatement(pdbvendor); 7008 break; 7009 } 7010 case sstaltertable: 7011 { 7012 ret = new TAlterTableStatement(pdbvendor); 7013 break; 7014 } 7015 case sstalterview: 7016 { 7017 ret = new TAlterViewStatement(pdbvendor); 7018 break; 7019 } 7020 case sstdroptable: 7021 { 7022 ret = new TDropTableSqlStatement(pdbvendor); 7023 break; 7024 } 7025 case sstdropview: 7026 { 7027 ret = new TDropViewSqlStatement(pdbvendor); 7028 break; 7029 } 7030 case sstcreatefunction: 7031 { 7032 ret = new TCreateFunctionStmt(pdbvendor); 7033 break; 7034 } 7035 case sstcreateprocedure: 7036 { 7037 ret = new TCreateProcedureStmt(pdbvendor); 7038 break; 7039 } 7040 case sstBigQueryDeclare: 7041 ret = new TMssqlDeclare(pdbvendor); 7042 break; 7043 case sstTruncate: 7044 { 7045 ret = new TTruncateStatement(pdbvendor); 7046 break; 7047 } 7048 case sstset: 7049 { 7050 boolean lcisnewsql = true; 7051 if ( pstate != EFindSqlStateType.stnormal ) 7052 { 7053 if ( TBaseType.assigned(lccurrentsqlstatement) ) 7054 { 7055 lcisnewsql = false; 7056 } 7057 } 7058 7059 if ( lcisnewsql ) 7060 { 7061 ret = new TSetStmt(pdbvendor); 7062 } 7063 break; 7064 } 7065 case sstcreatematerializedview:{ 7066 ret = new TCreateMaterializedSqlStatement(pdbvendor); 7067 break; 7068 } 7069 case sstdropprocedure: 7070 { 7071 ret = new TDropProcedureStmt(pdbvendor); 7072 break; 7073 } 7074 case sstdropfunction: 7075 { 7076 ret = new TDropFunctionStmt(pdbvendor); 7077 break; 7078 } 7079 case sstDropMaterializedView: 7080 ret = new TDropMaterializedViewStmt(pdbvendor); 7081 break; 7082 case sstcall: 7083 ret = new TCallStatement(pdbvendor); 7084 break; 7085 case sstBigQueryExportData: 7086 ret = new TExportDataStmt(pdbvendor); 7087 break; 7088 case sstBegin: 7089 { 7090 boolean isblock = false; 7091 int numOfSolidToken = 0; 7092 // if linebreak appears before the ;, then it a block, else it a 7093 TSourceToken st ; 7094 if (lcpos == lcsourcetokenlist.size() - 1){ 7095 // this is the last token 7096 }else{ 7097 for(int i=lcpos+1;i<lcsourcetokenlist.size();i++){ 7098 st = lcsourcetokenlist.get(i); 7099 if (st.issolidtoken()){ 7100 numOfSolidToken++; 7101 } 7102 7103 7104 7105 if (st.tokencode == ';') { 7106 if (numOfSolidToken<=3){ 7107 7108 }else{ 7109 isblock = true; 7110 } 7111 break; 7112 } 7113 7114 if (numOfSolidToken > 3){ 7115 isblock = true; 7116 break; 7117 } 7118 } 7119 } 7120 7121 if (isblock){ 7122 ret = new TCommonBlock(pdbvendor); 7123 gnewsqlstatementtype = ret.sqlstatementtype; 7124 }else{ 7125 ret = new TBeginTran(pdbvendor); 7126 pcst.tokencode = TBaseType.rrw_bigquery_begin_transaction; 7127 } 7128 7129 7130 break; 7131 } 7132 case sstbegintran: 7133 { 7134 ret = new TBeginTran(pdbvendor); 7135 if (pcst.tokencode == TBaseType.rrw_begin){ 7136 pcst.tokencode = TBaseType.rrw_bigquery_begin_transaction; 7137 } 7138 7139 break; 7140 } 7141 case sstExecute: 7142 { 7143 ret = new TExecImmeStmt(pdbvendor); 7144 break; 7145 } 7146 case sst_ifstmt: 7147 ret = new TIfStmt(pdbvendor); 7148 break; 7149 case sst_loopstmt: 7150 ret = new TLoopStmt(pdbvendor); 7151 break; 7152 case sstRepeat: 7153 ret = new TRepeatStmt(pdbvendor); 7154 break; 7155 case sstWhilestmt: 7156 ret = new TWhileStmt(pdbvendor); 7157 break; 7158 case sstForStmt: 7159 ret = new TForStmt(pdbvendor); 7160 break; 7161 case sst_casestmt: 7162 ret = new TCaseStmt(pdbvendor); 7163 break; 7164 case sstDropAssignment: 7165 ret = new TDropStmt(pdbvendor); 7166 break; 7167 case sstdropschema: 7168 ret = new TDropSchemaSqlStatement(pdbvendor); 7169 break; 7170 case sstDropReservation: 7171 ret = new TDropStmt(pdbvendor); 7172 break; 7173 case sstDropRowAccessPolicy: 7174 ret = new TDropStmt(pdbvendor); 7175 break; 7176 case sstDropSnapshotTable: 7177 ret = new TDropStmt(pdbvendor); 7178 break; 7179 case sstDropTableFunction: 7180 ret = new TDropStmt(pdbvendor); 7181 break; 7182 default: 7183 { 7184 ret = new TUnknownSqlStatement(pdbvendor); 7185 ret.sqlstatementtype = gnewsqlstatementtype; 7186 break; 7187 } 7188 } // case 7189 7190 return ret; 7191 } 7192 7193TCustomSqlStatement issnowflake(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 7194 TCustomSqlStatement ret = null; 7195 7196 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 7197 7198 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 7199 || (pcst.tokencode == TBaseType.cmtslashstar) 7200 || (pcst.tokencode == TBaseType.lexspace) 7201 || (pcst.tokencode == TBaseType.lexnewline) 7202 || (pcst.tokentype == ETokenType.ttsemicolon) ) 7203 { 7204 return null; 7205 } 7206 7207 int lcpos = pcst.posinlist; 7208 TSourceTokenList lcsourcetokenlist = pcst.container; 7209 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 7210 7211 //subquery after semicolon or at first line 7212 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 7213 { 7214 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 7215 if ( k >0 ) 7216 { 7217 ret = new TSelectSqlStatement(pdbvendor); 7218 } 7219 else{ 7220 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); 7221 int k2 = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_as,3,"("); 7222 if (( k >0 ) && (k2 > 2)) 7223 { 7224 ret = new TSelectSqlStatement(pdbvendor); 7225 } 7226 7227 } 7228 7229 return ret; 7230 } 7231 7232 //cte 7233 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 7234 { 7235 ret = findcte(pcst,pdbvendor); 7236 if ( (ret != null) ) return ret; 7237 } 7238 7239 gnewsqlstatementtype = findsnowflakecmd(pcst); 7240 7241 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7242 switch (gnewsqlstatementtype) { // 7243 case sstinvalid: 7244 { 7245 ret = null; 7246 7247 if ( pstate == EFindSqlStateType.stnormal ) 7248 { 7249 if ( pcst.tokencode == TBaseType.label_begin ) 7250 { 7251 ret = new TCommonBlock(pdbvendor); 7252 gnewsqlstatementtype = ret.sqlstatementtype; 7253 } 7254 else if ( pcst.tokencode == TBaseType.rrw_declare ) 7255 { 7256 ret = new TCommonBlock(pdbvendor); 7257 gnewsqlstatementtype = ret.sqlstatementtype; 7258 } 7259 else if ( pcst.tokencode == TBaseType.rrw_begin ) 7260 { 7261 ret = new TCommonBlock(pdbvendor); 7262 gnewsqlstatementtype = ret.sqlstatementtype; 7263 } 7264 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 7265 { 7266 ret = new TPlsqlCreateProcedure(pdbvendor); 7267 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 7268 gnewsqlstatementtype = ret.sqlstatementtype; 7269 } 7270 else if ( pcst.tokencode == TBaseType.rrw_function ) 7271 { 7272 ret = new TPlsqlCreateFunction(pdbvendor); 7273 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 7274 gnewsqlstatementtype = ret.sqlstatementtype; 7275 } 7276 else if ( pcst.tokencode == TBaseType.rrw_package ) 7277 { 7278 ret = new TPlsqlCreatePackage(pdbvendor); 7279 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 7280 gnewsqlstatementtype = ret.sqlstatementtype; 7281 } 7282 } 7283 break; 7284 } 7285 case sstselect: 7286 { 7287 boolean lcisnewsql = true; 7288 7289 if ( pstate != EFindSqlStateType.stnormal ) 7290 { 7291 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7292 if ( (lcprevsolidtoken != null) ) 7293 { 7294 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 7295 lcisnewsql = false; //subqery 7296 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 7297 lcisnewsql = false; 7298 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 7299 lcisnewsql = false; 7300 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 7301 lcisnewsql = false; 7302 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 7303 lcisnewsql = false; 7304 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 7305 lcisnewsql = false; 7306 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 7307 { 7308 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 7309 lcisnewsql = false; 7310 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 7311 lcisnewsql = false; 7312 } 7313 7314 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 7315 { 7316 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 7317 if ( (lcpprevsolidtoken != null) ) 7318 { 7319 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 7320 lcisnewsql = false; 7321 } 7322 } 7323 7324 } 7325 7326 7327 if ( (lccurrentsqlstatement != null) ) 7328 { 7329 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 7330 lcisnewsql = false; 7331 } 7332 7333 } 7334 7335 if ( lcisnewsql ) 7336 ret = new TSelectSqlStatement(pdbvendor); 7337 7338 break; 7339 } 7340 case sstinsert: 7341 { 7342 boolean lcisnewsql = true; 7343 if ( pstate != EFindSqlStateType.stnormal ) 7344 { 7345 if ( (lccurrentsqlstatement != null) ) 7346 { 7347 7348 } 7349 } 7350 7351 if ( lcisnewsql ) 7352 ret = new TInsertSqlStatement(pdbvendor); 7353 7354 break; 7355 } 7356 case sstupdate: 7357 { 7358 boolean lcisnewsql = true; 7359 if ( pstate != EFindSqlStateType.stnormal ) 7360 { 7361 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7362 if ( (lcprevsolidtoken != null) ) 7363 { // 7364 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7365 lcisnewsql = false; 7366 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 7367 lcisnewsql = false; 7368 } 7369 7370 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 7371 if ( (lcnextsolidtoken != null) ) 7372 { 7373 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 7374 { 7375 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 7376 if ( k == 0 ) lcisnewsql = false; 7377 } 7378 } 7379 7380 7381 if ( (lccurrentsqlstatement != null) ) 7382 { 7383 } 7384 } 7385 7386 if ( lcisnewsql ) 7387 { 7388 ret = new TUpdateSqlStatement(pdbvendor); 7389 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 7390 } 7391 break; 7392 } 7393 case sstdelete: 7394 { 7395 boolean lcisnewsql = true; 7396 7397 if ( pstate != EFindSqlStateType.stnormal ) 7398 { 7399 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7400 if ( (lcprevsolidtoken != null) ) 7401 { 7402 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7403 lcisnewsql = false; 7404 } 7405 7406 if ( (lccurrentsqlstatement != null) ) 7407 { 7408 } 7409 } 7410 7411 if ( lcisnewsql ) 7412 ret = new TDeleteSqlStatement(pdbvendor); 7413 7414 break; 7415 } 7416 case sstmerge: 7417 { 7418 ret = new TMergeSqlStatement(pdbvendor); 7419 ret.sqlstatementtype = gnewsqlstatementtype; 7420 break; 7421 } 7422 case sstoraclecommit: 7423 { 7424 ret = new TUnknownSqlStatement(pdbvendor); 7425 ret.sqlstatementtype = gnewsqlstatementtype; 7426 break; 7427 } 7428 case sstoraclerollback: 7429 { 7430 ret = new TUnknownSqlStatement(pdbvendor); 7431 ret.sqlstatementtype = gnewsqlstatementtype; 7432 break; 7433 } 7434 case sstoraclerevoke: 7435 { 7436 ret = new TUnknownSqlStatement(pdbvendor); 7437 ret.sqlstatementtype = gnewsqlstatementtype; 7438 break; 7439 } 7440 case sstoraclegrant: 7441 { 7442 ret = new TUnknownSqlStatement(pdbvendor); 7443 ret.sqlstatementtype = gnewsqlstatementtype; 7444 break; 7445 } 7446 case sstcreatetable: 7447 { 7448 ret = new TCreateTableSqlStatement(pdbvendor); 7449 break; 7450 } 7451 case sstoraclecreateview: 7452 { 7453 ret = new TCreateViewSqlStatement(pdbvendor); 7454 break; 7455 } 7456 case sstAlterAccount: 7457 { 7458 ret = new TAlterAccountStmt(pdbvendor); 7459 break; 7460 } 7461 case sstalterdatabase: 7462 { 7463 ret = new TAlterDatabaseStmt(pdbvendor); 7464 break; 7465 } 7466 case sstAlterFileFormat: 7467 { 7468 ret = new TAlterFileFormatStmt(pdbvendor); 7469 break; 7470 } 7471 case sstalterfunction: 7472 { 7473 ret = new TAlterFunctionStmt(pdbvendor); 7474 break; 7475 } 7476 case sstAlterNetworkPolicy: 7477 { 7478 ret = new TAlterNetworkPolicyStmt(pdbvendor); 7479 break; 7480 } 7481 case sstAlterPipe: 7482 { 7483 ret = new TAlterPipeStmt(pdbvendor); 7484 break; 7485 } 7486 case sstAlterResourceMonitor: 7487 { 7488 ret = new TAlterResourceMonitorStmt(pdbvendor); 7489 break; 7490 } 7491 case sstAlterRole: 7492 { 7493 ret = new TAlterRoleStmt(pdbvendor); 7494 break; 7495 } 7496 case sstAlterSchema: 7497 { 7498 ret = new TAlterSchemaStmt(pdbvendor); 7499 break; 7500 } 7501 case sstaltersequence: 7502 { 7503 ret = new TAlterSequenceStatement(pdbvendor); 7504 break; 7505 } 7506 case sstaltersession: 7507 { 7508 ret = new TAlterSessionStatement(pdbvendor); 7509 break; 7510 } 7511 case sstAlterStage: 7512 { 7513 ret = new TAlterStageStmt(pdbvendor); 7514 break; 7515 } 7516 case sstalteruser: 7517 { 7518 ret = new TAlterUserStmt(pdbvendor); 7519 break; 7520 } 7521 case sstAlterShare: 7522 { 7523 ret = new TAlterShareStmt(pdbvendor); 7524 break; 7525 } 7526 case sstalterview: 7527 { 7528 ret = new TAlterViewStatement(pdbvendor); 7529 break; 7530 } 7531 case sstAlterWarehouse: 7532 { 7533 ret = new TAlterWarehouseStmt(pdbvendor); 7534 break; 7535 } 7536 case sstBegin: 7537 { 7538 boolean isblock = false; 7539 int numOfSolidToken = 0; 7540 // if linebreak appears before the ;, then it a block, else it a 7541 TSourceToken st ; 7542 if (lcpos == lcsourcetokenlist.size() - 1){ 7543 // this is the last token 7544 }else{ 7545 for(int i=lcpos+1;i<lcsourcetokenlist.size();i++){ 7546 st = lcsourcetokenlist.get(i); 7547 if (st.issolidtoken()){ 7548 numOfSolidToken++; 7549 } 7550 // Check for newline before semicolon - if found, must be a block 7551 if (st.tokencode == TBaseType.lexnewline) { 7552 isblock = true; 7553 // Continue to look for semicolon to complete the check 7554 } 7555 7556 if (st.tokencode == ';') { 7557 if (numOfSolidToken<=3){ 7558 7559 }else{ 7560 isblock = true; 7561 } 7562 break; 7563 } 7564 7565 if (numOfSolidToken > 3){ 7566 isblock = true; 7567 break; 7568 } 7569 } 7570 } 7571 7572 if (isblock){ 7573 ret = new TCommonBlock(pdbvendor); 7574 gnewsqlstatementtype = ret.sqlstatementtype; 7575 }else{ 7576 ret = new TBeginTran(pdbvendor); 7577 pcst.tokencode = TBaseType.rrw_snowflake_begin_transaction; 7578 } 7579 7580 7581 break; 7582 } 7583 case sstbegintran: 7584 { 7585 ret = new TBeginTran(pdbvendor); 7586 if (pcst.tokencode == TBaseType.rrw_begin){ 7587 pcst.tokencode = TBaseType.rrw_snowflake_begin_transaction; 7588 } 7589 7590 break; 7591 } 7592 case sstcomment: 7593 { 7594 ret = new TCommentOnSqlStmt(pdbvendor); 7595 break; 7596 } 7597 case sstcommit: 7598 { 7599 ret = new TCommitStmt(pdbvendor); 7600 break; 7601 } 7602 case sstCopyInto: 7603 { 7604 ret = new TSnowflakeCopyIntoStmt(pdbvendor); 7605 break; 7606 } 7607 case sstcreatedatabase: 7608 { 7609 ret = new TCreateDatabaseSqlStatement(pdbvendor); 7610 break; 7611 } 7612 case sstCreateFileFormat: 7613 { 7614 ret = new TCreateFileFormatStmt(pdbvendor); 7615 break; 7616 } 7617 case sstcreatefunction: 7618 { 7619 ret = new TCreateFunctionStmt(pdbvendor); 7620 break; 7621 } 7622 case sstCreateNetworkPolicy: 7623 { 7624 ret = new TCreateNetworkPolicyStmt(pdbvendor); 7625 break; 7626 } 7627 case sstCreatePipe: 7628 { 7629 ret = new TCreatePipeStmt(pdbvendor); 7630 break; 7631 } 7632 case sstCreateResourceMonitor: 7633 { 7634 ret = new TCreateResourceMonitorStmt(pdbvendor); 7635 break; 7636 } 7637 case sstcreaterole: 7638 { 7639 ret = new TCreateRoleStmt(pdbvendor); 7640 break; 7641 } 7642 case sstcreateschema: 7643 { 7644 ret = new TCreateSchemaSqlStatement(pdbvendor); 7645 break; 7646 } 7647 case sstcreatesequence: 7648 { 7649 ret = new TCreateSequenceStmt(pdbvendor); 7650 break; 7651 } 7652 case sstCreateShare: 7653 { 7654 ret = new TCreateShareStmt(pdbvendor); 7655 break; 7656 } 7657 case sstCreateStage: 7658 { 7659 ret = new TCreateStageStmt(pdbvendor); 7660 break; 7661 } 7662 case sstcreateuser: 7663 { 7664 ret = new TCreateUserStmt(pdbvendor); 7665 break; 7666 } 7667 case sstCreateWarehouse: 7668 { 7669 ret = new TCreateWarehouseStmt(pdbvendor); 7670 break; 7671 } 7672 case sstDescFileFormat: 7673 case sstDescFunction: 7674 case sstDescNetworkPolicy: 7675 case sstDescPipe: 7676 case sstDescResult: 7677 case sstDescShare: 7678 case sstDescStage: 7679 case sstDescTable: 7680 case sstDescUser: 7681 case sstDescView: 7682 case sstDescStorage: 7683 { 7684 ret = new TDescribeStmt(pdbvendor); 7685 break; 7686 } 7687 case sstdropfunction: 7688 { 7689 ret = new TDropFunctionStmt(pdbvendor); 7690 break; 7691 } 7692 case sstdropdatabase: 7693 { 7694 ret = new TDropDatabaseStmt(pdbvendor); 7695 break; 7696 } 7697 case sstDropFileFormat: 7698 { 7699 ret = new TDropStmt(pdbvendor); 7700 ret.sqlstatementtype = gnewsqlstatementtype; 7701 break; 7702 } 7703 case sstDropNetworkPolicy: 7704 { 7705 ret = new TDropStmt(pdbvendor); 7706 ret.sqlstatementtype = gnewsqlstatementtype; 7707 break; 7708 } 7709 case sstDropPipe: 7710 { 7711 ret = new TDropStmt(pdbvendor); 7712 ret.sqlstatementtype = gnewsqlstatementtype; 7713 break; 7714 } 7715 case sstDropResourceMonitor: 7716 { 7717 ret = new TDropStmt(pdbvendor); 7718 ret.sqlstatementtype = gnewsqlstatementtype; 7719 break; 7720 } 7721 case sstdroprole: 7722 { 7723 ret = new TDropRoleStmt(pdbvendor); 7724 break; 7725 } 7726 case sstdropschema: 7727 { 7728 ret = new TDropSchemaSqlStatement(pdbvendor); 7729 break; 7730 } 7731 case sstDropShare: 7732 { 7733 ret = new TDropStmt(pdbvendor); 7734 ret.sqlstatementtype = gnewsqlstatementtype; 7735 break; 7736 } 7737 case sstDropStage: 7738 { 7739 ret = new TDropStmt(pdbvendor); 7740 ret.sqlstatementtype = gnewsqlstatementtype; 7741 break; 7742 } 7743 case sstdroptable: 7744 { 7745 ret = new TDropTableSqlStatement(pdbvendor); 7746 break; 7747 } 7748 case sstdropuser: 7749 { 7750 ret = new TDropUserStmt(pdbvendor); 7751 break; 7752 } 7753 case sstdropview: 7754 { 7755 ret = new TDropViewSqlStatement(pdbvendor); 7756 break; 7757 } 7758 case sstDropWarehouse: 7759 { 7760 ret = new TDropStmt(pdbvendor); 7761 ret.sqlstatementtype = gnewsqlstatementtype; 7762 break; 7763 } 7764 case sstGet: 7765 { 7766 ret = new TGetStmt(pdbvendor); 7767 break; 7768 } 7769 case sstGrant: 7770 { 7771 ret = new TGrantStmt(pdbvendor); 7772 break; 7773 } 7774 case sstList: 7775 { 7776 ret = new TListStmt(pdbvendor); 7777 break; 7778 } 7779 case sstPut: 7780 { 7781 ret = new TPutStmt(pdbvendor); 7782 break; 7783 } 7784 case sstRemove: 7785 { 7786 ret = new TRemoveStmt(pdbvendor); 7787 break; 7788 } 7789 case sstRevoke: 7790 { 7791 ret = new TRevokeStmt(pdbvendor); 7792 break; 7793 } 7794 case sstrollback: 7795 { 7796 ret = new TRollbackStmt(pdbvendor); 7797 break; 7798 } 7799 case sstset: 7800 { 7801 ret = new TSetStmt(pdbvendor); 7802 break; 7803 } 7804 case sstShowColumns: 7805 case sstShowDatabases: 7806 case sstShowFileFormats: 7807 case sstShowFunctions: 7808 case sstShowGrants: 7809 case sstShowNetworkPolicies: 7810 case sstShowObjects: 7811 case sstShowParameters: 7812 case sstShowPipes: 7813 case sstShowResourceMonitors: 7814 case sstShowRoles: 7815 case sstShowSchemas: 7816 case sstShowSequences: 7817 case sstShowShares: 7818 case sstShowStages: 7819 case sstShowTables: 7820 case sstShowTransactions: 7821 case sstShowUserFunctions: 7822 case sstShowUsers: 7823 case sstShowVariables: 7824 case sstShowViews: 7825 case sstShowWarehouses: 7826 case sstShowProcedures: 7827 case sstShowTasks: 7828 case sstShowStreams: 7829 { 7830 ret = new TShowStmt(pdbvendor); 7831 ret.sqlstatementtype = gnewsqlstatementtype; 7832 break; 7833 } 7834 case sstTruncate: 7835 { 7836 ret = new TTruncateStatement(pdbvendor); 7837 7838 break; 7839 } 7840 case sstUndropDatabase: 7841 case sstUndropSchema: 7842 case sstUndropTable: 7843 { 7844 ret = new TUndropStmt(pdbvendor); 7845 ret.sqlstatementtype = gnewsqlstatementtype; 7846 break; 7847 } 7848 case sstunset: 7849 { 7850 ret = new TUnsetStmt(pdbvendor); 7851 break; 7852 } 7853 case sstcreatematerializedview:{ 7854 ret = new TCreateMaterializedSqlStatement(pdbvendor); 7855 break; 7856 } 7857 case sstoraclecreateindex: 7858 { 7859 ret = new TCreateIndexSqlStatement(pdbvendor); 7860 break; 7861 } 7862 case sstoracledroptable: 7863 { 7864 ret = new TDropTableSqlStatement(pdbvendor); 7865 break; 7866 } 7867 case sstoracledropview: 7868 { 7869 ret = new TDropViewSqlStatement(pdbvendor); 7870 break; 7871 } 7872 case sstoracledropindex: 7873 { 7874 ret = new TDropIndexSqlStatement(pdbvendor); 7875 break; 7876 } 7877 case sstaltertable: 7878 { 7879 ret = new TAlterTableStatement(pdbvendor); 7880 break; 7881 } 7882 case sstoraclealtersession: 7883 { 7884 ret = new TAlterSessionStatement(pdbvendor); 7885 break; 7886 } 7887 case sstplsql_createfunction: 7888 { 7889 ret = new TPlsqlCreateFunction(pdbvendor); 7890 ret.sqlstatementtype = gnewsqlstatementtype; 7891 // System.out.println(gnewsqlstatementtype); 7892 break; 7893 } 7894 case sstCommentOn: 7895 { 7896 ret = new TCommentOnSqlStmt(pdbvendor); 7897 break; 7898 } 7899 case sstoraclecreatesequence: 7900 { 7901 ret = new TCreateSequenceStmt(pdbvendor); 7902 break; 7903 } 7904 case sstpostgresqlCreateIndex: 7905 ret = new TCreateIndexSqlStatement(pdbvendor); 7906 break; 7907 case sstpostgresqlCreateView: 7908 ret = new TCreateViewSqlStatement(pdbvendor); 7909 break; 7910 case sstpostgresqlCreateFunction: 7911 ret = new TCreateFunctionStmt(pdbvendor); 7912 break; 7913// case sstcreatetrigger: 7914// ret = new TCreateTriggerStmt(pdbvendor); 7915// break; 7916 case sstpostgresqlTruncate: 7917 ret = new TTruncateStatement(pdbvendor); 7918 break; 7919 case sstpostgresqlDropTable: 7920 ret = new TDropTableSqlStatement(pdbvendor); 7921 break; 7922 case sstcreateview: 7923 ret = new TCreateViewSqlStatement(pdbvendor); 7924 break; 7925 case sstcall: 7926 ret = new TCallStatement(pdbvendor); 7927 break; 7928 case sstSnowflakePseudoExprStmt: 7929 ret = new TPseudoExprStmt(pdbvendor); 7930 break; 7931 case sstcreateprocedure: 7932 ret = new TCreateProcedureStmt(pdbvendor); 7933 break; 7934 case sstCreateStream: 7935 ret = new TCreateStreamStmt(pdbvendor); 7936 break; 7937 case sstUse: 7938 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 7939 if (lcnextsolidtoken != null){ 7940 if (lcnextsolidtoken.toString().equalsIgnoreCase("database")){ 7941 ret = new TUseDatabase(pdbvendor); 7942 }else if (lcnextsolidtoken.toString().equalsIgnoreCase("role")){ 7943 ret = new TUseRole(pdbvendor); 7944 }else if (lcnextsolidtoken.toString().equalsIgnoreCase("warehouse")){ 7945 ret = new TUseWarehouse(pdbvendor); 7946 }else{ 7947 ret = new TUseSchema(pdbvendor); 7948 } 7949 7950 }else{ 7951 ret = new TUnknownSqlStatement(pdbvendor); 7952 ret.sqlstatementtype = gnewsqlstatementtype; 7953 } 7954 break; 7955 case sstExecute: 7956 { 7957 ret = new TExecuteSqlStatement(pdbvendor); 7958 break; 7959 } 7960 case sstAlterTask: 7961 ret = new TAlterTaskStmt(pdbvendor); 7962 break; 7963 case sstCreateTask: 7964 ret = new TCreateTaskStmt(pdbvendor); 7965 break; 7966 case sstAlterMaterializedView: 7967 ret = new TAlterMaterializedViewStmt(pdbvendor); 7968 break; 7969 case sstDropMaterializedView: 7970 ret = new TDropMaterializedViewStmt(pdbvendor); 7971 break; 7972 case sstdropprocedure: 7973 ret = new TDropProcedureStmt(pdbvendor); 7974 break; 7975 case sstUseSecondaryRoles: 7976 ret = new TUseSecondaryRolesStmt(pdbvendor); 7977 break; 7978 case sstDropStreamlit: 7979 ret = new TDropStmt(pdbvendor); 7980 break; 7981 case sstDropStream: 7982 ret = new TDropStreamStmt(pdbvendor); 7983 break; 7984 default: 7985 { 7986 ret = new TUnknownSqlStatement(pdbvendor); 7987 ret.sqlstatementtype = gnewsqlstatementtype; 7988 break; 7989 } 7990 } // case 7991 7992 return ret; 7993} 7994 7995TCustomSqlStatement isgreenplum(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 7996 TCustomSqlStatement ret = null; 7997 7998 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 7999 8000 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8001 || (pcst.tokencode == TBaseType.cmtslashstar) 8002 || (pcst.tokencode == TBaseType.lexspace) 8003 || (pcst.tokencode == TBaseType.lexnewline) 8004 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8005 { 8006 return null; 8007 } 8008 8009 int lcpos = pcst.posinlist; 8010 TSourceTokenList lcsourcetokenlist = pcst.container; 8011 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8012 8013 //subquery after semicolon or at first line 8014 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8015 { 8016 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8017 if ( k >0 ) 8018 { 8019 ret = new TSelectSqlStatement(pdbvendor); 8020 } 8021 8022 return ret; 8023 } 8024 8025 //cte 8026 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8027 { 8028 ret = findcte(pcst,pdbvendor); 8029 if ( (ret != null) ) return ret; 8030 } 8031 8032 gnewsqlstatementtype = findgreenplumcmd(pcst); 8033 8034 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8035 switch (gnewsqlstatementtype) { // 8036 case sstinvalid: 8037 { 8038 ret = null; 8039 8040 if ( pstate == EFindSqlStateType.stnormal ) 8041 { 8042 if ( pcst.tokencode == TBaseType.label_begin ) 8043 { 8044 ret = new TCommonBlock(pdbvendor); 8045 gnewsqlstatementtype = ret.sqlstatementtype; 8046 } 8047 else if ( pcst.tokencode == TBaseType.rrw_declare ) 8048 { 8049 ret = new TCommonBlock(pdbvendor); 8050 gnewsqlstatementtype = ret.sqlstatementtype; 8051 } 8052 else if ( pcst.tokencode == TBaseType.rrw_begin ) 8053 { 8054 ret = new TCommonBlock(pdbvendor); 8055 gnewsqlstatementtype = ret.sqlstatementtype; 8056 } 8057 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 8058 { 8059 ret = new TPlsqlCreateProcedure(pdbvendor); 8060 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 8061 gnewsqlstatementtype = ret.sqlstatementtype; 8062 } 8063 else if ( pcst.tokencode == TBaseType.rrw_function ) 8064 { 8065 ret = new TPlsqlCreateFunction(pdbvendor); 8066 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 8067 gnewsqlstatementtype = ret.sqlstatementtype; 8068 } 8069 else if ( pcst.tokencode == TBaseType.rrw_package ) 8070 { 8071 ret = new TPlsqlCreatePackage(pdbvendor); 8072 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8073 gnewsqlstatementtype = ret.sqlstatementtype; 8074 } 8075 } 8076 break; 8077 } 8078 case sstselect: 8079 { 8080 boolean lcisnewsql = true; 8081 8082 if ( pstate != EFindSqlStateType.stnormal ) 8083 { 8084 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8085 if ( (lcprevsolidtoken != null) ) 8086 { 8087 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8088 lcisnewsql = false; //subqery 8089 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 8090 lcisnewsql = false; 8091 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 8092 lcisnewsql = false; 8093 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 8094 lcisnewsql = false; 8095 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 8096 lcisnewsql = false; 8097 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 8098 lcisnewsql = false; 8099 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 8100 { 8101 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 8102 lcisnewsql = false; 8103 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 8104 lcisnewsql = false; 8105 } 8106 8107 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 8108 { 8109 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 8110 if ( (lcpprevsolidtoken != null) ) 8111 { 8112 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 8113 lcisnewsql = false; 8114 } 8115 } 8116 8117 } 8118 8119 8120 if ( (lccurrentsqlstatement != null) ) 8121 { 8122 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 8123 lcisnewsql = false; 8124 } 8125 8126 } 8127 8128 if ( lcisnewsql ) 8129 ret = new TSelectSqlStatement(pdbvendor); 8130 8131 break; 8132 } 8133 case sstinsert: 8134 { 8135 boolean lcisnewsql = true; 8136 if ( pstate != EFindSqlStateType.stnormal ) 8137 { 8138 if ( (lccurrentsqlstatement != null) ) 8139 { 8140 8141 } 8142 } 8143 8144 if ( lcisnewsql ) 8145 ret = new TInsertSqlStatement(pdbvendor); 8146 8147 break; 8148 } 8149 case sstupdate: 8150 { 8151 boolean lcisnewsql = true; 8152 if ( pstate != EFindSqlStateType.stnormal ) 8153 { 8154 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8155 if ( (lcprevsolidtoken != null) ) 8156 { // 8157 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8158 lcisnewsql = false; 8159 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 8160 lcisnewsql = false; 8161 } 8162 8163 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8164 if ( (lcnextsolidtoken != null) ) 8165 { 8166 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8167 { 8168 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 8169 if ( k == 0 ) lcisnewsql = false; 8170 } 8171 } 8172 8173 8174 if ( (lccurrentsqlstatement != null) ) 8175 { 8176 } 8177 } 8178 8179 if ( lcisnewsql ) 8180 { 8181 ret = new TUpdateSqlStatement(pdbvendor); 8182 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 8183 } 8184 break; 8185 } 8186 case sstdelete: 8187 { 8188 boolean lcisnewsql = true; 8189 8190 if ( pstate != EFindSqlStateType.stnormal ) 8191 { 8192 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8193 if ( (lcprevsolidtoken != null) ) 8194 { 8195 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8196 lcisnewsql = false; 8197 } 8198 8199 if ( (lccurrentsqlstatement != null) ) 8200 { 8201 } 8202 } 8203 8204 if ( lcisnewsql ) 8205 ret = new TDeleteSqlStatement(pdbvendor); 8206 8207 break; 8208 } 8209 case sstmerge: 8210 { 8211 ret = new TMergeSqlStatement(pdbvendor); 8212 ret.sqlstatementtype = gnewsqlstatementtype; 8213 break; 8214 } 8215 case sstoraclecommit: 8216 { 8217 ret = new TUnknownSqlStatement(pdbvendor); 8218 ret.sqlstatementtype = gnewsqlstatementtype; 8219 break; 8220 } 8221 case sstoraclerollback: 8222 { 8223 ret = new TUnknownSqlStatement(pdbvendor); 8224 ret.sqlstatementtype = gnewsqlstatementtype; 8225 break; 8226 } 8227 case sstoraclesavepoint: 8228 { 8229 ret = new TUnknownSqlStatement(pdbvendor); 8230 ret.sqlstatementtype = gnewsqlstatementtype; 8231 break; 8232 } 8233 case sstoraclerevoke: 8234 { 8235 ret = new TUnknownSqlStatement(pdbvendor); 8236 ret.sqlstatementtype = gnewsqlstatementtype; 8237 break; 8238 } 8239 case sstoraclegrant: 8240 { 8241 ret = new TUnknownSqlStatement(pdbvendor); 8242 ret.sqlstatementtype = gnewsqlstatementtype; 8243 break; 8244 } 8245 case sstoracleanalyze: 8246 { 8247 ret = new TUnknownSqlStatement(pdbvendor); 8248 ret.sqlstatementtype = gnewsqlstatementtype; 8249 break; 8250 } 8251 case sstoracletruncate: 8252 { 8253 ret = new TUnknownSqlStatement(pdbvendor); 8254 ret.sqlstatementtype = gnewsqlstatementtype; 8255 break; 8256 } 8257 case sstcreatetable: 8258 case sstgreenplumCreateExternalTable: 8259 { 8260 ret = new TCreateTableSqlStatement(pdbvendor); 8261 break; 8262 } 8263 case sstoraclecreateview: 8264 { 8265 ret = new TCreateViewSqlStatement(pdbvendor); 8266 break; 8267 } 8268 case sstcreatematerializedview:{ 8269 ret = new TCreateMaterializedSqlStatement(pdbvendor); 8270 break; 8271 } 8272 case sstoraclecreateindex: 8273 { 8274 ret = new TCreateIndexSqlStatement(pdbvendor); 8275 break; 8276 } 8277 case sstoraclecreatedatabase: 8278 { 8279 ret = new TCreateDatabaseSqlStatement(pdbvendor); 8280 break; 8281 } 8282 case sstoracledroptable: 8283 { 8284 ret = new TDropTableSqlStatement(pdbvendor); 8285 break; 8286 } 8287 case sstoracledropview: 8288 { 8289 ret = new TDropViewSqlStatement(pdbvendor); 8290 break; 8291 } 8292 case sstoracledropindex: 8293 { 8294 ret = new TDropIndexSqlStatement(pdbvendor); 8295 break; 8296 } 8297 case sstaltertable: 8298 { 8299 ret = new TAlterTableStatement(pdbvendor); 8300 break; 8301 } 8302 case sstoraclealtersession: 8303 { 8304 ret = new TAlterSessionStatement(pdbvendor); 8305 break; 8306 } 8307 case sstplsql_createprocedure: 8308 { 8309 ret = new TPlsqlCreateProcedure(pdbvendor); 8310 ret.sqlstatementtype = gnewsqlstatementtype; 8311 // System.out.println(gnewsqlstatementtype); 8312 break; 8313 } 8314 case sstplsql_createfunction: 8315 { 8316 ret = new TPlsqlCreateFunction(pdbvendor); 8317 ret.sqlstatementtype = gnewsqlstatementtype; 8318 // System.out.println(gnewsqlstatementtype); 8319 break; 8320 } 8321 case sstplsql_createpackage: 8322 { 8323 ret = new TPlsqlCreatePackage(pdbvendor); 8324 ret.sqlstatementtype = gnewsqlstatementtype; 8325 // System.out.println(gnewsqlstatementtype); 8326 break; 8327 } 8328 case sstplsql_createtrigger: 8329 { 8330 ret = new TPlsqlCreateTrigger(pdbvendor); 8331 ret.sqlstatementtype = gnewsqlstatementtype; 8332 // System.out.println(gnewsqlstatementtype); 8333 break; 8334 } 8335 case sstplsql_execimmestmt: 8336 { 8337 ret = new TExecImmeStmt(pdbvendor); 8338 // ret.sqlstatementtype = gnewsqlstatementtype; 8339 // System.out.println(gnewsqlstatementtype); 8340 break; 8341 } 8342 case sstoraclecreatepackagebody: 8343 { 8344 ret = new TPlsqlCreatePackage(pdbvendor); 8345 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8346 break; 8347 } 8348 case sstplsql_createtype_placeholder: 8349 { 8350 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 8351 ret.sqlstatementtype = gnewsqlstatementtype; 8352 // System.out.println(gnewsqlstatementtype); 8353 break; 8354 } 8355 case sstplsql_createtypebody: 8356 { 8357 ret = new TPlsqlCreateTypeBody(pdbvendor); 8358 ret.sqlstatementtype = gnewsqlstatementtype; 8359 break; 8360 } 8361 case sstCommentOn: 8362 { 8363 ret = new TCommentOnSqlStmt(pdbvendor); 8364 break; 8365 } 8366 case sstoraclecreatesequence: 8367 { 8368 ret = new TCreateSequenceStmt(pdbvendor); 8369 break; 8370 } 8371 case sstoraclecreatesynonym: 8372 { 8373 ret = new TCreateSynonymStmt(pdbvendor); 8374 break; 8375 } 8376 case sstoraclecreatedirectory: 8377 { 8378 ret = new TOracleCreateDirectoryStmt(pdbvendor); 8379 break; 8380 } 8381 case sstpostgresqlCreateIndex: 8382 ret = new TCreateIndexSqlStatement(pdbvendor); 8383 break; 8384 case sstpostgresqlCreateView: 8385 ret = new TCreateViewSqlStatement(pdbvendor); 8386 break; 8387 case sstpostgresqlCreateFunction: 8388 ret = new TCreateFunctionStmt(pdbvendor); 8389 break; 8390 case sstcreatetrigger: 8391 ret = new TCreateTriggerStmt(pdbvendor); 8392 break; 8393 case sstpostgresqlMove: 8394 ret = new TMoveStmt(EDbVendor.dbvgreenplum); 8395 break; 8396 case sstpostgresqlTruncate: 8397 ret = new TTruncateStatement(EDbVendor.dbvgreenplum); 8398 break; 8399 case sstpostgresqlExecute: 8400 ret = new TExecuteSqlStatement(EDbVendor.dbvgreenplum); 8401 break; 8402 case sstValues: 8403 ret = new TSelectSqlStatement(EDbVendor.dbvgreenplum); 8404 break; 8405 case sstpostgresqlDeclare: { 8406 boolean lcisnewsql = true; 8407 8408 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos, 2, false); 8409 if ((lcnextsolidtoken != null)) { 8410 if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_CURSOR) { 8411 lcisnewsql = false; 8412 } 8413 } 8414 8415 8416 if (lcisnewsql) 8417 ret = new TCommonBlock(pdbvendor); 8418 else { 8419 ret = new TUnknownSqlStatement(pdbvendor); 8420 } 8421 ret.sqlstatementtype = gnewsqlstatementtype; 8422 8423 break; 8424 } 8425 case sstpostgresqlSet: 8426 ret = new TSetStmt(pdbvendor); 8427 break; 8428 case sstcreateExtension: 8429 ret = new TCreateExtensionStmt(pdbvendor); 8430 break; 8431 case sstcall: 8432 ret = new TCallStatement(pdbvendor); 8433 break; 8434 case sstpostgresqlCreateSchema: 8435 ret = new TCreateSchemaSqlStatement(pdbvendor); 8436 break; 8437 case sstpostgresqlDo: { 8438 boolean lcisnewsql = false; 8439 8440 if (pstate == EFindSqlStateType.stnormal) { 8441 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos, 1, false); 8442 if ((lcnextsolidtoken != null)) { 8443 if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_function_delimiter) 8444 lcisnewsql = true; 8445 } 8446 } 8447 8448 if (lcisnewsql) 8449 ret = new TDoExecuteBlockStmt(pdbvendor); 8450 8451 break; 8452 } 8453 case sstpostgresqlComment: 8454 ret = new TCommentOnSqlStmt(pdbvendor); 8455 break; 8456 default: 8457 { 8458 ret = new TUnknownSqlStatement(pdbvendor); 8459 ret.sqlstatementtype = gnewsqlstatementtype; 8460 break; 8461 } 8462 } // case 8463 8464 return ret; 8465 } 8466 8467TCustomSqlStatement isoraclesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8468 TCustomSqlStatement ret = null; 8469 8470 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8471 8472 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8473 || (pcst.tokencode == TBaseType.cmtslashstar) 8474 || (pcst.tokencode == TBaseType.lexspace) 8475 || (pcst.tokencode == TBaseType.lexnewline) 8476 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8477 { 8478 return null; 8479 } 8480 8481 int lcpos = pcst.posinlist; 8482 TSourceTokenList lcsourcetokenlist = pcst.container; 8483 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8484 8485 //subquery after semicolon or at first line 8486 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8487 { 8488 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8489 if ( k >0 ) 8490 { 8491 ret = new TSelectSqlStatement(pdbvendor); 8492 } 8493 8494 return ret; 8495 } 8496 8497 //cte 8498 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8499 { 8500 ret = findcte(pcst,pdbvendor); 8501 if ( (ret != null) ) return ret; 8502 } 8503 8504 gnewsqlstatementtype = findoraclecmd(pcst); 8505 8506 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8507 switch (gnewsqlstatementtype) { // 8508 case sstinvalid: 8509 { 8510 ret = null; 8511 8512 if ( pstate == EFindSqlStateType.stnormal ) 8513 { 8514 if ( pcst.tokencode == TBaseType.label_begin ) 8515 { 8516 ret = new TCommonBlock(pdbvendor); 8517 gnewsqlstatementtype = ret.sqlstatementtype; 8518 } 8519 else if ( pcst.tokencode == TBaseType.rrw_declare ) 8520 { 8521 ret = new TCommonBlock(pdbvendor); 8522 gnewsqlstatementtype = ret.sqlstatementtype; 8523 } 8524 else if ( pcst.tokencode == TBaseType.rrw_begin ) 8525 { 8526 ret = new TCommonBlock(pdbvendor); 8527 gnewsqlstatementtype = ret.sqlstatementtype; 8528 } 8529 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 8530 { 8531 ret = new TPlsqlCreateProcedure(pdbvendor); 8532 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 8533 gnewsqlstatementtype = ret.sqlstatementtype; 8534 } 8535 else if ( pcst.tokencode == TBaseType.rrw_function ) 8536 { 8537 ret = new TPlsqlCreateFunction(pdbvendor); 8538 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 8539 gnewsqlstatementtype = ret.sqlstatementtype; 8540 } 8541 else if ( pcst.tokencode == TBaseType.rrw_package ) 8542 { 8543 ret = new TPlsqlCreatePackage(pdbvendor); 8544 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8545 gnewsqlstatementtype = ret.sqlstatementtype; 8546 } 8547 } 8548 break; 8549 } 8550 case sstselect: 8551 { 8552 boolean lcisnewsql = true; 8553 8554 if ( pstate != EFindSqlStateType.stnormal ) 8555 { 8556 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8557 if ( (lcprevsolidtoken != null) ) 8558 { 8559 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8560 lcisnewsql = false; //subquery 8561 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 8562 lcisnewsql = false; 8563 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 8564 lcisnewsql = false; 8565 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 8566 lcisnewsql = false; 8567 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 8568 lcisnewsql = false; 8569 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 8570 lcisnewsql = false; 8571 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 8572 { 8573 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 8574 lcisnewsql = false; 8575 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 8576 lcisnewsql = false; 8577 } 8578 8579 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 8580 { 8581 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 8582 if ( (lcpprevsolidtoken != null) ) 8583 { 8584 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 8585 lcisnewsql = false; 8586 } 8587 } 8588 8589 } 8590 8591 8592 if ( (lccurrentsqlstatement != null) ) 8593 { 8594 switch (lccurrentsqlstatement.sqlstatementtype){ 8595 case sstinsert: 8596 lcisnewsql = false; 8597 break; 8598 case sstcreatetable: 8599 case sstcreateview: 8600 lcisnewsql = false; 8601 break; 8602 } 8603 } 8604 8605 } 8606 8607 if ( lcisnewsql ) 8608 ret = new TSelectSqlStatement(pdbvendor); 8609 8610 break; 8611 } 8612 case sstinsert: 8613 { 8614 boolean lcisnewsql = true; 8615 if ( pstate != EFindSqlStateType.stnormal ) 8616 { 8617 if ( (lccurrentsqlstatement != null) ) 8618 { 8619 8620 } 8621 } 8622 8623 if ( lcisnewsql ) 8624 ret = new TInsertSqlStatement(pdbvendor); 8625 8626 break; 8627 } 8628 case sstupdate: 8629 { 8630 boolean lcisnewsql = true; 8631 if ( pstate != EFindSqlStateType.stnormal ) 8632 { 8633 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8634 if ( (lcprevsolidtoken != null) ) 8635 { // 8636 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8637 lcisnewsql = false; 8638 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 8639 lcisnewsql = false; 8640 } 8641 8642 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8643 if ( (lcnextsolidtoken != null) ) 8644 { 8645 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8646 { 8647 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 8648 if ( k == 0 ) lcisnewsql = false; 8649 } 8650 } 8651 8652 8653 if ( (lccurrentsqlstatement != null) ) 8654 { 8655 } 8656 } 8657 8658 if ( lcisnewsql ) 8659 { 8660 ret = new TUpdateSqlStatement(pdbvendor); 8661 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 8662 } 8663 break; 8664 } 8665 case sstdelete: 8666 { 8667 boolean lcisnewsql = true; 8668 8669 if ( pstate != EFindSqlStateType.stnormal ) 8670 { 8671 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8672 if ( (lcprevsolidtoken != null) ) 8673 { 8674 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8675 lcisnewsql = false; 8676 } 8677 8678 if ( (lccurrentsqlstatement != null) ) 8679 { 8680 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8681 if ( (lcnextsolidtoken != null) ){ 8682 if (lcnextsolidtoken.tokencode == TBaseType.rrw_oracle_rows){ 8683 lcisnewsql = false; 8684 } 8685 } 8686 } 8687 } 8688 8689 if ( lcisnewsql ) 8690 ret = new TDeleteSqlStatement(pdbvendor); 8691 8692 break; 8693 } 8694 case sstmerge: 8695 { 8696 ret = new TMergeSqlStatement(pdbvendor); 8697 ret.sqlstatementtype = gnewsqlstatementtype; 8698 break; 8699 } 8700 case sstoraclecommit: 8701 { 8702 8703 boolean lcisnewsql = true; 8704 if ( pstate != EFindSqlStateType.stnormal ) 8705 { 8706 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8707 if ( (lcprevsolidtoken != null) ) 8708 { // 8709 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8710 lcisnewsql = false; 8711 } 8712 } 8713 8714 if (lcisnewsql){ 8715 ret = new TCommitStmt(pdbvendor); 8716 ret.sqlstatementtype = gnewsqlstatementtype; 8717 } 8718 8719 break; 8720 } 8721 case sstoraclerollback: 8722 { 8723 ret = new TUnknownSqlStatement(pdbvendor); 8724 ret.sqlstatementtype = gnewsqlstatementtype; 8725 break; 8726 } 8727 case sstoraclesavepoint: 8728 { 8729 ret = new TUnknownSqlStatement(pdbvendor); 8730 ret.sqlstatementtype = gnewsqlstatementtype; 8731 break; 8732 } 8733 case sstoraclerevoke: 8734 { 8735 ret = new TUnknownSqlStatement(pdbvendor); 8736 ret.sqlstatementtype = gnewsqlstatementtype; 8737 break; 8738 } 8739 case sstoraclegrant: 8740 { 8741 ret = new TUnknownSqlStatement(pdbvendor); 8742 ret.sqlstatementtype = gnewsqlstatementtype; 8743 break; 8744 } 8745 case sstoracleanalyze: 8746 { 8747 ret = new TUnknownSqlStatement(pdbvendor); 8748 ret.sqlstatementtype = gnewsqlstatementtype; 8749 break; 8750 } 8751 case sstTruncate: 8752 { 8753 ret = new TTruncateStatement(pdbvendor); 8754 ret.sqlstatementtype = gnewsqlstatementtype; 8755 break; 8756 } 8757 case sstcreatetable: 8758 { 8759 ret = new TCreateTableSqlStatement(pdbvendor); 8760 break; 8761 } 8762 case sstoraclecreateview: 8763 { 8764 ret = new TCreateViewSqlStatement(pdbvendor); 8765 break; 8766 } 8767 case sstcreatematerializedview:{ 8768 ret = new TCreateMaterializedSqlStatement(pdbvendor); 8769 break; 8770 } 8771 case sstoraclecreatematerializedviewlog:{ 8772 ret = new TCreateMaterializedViewLogSqlStatement(pdbvendor); 8773 break; 8774 } 8775 case sstoraclecreateindex: 8776 { 8777 ret = new TCreateIndexSqlStatement(pdbvendor); 8778 break; 8779 } 8780 case sstoraclecreatedatabase: 8781 { 8782 ret = new TCreateDatabaseSqlStatement(pdbvendor); 8783 break; 8784 } 8785 case sstoracledroptable: 8786 { 8787 ret = new TDropTableSqlStatement(pdbvendor); 8788 break; 8789 } 8790 case sstoracledropview: 8791 { 8792 ret = new TDropViewSqlStatement(pdbvendor); 8793 break; 8794 } 8795 case sstoracledropindex: 8796 { 8797 ret = new TDropIndexSqlStatement(pdbvendor); 8798 break; 8799 } 8800 case sstaltertable: 8801 { 8802 ret = new TAlterTableStatement(pdbvendor); 8803 break; 8804 } 8805 case sstoraclealtersession: 8806 { 8807 ret = new TAlterSessionStatement(pdbvendor); 8808 break; 8809 } 8810 case sstplsql_createprocedure: 8811 { 8812 ret = new TPlsqlCreateProcedure(pdbvendor); 8813 ret.sqlstatementtype = gnewsqlstatementtype; 8814 // System.out.println(gnewsqlstatementtype); 8815 break; 8816 } 8817 case sstplsql_createfunction: 8818 { 8819 ret = new TPlsqlCreateFunction(pdbvendor); 8820 ret.sqlstatementtype = gnewsqlstatementtype; 8821 // System.out.println(gnewsqlstatementtype); 8822 break; 8823 } 8824 case sstplsql_createpackage: 8825 { 8826 ret = new TPlsqlCreatePackage(pdbvendor); 8827 ret.sqlstatementtype = gnewsqlstatementtype; 8828 // System.out.println(gnewsqlstatementtype); 8829 break; 8830 } 8831 case sstplsql_createtrigger: 8832 { 8833 ret = new TPlsqlCreateTrigger(pdbvendor); 8834 ret.sqlstatementtype = gnewsqlstatementtype; 8835 // System.out.println(gnewsqlstatementtype); 8836 break; 8837 } 8838 case sstplsql_execimmestmt: 8839 { 8840 ret = new TExecImmeStmt(pdbvendor); 8841 // ret.sqlstatementtype = gnewsqlstatementtype; 8842 // System.out.println(gnewsqlstatementtype); 8843 break; 8844 } 8845 case sstoraclecreatepackagebody: 8846 { 8847 ret = new TPlsqlCreatePackage(pdbvendor); 8848 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8849 break; 8850 } 8851 case sstplsql_createtype_placeholder: 8852 { 8853 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 8854 ret.sqlstatementtype = gnewsqlstatementtype; 8855 // System.out.println(gnewsqlstatementtype); 8856 break; 8857 } 8858 case sstplsql_createtypebody: 8859 { 8860 ret = new TPlsqlCreateTypeBody(pdbvendor); 8861 ret.sqlstatementtype = gnewsqlstatementtype; 8862 break; 8863 } 8864 case sstCommentOn: 8865 { 8866 ret = new TCommentOnSqlStmt(pdbvendor); 8867 break; 8868 } 8869 case sstoraclecreatesequence: 8870 { 8871 ret = new TCreateSequenceStmt(pdbvendor); 8872 break; 8873 } 8874 case sstoraclecreatesynonym: 8875 { 8876 ret = new TCreateSynonymStmt(pdbvendor); 8877 break; 8878 } 8879 case sstoraclecreatedirectory: 8880 { 8881 ret = new TOracleCreateDirectoryStmt(pdbvendor); 8882 break; 8883 } 8884 case sstoracleexecuteprocedure: 8885 { 8886 ret = new TOracleExecuteProcedure(pdbvendor); 8887 break; 8888 } 8889 case sstExplain: 8890 { 8891 ret = new TExplainPlan(pdbvendor); 8892 break; 8893 } 8894 case sstoraclecreatelibrary: 8895 ret = new TOracleCreateLibraryStmt(pdbvendor); 8896 break; 8897 case sstaltertrigger: 8898 ret = new TAlterTriggerStmt(pdbvendor); 8899 break; 8900 case sstoracledropsequence: 8901 ret = new TDropSequenceStmt(pdbvendor); 8902 break; 8903 case sstoraclecall: 8904 ret = new TCallStatement(pdbvendor); 8905 break; 8906 case sstoraclealterview: 8907 ret = new TAlterViewStatement(pdbvendor); 8908 break; 8909 case sstoracledropsynonym: 8910 ret = new TDropSynonymStmt(pdbvendor); 8911 break; 8912 case sstoracledropdatabaselink: 8913 ret = new TDropDatabaseLinkStmt(pdbvendor); 8914 break; 8915 case sstoraclecreatedatabaselink: 8916 ret = new TCreateDatabaseLinkStmt(pdbvendor); 8917 break; 8918 case sstoracledropmaterializedview: 8919 ret = new TDropMaterializedViewStmt(pdbvendor); 8920 break; 8921 case sstoracledropmaterializedviewlog: 8922 ret = new TDropMaterializedViewLogStmt(pdbvendor); 8923 break; 8924 case sstoraclerename: 8925 ret = new TRenameStmt(pdbvendor); 8926 break; 8927 case sstoracledropprocedure: 8928 ret = new TDropProcedureStmt(pdbvendor); 8929 break; 8930 case sstAlterMaterializedView: 8931 ret = new TAlterMaterializedViewStmt(pdbvendor); 8932 break; 8933 case sstoracledroptrigger: 8934 ret = new TDropTriggerSqlStatement(pdbvendor); 8935 break; 8936 case sstoracledropfunction: 8937 ret = new TDropFunctionStmt(pdbvendor); 8938 break; 8939 case sstoraclealterindex: 8940 ret = new TAlterIndexStmt(pdbvendor); 8941 break; 8942 case sstoraclealtersequence: 8943 ret = new TAlterSequenceStatement(pdbvendor); 8944 break; 8945 case sstoraclealtertype: 8946 ret = new TAlterTypeStatement(pdbvendor); 8947 break; 8948 default: 8949 { 8950 ret = new TUnknownSqlStatement(pdbvendor); 8951 ret.sqlstatementtype = gnewsqlstatementtype; 8952 break; 8953 } 8954 } // case 8955 8956 return ret; 8957} 8958 8959TCustomSqlStatement isinformixsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8960 TCustomSqlStatement ret = null; 8961 8962 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8963 8964 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8965 || (pcst.tokencode == TBaseType.cmtslashstar) 8966 || (pcst.tokencode == TBaseType.lexspace) 8967 || (pcst.tokencode == TBaseType.lexnewline) 8968 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8969 { 8970 return null; 8971 } 8972 8973 int lcpos = pcst.posinlist; 8974 TSourceTokenList lcsourcetokenlist = pcst.container; 8975 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8976 8977 //subquery after semicolon or at first line 8978 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8979 { 8980 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8981 if ( k >0 ) 8982 { 8983 ret = new TSelectSqlStatement(pdbvendor); 8984 } 8985 8986 return ret; 8987 } 8988 8989 //cte 8990 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8991 { 8992 ret = findcte(pcst,pdbvendor); 8993 if ( (ret != null) ) return ret; 8994 } 8995 8996 gnewsqlstatementtype = findinformixcmd(pcst); 8997 8998 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8999 switch (gnewsqlstatementtype) { // 9000 case sstinvalid: 9001 { 9002 ret = null; 9003 9004 if ( pstate == EFindSqlStateType.stnormal ) 9005 { 9006 if ( pcst.tokencode == TBaseType.label_begin ) 9007 { 9008 ret = new TCommonBlock(pdbvendor); 9009 gnewsqlstatementtype = ret.sqlstatementtype; 9010 } 9011 else if ( pcst.tokencode == TBaseType.rrw_declare ) 9012 { 9013 ret = new TCommonBlock(pdbvendor); 9014 gnewsqlstatementtype = ret.sqlstatementtype; 9015 } 9016 else if ( pcst.tokencode == TBaseType.rrw_begin ) 9017 { 9018 ret = new TCommonBlock(pdbvendor); 9019 gnewsqlstatementtype = ret.sqlstatementtype; 9020 } 9021 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 9022 { 9023 ret = new TPlsqlCreateProcedure(pdbvendor); 9024 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 9025 gnewsqlstatementtype = ret.sqlstatementtype; 9026 } 9027 else if ( pcst.tokencode == TBaseType.rrw_function ) 9028 { 9029 ret = new TPlsqlCreateFunction(pdbvendor); 9030 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 9031 gnewsqlstatementtype = ret.sqlstatementtype; 9032 } 9033 else if ( pcst.tokencode == TBaseType.rrw_package ) 9034 { 9035 ret = new TPlsqlCreatePackage(pdbvendor); 9036 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 9037 gnewsqlstatementtype = ret.sqlstatementtype; 9038 } 9039 } 9040 break; 9041 } 9042 case sstselect: 9043 { 9044 boolean lcisnewsql = true; 9045 9046 if ( pstate != EFindSqlStateType.stnormal ) 9047 { 9048 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9049 if ( (lcprevsolidtoken != null) ) 9050 { 9051 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9052 lcisnewsql = false; //subqery 9053 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 9054 lcisnewsql = false; 9055 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 9056 lcisnewsql = false; 9057 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 9058 lcisnewsql = false; 9059 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 9060 lcisnewsql = false; 9061 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 9062 lcisnewsql = false; 9063 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 9064 { 9065 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 9066 lcisnewsql = false; 9067 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 9068 lcisnewsql = false; 9069 } 9070 9071 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 9072 { 9073 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 9074 if ( (lcpprevsolidtoken != null) ) 9075 { 9076 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 9077 lcisnewsql = false; 9078 } 9079 } 9080 9081 } 9082 9083 9084 if ( (lccurrentsqlstatement != null) ) 9085 { 9086 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 9087 lcisnewsql = false; 9088 } 9089 9090 } 9091 9092 if ( lcisnewsql ) 9093 ret = new TSelectSqlStatement(pdbvendor); 9094 9095 break; 9096 } 9097 case sstinsert: 9098 { 9099 boolean lcisnewsql = true; 9100 if ( pstate != EFindSqlStateType.stnormal ) 9101 { 9102 if ( (lccurrentsqlstatement != null) ) 9103 { 9104 // merge 9105 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9106 { 9107 if (lcprevsolidtoken != null) 9108 { 9109 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9110 {lcisnewsql = false;} 9111 } 9112 } 9113 9114 } 9115 } 9116 9117 if ( lcisnewsql ) 9118 ret = new TInsertSqlStatement(pdbvendor); 9119 9120 break; 9121 } 9122 case sstupdate: 9123 { 9124 boolean lcisnewsql = true; 9125 if ( pstate != EFindSqlStateType.stnormal ) 9126 { 9127 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9128 if ( (lcprevsolidtoken != null) ) 9129 { // 9130 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9131 lcisnewsql = false; 9132 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9133 lcisnewsql = false; 9134 } 9135 9136 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 9137 if ( (lcnextsolidtoken != null) ) 9138 { 9139 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9140 { 9141 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 9142 if ( k == 0 ) lcisnewsql = false; 9143 } 9144 } 9145 9146 9147 if ( (lccurrentsqlstatement != null) ) 9148 { 9149 // merge 9150 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9151 { 9152 if (lcprevsolidtoken != null) 9153 { 9154 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9155 {lcisnewsql = false;} 9156 } 9157 } 9158 } 9159 } 9160 9161 if ( lcisnewsql ) 9162 { 9163 ret = new TUpdateSqlStatement(pdbvendor); 9164 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 9165 } 9166 break; 9167 } 9168 case sstdelete: 9169 { 9170 boolean lcisnewsql = true; 9171 9172 if ( pstate != EFindSqlStateType.stnormal ) 9173 { 9174 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9175 if ( (lcprevsolidtoken != null) ) 9176 { 9177 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9178 lcisnewsql = false; 9179 } 9180 9181 if ( (lccurrentsqlstatement != null) ) 9182 { 9183 // merge 9184 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9185 { 9186 if (lcprevsolidtoken != null) 9187 { 9188 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9189 {lcisnewsql = false;} 9190 } 9191 } 9192 } 9193 } 9194 9195 if ( lcisnewsql ) 9196 ret = new TDeleteSqlStatement(pdbvendor); 9197 9198 break; 9199 } 9200 case sstmerge: 9201 { 9202 ret = new TMergeSqlStatement(pdbvendor); 9203 ret.sqlstatementtype = gnewsqlstatementtype; 9204 break; 9205 } 9206 case sstinformixCommit: 9207 { 9208 ret = new TUnknownSqlStatement(pdbvendor); 9209 ret.sqlstatementtype = gnewsqlstatementtype; 9210 break; 9211 } 9212 case sstinformixSavepoint: 9213 { 9214 ret = new TUnknownSqlStatement(pdbvendor); 9215 ret.sqlstatementtype = gnewsqlstatementtype; 9216 break; 9217 } 9218 case sstinformixRevoke: 9219 { 9220 ret = new TUnknownSqlStatement(pdbvendor); 9221 ret.sqlstatementtype = gnewsqlstatementtype; 9222 break; 9223 } 9224 case sstinformixGrant: 9225 { 9226 ret = new TUnknownSqlStatement(pdbvendor); 9227 ret.sqlstatementtype = gnewsqlstatementtype; 9228 break; 9229 } 9230 case sstTruncate: 9231 { 9232 ret = new TTruncateStatement(pdbvendor); 9233 ret.sqlstatementtype = gnewsqlstatementtype; 9234 break; 9235 } 9236 case sstcreatetable: 9237 case sstinformixCreateTempTable: 9238 { 9239 ret = new TCreateTableSqlStatement(pdbvendor); 9240 break; 9241 } 9242 case sstinformixCreateView: 9243 { 9244 ret = new TCreateViewSqlStatement(pdbvendor); 9245 break; 9246 } 9247 case sstinformixCreateIndex: 9248 { 9249 ret = new TCreateIndexSqlStatement(pdbvendor); 9250 break; 9251 } 9252 case sstinformixCreateDatabase: 9253 { 9254 ret = new TCreateDatabaseSqlStatement(pdbvendor); 9255 break; 9256 } 9257 case sstinformixDropTable: 9258 { 9259 ret = new TDropTableSqlStatement(pdbvendor); 9260 break; 9261 } 9262 case sstinformixDropView: 9263 { 9264 ret = new TDropViewSqlStatement(pdbvendor); 9265 break; 9266 } 9267 case sstinformixDropIndex: 9268 { 9269 ret = new TDropIndexSqlStatement(pdbvendor); 9270 break; 9271 } 9272 case sstinformixDropRowType: 9273 { 9274 ret = new TInformixDropRowTypeStmt(pdbvendor); 9275 break; 9276 } 9277 case sstinformixDropSequence: 9278 { 9279 ret = new TDropSequenceStmt(pdbvendor); 9280 break; 9281 } 9282 case sstinformixDropSynonym: 9283 { 9284 ret = new TDropSynonymStmt(pdbvendor); 9285 break; 9286 } 9287 case sstinformixAlterTable: 9288 { 9289 ret = new TAlterTableStatement(pdbvendor); 9290 break; 9291 } 9292 case sstinformixCreateProcedure: 9293 { 9294 ret = new TInformixCreateProcedure(pdbvendor); 9295 ret.sqlstatementtype = gnewsqlstatementtype; 9296 break; 9297 } 9298 case sstinformixCreateFunction: 9299 { 9300 ret = new TInformixCreateFunction(pdbvendor); 9301 ret.sqlstatementtype = gnewsqlstatementtype; 9302 break; 9303 } 9304 case sstcreatetrigger: 9305 { 9306 ret = new TCreateTriggerStmt(pdbvendor); 9307 break; 9308 } 9309 case sstinformixExecuteImmediate: 9310 { 9311 ret = new TInformixExecuteImmediate(pdbvendor); 9312 break; 9313 } 9314 case sstinformixCreateSequence: 9315 case sstinformixAlterSequence: 9316 { 9317 ret = new TCreateSequenceStmt(pdbvendor); 9318 break; 9319 } 9320 case sstinformixCreateSynonym: 9321 { 9322 ret = new TCreateSynonymStmt(pdbvendor); 9323 break; 9324 } 9325 case sstinformixExecuteFunction: 9326 { 9327 ret = new TInformixExecuteFunction(pdbvendor); 9328 break; 9329 } 9330 case sstinformixExecuteProcedure: 9331 { 9332 ret = new TInformixExecuteProcedure(pdbvendor); 9333 break; 9334 } 9335 case sstinformixCreateRowType: 9336 { 9337 ret = new TInformixCreateRowTypeStmt(pdbvendor); 9338 break; 9339 } 9340 case sstinformixPut: 9341 case sstinformixInfo: 9342 { 9343 ret = null; 9344 9345 if ( pstate == EFindSqlStateType.stnormal ) 9346 { 9347 ret = new TUnknownSqlStatement(pdbvendor); 9348 ret.sqlstatementtype = gnewsqlstatementtype; 9349 } 9350 break; 9351 } 9352 case sstinformixAlterIndex: 9353 { 9354 ret = new TAlterIndexStmt(pdbvendor); 9355 break; 9356 } 9357 case sstinformixRenameColumn: 9358 case sstinformixRenameTable: 9359 case sstinformixRenameSequence: 9360 case sstinformixRenameIndex: 9361 { 9362 ret = new TRenameStmt(pdbvendor); 9363 break; 9364 } 9365 case sstdropdatabase: 9366 ret = new TDropDatabaseStmt(pdbvendor); 9367 break; 9368 case sstinformixRollbackWork: 9369 { 9370 ret = new TMssqlRollback(pdbvendor); 9371 break; 9372 } 9373 default: 9374 { 9375 ret = new TUnknownSqlStatement(pdbvendor); 9376 ret.sqlstatementtype = gnewsqlstatementtype; 9377 break; 9378 } 9379 } // case 9380 9381 return ret; 9382} 9383 9384 9385 TCustomSqlStatement issybasesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 9386 TCustomSqlStatement ret = null; 9387 int k; 9388 boolean lcisnewsql; 9389 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 9390 9391 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 9392 9393 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 9394 || (pcst.tokencode == TBaseType.cmtslashstar) 9395 || (pcst.tokencode == TBaseType.lexspace) 9396 || (pcst.tokencode == TBaseType.lexnewline) 9397 || (pcst.tokentype == ETokenType.ttsemicolon) ) 9398 { 9399 return ret; 9400 } 9401 9402 int lcpos = pcst.posinlist; 9403 TSourceTokenList lcsourcetokenlist = pcst.container; 9404 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 9405 9406 //subquery after semicolon || at first line 9407 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 9408 { 9409 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 9410 if ( k >0 ) 9411 { 9412 ret = new TSelectSqlStatement(pdbvendor); 9413 } 9414 9415 return ret; 9416 } 9417 9418 //cte 9419 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 9420 { 9421 ret = findcte(pcst,pdbvendor); 9422 if ( (ret != null) ) return ret; 9423 } 9424 9425 gnewsqlstatementtype = findsybasecmd(pcst); 9426 9427 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9428 switch(gnewsqlstatementtype ) { // 9429 case sstinvalid: 9430 { 9431 if ( pcst.tokencode == TBaseType.mslabel ) 9432 { 9433 ret = new TMssqlLabel(pdbvendor); 9434 } 9435 else 9436 ret = null; 9437 9438 break; 9439 } 9440 case sstselect: 9441 { 9442 lcisnewsql = true; 9443 9444 if ( pstate != EFindSqlStateType.stnormal ) 9445 { 9446 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9447 if ( (lcprevsolidtoken != null) ) 9448 { 9449 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9450 lcisnewsql = false; //subqery 9451 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 9452 lcisnewsql = false; 9453 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 9454 lcisnewsql = false; 9455 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 9456 lcisnewsql = false; 9457 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 9458 lcisnewsql = false; 9459 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 9460 lcisnewsql = false; 9461 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 9462 { 9463 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 9464 lcisnewsql = false; 9465 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 9466 lcisnewsql = false; 9467 } 9468 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9469 { 9470 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 9471 lcisnewsql = false; 9472 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare ) 9473 lcisnewsql = false; 9474 } 9475 9476 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 9477 { 9478 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 9479 if ( (lcpprevsolidtoken != null) ) 9480 { 9481 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 9482 lcisnewsql = false; 9483 } 9484 } 9485 9486 } 9487 9488 if ( (lccurrentsqlstatement != null) ) 9489 { 9490 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 9491 { 9492 } 9493 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9494 { 9495 if ( (lcprevsolidtoken != null) ) 9496 { 9497 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9498 lcisnewsql = false; 9499 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9500 lcisnewsql = false; 9501 } 9502 } else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9503 { 9504 if ( (lcprevsolidtoken != null) ) 9505 { 9506 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9507 lcisnewsql = false; 9508 } 9509 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 9510 lcisnewsql = false; 9511 } 9512 } 9513 9514 } 9515 9516 if ( lcisnewsql ) 9517 ret = new TSelectSqlStatement(pdbvendor); 9518 9519 break; 9520 9521 } 9522 case sstinsert: 9523 { 9524 lcisnewsql = true; 9525 if ( pstate != EFindSqlStateType.stnormal ) 9526 { 9527 if ( (lccurrentsqlstatement != null) ) 9528 { 9529 // merge 9530 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9531 { 9532 if (lcprevsolidtoken != null) 9533 { 9534 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9535 {lcisnewsql = false;} 9536 } 9537 } 9538 9539 // bulk insert 9540 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert ) 9541 { 9542 if ( (lcprevsolidtoken != null) ) 9543 { 9544 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_bulk ) 9545 lcisnewsql = false; 9546 } 9547 } 9548 9549 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9550 { 9551 if ( (lcprevsolidtoken != null) ) 9552 { 9553 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9554 lcisnewsql = false; 9555 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9556 lcisnewsql = false; 9557 } 9558 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) { 9559 if ( (lcprevsolidtoken != null) ) 9560 { 9561 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9562 lcisnewsql = false; 9563 } 9564 } 9565 9566 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9567 { 9568 if ( (lcprevsolidtoken != null) ) 9569 { 9570 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9571 lcisnewsql = false; 9572 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9573 lcisnewsql = false; 9574 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 9575 lcisnewsql = false; 9576 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 9577 lcisnewsql = false; 9578 } 9579 } 9580 9581 9582 } 9583 } 9584 9585 if ( lcisnewsql ) 9586 { 9587 ret = new TInsertSqlStatement(pdbvendor); 9588 ret.dummytag = 1; // select stmt in insert is permitted 9589 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 9590 { 9591 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 9592 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 9593 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 9594 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 9595 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 9596 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 9597 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 9598 } // for ( 9599 if ( k > lcsourcetokenlist.size() - 1 ) 9600 k = lcsourcetokenlist.size() - 1; 9601 9602 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 9603 { 9604 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 9605 } // for ( 9606 9607 } 9608 9609 break; 9610 } 9611 case sstsybaseInsertBulk: 9612 { 9613 ret = new TInsertBulk(pdbvendor); 9614 break; 9615 } 9616 case sstupdate: 9617 { 9618 lcisnewsql = true; 9619 if ( pstate != EFindSqlStateType.stnormal ) 9620 { 9621 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9622 if ( (lcprevsolidtoken != null) ) 9623 { // 9624 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9625 lcisnewsql = false; 9626 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9627 lcisnewsql = false; 9628 } 9629 9630 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 9631 if ( TBaseType.assigned(lcnextsolidtoken) ) 9632 { 9633 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9634 { 9635 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 9636 if ( k == 0 ) lcisnewsql = false; 9637 } 9638 } 9639 9640 9641 if ( TBaseType.assigned(lccurrentsqlstatement) ) 9642 { 9643 // merge 9644 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9645 { 9646 if (lcprevsolidtoken != null) 9647 { 9648 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9649 {lcisnewsql = false;} 9650 } 9651 } 9652 9653 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9654 { 9655 if ( TBaseType.assigned(lcprevsolidtoken) ) 9656 { 9657 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9658 lcisnewsql = false; 9659 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9660 lcisnewsql = false; 9661 } 9662 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9663 { 9664 if ( TBaseType.assigned(lcprevsolidtoken) ) 9665 { 9666 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9667 lcisnewsql = false; 9668 } 9669 } 9670 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9671 { 9672 if ( TBaseType.assigned(lcprevsolidtoken) ) 9673 { 9674 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9675 lcisnewsql = false; 9676 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9677 lcisnewsql = false; 9678 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 9679 lcisnewsql = false; 9680 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 9681 lcisnewsql = false; 9682 } 9683 } 9684 9685 } 9686 } 9687 9688 if ( lcisnewsql ) 9689 { 9690 ret = new TUpdateSqlStatement(pdbvendor); 9691 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 9692 } 9693 9694 break; 9695 } 9696 case sstdelete: 9697 { 9698 lcisnewsql = true; 9699 9700 if ( pstate != EFindSqlStateType.stnormal ) 9701 { 9702 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9703 if ( TBaseType.assigned(lcprevsolidtoken) ) 9704 { 9705 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9706 lcisnewsql = false; 9707 } 9708 9709 if ( TBaseType.assigned(lccurrentsqlstatement) ) 9710 { 9711 // merge 9712 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9713 { 9714 if (lcprevsolidtoken != null) 9715 { 9716 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9717 {lcisnewsql = false;} 9718 } 9719 } 9720 9721 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9722 { 9723 if ( TBaseType.assigned(lcprevsolidtoken) ) 9724 { 9725 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9726 lcisnewsql = false; 9727 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9728 lcisnewsql = false; 9729 } 9730 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9731 { 9732 if ( TBaseType.assigned(lcprevsolidtoken) ) 9733 { 9734 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9735 lcisnewsql = false; 9736 } 9737 } 9738 9739 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9740 { 9741 if ( TBaseType.assigned(lcprevsolidtoken) ) 9742 { 9743 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9744 lcisnewsql = false; 9745 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9746 lcisnewsql = false; 9747 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 9748 lcisnewsql = false; 9749 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 9750 lcisnewsql = false; 9751 } 9752 } 9753 9754 } 9755 } 9756 9757 if ( lcisnewsql ) 9758 ret = new TDeleteSqlStatement(pdbvendor); 9759 9760 break; 9761 } 9762 case sstcreatetable: 9763 { 9764 ret = new TCreateTableSqlStatement(pdbvendor); 9765 break; 9766 } 9767 case sstcreateview: 9768 { 9769 ret = new TCreateViewSqlStatement(pdbvendor); 9770 break; 9771 } 9772 case sstaltertable: 9773 { 9774 ret = new TAlterTableStatement(pdbvendor); 9775 break; 9776 } 9777 case sstmssqlfetch: 9778 { 9779 ret = new TMssqlFetch(pdbvendor); 9780 break; 9781 } 9782 case sstmssqlif : 9783 { 9784 lcisnewsql = true; 9785 if ((lccurrentsqlstatement != null) && ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldropprocedure )) 9786 {lcisnewsql = false;} 9787 if (lcisnewsql){ 9788 ret = new TMssqlIfElse(pdbvendor); 9789 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 9790 } 9791 9792 break; 9793 } 9794 case sstmssqlwhile: 9795 { 9796 ret = new TMssqlIfElse(pdbvendor); 9797 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 9798 break; 9799 } 9800 case sstmssqlcreateprocedure : 9801 case sstmssqlalterprocedure: 9802 { 9803 ret = new TMssqlCreateProcedure(pdbvendor); 9804 break; 9805 } 9806 case sstmssqlcreatefunction : 9807 case sstmssqlalterfunction: 9808 { 9809 ret = new TMssqlCreateFunction(pdbvendor); 9810 break; 9811 } 9812 case sstcreatetrigger : 9813 case sstmssqlaltertrigger: 9814 { 9815 ret = new TCreateTriggerStmt(pdbvendor); 9816 break; 9817 } 9818 case sstmssqlreturn: 9819 { 9820 ret = new TMssqlReturn(pdbvendor); 9821 break; 9822 } 9823 case sstmssqlprint: 9824 { 9825 ret = new TMssqlPrint(pdbvendor); 9826 break; 9827 } 9828 case sstmssqluse: 9829 { 9830 ret = new TUseDatabase(pdbvendor); 9831 break; 9832 } 9833 case sstmssqlgo: 9834 { 9835 ret = new TMssqlGo(pdbvendor); 9836 break; 9837 } 9838 case sstmssqlrevert: 9839 { 9840 ret = new TMssqlRevert(pdbvendor); 9841 break; 9842 } 9843 case sstmssqlgrant: 9844 { 9845 lcisnewsql = true; 9846 // prev tokentext can't be with 9847 if ( pstate != EFindSqlStateType.stnormal ) 9848 { 9849 if ( TBaseType.assigned(lcprevsolidtoken) ) 9850 { 9851 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 9852 { 9853 ret = null; 9854 lcisnewsql = false; 9855 } 9856 } 9857 } 9858 if ( lcisnewsql ) 9859 { 9860 ret = new TGrantStmt(pdbvendor); 9861 //ret.sqlstatementtype = gnewsqlstatementtype; 9862 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 9863 { 9864 lctoken = lcsourcetokenlist.get(k); 9865 if (lctoken.isnonsolidtoken() ) continue; 9866 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 9867 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 9868 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 9869 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 9870 } 9871 } 9872 break; 9873 } 9874 case sstmssqldeclare: 9875 { 9876 ret = new TMssqlDeclare(pdbvendor); 9877 break; 9878 } 9879 case sstmssqlcontinue: 9880 { 9881 lcisnewsql = true; 9882 if ((lccurrentsqlstatement != null) && ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstload )) 9883 {lcisnewsql = false;} 9884 if (lcisnewsql){ 9885 ret = new TMssqlContinue(pdbvendor); 9886 } 9887 9888 break; 9889 } 9890 case sstbreak: 9891 { 9892 ret = new TBreakStmt(pdbvendor); 9893 break; 9894 } 9895 case sstmssqlopen: 9896 { 9897 ret = new TMssqlOpen(pdbvendor); 9898 break; 9899 } 9900 case sstmssqlclose: 9901 { 9902 ret = new TMssqlClose(pdbvendor); 9903 break; 9904 } 9905 case sstmssqlbulkinsert: 9906 { 9907 ret = new TMssqlBulkInsert(pdbvendor); 9908 break; 9909 } 9910 case sstmssqldeallocate: 9911 { 9912 ret = new TMssqlDeallocate(pdbvendor); 9913 break; 9914 } 9915 case sstmssqlraiserror: 9916 { 9917 ret = new TMssqlRaiserror(pdbvendor); 9918 break; 9919 } 9920 case sstmssqlgoto: 9921 { 9922 ret = new TMssqlGoTo(pdbvendor); 9923 break; 9924 } 9925 case sstmssqldropview: 9926 { 9927 ret = new TDropViewSqlStatement(pdbvendor); 9928 break; 9929 } 9930 case sstmssqldroptable: 9931 { 9932 ret = new TDropTableSqlStatement(pdbvendor); 9933 break; 9934 } 9935 case sstmssqldropindex: 9936 { 9937 ret = new TDropIndexSqlStatement(pdbvendor); 9938 break; 9939 } 9940 case sstmssqldroppartitionscheme : 9941 ret = new TDropPartitionSchemeStmt(pdbvendor); 9942 break; 9943 9944 case sstmssqldropaggregate : 9945 case sstmssqldropapplicationrole : 9946 case sstmssqldropassembly : 9947 case sstmssqldropasymmetrickey : 9948 case sstmssqldropcertificate : 9949 case sstmssqldropcontract : 9950 case sstmssqldropcredential : 9951 case sstmssqldropdefault : 9952 case sstmssqldropendpoint : 9953 case sstmssqldropeventnotification : 9954 case sstmssqldropfulltextcatalog : 9955 case sstmssqldropfulltextindex : 9956 case sstmssqldropfunction : 9957 case sstmssqldroplogin : 9958 case sstmssqldropmasterkey : 9959 case sstmssqldropmessagetype : 9960 case sstmssqldroppartitionfunction : 9961 case sstmssqldropprocedure : 9962 case sstmssqldropqueue : 9963 case sstmssqldropremoteservicebinding : 9964 case sstmssqldroprole : 9965 case sstmssqldroproute : 9966 case sstmssqldroprule : 9967 case sstmssqldropschema : 9968 case sstmssqldropservice : 9969 case sstmssqldropsignature: 9970 case sstmssqldropstatistics : 9971 case sstmssqldropsymmetrickey : 9972 case sstmssqldroptrigger : 9973 case sstmssqldroptype : 9974 case sstmssqldropuser : 9975 case sstmssqldropxmlschemacollection: 9976 case sstmssqldropdatabase : 9977 { 9978 ret = new TMssqlDropDbObject(EDbVendor.dbvsybase); 9979 ret.sqlstatementtype = gnewsqlstatementtype; 9980 break; 9981 } 9982 case sstmssqldropsynonym : 9983 { 9984 ret = new TDropSynonymStmt(pdbvendor); 9985 break; 9986 } 9987 case sstmssqltruncatetable: 9988 { 9989 ret = new TTruncateStatement(pdbvendor); 9990 break; 9991 } 9992 case sstmssqlbegintran: 9993 { 9994 ret = new TBeginTran(pdbvendor); 9995 break; 9996 } 9997 case sstmssqlsavetran: 9998 { 9999 ret = new TMssqlSaveTran(pdbvendor); 10000 break; 10001 } 10002 case sstmssqlcommit: 10003 { 10004 lcisnewsql = true; 10005 10006 if ( TBaseType.assigned(lcprevsolidtoken) ) 10007 { 10008 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10009 { 10010 10011 lcisnewsql = false; 10012 } 10013 } 10014 10015 if (lcisnewsql){ 10016 ret = new TMssqlCommit(pdbvendor); 10017 } 10018 10019 break; 10020 } 10021 case sstmssqlrollback: 10022 { 10023 ret = new TMssqlRollback(pdbvendor); 10024 break; 10025 } 10026 case sstmssqlreadtext : 10027 case sstmssqldbcc : 10028 case sstmssqlrestore : 10029 case sstmssqlbackup : 10030 { 10031 ret = new TMssqlDummyStmt(pdbvendor); 10032 ret.sqlstatementtype = gnewsqlstatementtype; 10033 break; 10034 } 10035 case sstcreateindex: 10036 { 10037 ret = new TCreateIndexSqlStatement(pdbvendor); 10038 break; 10039 } 10040 case sstmssqlwaitfor: 10041 { 10042 ret = new TMssqlWaitFor(pdbvendor); 10043 break; 10044 } 10045 case sstmerge: 10046 { 10047 lcisnewsql = true; 10048 10049 if (pstate != EFindSqlStateType.stnormal) 10050 { 10051 10052 if (lccurrentsqlstatement != null) 10053 { 10054 // merge union, merge join 10055 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 10056 { 10057 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10058 if (lcnextsolidtoken != null) 10059 { 10060 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 10061 { 10062 lcisnewsql = false; 10063 } 10064 } 10065 } 10066 10067 } 10068 10069 TSourceToken lcnexttoken = lcsourcetokenlist.nextsolidtoken(lcpos, 1, false); 10070 if ( (lcnexttoken != null) ) 10071 { 10072 if ( lcnexttoken.tokencode == TBaseType.rrw_sybase_partition ) 10073 lcisnewsql = false; 10074 } 10075 10076 } 10077 10078 if (lcisnewsql) 10079 { 10080 ret = new TMergeSqlStatement(pdbvendor); 10081 ret.sqlstatementtype = gnewsqlstatementtype; 10082 } 10083 10084 break; 10085 } 10086 case sstmssqlbegintry : 10087 case sstmssqlbegincatch: 10088 { 10089 ret = new TMssqlBlock(pdbvendor); 10090 ret.sqlstatementtype = gnewsqlstatementtype; 10091 break; 10092 } 10093 case sstmssqlexec: 10094 { 10095 lcisnewsql = true; 10096 // prev tokentext can't be with 10097 if ( pstate != EFindSqlStateType.stnormal ) 10098 { 10099 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10100 { 10101 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 10102 { 10103 if ( lccurrentsqlstatement.dummytag == 1 ) 10104 { 10105 lcisnewsql = false; 10106 lccurrentsqlstatement.dummytag = 0; // no select is permited after it 10107 } 10108 } 10109 10110 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10111 { 10112 if ( TBaseType.assigned(lcprevsolidtoken) ) 10113 { 10114 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10115 lcisnewsql = false; 10116 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10117 lcisnewsql = false; 10118 } 10119 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ){ 10120 if ( TBaseType.assigned(lcprevsolidtoken) ) 10121 { 10122 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 10123 lcisnewsql = false; 10124 } 10125 } 10126 10127 10128 10129 if ( 10130 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 10131 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 10132 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 10133 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 10134 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 10135 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 10136 ) 10137 { 10138 if ( TBaseType.assigned(lcprevsolidtoken) ) 10139 { 10140 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10141 lcisnewsql = false; 10142 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10143 lcisnewsql = false; 10144 } 10145 } 10146 } 10147 } 10148 if ( lcisnewsql ) 10149 { 10150 ret = new TMssqlExecute(pdbvendor); 10151 } 10152 break; 10153 } 10154 case sstmssqlexecuteas: 10155 { 10156 lcisnewsql = true; 10157 // prev tokentext can't be with 10158 if ( pstate != EFindSqlStateType.stnormal ) 10159 { 10160 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10161 { 10162 if ( 10163 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 10164 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 10165 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 10166 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 10167 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 10168 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 10169 ) 10170 { 10171 if ( TBaseType.assigned(lcprevsolidtoken) ) 10172 { 10173 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10174 lcisnewsql = false; 10175 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10176 lcisnewsql = false; 10177 } 10178 } 10179 } 10180 } 10181 if ( lcisnewsql ) 10182 { 10183 ret = new TMssqlExecuteAs(pdbvendor); 10184 ret.sqlstatementtype = gnewsqlstatementtype; 10185 } 10186 break; 10187 } 10188 case sstmssqlset: 10189 { 10190 lcisnewsql = true; 10191 if ( pstate != EFindSqlStateType.stnormal ) 10192 { 10193 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10194 { 10195 10196 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif) 10197 { 10198 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_update,"",pcst,-10); 10199 if (TBaseType.assigned(lcPPToken)) 10200 { 10201 lcisnewsql = false; 10202 } 10203 } 10204 10205 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10206 { 10207 if (lcprevsolidtoken != null) 10208 { 10209 if (lcprevsolidtoken.tokencode == TBaseType.rrw_update){ 10210 lcisnewsql = false;} 10211 } 10212 } 10213 10214 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupdate ) 10215 { 10216 if ( lccurrentsqlstatement.dummytag == 1 ) 10217 { 10218 //update statement still find set clause yet, so this is setclause in update statement 10219 lccurrentsqlstatement.dummytag = 0; 10220 lcisnewsql = false; 10221 } 10222 } 10223 } 10224 10225 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10226 if ( TBaseType.assigned(lcnextsolidtoken) ) 10227 { //set null, set default 10228 if ( (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(),"null")==0) 10229 || (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(), "default")==0) ) 10230 { 10231 lcisnewsql = false; 10232 } 10233 } 10234 10235 } 10236 10237 if ( lcisnewsql ) 10238 { 10239 ret = new TMssqlSet(pdbvendor); 10240 } 10241 10242 break; 10243 } 10244 case sstmssqlupdatetext: 10245 { 10246 ret = new TMssqlUpdateText(pdbvendor); 10247 break; 10248 } 10249 case sstmssqlendconversation: 10250 { 10251 ret = new TMssqlEndConversation(pdbvendor); 10252 break; 10253 } 10254 case sstmssqlbegindialog: 10255 { 10256 ret = new TMssqlBeginDialog(pdbvendor); 10257 break; 10258 } 10259 case sstmssqlsendonconversation: 10260 { 10261 ret = new TMssqlSendOnConversation(pdbvendor); 10262 break; 10263 } 10264 case sstmssqldisabletrigger : 10265 case sstmssqlenabletrigger: 10266 { 10267 lcisnewsql = true; 10268 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10269 { 10270 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 10271 lcisnewsql = false; 10272 } 10273 10274 if ( lcisnewsql ) 10275 { 10276 ret = new TDisableEnableTriggerStmt(pdbvendor); 10277 ret.sqlstatementtype = gnewsqlstatementtype; 10278 } 10279 break; 10280 } 10281 case sstsybaseWritetext: 10282 { 10283 ret = new TSybaseWritetext(pdbvendor); 10284 break; 10285 } 10286 case sstsybaseDeleteStatistics: 10287 { 10288 ret = new TSybaseDeleteStatistics(pdbvendor); 10289 break; 10290 } 10291 case sstcall: 10292 { 10293 ret = new TCallStatement(pdbvendor); 10294 break; 10295 } 10296 default: 10297 { 10298 ret = new TUnknownSqlStatement(pdbvendor); 10299 ret.sqlstatementtype = gnewsqlstatementtype; 10300 break; 10301 } 10302 } // case 10303 10304 return ret; 10305 } 10306 10307 TCustomSqlStatement ismssqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 10308 TCustomSqlStatement ret = null; 10309 int k; 10310 boolean lcisnewsql; 10311 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 10312 10313 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 10314 10315 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 10316 || (pcst.tokencode == TBaseType.cmtslashstar) 10317 || (pcst.tokencode == TBaseType.lexspace) 10318 || (pcst.tokencode == TBaseType.lexnewline) 10319 || (pcst.tokentype == ETokenType.ttsemicolon) ) 10320 { 10321 return ret; 10322 } 10323 10324 int lcpos = pcst.posinlist; 10325 TSourceTokenList lcsourcetokenlist = pcst.container; 10326 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 10327 10328 //subquery after semicolon or at first line 10329 if ( pcst.tokentype == ETokenType.ttleftparenthesis) // ( 10330 { 10331 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 10332 if ( k >0 ) 10333 { 10334 if (pstate == EFindSqlStateType.stnormal){ 10335 ret = new TSelectSqlStatement(pdbvendor); 10336 return ret; 10337 } 10338// if (((lccurrentsqlstatement != null) )&&(lccurrentsqlstatement.sqlstatementtype != ESqlStatementType.sstselect)&&(lcsourcetokenlist.returnbeforecurtoken(true))){ 10339// ret = new TSelectSqlStatement(pdbvendor); 10340// return ret; 10341// } 10342 } 10343 } 10344 10345 //cte 10346 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 10347 { 10348 ret = findcte(pcst,pdbvendor); 10349 if ( (ret != null) ) return ret; 10350 } 10351 10352 if ( (lccurrentsqlstatement != null) && (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 10353 && (pcst.tokencode == TBaseType.rrw_with) ) 10354 { 10355 TSourceToken lcPrevToken = pcst.prevSolidToken(); 10356 if ((lcPrevToken != null) && (lcPrevToken.tokencode == TBaseType.rrw_as)) 10357 { // mantisbt/view.php?id=3900, create table with as select, ignore tokens from with to select (including the select token) 10358 ret = findcte(pcst,pdbvendor); 10359 if ( (ret != null) ) { 10360 ret = null; 10361 } 10362 } 10363 } 10364 10365 //odbc 10366 if ( (pstate == EFindSqlStateType.stnormal) && ((pcst.tokencode == '{')||(pcst.tokencode == TBaseType.odbc_esc_prefix)) && (pcst.getLinkToken() != null) ) 10367 { 10368 ret = new TCallStatement(pdbvendor); 10369 return ret; 10370 } 10371 10372 gnewsqlstatementtype = findmssqlcmd(pcst); 10373 10374 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10375 switch(gnewsqlstatementtype ) { // 10376 case sstinvalid: 10377 { 10378 if ( pcst.tokencode == TBaseType.mslabel ) 10379 { 10380 ret = new TMssqlLabel(pdbvendor); 10381 } 10382 else 10383 ret = null; 10384 10385 break; 10386 } 10387 case sstselect: 10388 { 10389 lcisnewsql = true; 10390 10391 if ( pstate != EFindSqlStateType.stnormal ) 10392 { 10393 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10394 if ( (lcprevsolidtoken != null) ) 10395 { 10396 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 10397 lcisnewsql = false; //subqery 10398 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 10399 lcisnewsql = false; 10400 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 10401 lcisnewsql = false; 10402 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 10403 lcisnewsql = false; 10404 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 10405 lcisnewsql = false; 10406 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 10407 lcisnewsql = false; 10408 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 10409 { 10410 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 10411 lcisnewsql = false; 10412 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 10413 lcisnewsql = false; 10414 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterview ) 10415 lcisnewsql = false; 10416 } 10417 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10418 { 10419 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 10420 lcisnewsql = false; 10421 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare ) 10422 lcisnewsql = false; 10423 } 10424 10425 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 10426 { 10427 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 10428 if ( (lcpprevsolidtoken != null) ) 10429 { 10430 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 10431 lcisnewsql = false; 10432 } 10433 } 10434 10435 } 10436 10437 if ( (lccurrentsqlstatement != null) ) 10438 { 10439 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 10440 { 10441 } 10442 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10443 { 10444 if ( (lcprevsolidtoken != null) ) 10445 { 10446 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10447 lcisnewsql = false; 10448 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10449 lcisnewsql = false; 10450 } 10451 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 10452 lcisnewsql = false; 10453 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatematerializedview ){ 10454 lcisnewsql = false; 10455 } 10456 } 10457 10458 } 10459 10460 if ( lcisnewsql ) 10461 ret = new TSelectSqlStatement(pdbvendor); 10462 10463 break; 10464 10465 } 10466 case sstinsert: 10467 { 10468 lcisnewsql = true; 10469 if ( pstate != EFindSqlStateType.stnormal ) 10470 { 10471 if ( (lccurrentsqlstatement != null) ) 10472 { 10473 // merge 10474 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10475 { 10476 if (lcprevsolidtoken != null) 10477 { 10478 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10479 {lcisnewsql = false;} 10480 } 10481 } 10482 10483 // bulk insert 10484 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert ) 10485 { 10486 if ( (lcprevsolidtoken != null) ) 10487 { 10488 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_bulk ) 10489 lcisnewsql = false; 10490 } 10491 } 10492 10493 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10494 { 10495 if ( (lcprevsolidtoken != null) ) 10496 { 10497 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10498 lcisnewsql = false; 10499 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10500 lcisnewsql = false; 10501 } 10502 } 10503 10504 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10505 { 10506 if ( (lcprevsolidtoken != null) ) 10507 { 10508 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10509 lcisnewsql = false; 10510 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10511 lcisnewsql = false; 10512 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 10513 lcisnewsql = false; 10514 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 10515 lcisnewsql = false; 10516 } 10517 } 10518 10519 10520 } 10521 } 10522 10523 if ( lcisnewsql ) 10524 { 10525 ret = new TInsertSqlStatement(pdbvendor); 10526 ret.dummytag = 1; // select stmt in insert is permitted 10527 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 10528 { 10529 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 10530 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 10531 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 10532 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 10533 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ){ 10534 ret.dummytag = 0; 10535 break; 10536 } 10537 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 10538 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 10539 } // for ( 10540 if ( k > lcsourcetokenlist.size() - 1 ) 10541 k = lcsourcetokenlist.size() - 1; 10542 10543 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 10544 { 10545 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10546 } // for ( 10547 10548 } 10549 10550 break; 10551 } 10552 case sstupdate: 10553 { 10554 lcisnewsql = true; 10555 if ( pstate != EFindSqlStateType.stnormal ) 10556 { 10557 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10558 if ( (lcprevsolidtoken != null) ) 10559 { // 10560 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10561 lcisnewsql = false; 10562 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10563 lcisnewsql = false; 10564 } 10565 10566 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10567 if ( TBaseType.assigned(lcnextsolidtoken) ) 10568 { 10569 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 10570 { 10571 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 10572 if ( k == 0 ) lcisnewsql = false; 10573 } 10574 } 10575 10576 10577 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10578 { 10579 // merge 10580 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10581 { 10582 if (lcprevsolidtoken != null) 10583 { 10584 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10585 {lcisnewsql = false;} 10586 } 10587 } 10588 10589 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10590 { 10591 if ( TBaseType.assigned(lcprevsolidtoken) ) 10592 { 10593 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10594 lcisnewsql = false; 10595 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10596 lcisnewsql = false; 10597 } 10598 } 10599 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10600 { 10601 if ( TBaseType.assigned(lcprevsolidtoken) ) 10602 { 10603 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10604 lcisnewsql = false; 10605 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10606 lcisnewsql = false; 10607 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 10608 lcisnewsql = false; 10609 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 10610 lcisnewsql = false; 10611 } 10612 } 10613 10614 } 10615 } 10616 10617 if ( lcisnewsql ) 10618 { 10619 ret = new TUpdateSqlStatement(pdbvendor); 10620 ret.dummytag = 1; // means set clause in update is not found yet, used to separate set clause from set statement 10621 } 10622 10623 break; 10624 } 10625 case sstdelete: 10626 { 10627 lcisnewsql = true; 10628 10629 if ( pstate != EFindSqlStateType.stnormal ) 10630 { 10631 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10632 if ( TBaseType.assigned(lcprevsolidtoken) ) 10633 { 10634 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10635 lcisnewsql = false; 10636 } 10637 10638 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10639 { 10640 // merge 10641 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10642 { 10643 if (lcprevsolidtoken != null) 10644 { 10645 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10646 {lcisnewsql = false;} 10647 } 10648 } 10649 10650 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10651 { 10652 if ( TBaseType.assigned(lcprevsolidtoken) ) 10653 { 10654 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10655 lcisnewsql = false; 10656 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10657 lcisnewsql = false; 10658 } 10659 } 10660 10661 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10662 { 10663 if ( TBaseType.assigned(lcprevsolidtoken) ) 10664 { 10665 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10666 lcisnewsql = false; 10667 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10668 lcisnewsql = false; 10669 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 10670 lcisnewsql = false; 10671 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 10672 lcisnewsql = false; 10673 } 10674 } 10675 10676 } 10677 } 10678 10679 if ( lcisnewsql ) 10680 ret = new TDeleteSqlStatement(pdbvendor); 10681 10682 break; 10683 } 10684 case sstcreatetable: 10685 { 10686 lcisnewsql = true; 10687 if ( pstate != EFindSqlStateType.stnormal ) { 10688 10689 if (TBaseType.assigned(lccurrentsqlstatement)) { 10690 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10691 ) 10692 { 10693 lcisnewsql = false; 10694 } 10695 } 10696 } 10697 10698 if (lcisnewsql) { 10699 ret = new TCreateTableSqlStatement(pdbvendor); 10700 10701 } 10702 break; 10703 } 10704 case sstcreateview: 10705 { 10706 10707 lcisnewsql = true; 10708 if ( pstate != EFindSqlStateType.stnormal ) { 10709 10710 if (TBaseType.assigned(lccurrentsqlstatement)) { 10711 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10712 ) 10713 { 10714 lcisnewsql = false; 10715 } 10716 } 10717 } 10718 if (lcisnewsql) { 10719 ret = new TCreateViewSqlStatement(pdbvendor); 10720 } 10721 break; 10722 } 10723 case sstcreatesequence: 10724 { 10725 ret = new TCreateSequenceStmt(pdbvendor); 10726 break; 10727 } 10728 case sstaltertable: 10729 { 10730 ret = new TAlterTableStatement(pdbvendor); 10731 break; 10732 } 10733 case sstmssqlfetch: 10734 { 10735 ret = new TMssqlFetch(pdbvendor); 10736 break; 10737 } 10738 case sstmssqlif : 10739 { 10740 lcisnewsql = true; 10741 if ( pstate != EFindSqlStateType.stnormal ) { 10742 10743 if (TBaseType.assigned(lccurrentsqlstatement)) { 10744 // merge 10745 if ( 10746 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropprocedure) 10747 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropdatabase) 10748 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropfunction) 10749 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlDropSecurityPolicy) 10750 ) 10751 { 10752 lcisnewsql = false; 10753 }else if ( (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdroptable) 10754 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropindex) 10755 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 10756 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropsynonym) 10757 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropview) 10758 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropsequence) 10759 ){ 10760 // DROP TABLE IF EXISTS T1; 10761 TSourceToken st = lcsourcetokenlist.solidtokenbefore(lcpos); 10762 if ((st.tokencode == TBaseType.rrw_table)||(st.tokencode == TBaseType.rrw_index) 10763 ||(st.tokencode == TBaseType.rrw_sqlserver_synonym)||(st.tokencode == TBaseType.rrw_view) 10764 ||(st.tokencode == TBaseType.rrw_sqlserver_sequence) 10765 ){ 10766 lcisnewsql = false; 10767 } 10768 }else if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable)){ 10769 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10770 if (lcnextsolidtoken != null){ 10771 if (lcnextsolidtoken.tokencode == TBaseType.rrw_sqlserver_exists){ 10772 lcisnewsql = false; 10773 } 10774 } 10775 } 10776 } 10777 } 10778 10779 10780 if (lcisnewsql) { 10781 ret = new TMssqlIfElse(pdbvendor); 10782 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 10783 } 10784 break; 10785 } 10786 case sstmssqlwhile: 10787 { 10788 ret = new TMssqlIfElse(pdbvendor); 10789 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 10790 break; 10791 } 10792 case sstmssqlcreateprocedure : 10793 case sstmssqlalterprocedure: 10794 { 10795 ret = new TMssqlCreateProcedure(pdbvendor); 10796 break; 10797 } 10798 case sstmssqlcreatefunction : 10799 case sstmssqlalterfunction: 10800 { 10801 ret = new TMssqlCreateFunction(pdbvendor); 10802 break; 10803 } 10804 case sstcreatetrigger : 10805 case sstmssqlaltertrigger: 10806 { 10807 ret = new TCreateTriggerStmt(pdbvendor); //TMssqlCreateTrigger(pdbvendor); 10808 break; 10809 } 10810 case sstmssqlreturn: 10811 { 10812 ret = new TMssqlReturn(pdbvendor); 10813 break; 10814 } 10815 case sstmssqlprint: 10816 { 10817 if (pdbvendor == EDbVendor.dbvodbc){ 10818 10819 }else if (pdbvendor == EDbVendor.dbvmssql){ 10820 ret = new TMssqlPrint(pdbvendor); 10821 } 10822 10823 break; 10824 } 10825 case sstmssqluse: 10826 { 10827 ret = new TUseDatabase(pdbvendor); 10828 break; 10829 } 10830 case sstmssqlgo: 10831 { 10832 ret = new TMssqlGo(pdbvendor); 10833 break; 10834 } 10835 case sstmssqlrevert: 10836 { 10837 lcisnewsql = true; 10838 // prev tokentext can't be with 10839 if ( pstate != EFindSqlStateType.stnormal ) { 10840 if (TBaseType.assigned(lcprevsolidtoken)) { 10841 if (lcprevsolidtoken.toString().equalsIgnoreCase("no")) { 10842 ret = null; 10843 lcisnewsql = false; 10844 } 10845 } 10846 } 10847 if (lcisnewsql){ 10848 ret = new TMssqlRevert(pdbvendor); 10849 } 10850 10851 break; 10852 } 10853 case sstmssqlgrant: 10854 { 10855 lcisnewsql = true; 10856 // prev tokentext can't be with 10857 if ( pstate != EFindSqlStateType.stnormal ) 10858 { 10859 if ( TBaseType.assigned(lcprevsolidtoken) ) 10860 { 10861 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10862 { 10863 ret = null; 10864 lcisnewsql = false; 10865 } 10866 } 10867 10868 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10869 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10870 ) 10871 { 10872 lcisnewsql = false; 10873 } 10874 } 10875 } 10876 if ( lcisnewsql ) 10877 { 10878 ret = new TGrantStmt(pdbvendor); 10879 //ret.sqlstatementtype = gnewsqlstatementtype; 10880 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10881 { 10882 lctoken = lcsourcetokenlist.get(k); 10883 if (lctoken.isnonsolidtoken() ) continue; 10884 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10885 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10886 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10887 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10888 } 10889 } 10890 break; 10891 } 10892 case sstmssqlrevoke:{ 10893 lcisnewsql = true; 10894 if ( pstate != EFindSqlStateType.stnormal ) 10895 { 10896 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10897 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10898 ) 10899 { 10900 lcisnewsql = false; 10901 } 10902 } 10903 } 10904 if ( lcisnewsql ) 10905 { 10906 ret = new TRevokeStmt(pdbvendor); 10907 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10908 { 10909 lctoken = lcsourcetokenlist.get(k); 10910 if (lctoken.isnonsolidtoken() ) continue; 10911 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10912 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10913 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10914 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10915 } 10916 } 10917 break; 10918 10919 } 10920 case sstmssqldeny: 10921 { 10922 lcisnewsql = true; 10923 if ( pstate != EFindSqlStateType.stnormal ) 10924 { 10925 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10926 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10927 ) 10928 { 10929 lcisnewsql = false; 10930 } 10931 } 10932 } 10933 if ( lcisnewsql ) 10934 { 10935 ret = new TDenyStmt(pdbvendor); 10936 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10937 { 10938 lctoken = lcsourcetokenlist.get(k); 10939 if (lctoken.isnonsolidtoken() ) continue; 10940 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10941 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10942 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10943 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10944 } 10945 } 10946 break; 10947 } 10948 case sstmssqldeclare: 10949 { 10950 ret = new TMssqlDeclare(pdbvendor); 10951 break; 10952 } 10953 case sstmssqlcontinue: 10954 { 10955 ret = new TMssqlContinue(pdbvendor); 10956 break; 10957 } 10958 case sstbreak: 10959 { 10960 ret = new TBreakStmt(pdbvendor); 10961 break; 10962 } 10963 case sstmssqlopen: 10964 { 10965 ret = new TMssqlOpen(pdbvendor); 10966 break; 10967 } 10968 case sstmssqlclose: 10969 { 10970 ret = new TMssqlClose(pdbvendor); 10971 break; 10972 } 10973 case sstmssqlbulkinsert: 10974 { 10975 ret = new TMssqlBulkInsert(pdbvendor); 10976 break; 10977 } 10978 case sstmssqldeallocate: 10979 { 10980 ret = new TMssqlDeallocate(pdbvendor); 10981 break; 10982 } 10983 case sstmssqlraiserror: 10984 { 10985 ret = new TMssqlRaiserror(pdbvendor); 10986 break; 10987 } 10988 case sstmssqlgoto: 10989 { 10990 ret = new TMssqlGoTo(pdbvendor); 10991 break; 10992 } 10993 case sstmssqldropview: 10994 { 10995 ret = new TDropViewSqlStatement(pdbvendor); 10996 break; 10997 } 10998 case sstmssqldroptable: 10999 { 11000 ret = new TDropTableSqlStatement(pdbvendor); 11001 break; 11002 } 11003 case sstmssqldropindex: 11004 { 11005 ret = new TDropIndexSqlStatement(pdbvendor); 11006 break; 11007 } 11008 case sstmssqldroppartitionscheme : 11009 ret = new TDropPartitionSchemeStmt(pdbvendor); 11010 break; 11011 case sstmssqldropaggregate : 11012 case sstmssqldropapplicationrole : 11013 case sstmssqldropassembly : 11014 case sstmssqldropasymmetrickey : 11015 case sstmssqldropcertificate : 11016 case sstmssqldropcontract : 11017 case sstmssqldropcredential : 11018 case sstmssqldropdefault : 11019 case sstmssqldropendpoint : 11020 case sstmssqldropeventnotification : 11021 case sstmssqldropfulltextcatalog : 11022 case sstmssqldropfulltextindex : 11023 case sstmssqldroplogin : 11024 case sstmssqldropmasterkey : 11025 case sstmssqldropmessagetype : 11026 case sstmssqldroppartitionfunction : 11027 case sstmssqldropqueue : 11028 case sstmssqldropremoteservicebinding : 11029 case sstmssqldroprole : 11030 case sstmssqldroproute : 11031 case sstmssqldroprule : 11032 case sstmssqldropservice : 11033 case sstmssqldropsignature: 11034 case sstmssqldropstatistics : 11035 case sstmssqldropsymmetrickey : 11036 case sstmssqldroptrigger : 11037 case sstmssqldroptype : 11038 case sstmssqldropuser : 11039 case sstmssqldropxmlschemacollection: 11040 case sstmssqldropeventsession: 11041 { 11042 ret = new TMssqlDropDbObject(EDbVendor.dbvmssql); 11043 ret.sqlstatementtype = gnewsqlstatementtype; 11044 break; 11045 } 11046 case sstmssqldropsynonym : 11047 { 11048 ret = new TDropSynonymStmt(pdbvendor); 11049 break; 11050 } 11051 case sstmssqldropprocedure : 11052 { 11053 ret = new TDropProcedureStmt(EDbVendor.dbvmssql); 11054 break; 11055 } 11056 case sstmssqldropdatabase : 11057 { 11058 ret = new TDropDatabaseStmt(EDbVendor.dbvmssql); 11059 break; 11060 } 11061 case sstmssqldropschema : 11062 { 11063 ret = new TDropSchemaSqlStatement(EDbVendor.dbvmssql); 11064 break; 11065 } 11066 case sstmssqltruncatetable: 11067 { 11068 ret = new TTruncateStatement(pdbvendor); 11069 break; 11070 } 11071 case sstmssqlbegintran: 11072 { 11073 ret = new TBeginTran(pdbvendor); 11074 break; 11075 } 11076 case sstmssqlsavetran: 11077 { 11078 if (pdbvendor == EDbVendor.dbvodbc){ 11079 11080 }else if (pdbvendor == EDbVendor.dbvmssql) { 11081 ret = new TMssqlSaveTran(pdbvendor); 11082 } 11083 break; 11084 } 11085 case sstmssqlcommit: 11086 { 11087 ret = new TMssqlCommit(pdbvendor); 11088 break; 11089 } 11090 case sstmssqlrollback: 11091 { 11092 ret = new TMssqlRollback(pdbvendor); 11093 break; 11094 } 11095 case sstmssqlreadtext : 11096 case sstmssqldbcc : 11097 case sstmssqlrestore : 11098 case sstmssqlbackup : 11099 { 11100 ret = new TMssqlDummyStmt(pdbvendor); 11101 ret.sqlstatementtype = gnewsqlstatementtype; 11102 break; 11103 } 11104 11105 case sstmssqlreceive: 11106 { 11107 lcisnewsql = true; 11108 if ( pstate != EFindSqlStateType.stnormal ) 11109 { 11110 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 11111 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11112 ) 11113 { 11114 lcisnewsql = false; 11115 } 11116 } 11117 } 11118 if ( lcisnewsql ) 11119 { 11120 ret = new TMssqlDummyStmt(pdbvendor); 11121 ret.sqlstatementtype = gnewsqlstatementtype; 11122 } 11123 break; 11124 } 11125 case sstcreateindex: 11126 { 11127 ret = new TCreateIndexSqlStatement(pdbvendor); 11128 break; 11129 } 11130 case sstmssqlwaitfor: 11131 { 11132 ret = new TMssqlWaitFor(pdbvendor); 11133 break; 11134 } 11135 case sstmerge: 11136 { 11137 lcisnewsql = true; 11138 11139 if (pstate != EFindSqlStateType.stnormal) 11140 { 11141 11142 if (lccurrentsqlstatement != null) 11143 { 11144 // merge union, merge join 11145 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11146 { 11147 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11148 if (lcnextsolidtoken != null) 11149 { 11150 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 11151 { 11152 lcisnewsql = false; 11153 } 11154 } 11155 } 11156 11157// if ( TBaseType.assigned(lcprevsolidtoken) ) 11158// { 11159// if ( lcprevsolidtoken.tokencode == '(' ) 11160// lcisnewsql = false; 11161// } 11162 11163 } 11164 if (lcisnewsql){ 11165 TSourceToken nextSt = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11166 if (nextSt != null){ 11167 if (nextSt.tokencode == TBaseType.rrw_join){ 11168 lcisnewsql = false; 11169 } 11170 } 11171 } 11172 } 11173 11174 if (lcisnewsql) 11175 { 11176 ret = new TMergeSqlStatement(pdbvendor); 11177 ret.sqlstatementtype = gnewsqlstatementtype; 11178 } 11179 11180 break; 11181 } 11182 case sstmssqlbegintry : 11183 case sstmssqlbegincatch: 11184 { 11185 ret = new TMssqlBlock(pdbvendor); 11186 ret.sqlstatementtype = gnewsqlstatementtype; 11187 break; 11188 } 11189 case sstmssqlexec: 11190 { 11191 lcisnewsql = true; 11192 // prev tokentext can't be with 11193 if ( pstate != EFindSqlStateType.stnormal ) 11194 { 11195 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11196 { 11197 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 11198 { 11199 if ( lccurrentsqlstatement.dummytag == 1 ) 11200 { 11201 lcisnewsql = false; 11202 lccurrentsqlstatement.dummytag = 0; // no select is permitted after it 11203 } 11204 11205 TSourceToken valuesToken = pcst.searchToken(TBaseType.rrw_values,-pcst.posinlist); 11206 if (valuesToken != null){ 11207 // https://www.sqlparser.com/bugs/mantisbt/view.php?id=3153 11208 // INSERT INTO @tempTbl VALUES ('Test5') 11209 // 11210 //EXEC sp_execute @handle, 1 11211 // 如果 EXEC 在 insert 语句的 values 后面,则这个 EXEC 为独立的 sql 语句, 11212 // 而不是属于insert 语句 11213 TSourceToken insertToken = lccurrentsqlstatement.sourcetokenlist.get(0); 11214 if (valuesToken.posinlist > insertToken.posinlist){ 11215 lcisnewsql = true; 11216 } 11217 } 11218 } 11219 11220 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 11221 { 11222 if ( TBaseType.assigned(lcprevsolidtoken) ) 11223 { 11224 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 11225 lcisnewsql = false; 11226 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11227 lcisnewsql = false; 11228 } 11229 } 11230 11231 if ( 11232 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 11233 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 11234 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 11235 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 11236 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 11237 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 11238 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatequeue) 11239 ) 11240 { 11241 if ( TBaseType.assigned(lcprevsolidtoken) ) 11242 { 11243 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11244 lcisnewsql = false; 11245 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11246 lcisnewsql = false; 11247 } 11248 } 11249 } 11250 } 11251 if ( lcisnewsql ) 11252 { 11253 ret = new TMssqlExecute(pdbvendor); 11254 } 11255 break; 11256 } 11257 case sstmssqlexecuteas: 11258 { 11259 lcisnewsql = true; 11260 // prev tokentext can't be with 11261 if ( pstate != EFindSqlStateType.stnormal ) 11262 { 11263 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11264 { 11265 if ( 11266 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 11267 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 11268 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 11269 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 11270 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 11271 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 11272 ) 11273 { 11274 if ( TBaseType.assigned(lcprevsolidtoken) ) 11275 { 11276 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11277 lcisnewsql = false; 11278 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11279 lcisnewsql = false; 11280 } 11281 } 11282 } 11283 } 11284 if ( lcisnewsql ) 11285 { 11286 ret = new TMssqlExecuteAs(pdbvendor); 11287 ret.sqlstatementtype = gnewsqlstatementtype; 11288 } 11289 break; 11290 } 11291 case sstmssqlset: 11292 { 11293 lcisnewsql = true; 11294 if ( pstate != EFindSqlStateType.stnormal ) 11295 { 11296 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11297 { 11298 11299 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif) 11300 { 11301 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_update,"",pcst,-10); 11302 if (TBaseType.assigned(lcPPToken)) 11303 { 11304 lcisnewsql = false; 11305 } 11306 } 11307 11308 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterdatabase) 11309 { 11310 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_alter,"",pcst,-10); 11311 if (TBaseType.assigned(lcPPToken)) 11312 { 11313 lcisnewsql = false; 11314 } 11315 } 11316 11317 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11318 { 11319 if (lcprevsolidtoken != null) 11320 { 11321 if (lcprevsolidtoken.tokencode == TBaseType.rrw_update){ 11322 lcisnewsql = false;} 11323 } 11324 } 11325 11326 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupdate ) 11327 { 11328 if ( lccurrentsqlstatement.dummytag == 1 ) 11329 { 11330 //update statement still find set clause yet, so this is set clause in update statement 11331 lccurrentsqlstatement.dummytag = 0; 11332 lcisnewsql = false; 11333 } 11334 } 11335 11336 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateeventsession ) 11337 { 11338 lcisnewsql = false; 11339 } 11340 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 11341 { 11342 lcisnewsql = false; 11343 } 11344 } 11345 11346 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11347 if ( TBaseType.assigned(lcnextsolidtoken) ) 11348 { //set null, set default 11349 if ( (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(),"null")==0) 11350 || (TBaseType.mycomparetext(lcnextsolidtoken.getAstext(), "default")==0) ) 11351 { 11352 lcisnewsql = false; 11353 } 11354 } 11355 11356 } 11357 11358 if ( lcisnewsql ) 11359 { 11360 ret = new TMssqlSet(pdbvendor); 11361 } 11362 11363 break; 11364 } 11365 case sstmssqlsetrowcount: 11366 { 11367 ret = new TMssqlSetRowCount(pdbvendor); 11368 break; 11369 } 11370 case sstmssqlupdatetext: 11371 { 11372 ret = new TMssqlUpdateText(pdbvendor); 11373 break; 11374 } 11375 case sstmssqlendconversation: 11376 { 11377 ret = new TMssqlEndConversation(pdbvendor); 11378 break; 11379 } 11380 case sstmssqlbegindialog: 11381 { 11382 ret = new TMssqlBeginDialog(pdbvendor); 11383 break; 11384 } 11385 case sstmssqlsendonconversation: 11386 { 11387 ret = new TMssqlSendOnConversation(pdbvendor); 11388 break; 11389 } 11390 case sstdropsequence: 11391 ret = new TDropSequenceStmt(pdbvendor); 11392 break; 11393 case sstmssqldisabletrigger : 11394 case sstmssqlenabletrigger: 11395 { 11396 lcisnewsql = true; 11397 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11398 { 11399 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 11400 lcisnewsql = false; 11401 } 11402 11403 if ( lcisnewsql ) 11404 { 11405 ret = new TUnknownSqlStatement(pdbvendor); 11406 ret.sqlstatementtype = gnewsqlstatementtype; 11407 } 11408 break; 11409 } 11410 case sstmssqlthrow: 11411 ret = new TMssqlThrow(pdbvendor); 11412 break; 11413 case sstmssqlalterdatabase: 11414 ret = new TAlterDatabaseStmt(pdbvendor); 11415 break; 11416 case sstmssqlreconfigure: 11417 ret = new TReconfigure(pdbvendor); 11418 break; 11419 case sstcreatedatabase: 11420 { 11421 ret = new TCreateDatabaseSqlStatement(pdbvendor); 11422 break; 11423 } 11424 case sstmssqlcreateschema: 11425 { 11426 ret = new TCreateSchemaSqlStatement(pdbvendor); 11427 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 11428 { 11429 lctoken = lcsourcetokenlist.get(k); 11430 if (lctoken.isnonsolidtoken() ) continue; 11431 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 11432 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 11433 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11434 } 11435 break; 11436 } 11437 case sstmssqlcreatesynonym: 11438 { 11439 ret = new TCreateSynonymStmt(pdbvendor); 11440 break; 11441 } 11442 case sstmssqlcreatetype: 11443 ret = new TMssqlCreateType(pdbvendor); 11444 break; 11445 case sstmssqlcreatexmlschemacollection: 11446 ret = new TMssqlCreateXmlSchemaCollectionStmt(pdbvendor); 11447 break; 11448 case sstmssqlalterindex: 11449 ret = new TAlterIndexStmt(pdbvendor); 11450 break; 11451 case sstmssqlcreateevexternalDataSource: 11452 ret = new TCreateExternalDataSourceStmt(pdbvendor); 11453 break; 11454 case sstmssqlcreateeventsession: 11455 ret = new TCreateEventSession(pdbvendor); 11456 break; 11457 case sstmssqldropfunction : 11458 ret = new TDropFunctionStmt(pdbvendor); 11459 break; 11460 case sstmssqlcreateevexternalLanguage: 11461 ret = new TCreateExternalLanguage(pdbvendor); 11462 break; 11463 case sstmssqlalterview: 11464 { 11465 lcisnewsql = true; 11466 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11467 { 11468 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 11469 lcisnewsql = false; 11470 } 11471 11472 if ( lcisnewsql ) 11473 { 11474 ret = new TAlterViewStatement(pdbvendor); 11475 //ret.sqlstatementtype = gnewsqlstatementtype; 11476 } 11477 break; 11478 } 11479 case sstCreateFileFormat: 11480 { 11481 ret = new TCreateFileFormatStmt(pdbvendor); 11482 break; 11483 } 11484 case sstmssqlcreatemasterkey: 11485 ret = new TCreateMasterKeyStmt(pdbvendor); 11486 break; 11487 case sstcreatecredential: 11488 ret = new TCreateCredentialStmt(pdbvendor); 11489 break; 11490 case sstCopyInto: 11491 { 11492 ret = new TMssqlCopyIntoStmt(pdbvendor); 11493 break; 11494 } 11495 case sstcreatematerializedview:{ 11496 ret = new TCreateMaterializedSqlStatement(pdbvendor); 11497 break; 11498 } 11499 case sstmssqlCreateSecurityPolicy: 11500 ret = new TMssqlCreateSecurityPolicy(pdbvendor); 11501 break; 11502 case sstmssqlAlterSecurityPolicy: 11503 ret = new TMssqlAlterSecurityPolicy(pdbvendor); 11504 break; 11505 case sstmssqlDropSecurityPolicy: 11506 ret = new TMssqlDropSecurityPolicy(pdbvendor); 11507 break; 11508 case sstmssqlalterpartitionfunction: 11509 ret = new TAlterPartitionFunctionStmt(pdbvendor); 11510 break; 11511 case sstmssqlcreatepartitionfunction: 11512 ret = new TCreatePartitionFunctionStmt(pdbvendor); 11513 break; 11514 case sstmssqlalterpartitionscheme: 11515 ret = new TAlterPartitionSchemeSqlStatement(pdbvendor); 11516 break; 11517 case sstmssqlcreatepartitionscheme: 11518 ret = new TCreatePartitionSchemeSqlStatement(pdbvendor); 11519 break; 11520 default: 11521 { 11522 ret = new TUnknownSqlStatement(pdbvendor); 11523 ret.sqlstatementtype = gnewsqlstatementtype; 11524 break; 11525 } 11526 } // case 11527 11528 return ret; 11529 } 11530 11531 TCustomSqlStatement isteradatasql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 11532 TCustomSqlStatement ret = null; 11533 int k; 11534 boolean lcisnewsql; 11535 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 11536 11537 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 11538 11539 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 11540 || (pcst.tokencode == TBaseType.cmtslashstar) 11541 || (pcst.tokencode == TBaseType.lexspace) 11542 || (pcst.tokencode == TBaseType.lexnewline) 11543 || (pcst.tokentype == ETokenType.ttsemicolon) ) 11544 { 11545 return ret; 11546 } 11547 11548 int lcpos = pcst.posinlist; 11549 TSourceTokenList lcsourcetokenlist = pcst.container; 11550 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 11551 11552 //subquery after semicolon || at first line 11553 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) 11554 { 11555 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 11556 if ( k >0 ) 11557 { 11558 ret = new TSelectSqlStatement(pdbvendor); 11559 }else{ 11560 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_teradata_sel,1,"("); 11561 if ( k >0 ) 11562 { 11563 ret = new TSelectSqlStatement(pdbvendor); 11564 } 11565 } 11566 11567 return ret; 11568 } 11569 11570 //cte 11571 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 11572 { 11573 ret = findcte(pcst,pdbvendor); 11574 if ( (ret != null) ) return ret; 11575 } 11576 11577 // using 11578 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_teradata_using) ){ 11579 //return mapTeradataUsing(pcst); 11580 return new TTeradataUsing(pdbvendor); 11581 } 11582 11583 if ( (pstate == EFindSqlStateType.stnormal) && 11584 ((pcst.tokencode == TBaseType.rrw_lock)||(pcst.tokencode == TBaseType.rrw_teradata_locking)) ){ 11585 return new TTeradataLock(pdbvendor); 11586 } 11587 11588 gnewsqlstatementtype = findteradatacmd(pcst); 11589 11590 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11591 switch(gnewsqlstatementtype ) { // 11592 case sstinvalid: 11593 { 11594 ret = null; 11595 break; 11596 } 11597 case sstselect: 11598 { 11599 lcisnewsql = true; 11600 11601 if ( pstate != EFindSqlStateType.stnormal ) 11602 { 11603 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11604 if ( (lcprevsolidtoken != null) ) 11605 { 11606 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 11607 lcisnewsql = false; //subqery 11608 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 11609 lcisnewsql = false; 11610 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 11611 lcisnewsql = false; 11612 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 11613 lcisnewsql = false; 11614 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 11615 lcisnewsql = false; 11616 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 11617 lcisnewsql = false; 11618 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 11619 { 11620 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 11621 lcisnewsql = false; 11622 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 11623 lcisnewsql = false; 11624 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatareplaceview ) 11625 lcisnewsql = false; 11626 } 11627 11628 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 11629 { 11630 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 11631 if ( (lcpprevsolidtoken != null) ) 11632 { 11633 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 11634 lcisnewsql = false; 11635 } 11636 } 11637 11638 } 11639 11640 if ( (lccurrentsqlstatement != null) ) 11641 { 11642 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 11643 { 11644 } 11645 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 11646 lcisnewsql = false; 11647 } 11648 } 11649 11650 } 11651 11652 if ( lcisnewsql ) 11653 ret = new TSelectSqlStatement(pdbvendor); 11654 11655 break; 11656 11657 } 11658 case sstinsert: 11659 { 11660 lcisnewsql = true; 11661 if ( pstate != EFindSqlStateType.stnormal ) 11662 { 11663 if ( (lccurrentsqlstatement != null) ) 11664 { 11665 // merge 11666 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11667 { 11668 if (lcprevsolidtoken != null) 11669 { 11670 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11671 {lcisnewsql = false;} 11672 } 11673 } 11674 11675 11676 11677 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11678 { 11679 if ( (lcprevsolidtoken != null) ) 11680 { 11681 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11682 lcisnewsql = false; 11683 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 11684 lcisnewsql = false; 11685 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"before") == 0 ) 11686 lcisnewsql = false; 11687 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 11688 lcisnewsql = false; 11689 } 11690 } 11691 11692 11693 } 11694 } 11695 11696 if ( lcisnewsql ) 11697 { 11698 ret = new TInsertSqlStatement(pdbvendor); 11699 ret.dummytag = 1; // select stmt in insert is permitted 11700 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 11701 { 11702 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 11703 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 11704 // if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 11705 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 11706 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 11707 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 11708 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 11709 } // for ( 11710 if ( k > lcsourcetokenlist.size() - 1 ) 11711 k = lcsourcetokenlist.size() - 1; 11712 11713 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 11714 { 11715 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11716 } // for ( 11717 11718 } 11719 11720 break; 11721 } 11722 case sstupdate: 11723 { 11724 lcisnewsql = true; 11725 if ( pstate != EFindSqlStateType.stnormal ) 11726 { 11727 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11728 if ( (lcprevsolidtoken != null) ) 11729 { // 11730 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 11731 lcisnewsql = false; 11732 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 11733 lcisnewsql = false; 11734 } 11735 11736 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11737 if ( TBaseType.assigned(lcnextsolidtoken) ) 11738 { 11739 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 11740 { 11741 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 11742 if ( k == 0 ) lcisnewsql = false; 11743 } 11744 } 11745 11746 11747 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11748 { 11749 // merge 11750 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11751 { 11752 if (lcprevsolidtoken != null) 11753 { 11754 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11755 {lcisnewsql = false;} 11756 } 11757 } 11758 11759 11760 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11761 { 11762 if ( TBaseType.assigned(lcprevsolidtoken) ) 11763 { 11764 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11765 lcisnewsql = false; 11766 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 11767 lcisnewsql = false; 11768 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"before") == 0 ) 11769 lcisnewsql = false; 11770 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 11771 lcisnewsql = false; 11772 } 11773 } 11774 11775 } 11776 } 11777 11778 if ( lcisnewsql ) 11779 { 11780 ret = new TUpdateSqlStatement(pdbvendor); 11781 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 11782 } 11783 11784 break; 11785 } 11786 case sstdelete: 11787 { 11788 lcisnewsql = true; 11789 11790 if ( pstate != EFindSqlStateType.stnormal ) 11791 { 11792 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11793 if ( TBaseType.assigned(lcprevsolidtoken) ) 11794 { 11795 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 11796 lcisnewsql = false; 11797 } 11798 11799 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11800 { 11801 // merge 11802 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11803 { 11804 if (lcprevsolidtoken != null) 11805 { 11806 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11807 {lcisnewsql = false;} 11808 } 11809 } 11810 11811 11812 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11813 { 11814 if ( TBaseType.assigned(lcprevsolidtoken) ) 11815 { 11816 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11817 lcisnewsql = false; 11818 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 11819 lcisnewsql = false; 11820 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"before") == 0 ) 11821 lcisnewsql = false; 11822 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 11823 lcisnewsql = false; 11824 } 11825 } 11826 11827 } 11828 } 11829 11830 if ( lcisnewsql ) 11831 ret = new TDeleteSqlStatement(pdbvendor); 11832 11833 break; 11834 } 11835 case sstcreatetable: 11836 { 11837 ret = new TCreateTableSqlStatement(pdbvendor); 11838 break; 11839 } 11840 case sstaltertable: 11841 case sstteradataaltertable: 11842 { 11843 ret = new TAlterTableStatement(pdbvendor); 11844 break; 11845 } 11846 case sstteradatafetch: 11847 { 11848 ret = new TMssqlFetch(pdbvendor); 11849 break; 11850 } 11851 case sstcreateprocedure : 11852 case sstteradatareplaceprocedure: 11853 { 11854 ret = new TCreateProcedureStmt(pdbvendor); 11855 break; 11856 } 11857 case sstteradataalterprocedure: 11858 ret = new TAlterProcedureStmt(pdbvendor); 11859 break; 11860 case sstteradatacreatefunction : 11861 case sstteradatareplacefunction: 11862 { 11863 ret = new TTeradataCreateFunction(pdbvendor); 11864 break; 11865 } 11866 case sstteradataalterfunction: 11867 ret = new TAlterFunctionStmt(pdbvendor); 11868 break; 11869 case sstteradatacreatetrigger : 11870 case sstteradataaltertrigger: 11871 case sstteradatareplacetrigger: 11872 { 11873 ret = new TCreateTriggerStmt(pdbvendor); 11874 break; 11875 } 11876 case sstteradatagrant: 11877 { 11878 lcisnewsql = true; 11879 // prev tokentext can't be with 11880 if ( pstate != EFindSqlStateType.stnormal ) 11881 { 11882 if ( TBaseType.assigned(lcprevsolidtoken) ) 11883 { 11884 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11885 { 11886 ret = null; 11887 lcisnewsql = false; 11888 } 11889 } 11890 } 11891 if ( lcisnewsql ) 11892 { 11893 ret = new TTeradataGrant(pdbvendor); 11894 ret.sqlstatementtype = gnewsqlstatementtype; 11895 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 11896 { 11897 lctoken = lcsourcetokenlist.get(k); 11898 if (lctoken.isnonsolidtoken() ) continue; 11899 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 11900 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 11901 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 11902 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11903 } 11904 } 11905 break; 11906 } 11907 case sstdropindex: 11908 { 11909 ret = new TDropIndexSqlStatement(pdbvendor); 11910 break; 11911 } 11912 case sstdroptable: 11913 { 11914 ret = new TDropTableSqlStatement(pdbvendor); 11915 break; 11916 } 11917 case sstdropview: 11918 { 11919 ret = new TDropViewSqlStatement(pdbvendor); 11920 break; 11921 } 11922 case sstteradatadropprocedure: 11923 ret = new TDropProcedureStmt(pdbvendor); 11924 break; 11925 case sstteradatadropauthorization: 11926 case sstteradatadropcast: 11927 case sstteradatadropdatabase: 11928 case sstteradatadropfunction: 11929 case sstteradatadroptrigger: 11930 case sstteradatadropordering: 11931 case sstteradatadropprofile: 11932 case sstteradatadropreplicationgroup: 11933 case sstteradatadroprole: 11934 case sstteradatadroptransform: 11935 case sstteradatadroptype: 11936 case sstteradatadropuser: 11937 case sstteradatadropzone: 11938 { 11939 ret = new TTeradataDropDbObject(EDbVendor.dbvteradata); 11940 ret.sqlstatementtype = gnewsqlstatementtype; 11941 break; 11942 } 11943 case sstteradatadropmacro: 11944 ret = new TDropMacro(EDbVendor.dbvteradata); 11945 break; 11946 case sstteradatadropconstraint: 11947 ret = new TDropConstraintStmt(EDbVendor.dbvteradata); 11948 break; 11949 case sstteradatabegintransaction: 11950 { 11951 ret = new TBeginTran(pdbvendor); 11952 break; 11953 } 11954 case sstteradataendtransaction: 11955 { 11956 ret = new TEndTran(pdbvendor); 11957 break; 11958 } 11959 case sstteradatacommit: 11960 { 11961 ret = new TTeradataCommit(pdbvendor); 11962 break; 11963 } 11964 case sstteradatarollback: 11965 { 11966 ret = new TTeradataRollback(pdbvendor); 11967 break; 11968 } 11969 case sstcreateindex: 11970 { 11971 ret = new TCreateIndexSqlStatement(pdbvendor); 11972 break; 11973 } 11974 case sstmerge: 11975 { 11976 lcisnewsql = true; 11977 11978 if (pstate != EFindSqlStateType.stnormal) 11979 { 11980 11981 if (lccurrentsqlstatement != null) 11982 { 11983 // merge union, merge join 11984 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11985 { 11986 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11987 if (lcnextsolidtoken != null) 11988 { 11989 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 11990 { 11991 lcisnewsql = false; 11992 } 11993 } 11994 } 11995 11996 } 11997 } 11998 11999 if (lcisnewsql) 12000 { 12001 ret = new TMergeSqlStatement(pdbvendor); 12002 ret.sqlstatementtype = gnewsqlstatementtype; 12003 } 12004 12005 break; 12006 } 12007 case sstteradataexecute: 12008 { 12009 lcisnewsql = true; 12010 // prev tokentext can't be with 12011 if ( pstate != EFindSqlStateType.stnormal ) 12012 { 12013 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12014 { 12015 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 12016 { 12017 if ( lccurrentsqlstatement.dummytag == 1 ) 12018 { 12019 lcisnewsql = false; 12020 lccurrentsqlstatement.dummytag = 0; // no select is permited after it 12021 } 12022 } 12023 12024 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatagrant ) 12025 { 12026 if ( TBaseType.assigned(lcprevsolidtoken) ) 12027 { 12028 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12029 lcisnewsql = false; 12030 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12031 lcisnewsql = false; 12032 } 12033 } 12034 12035 if ( 12036 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateprocedure) 12037 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger) 12038 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatefunction) 12039 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterprocedure) 12040 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataaltertrigger) 12041 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterfunction) 12042 ) 12043 { 12044 if ( TBaseType.assigned(lcprevsolidtoken) ) 12045 { 12046 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 12047 lcisnewsql = false; 12048 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12049 lcisnewsql = false; 12050 } 12051 } 12052 } 12053 } 12054 if ( lcisnewsql ) 12055 { 12056 ret = new TTeradataExecute(pdbvendor); 12057 } 12058 break; 12059 } 12060 case sstteradatasetsession: 12061 { 12062 ret = new TTeradataSetSession(pdbvendor); 12063 break; 12064 } 12065 case sstteradatadatabase: 12066 if (pcst.isFirstTokenOfLine()){ 12067 ret = new TTeradataSetSession(pdbvendor); 12068 } 12069 12070 break; 12071 case sstteradatasettimezone: 12072 { 12073 ret = new TTeradataSetTimezone(pdbvendor); 12074 break; 12075 } 12076 case sstteradatasetrole: 12077 { 12078 ret = new TTeradataSetRole(pdbvendor); 12079 break; 12080 } 12081 case sstteradataendlogging: 12082 { 12083 ret = new TTeradataEndLogging(pdbvendor); 12084 break; 12085 } 12086 case sstteradatabeginlogging: 12087 { 12088 ret = new TTeradataBeginLogging(pdbvendor); 12089 break; 12090 } 12091 case sstteradataabort: 12092 { 12093 ret = new TTeradataAbort(pdbvendor); 12094 break; 12095 } 12096 case sstteradatareplaceview: 12097 case sstcreateview: 12098 { 12099 ret = new TCreateViewSqlStatement(pdbvendor); 12100 ret.sqlstatementtype = ESqlStatementType.sstcreateview; 12101 break; 12102 } 12103 case sstteradatacollectstatistics: 12104 { 12105 ret = new TTeradataCollectStatistics(pdbvendor); 12106 break; 12107 } 12108 case sstteradatagive: 12109 { 12110 ret = new TTeradataGive(pdbvendor); 12111 break; 12112 } 12113 case sstteradatacall: 12114 ret = new TCallStatement(pdbvendor); 12115 break; 12116 case sstteradatacreatemacro: 12117 case sstteradatareplacemacro: 12118 ret = new TCreateMacro(pdbvendor); 12119 break; 12120 case sstteradatarenametable: 12121 ret = new TRenameStmt(pdbvendor); 12122 break; 12123 case sstteradatacomment: 12124 ret = new TCommentOnSqlStmt(pdbvendor); 12125 break; 12126 case sstteradatacheckworkload: 12127 ret = new TCheckWorkload(pdbvendor); 12128 break; 12129 case sstgetdiagnostics: 12130 ret = new TGetDiagStmt(pdbvendor); 12131 break; 12132 case sstteradatacreaterole: 12133 ret = new TCreateRoleStmt(pdbvendor); 12134 break; 12135 case sstteradatarevoke: 12136 ret = new TRevokeStmt(pdbvendor); 12137 break; 12138 case sstteradataalterzone: 12139 ret = new TAlterZoneStmt(pdbvendor); 12140 break; 12141 case sstcreatezone: 12142 ret = new TCreateZoneStmt(pdbvendor); 12143 break; 12144 case sstteradataalterconstraint: 12145 ret = new TAlterConstraintStmt(pdbvendor); 12146 break; 12147 case sstExplain: 12148 ret = new TExplainPlan(pdbvendor); 12149 break; 12150 case sstteradatareleaseLock: 12151 ret = new TTeradataReleaseLockStmt(pdbvendor); 12152 break; 12153 default: 12154 { 12155 ret = new TTeradataNotImplement(pdbvendor); 12156 ret.sqlstatementtype = gnewsqlstatementtype; 12157 break; 12158 } 12159 } // case 12160 12161 return ret; 12162 } 12163 12164 12165 TCustomSqlStatement ishana(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 12166 TCustomSqlStatement ret = null; 12167 int k; 12168 boolean lcisnewsql; 12169 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 12170 12171 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 12172 12173 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 12174 || (pcst.tokencode == TBaseType.cmtslashstar) 12175 || (pcst.tokencode == TBaseType.lexspace) 12176 || (pcst.tokencode == TBaseType.lexnewline) 12177 || (pcst.tokentype == ETokenType.ttsemicolon) ) 12178 { 12179 return ret; 12180 } 12181 12182 int lcpos = pcst.posinlist; 12183 TSourceTokenList lcsourcetokenlist = pcst.container; 12184 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 12185 12186 //subquery after semicolon || at first line 12187 if ( pcst.tokentype == ETokenType.ttleftparenthesis) // ( 12188 { 12189 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 12190 if ( k >0 ) 12191 { 12192 if (pstate == EFindSqlStateType.stnormal){ 12193 ret = new TSelectSqlStatement(pdbvendor); 12194 return ret; 12195 } 12196 } 12197 } 12198 12199 //cte 12200 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 12201 { 12202 ret = findcte(pcst,pdbvendor); 12203 if ( (ret != null) ) return ret; 12204 } 12205 12206 gnewsqlstatementtype = findhanacmd(pcst); 12207 12208 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12209 switch(gnewsqlstatementtype ) { // 12210 case sstinvalid: 12211 { 12212 if ( pcst.tokencode == TBaseType.mslabel ) 12213 { 12214 ret = new TMssqlLabel(pdbvendor); 12215 } 12216 else 12217 ret = null; 12218 12219 break; 12220 } 12221 case sstselect: 12222 { 12223 lcisnewsql = true; 12224 12225 if ( pstate != EFindSqlStateType.stnormal ) 12226 { 12227 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12228 if ( (lcprevsolidtoken != null) ) 12229 { 12230 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 12231 lcisnewsql = false; //subqery 12232 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 12233 lcisnewsql = false; 12234 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 12235 lcisnewsql = false; 12236 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 12237 lcisnewsql = false; 12238 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 12239 lcisnewsql = false; 12240 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 12241 lcisnewsql = false; 12242 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 12243 { 12244 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 12245 lcisnewsql = false; 12246 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 12247 lcisnewsql = false; 12248 } 12249 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12250 { 12251 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 12252 lcisnewsql = false; 12253 } 12254 else if (lcprevsolidtoken.tokentype == ETokenType.ttrightparenthesis){ 12255 if ((lccurrentsqlstatement != null) && (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)){ 12256 lcisnewsql = false; 12257 } 12258 } 12259 12260 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 12261 { 12262 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 12263 if ( (lcpprevsolidtoken != null) ) 12264 { 12265 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 12266 lcisnewsql = false; 12267 } 12268 } 12269 12270 } 12271 12272 if ( (lccurrentsqlstatement != null) ) 12273 { 12274 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 12275 { 12276 lcisnewsql = false; 12277 } 12278 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12279 { 12280 if ( (lcprevsolidtoken != null) ) 12281 { 12282 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12283 lcisnewsql = false; 12284 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12285 lcisnewsql = false; 12286 } 12287 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 12288 lcisnewsql = false; 12289 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltersequence ){ 12290 lcisnewsql = false; 12291 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstExplain ){ 12292 lcisnewsql = false; 12293 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstRevoke ){ 12294 lcisnewsql = false; 12295 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupsert ){ 12296 lcisnewsql = false; 12297 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterview ){ 12298 lcisnewsql = false; 12299 } 12300 } 12301 12302 } 12303 12304 if ( lcisnewsql ) 12305 ret = new TSelectSqlStatement(pdbvendor); 12306 12307 break; 12308 12309 } 12310 case sstinsert: 12311 { 12312 lcisnewsql = true; 12313 if ( pstate != EFindSqlStateType.stnormal ) 12314 { 12315 if ( (lccurrentsqlstatement != null) ) 12316 { 12317 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateauditpolicy) 12318 { 12319 lcisnewsql = false; 12320 } 12321 // merge 12322 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12323 { 12324 if (lcprevsolidtoken != null) 12325 { 12326 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12327 {lcisnewsql = false;} 12328 } 12329 } 12330 12331 12332 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12333 { 12334 if ( (lcprevsolidtoken != null) ) 12335 { 12336 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12337 lcisnewsql = false; 12338 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12339 lcisnewsql = false; 12340 } 12341 }else if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12342 { 12343 lcisnewsql = false; 12344 } 12345 12346 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12347 { 12348 if ( (lcprevsolidtoken != null) ) 12349 { 12350 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12351 lcisnewsql = false; 12352 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12353 lcisnewsql = false; 12354 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 12355 lcisnewsql = false; 12356 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 12357 lcisnewsql = false; 12358 } 12359 } 12360 12361 12362 } 12363 } 12364 12365 if ( lcisnewsql ) 12366 { 12367 ret = new TInsertSqlStatement(pdbvendor); 12368 ret.dummytag = 1; // select stmt in insert is permitted 12369 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 12370 { 12371 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 12372 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 12373 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 12374 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ){ 12375 ret.dummytag = 0; 12376 break; 12377 } 12378 } // for ( 12379 if ( k > lcsourcetokenlist.size() - 1 ) 12380 k = lcsourcetokenlist.size() - 1; 12381 12382 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 12383 { 12384 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 12385 } // for ( 12386 12387 } 12388 12389 break; 12390 } 12391 case sstupdate: 12392 { 12393 lcisnewsql = true; 12394 if ( pstate != EFindSqlStateType.stnormal ) 12395 { 12396 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12397 if ( (lcprevsolidtoken != null) ) 12398 { // 12399 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 12400 lcisnewsql = false; 12401 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12402 lcisnewsql = false; 12403 } 12404 12405 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 12406 if ( TBaseType.assigned(lcnextsolidtoken) ) 12407 { 12408 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 12409 { 12410 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 12411 if ( k == 0 ) lcisnewsql = false; 12412 } 12413 } 12414 12415 12416 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12417 { 12418 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateauditpolicy) 12419 { 12420 lcisnewsql = false; 12421 }else if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12422 { 12423 lcisnewsql = false; 12424 } 12425 // merge 12426 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12427 { 12428 if (lcprevsolidtoken != null) 12429 { 12430 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12431 {lcisnewsql = false;} 12432 } 12433 } 12434 12435 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12436 { 12437 if ( TBaseType.assigned(lcprevsolidtoken) ) 12438 { 12439 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12440 lcisnewsql = false; 12441 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12442 lcisnewsql = false; 12443 } 12444 } 12445 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12446 { 12447 if ( TBaseType.assigned(lcprevsolidtoken) ) 12448 { 12449 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12450 lcisnewsql = false; 12451 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12452 lcisnewsql = false; 12453 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 12454 lcisnewsql = false; 12455 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 12456 lcisnewsql = false; 12457 } 12458 } 12459 12460 } 12461 } 12462 12463 if ( lcisnewsql ) 12464 { 12465 ret = new TUpdateSqlStatement(pdbvendor); 12466 ret.dummytag = 1; // means set clause in update is not found yet, used to separate set clause from set statement 12467 } 12468 12469 break; 12470 } 12471 case sstdelete: 12472 { 12473 lcisnewsql = true; 12474 12475 if ( pstate != EFindSqlStateType.stnormal ) 12476 { 12477 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12478 if ( TBaseType.assigned(lcprevsolidtoken) ) 12479 { 12480 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 12481 lcisnewsql = false; 12482 } 12483 12484 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12485 { 12486 // merge 12487 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12488 { 12489 if (lcprevsolidtoken != null) 12490 { 12491 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12492 {lcisnewsql = false;} 12493 } 12494 } 12495 12496 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12497 { 12498 if ( TBaseType.assigned(lcprevsolidtoken) ) 12499 { 12500 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12501 lcisnewsql = false; 12502 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12503 lcisnewsql = false; 12504 } 12505 } 12506 12507 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12508 { 12509 if ( TBaseType.assigned(lcprevsolidtoken) ) 12510 { 12511 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12512 lcisnewsql = false; 12513 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12514 lcisnewsql = false; 12515 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(),"after") == 0 ) 12516 lcisnewsql = false; 12517 else if ( TBaseType.mycomparetext(lcprevsolidtoken.getAstext(), "of") == 0 ) 12518 lcisnewsql = false; 12519 } 12520 } 12521 12522 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstbackupcatalogdelete) 12523 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 12524 ) 12525 { 12526 lcisnewsql = false; 12527 } 12528 12529 } 12530 } 12531 12532 if ( lcisnewsql ) 12533 ret = new TDeleteSqlStatement(pdbvendor); 12534 12535 break; 12536 } 12537 case sstcreatetable: 12538 { 12539 ret = new TCreateTableSqlStatement(pdbvendor); 12540 break; 12541 } 12542 case sstcreateview: 12543 { 12544 ret = new TCreateViewSqlStatement(pdbvendor); 12545 break; 12546 } 12547 case sstcreatesequence: 12548 { 12549 ret = new TCreateSequenceStmt(pdbvendor); 12550 break; 12551 } 12552 case sstaltertable: 12553 { 12554 lcisnewsql = true; 12555 if ( pstate != EFindSqlStateType.stnormal ) 12556 { 12557 lcisnewsql = false; 12558 } 12559 if ( lcisnewsql ) { 12560 ret = new TAlterTableStatement(pdbvendor); 12561 } 12562 break; 12563 } 12564 case sstcreateprocedure : 12565 { 12566 ret = new TCreateProcedureStmt(pdbvendor); 12567 break; 12568 } 12569 case sstalterprocedure: 12570 { 12571 boolean isAlter = false; 12572 // hana alter and create procedure 语法混在一起,无法区分 12573 // c:\prg\gsp_java\gsp_java_core\gsp_sqlfiles\TestCases\public\allversions\hana\create_procedure.sql 12574 if (pcst.tokencode == TBaseType.rrw_alter){ 12575 12576 TSourceToken st = pcst.nextSolidToken(3); 12577 if (st != null){ 12578 switch (st.toString().toUpperCase()) { 12579 case "RECOMPILE": 12580 isAlter = true; 12581 break; 12582 case "ENCRYPTION": 12583 isAlter = true; 12584 break; 12585 case "ADD": 12586 isAlter = true; 12587 break; 12588 default: 12589 break; 12590 } 12591 } 12592 12593 // TSourceToken st = pcst.searchToken("recompile",4); 12594 // if (st != null){ 12595 // isAlter = true; 12596 // }else{ 12597 // st = pcst.searchToken("encryption",4); 12598 // if (st != null){ 12599 // isAlter = true; 12600 // } 12601 // } 12602 } 12603 if (isAlter){ 12604 ret = new TAlterProcedureStmt (pdbvendor); 12605 }else{ 12606 ret = new TCreateProcedureStmt (pdbvendor); 12607 } 12608 12609 break; 12610 } 12611 case sstcreatefunction : 12612 { 12613 ret = new TCreateFunctionStmt(pdbvendor); 12614 break; 12615 } 12616 case sstalterfunction: 12617 { 12618 boolean isAlter = false; 12619 // hana alter and create function 语法混在一起,无法区分 12620 12621 if (pcst.tokencode == TBaseType.rrw_alter){ 12622 TSourceToken stAdd = pcst.searchToken("add",4); 12623 TSourceToken stAlter = pcst.searchToken("alter",4); 12624 TSourceToken stDrop = pcst.searchToken("drop",4); 12625 if ((stAdd != null)||(stAlter != null)||(stDrop != null)){ 12626 isAlter = true; 12627 }else{ 12628 TSourceToken st = pcst.searchToken("encryption",4); 12629 if (st != null){ 12630 isAlter = true; 12631 } 12632 } 12633 } 12634 12635 if (isAlter){ 12636 ret = new TAlterFunctionStmt (pdbvendor); 12637 }else{ 12638 ret = new TCreateFunctionStmt (pdbvendor); 12639 } 12640 12641 12642 break; 12643 } 12644 case sstcreatetrigger : 12645 case sstaltertrigger: 12646 { 12647 ret = new TCreateTriggerStmt(pdbvendor); 12648 break; 12649 } 12650 case sstGrant: 12651 { 12652 lcisnewsql = true; 12653 12654 if ( pstate != EFindSqlStateType.stnormal ) 12655 { 12656 lcisnewsql = false; 12657 12658 } 12659 if ( lcisnewsql ) 12660 { 12661 ret = new TGrantStmt(pdbvendor); 12662 //ret.sqlstatementtype = gnewsqlstatementtype; 12663 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 12664 { 12665 lctoken = lcsourcetokenlist.get(k); 12666 if (lctoken.isnonsolidtoken() ) continue; 12667 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 12668 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 12669 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 12670 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 12671 } 12672 } 12673 break; 12674 } 12675 case sstdropview: 12676 { 12677 ret = new TDropViewSqlStatement(pdbvendor); 12678 break; 12679 } 12680 case sstdroptable: 12681 { 12682 ret = new TDropTableSqlStatement(pdbvendor); 12683 break; 12684 } 12685 case sstdropindex: 12686 { 12687 ret = new TDropIndexSqlStatement(pdbvendor); 12688 break; 12689 } 12690 case ssttruncatetable: 12691 { 12692 ret = new TTruncateStatement(pdbvendor); 12693 break; 12694 } 12695 case sstcommit: 12696 { 12697 lcisnewsql = true; 12698 TSourceToken lcPrev = pcst.prevSolidToken(); 12699 if ((lcPrev != null) && (lcPrev.tokencode == TBaseType.rrw_hana_of)){ 12700 lcisnewsql = false; 12701 } 12702 if ( pstate != EFindSqlStateType.stnormal ) 12703 { 12704 lcisnewsql = false; 12705 12706 } 12707 if (lcisnewsql){ 12708 ret = new TCommitStmt(pdbvendor); 12709 } 12710 12711 break; 12712 } 12713 case sstrollback: 12714 { 12715 ret = new TRollbackStmt(pdbvendor); 12716 break; 12717 } 12718 case sstRevoke: 12719 { 12720 lcisnewsql = true; 12721 12722 if ( pstate != EFindSqlStateType.stnormal ) 12723 { 12724 lcisnewsql = false; 12725 12726 } 12727 if (lcisnewsql){ 12728 ret = new TRevokeStmt(pdbvendor); 12729 } 12730 break; 12731 } 12732 case sstcreateindex: 12733 { 12734 ret = new TCreateIndexSqlStatement(pdbvendor); 12735 break; 12736 } 12737 case sstset: 12738 { 12739 lcisnewsql = true; 12740 if ( pstate != EFindSqlStateType.stnormal ) 12741 { 12742 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12743 { 12744 lcisnewsql = false; 12745 } 12746 } 12747 12748 if ( lcisnewsql ) 12749 { 12750 ret = new TMssqlSet(pdbvendor); 12751 } 12752 12753 break; 12754 } 12755 case sstdropsequence: 12756 ret = new TDropSequenceStmt(pdbvendor); 12757 break; 12758 case sstalterdatabase: 12759 ret = new TAlterDatabaseStmt(pdbvendor); 12760 break; 12761 case sstcreatedatabase: 12762 { 12763 ret = new TCreateDatabaseSqlStatement(pdbvendor); 12764 break; 12765 } 12766 case sstcreateschema: 12767 { 12768 ret = new TCreateSchemaSqlStatement(pdbvendor); 12769 break; 12770 } 12771 case sstcreatesynonym: 12772 { 12773 ret = new TCreateSynonymStmt(pdbvendor); 12774 break; 12775 } 12776 case sstcreatetype: 12777 ret = new TMssqlCreateType(pdbvendor); 12778 break; 12779 case sstreplace: 12780 lcisnewsql = true; 12781 TSourceToken lcNext = pcst.nextSolidToken(); 12782 if ((lcNext != null) && (lcNext.tokencode == '(')){ 12783 lcisnewsql = false; 12784 } 12785 if ( pstate != EFindSqlStateType.stnormal ) 12786 { 12787 lcisnewsql = false; 12788 } 12789 if (lcisnewsql) { 12790 ret = new TUpsertStmt(pdbvendor); 12791 //ret.sqlstatementtype = gnewsqlstatementtype; 12792 } 12793 break; 12794 case sstalterauditpolicy: 12795 ret = new TAlterAuditPolicyStmt(pdbvendor); 12796 break; 12797 case sstaltercredential: 12798 ret = new TAlterCredentialStmt(pdbvendor); 12799 break; 12800 case sstalterfulltextindex: 12801 ret = new TAlterFulltextIndexStmt(pdbvendor); 12802 break; 12803 case sstalterindex: 12804 ret = new TAlterIndexStmt(pdbvendor); 12805 break; 12806 case sstalterldapprovider: 12807 ret = new TAlterLDAPProviderStmt(pdbvendor); 12808 break; 12809 case sstalterjwtprovider: 12810 ret = new TAlterJWTProviderStmt(pdbvendor); 12811 break; 12812 case sstalterpse: 12813 ret = new TAlterPSEStmt(pdbvendor); 12814 break; 12815 case sstalterremotesource: 12816 ret = new TAlterRemoteSourceStmt(pdbvendor); 12817 break; 12818 case sstAlterRole: 12819 ret = new TAlterRoleStmt(pdbvendor); 12820 break; 12821 case sstaltersamlprovider: 12822 ret = new TAlterSAMLProviderStmt(pdbvendor); 12823 break; 12824 case sstaltersequence: 12825 ret = new TAlterSequenceStatement(pdbvendor); 12826 break; 12827 case sstalterstatistics: 12828 ret = new TAlterStatisticsStmt(pdbvendor); 12829 break; 12830 case sstaltersystem: 12831 ret = new TAlterSystemStmt(pdbvendor); 12832 break; 12833 case sstunload: 12834 lcisnewsql = true; 12835 if ( pstate != EFindSqlStateType.stnormal ) 12836 { 12837 lcisnewsql = false; 12838 } 12839 if ( lcisnewsql ) { 12840 ret = new TUnloadStmt(pdbvendor); 12841 ret.sqlstatementtype = gnewsqlstatementtype; 12842 } 12843 break; 12844 case sstunset: 12845 case sstunsetpse: 12846 case sstunsetsystemlicense: 12847 lcisnewsql = true; 12848 if ( pstate != EFindSqlStateType.stnormal ) 12849 { 12850 lcisnewsql = false; 12851 } 12852 if ( lcisnewsql ) { 12853 ret = new TUnsetStmt(pdbvendor); 12854 ret.sqlstatementtype = gnewsqlstatementtype; 12855 } 12856 break; 12857 case sstalteruser: 12858 ret = new TAlterUserStmt(pdbvendor); 12859 break; 12860 case sstconnect: 12861 lcisnewsql = true; 12862 if ( pstate != EFindSqlStateType.stnormal ) 12863 { 12864 lcisnewsql = false; 12865 } 12866 if ( lcisnewsql ) { 12867 ret = new TConnectStmt(pdbvendor); 12868 ret.sqlstatementtype = gnewsqlstatementtype; 12869 } 12870 break; 12871 case sstalterusergroup: 12872 ret = new TAlterUserGroupStmt(pdbvendor); 12873 break; 12874 case sstalterview: 12875 case sstalterviewcache: 12876 ret = new TAlterViewStatement(pdbvendor); 12877 break; 12878 case sstaltervirtualtable: 12879 ret = new TAlterVirtualTableStmt(pdbvendor); 12880 break; 12881 case sstalterworkloadclass: 12882 ret = new TAlterWorkloadClassStmt(pdbvendor); 12883 break; 12884 case sstalterworkloadmapping: 12885 ret = new TAlterWorkloadMappingStmt(pdbvendor); 12886 break; 12887 case sstbackupcancel: 12888 ret = new TBackupCancelStmt(pdbvendor); 12889 break; 12890 case sstbackupcatalogdelete: 12891 ret = new TBackupCatalogDeleteStmt(pdbvendor); 12892 break; 12893 case sstbackupcheck: 12894 case sstbackupcheckaccess: 12895 ret = new TBackupCheckStmt(pdbvendor); 12896 break; 12897 case sstbackupdata: 12898 ret = new TBackupDataStmt(pdbvendor); 12899 break; 12900 case sstbackuplistdata: 12901 ret = new TBackupListDataStmt(pdbvendor); 12902 break; 12903 case sstcall: 12904 ret = new TCallStatement(pdbvendor); 12905 break; 12906 case sstcomment: 12907 ret = new TCommentOnSqlStmt(pdbvendor); 12908 break; 12909 case sstcreateauditpolicy: 12910 ret = new TCreateAuditPolicyStmt(pdbvendor); 12911 break; 12912 case sstcreatecertificate: 12913 ret = new TCreateCertificateStmt(pdbvendor); 12914 break; 12915 case sstcreatecollection: 12916 ret = new TCreateCollectionStmt(pdbvendor); 12917 break; 12918 case sstcreatecredential: 12919 ret = new TCreateCredentialStmt(pdbvendor); 12920 break; 12921 case sstcreatefulltextindex: 12922 ret = new TCreateFulltextIndexStmt(pdbvendor); 12923 break; 12924 case sstcreategraphworkspace: 12925 ret = new TCreateGraphWorkspaceStmt(pdbvendor); 12926 break; 12927 case sstcreateJWTProvider: 12928 ret = new TCreateJWTProviderStmt(pdbvendor); 12929 break; 12930 case sstcreateLDAPProvider: 12931 ret = new TCreateLDAPProviderStmt(pdbvendor); 12932 break; 12933 case sstcreatepse: 12934 ret = new TCreatePSEStmt(pdbvendor); 12935 break; 12936 case sstcreateremotesource: 12937 ret = new TCreateRemoteSourceStmt(pdbvendor); 12938 break; 12939 case sstcreaterole: 12940 ret = new TCreateRoleStmt(pdbvendor); 12941 break; 12942 case sstcreatesamlprovider: 12943 ret = new TCreateSAMLProviderStmt(pdbvendor); 12944 break; 12945 case sstcreatestatistics: 12946 ret = new TCreateStatistics(pdbvendor); 12947 break; 12948 case sstcreatestructuredprivilege: 12949 ret = new TCreateStructuredPrivilegeStmt(pdbvendor); 12950 break; 12951 case sstcreateuser: 12952 ret = new TCreateUserStmt(pdbvendor); 12953 break; 12954 case sstcreateusergroup: 12955 ret = new TCreateUserGroupStmt(pdbvendor); 12956 break; 12957 case sstcreatevirtualfunction: 12958 ret = new TCreateVirtualFunctionStmt(pdbvendor); 12959 break; 12960 case sstcreatevirtualtable: 12961 ret = new TCreateVirtualTableStmt(pdbvendor); 12962 break; 12963 case sstcreateworkloadclass: 12964 ret = new TCreateWorkloadClassStmt(pdbvendor); 12965 break; 12966 case sstcreateworkloadmapping: 12967 ret = new TCreateWorkloadMappingStmt(pdbvendor); 12968 break; 12969 case sstdropauditpolicy: 12970 case sstdropcertificate: 12971 case sstdropcollection: 12972 case sstdropcredential: 12973 case sstdropfulltextindex: 12974 case sstdropJWTProvider: 12975 case sstdropLDAPProvider: 12976 case sstdroppse: 12977 case sstdropremotesource: 12978 case sstdropsamlprovider: 12979 case sstdropstatistics: 12980 case sstdropgraphworkspace: 12981 case sstdropstructuredprivilege: 12982 case sstdroptype: 12983 case sstdropusergroup: 12984 case sstdropworkloadclass: 12985 case sstdropworkloadmapping: 12986 lcisnewsql = true; 12987 if ( pstate != EFindSqlStateType.stnormal ) 12988 { 12989 lcisnewsql = false; 12990 } 12991 if ( lcisnewsql ) { 12992 ret = new TDropStmt(pdbvendor); 12993 } 12994 12995 break; 12996 case sstdropdatabase: 12997 ret = new TDropDatabaseStmt(pdbvendor); 12998 break; 12999 case sstdropfunction: 13000 ret = new TDropFunctionStmt(pdbvendor); 13001 break; 13002 case sstdropprocedure: 13003 ret = new TDropProcedureStmt(pdbvendor); 13004 break; 13005 case sstdroprole: 13006 ret = new TDropRoleStmt(pdbvendor); 13007 break; 13008 case sstdropschema: 13009 ret = new TDropSchemaSqlStatement(pdbvendor); 13010 break; 13011 case sstdropsynonym: 13012 ret = new TDropSynonymStmt(pdbvendor); 13013 break; 13014 case sstdroptrigger: 13015 ret = new TDropTriggerSqlStatement(pdbvendor); 13016 break; 13017 case sstdropuser: 13018 ret = new TDropUserStmt(pdbvendor); 13019 break; 13020 case sstExplain: 13021 ret = new TExplainPlan(pdbvendor); 13022 break; 13023 case sstexport: 13024 ret = new TExportStmt(pdbvendor); 13025 break; 13026 case sstimport: 13027// case sstimportfrom: 13028// case sstimportscan: 13029 ret = new TImportStmt(pdbvendor); 13030 break; 13031 case sstload: 13032 lcisnewsql = true; 13033 if ( pstate != EFindSqlStateType.stnormal ) 13034 { 13035 lcisnewsql = false; 13036 } 13037 if ( lcisnewsql ) { 13038 ret = new TLoadStmt(pdbvendor); 13039 } 13040 13041 break; 13042 case sstlocktable: 13043 ret = new TLockTableStmt(pdbvendor); 13044 break; 13045 case sstmergedelta: 13046 ret = new TMergeDeltaStmt(pdbvendor); 13047 break; 13048 case sstmerge: 13049 ret = new TMergeSqlStatement(pdbvendor); 13050 break; 13051 case sstrecoverdata: 13052 ret = new TRecoverDataStmt(pdbvendor); 13053 break; 13054 case sstrecoverdatabase: 13055 ret = new TRecoverDatabaseStmt(pdbvendor); 13056 break; 13057 case sstrefreshstatistics: 13058 ret = new TRefreshStatisticsStmt(pdbvendor); 13059 break; 13060 case sstrenamecollection: 13061 case sstrenamecolumn: 13062 case sstrenamedatabase: 13063 case sstrenameindex: 13064 case sstrenametable: 13065 ret = new TRenameStmt(pdbvendor); 13066 break; 13067 case sssethistorysession: 13068 case sstsetpse: 13069 case sstsetschema: 13070 case sstsetsystemlicense: 13071 case sstsettransaction: 13072 case sstsettransactionautocommit: 13073 ret = new TSetDatabaseObjectStmt(pdbvendor); 13074 break; 13075 case ssttruncatecollection: 13076 ret = new TTruncateCollectionStmt(pdbvendor); 13077 break; 13078 case sstvalidateLDAPProvider: 13079 ret = new TValidateLDAPProviderStmt(pdbvendor); 13080 break; 13081 case sstvalidateUser: 13082 ret = new TValidateUserStmt(pdbvendor); 13083 break; 13084 case sstupsert: 13085 ret = new TUpsertStmt(pdbvendor); 13086 break; 13087 case sstsavepoint: 13088 { 13089 lcisnewsql = true; 13090 13091 if ( pstate != EFindSqlStateType.stnormal ) 13092 { 13093 lcisnewsql = false; 13094 13095 } 13096 if (lcisnewsql){ 13097 ret = new TSavepointStmt(pdbvendor); 13098 ret.sqlstatementtype = gnewsqlstatementtype; 13099 } 13100 break; 13101 } 13102 default: 13103 { 13104 ret = new TUnknownSqlStatement(pdbvendor); 13105 ret.sqlstatementtype = gnewsqlstatementtype; 13106 break; 13107 } 13108 } // case 13109 13110 return ret; 13111 } 13112 13113 TCustomSqlStatement mapTeradataUsing(TSourceToken ptoken){ 13114 TCustomSqlStatement ret = null; 13115 TSourceToken lctoken = null; 13116 int lcnested = 0,k,j; 13117 13118 //using ... insert/select/delete/update/begin transaction 13119 int lcpos = ptoken.posinlist; 13120 TSourceTokenList lcsourcetokenlist = ptoken.container; 13121 13122 for (int i = lcpos + 1; i < lcsourcetokenlist.size();i++) // iterate 13123 { 13124 lctoken = lcsourcetokenlist.get(i); 13125 if ( (lctoken.tokencode == TBaseType.rrw_delete) ) 13126 { 13127 ret = new TDeleteSqlStatement(EDbVendor.dbvteradata); 13128 gnewsqlstatementtype = ESqlStatementType.sstdelete; 13129 break; 13130 } 13131 else if ( (lctoken.tokencode == TBaseType.rrw_insert) ) 13132 { 13133 ret = new TInsertSqlStatement(EDbVendor.dbvteradata); 13134 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13135 break; 13136 } 13137 else if ( (lctoken.tokencode == TBaseType.rrw_select) ) 13138 { 13139 ret = new TSelectSqlStatement(EDbVendor.dbvteradata); 13140 gnewsqlstatementtype = ESqlStatementType.sstselect; 13141 break; 13142 } 13143 else if ( (lctoken.tokencode == TBaseType.rrw_update) ) 13144 { 13145 ret = new TUpdateSqlStatement(EDbVendor.dbvteradata); 13146 gnewsqlstatementtype = ESqlStatementType.sstupdate; 13147 break; 13148 } 13149 else if ( (lctoken.tokencode == TBaseType.rrw_begin) || (lctoken.tokencode == TBaseType.rrw_bt) ) 13150 { 13151 ret = new TTeradataBeginTransaction(EDbVendor.dbvteradata); 13152 gnewsqlstatementtype = ESqlStatementType.sstteradatabegintransaction; 13153 break; 13154 } 13155 } 13156 return ret; 13157 } 13158 13159/** 13160 * Analyzes a SQL token to determine if it starts a Common Table Expression (CTE) 13161 * and returns the appropriate SQL statement object. 13162 * 13163 * This function handles CTEs that begin with "WITH" and can contain: 13164 * - SELECT statements 13165 * - INSERT statements 13166 * - UPDATE statements 13167 * - DELETE statements 13168 * - MERGE statements 13169 * - VALUES clauses (PostgreSQL) 13170 * 13171 * Side Effects: 13172 * When a CTE is found, this function marks tokens as "ignored" to prevent them from being 13173 * processed again during raw statement parsing: 13174 * 1. All tokens from after WITH up to and including the main statement keyword (SELECT/INSERT/etc.) 13175 * are marked with ETokenStatus.tsignoredbygetrawstatement 13176 * 2. For INSERT statements, additional tokens after INSERT up to VALUES/SELECT/EXECUTE/semicolon 13177 * are also marked as ignored 13178 * 13179 * Example of ignored tokens: 13180 * WITH cte AS (SELECT * FROM t1) -- these tokens marked as ignored 13181 * SELECT * FROM cte; -- SELECT is also marked as ignored 13182 * -- parsing continues after SELECT 13183 * 13184 * @param ptoken The source token to analyze, expected to be a "WITH" keyword 13185 * @param pdbvendor The database vendor type (e.g. Oracle, SQL Server, etc.) 13186 * @return A TCustomSqlStatement object representing the CTE statement type found, 13187 * or null if no valid CTE statement is detected 13188 */ 13189TCustomSqlStatement findcte(TSourceToken ptoken, EDbVendor pdbvendor){ 13190 TCustomSqlStatement ret = null; 13191 TSourceToken lctoken = null; 13192 int lcnested = 0,k,j; 13193 boolean inXmlNamespaces = false; 13194 boolean isXmlNamespaces = false; 13195 13196 int lcpos = ptoken.posinlist; 13197 TSourceTokenList lcsourcetokenlist = ptoken.container; 13198 13199 for (int i = lcpos + 1; i < lcsourcetokenlist.size();i++) // iterate 13200 { 13201 lctoken = lcsourcetokenlist.get(i); 13202// if (lctoken.tokencode == TBaseType.rrw_postgresql_recursive){ 13203// continue; 13204// } 13205 if (lctoken.tokencode == TBaseType.rrw_xmlnamespaces){ 13206 inXmlNamespaces = true; 13207 lcnested = 0; 13208 continue; 13209 } 13210 if (inXmlNamespaces) { 13211 if ( lctoken.tokentype == ETokenType.ttleftparenthesis) lcnested++; 13212 if ( lctoken.tokentype == ETokenType.ttrightparenthesis) { 13213 lcnested--; 13214 if (lcnested == 0) { 13215 inXmlNamespaces = false; 13216 isXmlNamespaces = true; 13217 } 13218 } 13219 continue; 13220 } 13221 if (( lctoken.tokencode == TBaseType.rrw_as ) || isXmlNamespaces) 13222 { 13223 lcnested = 0; 13224 int startPos = i+1; 13225 if (isXmlNamespaces) startPos = i; 13226 for ( j = startPos; j < lcsourcetokenlist.size();j++) 13227 { 13228 lctoken = lcsourcetokenlist.get(j); 13229 if (lctoken.isnonsolidtoken() ) continue; 13230 if ( lctoken.tokentype == ETokenType.ttleftparenthesis) lcnested++; 13231 if ( lctoken.tokentype == ETokenType.ttrightparenthesis) lcnested--; 13232 13233 13234 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_delete) ) 13235 { 13236 ret = new TDeleteSqlStatement(pdbvendor); 13237 ret.isctequery = true; 13238 gnewsqlstatementtype = ESqlStatementType.sstdelete; 13239 break; 13240 } 13241 13242 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_merge) ) 13243 { 13244 ret = new TMergeSqlStatement(pdbvendor); 13245 ret.isctequery = true; 13246 gnewsqlstatementtype = ESqlStatementType.sstmerge; 13247 break; 13248 } 13249 13250 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_insert) ) 13251 { 13252 ret = new TInsertSqlStatement(pdbvendor); 13253 ret.isctequery = true; 13254 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13255 ret.dummytag = 1; // select stmt in insert is permitted 13256 13257 for ( k = lctoken.posinlist + 1; k < lcsourcetokenlist.size();k++) // iterate 13258 { 13259 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 13260 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 13261 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 13262 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 13263 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 13264 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 13265 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 13266 } // for 13267 if ( k > lcsourcetokenlist.size() - 1 ) 13268 k = lcsourcetokenlist.size() - 1; 13269 13270 for (int m = lctoken.posinlist + 1; m <= k; m++) // iterate 13271 { 13272 lcsourcetokenlist.get(m).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 13273 } // for 13274 13275 break; 13276 } 13277 13278 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_values) &&(pdbvendor == EDbVendor.dbvpostgresql) ) 13279 { 13280 ret = new TSelectSqlStatement(pdbvendor); 13281 ret.isctequery = true; 13282 gnewsqlstatementtype = ESqlStatementType.sstselect; 13283 break; 13284 } 13285 13286 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_select) ) 13287 { 13288 ret = new TSelectSqlStatement(pdbvendor); 13289 ret.isctequery = true; 13290 gnewsqlstatementtype = ESqlStatementType.sstselect; 13291 break; 13292 } 13293 13294 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_update) ) 13295 { 13296 ret = new TUpdateSqlStatement(pdbvendor); 13297 ret.isctequery = true; 13298 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 13299 gnewsqlstatementtype = ESqlStatementType.sstupdate; 13300 break; 13301 } 13302 13303 if ( (pdbvendor == EDbVendor.dbvhive) && (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_from) ) 13304 { 13305 TSourceToken cmdToken = lctoken.searchToken(TBaseType.rrw_insert,3); 13306 if (cmdToken != null){ 13307 ret = new TInsertSqlStatement(pdbvendor); 13308 ret.isctequery = true; 13309 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13310 13311 }else{ 13312 ret = new TSelectSqlStatement(pdbvendor); 13313 ret.isctequery = true; 13314 gnewsqlstatementtype = ESqlStatementType.ssthiveFromQuery; 13315 } 13316 break; 13317 } 13318 13319 13320 } // for 13321 13322 if ( (ret != null) ) 13323 { 13324 for (k = lcpos + 1; k <= j;k++) // iterate 13325 { 13326 lcsourcetokenlist.get(k).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 13327 } // for 13328 break; 13329 } 13330 13331 } 13332 } 13333 13334 return ret; 13335} 13336 13337 TCustomSqlStatement findMdxStmtBeginWithClause(TSourceToken ptoken, EDbVendor pdbvendor){ 13338 TCustomSqlStatement ret = null; 13339 ret = new TMdxSelect(pdbvendor); 13340 ret.isctequery = true; 13341 gnewsqlstatementtype = ESqlStatementType.sstmdxselect; 13342 return ret; 13343 } 13344 13345 TCustomSqlStatement isdb2sql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13346 TCustomSqlStatement ret = null; 13347 int k; 13348 boolean lcisnewsql; 13349 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 13350 13351 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 13352 13353 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 13354 || (pcst.tokencode == TBaseType.cmtslashstar) 13355 || (pcst.tokencode == TBaseType.lexspace) 13356 || (pcst.tokencode == TBaseType.lexnewline) 13357 || (pcst.tokentype == ETokenType.ttsemicolon) ) 13358 { 13359 return ret; 13360 } 13361 13362 int lcpos = pcst.posinlist; 13363 TSourceTokenList lcsourcetokenlist = pcst.container; 13364 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 13365 13366 //subquery after semicolon || at first line 13367 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 13368 { 13369 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 13370 if ( k >0 ) 13371 { 13372 ret = new TSelectSqlStatement(pdbvendor); 13373 } 13374 13375 return ret; 13376 } 13377 13378 //cte 13379 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 13380 { 13381 ret = findcte(pcst,pdbvendor); 13382 if ( TBaseType.assigned(ret) ) return ret; 13383 } 13384 13385 //values 13386 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_values) ) 13387 { 13388 ret = new TSelectSqlStatement(pdbvendor); 13389 return ret; 13390 } 13391 13392 // db2 scriptoptions 13393 if ( pcst.tokencode == TBaseType.scriptoptions ) 13394 { 13395 ret = new TDb2ScriptOptionStmt(pdbvendor); 13396 return ret; 13397 } 13398 13399 gnewsqlstatementtype = finddb2cmd(pcst); 13400 13401 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13402 switch(gnewsqlstatementtype) { // 13403 case sstinvalid: 13404 { 13405 ret = null; 13406 if ( pcst.tokencode == TBaseType.rrw_begin ) 13407 { 13408 ret = new TCommonBlock(pdbvendor); 13409 gnewsqlstatementtype = ret.sqlstatementtype; 13410 } 13411 break; 13412 } 13413 case sstselect: 13414 { 13415 lcisnewsql = true; 13416 13417 if ( pstate != EFindSqlStateType.stnormal ) 13418 { 13419 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13420 if ( TBaseType.assigned(lcprevsolidtoken) ) 13421 { 13422 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13423 lcisnewsql = false; //subqery 13424 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 13425 lcisnewsql = false; 13426 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 13427 lcisnewsql = false; 13428 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 13429 lcisnewsql = false; 13430 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 13431 lcisnewsql = false; 13432 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 13433 lcisnewsql = false; 13434 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 13435 { 13436 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 13437 lcisnewsql = false; 13438 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 13439 lcisnewsql = false; 13440 } 13441 13442 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 13443 { 13444 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 13445 if ( TBaseType.assigned(lcpprevsolidtoken) ) 13446 { 13447 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 13448 lcisnewsql = false; 13449 } 13450 } 13451 13452 } 13453 13454 13455 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13456 { 13457 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 13458 { 13459 lcisnewsql = false; 13460 } 13461 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect ) 13462 { 13463 if ( lccurrentsqlstatement.isctequery ) 13464 lcisnewsql = false; 13465 } 13466 } 13467 13468 } 13469 13470 if ( lcisnewsql ) 13471 ret = new TSelectSqlStatement(pdbvendor); 13472 break; 13473 } 13474 case sstinsert: 13475 { 13476 lcisnewsql = true; 13477 if ( pstate != EFindSqlStateType.stnormal ) 13478 { 13479 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13480 { 13481 13482 } 13483 } 13484 13485 if ( lcisnewsql ) 13486 ret = new TInsertSqlStatement(pdbvendor); 13487 break; 13488 } 13489 case sstupdate: 13490 { 13491 lcisnewsql = true; 13492 if ( pstate != EFindSqlStateType.stnormal ) 13493 { 13494 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13495 if ( TBaseType.assigned(lcprevsolidtoken) ) 13496 { // 13497 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13498 lcisnewsql = false; 13499 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 13500 lcisnewsql = false; 13501 } 13502 13503 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 13504 if ( TBaseType.assigned(lcnextsolidtoken) ) 13505 { 13506 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13507 { 13508 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 13509 if ( k == 0 ) lcisnewsql = false; 13510 } 13511 } 13512 13513 13514 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13515 { 13516 } 13517 } 13518 13519 if ( lcisnewsql ) 13520 { 13521 ret = new TUpdateSqlStatement(pdbvendor); 13522 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 13523 } 13524 break; 13525 } 13526 case sstdelete: 13527 { 13528 lcisnewsql = true; 13529 13530 if ( pstate != EFindSqlStateType.stnormal ) 13531 { 13532 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13533 if ( TBaseType.assigned(lcprevsolidtoken) ) 13534 { 13535 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13536 lcisnewsql = false; 13537 } 13538 13539 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13540 { 13541 } 13542 } 13543 13544 if ( lcisnewsql ) 13545 ret = new TDeleteSqlStatement(pdbvendor); 13546 break; 13547 } 13548 case sstmerge: 13549 { 13550 ret = new TMergeSqlStatement(pdbvendor); 13551 ret.sqlstatementtype = gnewsqlstatementtype; 13552 break; 13553 } 13554 case sstcommit: 13555 { 13556 ret = new TUnknownSqlStatement(pdbvendor); 13557 ret.sqlstatementtype = gnewsqlstatementtype; 13558 break; 13559 } 13560 case sstrollback: 13561 { 13562 ret = new TUnknownSqlStatement(pdbvendor); 13563 ret.sqlstatementtype = gnewsqlstatementtype; 13564 break; 13565 } 13566 case sstsavepoint: 13567 { 13568 ret = new TUnknownSqlStatement(pdbvendor); 13569 ret.sqlstatementtype = gnewsqlstatementtype; 13570 break; 13571 } 13572 case sstRevoke: 13573 { 13574 ret = new TUnknownSqlStatement(pdbvendor); 13575 ret.sqlstatementtype = gnewsqlstatementtype; 13576 break; 13577 } 13578 case sstcreatetable: 13579 { 13580 ret = new TCreateTableSqlStatement(pdbvendor); 13581 break; 13582 } 13583 case sstcreateview: 13584 { 13585 ret = new TCreateViewSqlStatement(pdbvendor); 13586 break; 13587 } 13588 case sstcreateindex: 13589 { 13590 ret = new TCreateIndexSqlStatement(pdbvendor); 13591 break; 13592 } 13593 case sstcreatedatabase: 13594 { 13595 ret = new TCreateDatabaseSqlStatement(pdbvendor); 13596 break; 13597 } 13598 case sstdroptable: 13599 { 13600 ret = new TDropTableSqlStatement(pdbvendor); 13601 break; 13602 } 13603 case sstdropview: 13604 { 13605 ret = new TDropViewSqlStatement(pdbvendor); 13606 break; 13607 } 13608 case sstdropindex: 13609 { 13610 ret = new TDropIndexSqlStatement(pdbvendor); 13611 break; 13612 } 13613 case sstaltertable: 13614 { 13615 ret = new TAlterTableStatement(pdbvendor); 13616 break; 13617 } 13618 case sstaltersession: 13619 { 13620 ret = new TAlterSessionStatement(pdbvendor); 13621 break; 13622 } 13623 case sstdb2set: 13624 { 13625 ret = new TDb2SetVariableStmt(pdbvendor); 13626 break; 13627 } 13628 case sstdb2setschema: 13629 { 13630 ret = new TSetDatabaseObjectStmt(pdbvendor); 13631 break; 13632 } 13633 case sstdb2call: 13634 { 13635 ret = new TDb2CallStmt(pdbvendor); 13636 break; 13637 } 13638 case sstdb2declarecursor: 13639 { 13640 ret = new TDb2DeclareCursorStatement(pdbvendor); 13641 break; 13642 } 13643 case sstcreateprocedure: 13644 { 13645 ret = new TCreateProcedureStmt(pdbvendor); 13646 break; 13647 } 13648 case sstcreatefunction: 13649 { 13650 ret = new TCreateFunctionStmt(pdbvendor); 13651 break; 13652 } 13653 case sstdb2createtrigger: 13654 { 13655 ret = new TCreateTriggerStmt(pdbvendor); 13656 break; 13657 } 13658 case sstdb2return: 13659 { 13660 ret = new TDb2ReturnStmt(pdbvendor); 13661 break; 13662 } 13663 case sstdb2refreshtable: 13664 case sstdb2connect: 13665 case sstdb2terminate: 13666 case sstdb2execute: 13667 { 13668 ret = new TDb2DummyStmt(pdbvendor); 13669 break; 13670 } 13671 case sstdb2createalias: 13672 { 13673 ret = new TCreateAliasStmt(pdbvendor); 13674 break; 13675 } 13676 case sstcreateauditpolicy: 13677 ret = new TCreateAuditPolicyStmt(pdbvendor); 13678 break; 13679 case sstdb2comment: 13680 ret = new TCommentOnSqlStmt(pdbvendor); 13681 break; 13682 case sstdb2createvariable: 13683 ret = new TCreateVariableStmt(pdbvendor); 13684 break; 13685 case sstcreaterole: 13686 ret = new TCreateRoleStmt(pdbvendor); 13687 break; 13688 case sstcreateTablespace: 13689 ret = new TCreateTablespaceStmt(pdbvendor); 13690 break; 13691 case sstRunStats: 13692 ret = new TRunStats(pdbvendor); 13693 break; 13694 case ssttruncatetable: 13695 { 13696 ret = new TTruncateStatement(pdbvendor); 13697 break; 13698 } 13699 case sstcreatesynonym: 13700 ret = new TCreateSynonymStmt(pdbvendor); 13701 break; 13702 default: 13703 { 13704 // ret = tdb2dummystmt.create(pdbvendor); 13705 ret = new TUnknownSqlStatement(pdbvendor); 13706 ret.sqlstatementtype = gnewsqlstatementtype; 13707 break; 13708 } 13709 } // case 13710 13711 return ret; 13712} 13713 13714 public TCustomSqlStatement issql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13715 TCustomSqlStatement ret = null; 13716 if (pcst == null) return null; 13717 13718 switch (pdbvendor){ 13719 case dbvoracle: { 13720 ret = isoraclesql(pcst,pdbvendor,pstate,psqlstatement); 13721 break; 13722 } 13723 case dbvmssql: { 13724 ret = ismssqlsql(pcst, pdbvendor, pstate, psqlstatement); 13725 break; 13726 } 13727 case dbvdb2: { 13728 ret = isdb2sql(pcst, pdbvendor, pstate, psqlstatement); 13729 break; 13730 } 13731 case dbvmysql: { 13732 ret = ismysqlsql(pcst, pdbvendor, pstate, psqlstatement); 13733 break; 13734 } 13735 case dbvaccess: { 13736 ret = ismssqlsql(pcst, pdbvendor, pstate, psqlstatement); 13737 break; 13738 } 13739 case dbvteradata: { 13740 ret = isteradatasql(pcst, pdbvendor, pstate, psqlstatement); 13741 break; 13742 } 13743 case dbvpostgresql: { 13744 ret = ispostgresql(pcst, pdbvendor, pstate, psqlstatement); 13745 break; 13746 } 13747 case dbvredshift: { 13748 ret = isredshift(pcst, pdbvendor, pstate, psqlstatement); 13749 break; 13750 } 13751 case dbvgreenplum: { 13752 ret = isgreenplum(pcst,pdbvendor,pstate,psqlstatement); 13753 break; 13754 } 13755 case dbvmdx:{ 13756 ret = ismdxsql(pcst, pdbvendor, pstate, psqlstatement); 13757 break; 13758 } 13759 case dbvnetezza:{ 13760 ret = isnetezza(pcst, pdbvendor, pstate, psqlstatement); 13761 break; 13762 } 13763 case dbvsybase:{ 13764 ret = issybasesql(pcst, pdbvendor, pstate, psqlstatement); 13765 break; 13766 } 13767 case dbvinformix:{ 13768 ret = isinformixsql(pcst, pdbvendor, pstate, psqlstatement); 13769 break; 13770 } 13771 case dbvhive:{ 13772 ret = ishive(pcst, pdbvendor, pstate, psqlstatement); 13773 break; 13774 } 13775 case dbvimpala:{ 13776 ret = ishive(pcst, pdbvendor, pstate, psqlstatement); 13777 break; 13778 } 13779 case dbvhana:{ 13780 ret = ishana(pcst, pdbvendor, pstate, psqlstatement); 13781 break; 13782 } 13783 case dbvvertica:{ 13784 ret = isvertica(pcst, pdbvendor, pstate, psqlstatement); 13785 break; 13786 } 13787 case dbvcouchbase:{ 13788 ret = iscouchbase(pcst, pdbvendor, pstate, psqlstatement); 13789 break; 13790 } 13791 case dbvsnowflake:{ 13792 ret = issnowflake(pcst, pdbvendor, pstate, psqlstatement); 13793 break; 13794 } 13795 case dbvbigquery:{ 13796 ret = isbigquery(pcst, pdbvendor, pstate, psqlstatement); 13797 break; 13798 } 13799 case dbvsoql:{ 13800 ret = ismssqlsql(pcst,pdbvendor,pstate,psqlstatement); 13801 break; 13802 } 13803 case dbvsparksql:{ 13804 ret = issparksql(pcst,pdbvendor,pstate,psqlstatement); 13805 break; 13806 } 13807 case dbvpresto:{ 13808 ret = ispresto(pcst,pdbvendor,pstate,psqlstatement); 13809 break; 13810 } 13811 case dbvathena:{ 13812 ret = isathena(pcst,pdbvendor,pstate,psqlstatement); 13813 break; 13814 } 13815 case dbvdatabricks:{ 13816 ret = isdatabricks(pcst,pdbvendor,pstate,psqlstatement); 13817 break; 13818 } 13819 case dbvgaussdb:{ 13820 ret = isgaussdb(pcst,pdbvendor,pstate,psqlstatement); 13821 break; 13822 } 13823 default: 13824 { 13825 ret = ismssqlsql(pcst,pdbvendor,pstate,psqlstatement); 13826 } 13827 } // case 13828 return ret; 13829 } 13830 TCustomSqlStatement isdatabricks(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13831 13832 TCustomSqlStatement ret = null; 13833 int k; 13834 boolean lcisnewsql; 13835 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 13836 13837 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 13838 13839 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 13840 || (pcst.tokencode == TBaseType.cmtslashstar) 13841 || (pcst.tokencode == TBaseType.lexspace) 13842 || (pcst.tokencode == TBaseType.lexnewline) 13843 || (pcst.tokentype == ETokenType.ttsemicolon) ) 13844 { 13845 return ret; 13846 } 13847 13848 int lcpos = pcst.posinlist; 13849 TSourceTokenList lcsourcetokenlist = pcst.container; 13850 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 13851 13852 //subquery after semicolon || at first line 13853 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 13854 { 13855 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 13856 if ( k >0 ) 13857 { 13858 ret = new TSelectSqlStatement(pdbvendor); 13859 } 13860 13861 return ret; 13862 } 13863 13864 //cte 13865 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 13866 { 13867 ret = findcte(pcst,pdbvendor); 13868 if ( (ret != null) ) return ret; 13869 } 13870 13871 13872 gnewsqlstatementtype = finddatabrickscmd(pcst); 13873 13874 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13875 13876 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 13877 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 13878 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 13879 if (viewToken != null){ 13880 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 13881 } 13882 } 13883 switch (gnewsqlstatementtype){ 13884 case sstinvalid: 13885 { 13886 ret = null; 13887 break; 13888 } 13889 case sstselect: 13890 { 13891 lcisnewsql = true; 13892 13893 if ( pstate != EFindSqlStateType.stnormal ) 13894 { 13895 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13896 if ( TBaseType.assigned(lcprevsolidtoken) ) 13897 { 13898 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13899 lcisnewsql = false; //subqery 13900 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 13901 lcisnewsql = false; 13902 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 13903 lcisnewsql = false; 13904 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 13905 lcisnewsql = false; 13906 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 13907 lcisnewsql = false; 13908 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 13909 lcisnewsql = false; 13910 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 13911 { 13912 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 13913 lcisnewsql = false; 13914 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 13915 lcisnewsql = false; 13916 } 13917 13918 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 13919 { 13920 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 13921 if ( TBaseType.assigned(lcpprevsolidtoken) ) 13922 { 13923 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 13924 lcisnewsql = false; 13925 } 13926 } 13927 13928 } 13929 13930 13931 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13932 { 13933 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 13934 lcisnewsql = false; 13935 } 13936 13937 } 13938 13939 if ( lcisnewsql ) 13940 ret = new TSelectSqlStatement(pdbvendor); 13941 break; 13942 } 13943 case sstinsert: 13944 { 13945 lcisnewsql = true; 13946 if ( pstate != EFindSqlStateType.stnormal ) 13947 { 13948 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13949 { 13950 13951 } 13952 } 13953 13954 if ( lcisnewsql ) 13955 ret = new TInsertSqlStatement(pdbvendor); 13956 ret.sqlstatementtype = gnewsqlstatementtype; 13957 break; 13958 } 13959 case sstdelete: 13960 { 13961 lcisnewsql = true; 13962 13963 if ( pstate != EFindSqlStateType.stnormal ) 13964 { 13965 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13966 if ( TBaseType.assigned(lcprevsolidtoken) ) 13967 { 13968 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13969 lcisnewsql = false; 13970 } 13971 13972 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13973 { 13974 } 13975 } 13976 13977 if ( lcisnewsql ) 13978 ret = new TDeleteSqlStatement(pdbvendor); 13979 break; 13980 } 13981 case sstaltertable: 13982 { 13983 ret = new TAlterTableStatement(pdbvendor); 13984 break; 13985 } 13986 case sstalterfunction: 13987 { 13988 ret = new TAlterFunctionStmt(pdbvendor); 13989 break; 13990 } 13991 case sstAlterSchema: 13992 { 13993 ret = new TAlterSchemaStmt(pdbvendor); 13994 break; 13995 } 13996 case sstanalyzeTable: 13997 { 13998 ret = new TAnalyzeStmt(pdbvendor); 13999 break; 14000 } 14001 case sstcall: 14002 { 14003 ret = new TCallStatement(pdbvendor); 14004 break; 14005 } 14006 case sstcommit: 14007 { 14008 ret = new TCommitStmt(pdbvendor); 14009 break; 14010 } 14011 case sstcreatefunction: 14012 { 14013 ret = new TCreateFunctionStmt(pdbvendor); 14014 break; 14015 } 14016 case sstcreaterole: 14017 { 14018 ret = new TCreateRoleStmt(pdbvendor); 14019 break; 14020 } 14021 case sstcreateschema: 14022 { 14023 ret = new TCreateSchemaSqlStatement(pdbvendor); 14024 break; 14025 } 14026 case sstcreatetable: 14027 { 14028 ret = new TCreateTableSqlStatement(pdbvendor); 14029 break; 14030 } 14031 case sstcreateview: 14032 { 14033 ret = new TCreateViewSqlStatement(pdbvendor); 14034 break; 14035 } 14036 case sstpostgresqlDeallocate: 14037 { 14038 ret = new TUnknownSqlStatement(pdbvendor); 14039 ret.sqlstatementtype = gnewsqlstatementtype; 14040 break; 14041 } 14042 case sstdropfunction: 14043 { 14044 ret = new TDropFunctionStmt(pdbvendor); 14045 break; 14046 } 14047 case sstdroprole: 14048 { 14049 ret = new TDropRoleStmt(pdbvendor); 14050 break; 14051 } 14052 case sstdropschema: 14053 { 14054 ret = new TDropSchemaSqlStatement(pdbvendor); 14055 break; 14056 } 14057 case sstdroptable: 14058 { 14059 ret = new TDropTableSqlStatement(pdbvendor); 14060 break; 14061 } 14062 case sstdropview: 14063 { 14064 ret = new TDropViewSqlStatement(pdbvendor); 14065 break; 14066 } 14067 case sstExecute: 14068 { 14069 ret = new TExecuteSqlStatement(pdbvendor); 14070 break; 14071 } 14072 case sstExplain: 14073 { 14074 ret = new TExplainPlan(pdbvendor); 14075 break; 14076 } 14077 case sstGrant: 14078 { 14079 ret = new TGrantStmt(pdbvendor); 14080 break; 14081 } 14082 case sstprepare: 14083 { 14084 ret = new TPrepareStmt(pdbvendor); 14085 break; 14086 } 14087 case sstset: 14088 case sstReset: 14089 { 14090 lcisnewsql = true; 14091 if ( pstate != EFindSqlStateType.stnormal ) 14092 { 14093 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14094 { 14095 lcisnewsql = false; 14096 } 14097 } 14098 14099 if ( lcisnewsql ) 14100 { 14101 ret = new TSetStmt(pdbvendor); 14102 } 14103 break; 14104 } 14105 case sstShow: 14106 { 14107 ret = new TShowStmt(pdbvendor); 14108 ret.sqlstatementtype = gnewsqlstatementtype; 14109 break; 14110 } 14111 case sstStartTransaction: 14112 { 14113 ret = new TStartTransactionStmt(pdbvendor); 14114 break; 14115 } 14116 case sstValues: 14117 { 14118 ret = new TSelectSqlStatement(pdbvendor); 14119 break; 14120 } 14121 case sstResetSession: 14122 { 14123 ret = new TResetSessionStmt(pdbvendor); 14124 break; 14125 } 14126 case sstCreateExternallocation: 14127 ret = new TCreateExternalLocationStmt(pdbvendor); 14128 break; 14129 case sstList: 14130 { 14131 ret = new TListStmt(pdbvendor); 14132 break; 14133 } 14134 case sstRevoke: 14135 ret = new TRevokeStmt(pdbvendor); 14136 break; 14137 case sstaltercredental: 14138 ret = new TAlterCredentialStmt(pdbvendor); 14139 break; 14140 case sstdescribeCatalog: 14141 case sstdescribeFunction: 14142 case sstdescribeProvider: 14143 case sstdescribeQuery: 14144 case sstdescribeRecipient: 14145 case sstdescribeSchema: 14146 case sstdescribeShare: 14147 case sstdescribeTable: 14148 case sstdescribeDatabase: 14149 case sstdescribeLocation: 14150 case sstdescribeCredential: 14151 case sstdescribe: 14152 ret = new TDescribeStmt(pdbvendor); 14153 break; 14154 case sstUseCatalog: 14155 case sstUseSchema: 14156 case sstUseDatabase: 14157 case sstUse: 14158 ret = new TUseDatabase(pdbvendor); 14159 break; 14160 case sstAnalyzeTable: 14161 ret = new TAnalyzeStmt(pdbvendor); 14162 break; 14163 case sstCreategroup: 14164 ret = new TCreateGroup(pdbvendor); 14165 break; 14166 case sstAlterGroup: 14167 ret = new TAlterGroup(pdbvendor); 14168 break; 14169 case sstDeny: 14170 ret = new TDenyStmt(pdbvendor); 14171 break; 14172 case sstDropGroup: 14173 ret = new TDropGroup(pdbvendor); 14174 break; 14175 case sstmsckrepairtable: 14176 ret = new TMSCKStmt(pdbvendor); 14177 break; 14178 case sstcreatecatalog: 14179 ret = new TCreateCatalogStmt(pdbvendor); 14180 break; 14181 case sstConvertToDelta: 14182 ret = new TConvertToDeltaStmt(pdbvendor); 14183 break; 14184 case sstOptimize: 14185 ret = new TOptimizeStmt(pdbvendor); 14186 break; 14187 case sstRestoreTable: 14188 ret = new TRestoreTableStmt(pdbvendor); 14189 break; 14190 case sstReorgTable: 14191 ret = new TReorgTableStmt(pdbvendor); 14192 break; 14193 case sstVacuum: 14194 ret = new TVacuumStmt(pdbvendor); 14195 break; 14196 case sstmerge: 14197 ret = new TMergeSqlStatement(pdbvendor); 14198 break; 14199 default: 14200 { 14201 ret = new TUnknownSqlStatement(pdbvendor); 14202 ret.sqlstatementtype = gnewsqlstatementtype; 14203 break; 14204 } 14205 } // case 14206 14207 return ret; 14208 14209 } 14210 TCustomSqlStatement ispresto(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14211 14212 TCustomSqlStatement ret = null; 14213 int k; 14214 boolean lcisnewsql; 14215 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14216 14217 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14218 14219 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14220 || (pcst.tokencode == TBaseType.cmtslashstar) 14221 || (pcst.tokencode == TBaseType.lexspace) 14222 || (pcst.tokencode == TBaseType.lexnewline) 14223 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14224 { 14225 return ret; 14226 } 14227 14228 int lcpos = pcst.posinlist; 14229 TSourceTokenList lcsourcetokenlist = pcst.container; 14230 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14231 14232 //subquery after semicolon || at first line 14233 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14234 { 14235 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14236 if ( k >0 ) 14237 { 14238 ret = new TSelectSqlStatement(pdbvendor); 14239 } 14240 14241 return ret; 14242 } 14243 14244 //cte 14245 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14246 { 14247 ret = findcte(pcst,pdbvendor); 14248 if ( (ret != null) ) return ret; 14249 } 14250 14251 14252 gnewsqlstatementtype = findprestocmd(pcst); 14253 14254 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14255 14256 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14257 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14258 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14259 if (viewToken != null){ 14260 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14261 } 14262 } 14263 switch (gnewsqlstatementtype){ 14264 case sstinvalid: 14265 { 14266 ret = null; 14267 break; 14268 } 14269 case sstselect: 14270 { 14271 lcisnewsql = true; 14272 14273 if ( pstate != EFindSqlStateType.stnormal ) 14274 { 14275 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14276 if ( TBaseType.assigned(lcprevsolidtoken) ) 14277 { 14278 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14279 lcisnewsql = false; //subqery 14280 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14281 lcisnewsql = false; 14282 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14283 lcisnewsql = false; 14284 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14285 lcisnewsql = false; 14286 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14287 lcisnewsql = false; 14288 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14289 lcisnewsql = false; 14290 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14291 { 14292 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14293 lcisnewsql = false; 14294 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14295 lcisnewsql = false; 14296 } 14297 14298 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14299 { 14300 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14301 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14302 { 14303 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14304 lcisnewsql = false; 14305 } 14306 } 14307 14308 } 14309 14310 14311 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14312 { 14313 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14314 lcisnewsql = false; 14315 } 14316 14317 } 14318 14319 if ( lcisnewsql ) 14320 ret = new TSelectSqlStatement(pdbvendor); 14321 break; 14322 } 14323 case sstinsert: 14324 { 14325 lcisnewsql = true; 14326 if ( pstate != EFindSqlStateType.stnormal ) 14327 { 14328 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14329 { 14330 14331 } 14332 } 14333 14334 if ( lcisnewsql ) 14335 ret = new TInsertSqlStatement(pdbvendor); 14336 ret.sqlstatementtype = gnewsqlstatementtype; 14337 break; 14338 } 14339 case sstdelete: 14340 { 14341 lcisnewsql = true; 14342 14343 if ( pstate != EFindSqlStateType.stnormal ) 14344 { 14345 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14346 if ( TBaseType.assigned(lcprevsolidtoken) ) 14347 { 14348 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14349 lcisnewsql = false; 14350 } 14351 14352 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14353 { 14354 } 14355 } 14356 14357 if ( lcisnewsql ) 14358 ret = new TDeleteSqlStatement(pdbvendor); 14359 break; 14360 } 14361 case sstaltertable: 14362 { 14363 ret = new TAlterTableStatement(pdbvendor); 14364 break; 14365 } 14366 case sstalterfunction: 14367 { 14368 ret = new TAlterFunctionStmt(pdbvendor); 14369 break; 14370 } 14371 case sstAlterSchema: 14372 { 14373 ret = new TAlterSchemaStmt(pdbvendor); 14374 break; 14375 } 14376 case sstanalyzeTable: 14377 { 14378 ret = new TAnalyzeStmt(pdbvendor); 14379 break; 14380 } 14381 case sstcall: 14382 { 14383 ret = new TCallStatement(pdbvendor); 14384 break; 14385 } 14386 case sstcommit: 14387 { 14388 ret = new TCommitStmt(pdbvendor); 14389 break; 14390 } 14391 case sstcreatefunction: 14392 { 14393 ret = new TCreateFunctionStmt(pdbvendor); 14394 break; 14395 } 14396 case sstcreaterole: 14397 { 14398 ret = new TCreateRoleStmt(pdbvendor); 14399 break; 14400 } 14401 case sstcreateschema: 14402 { 14403 ret = new TCreateSchemaSqlStatement(pdbvendor); 14404 break; 14405 } 14406 case sstcreatetable: 14407 { 14408 ret = new TCreateTableSqlStatement(pdbvendor); 14409 break; 14410 } 14411 case sstcreateview: 14412 { 14413 ret = new TCreateViewSqlStatement(pdbvendor); 14414 break; 14415 } 14416 case sstpostgresqlDeallocate: 14417 { 14418 ret = new TUnknownSqlStatement(pdbvendor); 14419 ret.sqlstatementtype = gnewsqlstatementtype; 14420 break; 14421 } 14422 case sstdescribe: 14423 { 14424 ret = new TDescribeStmt(pdbvendor); 14425 break; 14426 } 14427 case sstdropfunction: 14428 { 14429 ret = new TDropFunctionStmt(pdbvendor); 14430 break; 14431 } 14432 case sstdroprole: 14433 { 14434 ret = new TDropRoleStmt(pdbvendor); 14435 break; 14436 } 14437 case sstdropschema: 14438 { 14439 ret = new TDropSchemaSqlStatement(pdbvendor); 14440 break; 14441 } 14442 case sstdroptable: 14443 { 14444 ret = new TDropTableSqlStatement(pdbvendor); 14445 break; 14446 } 14447 case sstdropview: 14448 { 14449 ret = new TDropViewSqlStatement(pdbvendor); 14450 break; 14451 } 14452 case sstExecute: 14453 { 14454 ret = new TExecuteSqlStatement(pdbvendor); 14455 break; 14456 } 14457 case sstExplain: 14458 { 14459 ret = new TExplainPlan(pdbvendor); 14460 break; 14461 } 14462 case sstGrant: 14463 { 14464 ret = new TGrantStmt(pdbvendor); 14465 break; 14466 } 14467 case sstprepare: 14468 { 14469 ret = new TPrepareStmt(pdbvendor); 14470 break; 14471 } 14472 case sstset: 14473 case sstReset: 14474 { 14475 lcisnewsql = true; 14476 if ( pstate != EFindSqlStateType.stnormal ) 14477 { 14478 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14479 { 14480 lcisnewsql = false; 14481 } 14482 } 14483 14484 if ( lcisnewsql ) 14485 { 14486 ret = new TSetStmt(pdbvendor); 14487 } 14488 break; 14489 } 14490 case sstShow: 14491 { 14492 ret = new TShowStmt(pdbvendor); 14493 ret.sqlstatementtype = gnewsqlstatementtype; 14494 break; 14495 } 14496 case sstStartTransaction: 14497 { 14498 ret = new TStartTransactionStmt(pdbvendor); 14499 break; 14500 } 14501 case sstUse: 14502 { 14503 ret = new TUseDatabase(pdbvendor); 14504 break; 14505 } 14506 case sstValues: 14507 { 14508 ret = new TSelectSqlStatement(pdbvendor); 14509 break; 14510 } 14511 case sstResetSession: 14512 { 14513 ret = new TResetSessionStmt(pdbvendor); 14514 break; 14515 } 14516 default: 14517 { 14518 ret = new TUnknownSqlStatement(pdbvendor); 14519 ret.sqlstatementtype = gnewsqlstatementtype; 14520 break; 14521 } 14522 } // case 14523 14524 return ret; 14525 14526 } 14527 TCustomSqlStatement isathena(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14528 14529 TCustomSqlStatement ret = null; 14530 int k; 14531 boolean lcisnewsql; 14532 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14533 14534 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14535 14536 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14537 || (pcst.tokencode == TBaseType.cmtslashstar) 14538 || (pcst.tokencode == TBaseType.lexspace) 14539 || (pcst.tokencode == TBaseType.lexnewline) 14540 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14541 { 14542 return ret; 14543 } 14544 14545 int lcpos = pcst.posinlist; 14546 TSourceTokenList lcsourcetokenlist = pcst.container; 14547 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14548 14549 //subquery after semicolon || at first line 14550 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14551 { 14552 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14553 if ( k >0 ) 14554 { 14555 ret = new TSelectSqlStatement(pdbvendor); 14556 } 14557 14558 return ret; 14559 } 14560 14561 //cte 14562 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14563 { 14564 ret = findcte(pcst,pdbvendor); 14565 if ( (ret != null) ) return ret; 14566 } 14567 14568 14569 gnewsqlstatementtype = findathenacmd(pcst); 14570 14571 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14572 14573 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14574 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14575 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14576 if (viewToken != null){ 14577 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14578 } 14579 } 14580 switch (gnewsqlstatementtype){ 14581 case sstinvalid: 14582 { 14583 ret = null; 14584 break; 14585 } 14586 case sstselect: 14587 { 14588 lcisnewsql = true; 14589 14590 if ( pstate != EFindSqlStateType.stnormal ) 14591 { 14592 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14593 if ( TBaseType.assigned(lcprevsolidtoken) ) 14594 { 14595 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14596 lcisnewsql = false; //subqery 14597 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14598 lcisnewsql = false; 14599 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14600 lcisnewsql = false; 14601 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14602 lcisnewsql = false; 14603 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14604 lcisnewsql = false; 14605 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14606 lcisnewsql = false; 14607 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14608 { 14609 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14610 lcisnewsql = false; 14611 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14612 lcisnewsql = false; 14613 } 14614 14615 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14616 { 14617 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14618 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14619 { 14620 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14621 lcisnewsql = false; 14622 } 14623 } 14624 14625 } 14626 14627 14628 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14629 { 14630 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14631 lcisnewsql = false; 14632 } 14633 14634 } 14635 14636 if ( lcisnewsql ) 14637 ret = new TSelectSqlStatement(pdbvendor); 14638 break; 14639 } 14640 case sstinsert: 14641 { 14642 lcisnewsql = true; 14643 if ( pstate != EFindSqlStateType.stnormal ) 14644 { 14645 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14646 { 14647 14648 } 14649 } 14650 14651 if ( lcisnewsql ) 14652 ret = new TInsertSqlStatement(pdbvendor); 14653 ret.sqlstatementtype = gnewsqlstatementtype; 14654 break; 14655 } 14656 case sstdelete: 14657 { 14658 lcisnewsql = true; 14659 14660 if ( pstate != EFindSqlStateType.stnormal ) 14661 { 14662 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14663 if ( TBaseType.assigned(lcprevsolidtoken) ) 14664 { 14665 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14666 lcisnewsql = false; 14667 } 14668 14669 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14670 { 14671 } 14672 } 14673 14674 if ( lcisnewsql ) 14675 ret = new TDeleteSqlStatement(pdbvendor); 14676 break; 14677 } 14678 case sstaltertable: 14679 { 14680 ret = new TAlterTableStatement(pdbvendor); 14681 break; 14682 } 14683 case sstalterfunction: 14684 { 14685 ret = new TAlterFunctionStmt(pdbvendor); 14686 break; 14687 } 14688 case sstAlterSchema: 14689 { 14690 ret = new TAlterSchemaStmt(pdbvendor); 14691 break; 14692 } 14693 case sstanalyzeTable: 14694 { 14695 ret = new TAnalyzeStmt(pdbvendor); 14696 break; 14697 } 14698 case sstcall: 14699 { 14700 ret = new TCallStatement(pdbvendor); 14701 break; 14702 } 14703 case sstcommit: 14704 { 14705 ret = new TCommitStmt(pdbvendor); 14706 break; 14707 } 14708 case sstcreatefunction: 14709 { 14710 ret = new TCreateFunctionStmt(pdbvendor); 14711 break; 14712 } 14713 case sstcreaterole: 14714 { 14715 ret = new TCreateRoleStmt(pdbvendor); 14716 break; 14717 } 14718 case sstcreateschema: 14719 { 14720 ret = new TCreateSchemaSqlStatement(pdbvendor); 14721 break; 14722 } 14723 case sstcreatetable: 14724 { 14725 ret = new TCreateTableSqlStatement(pdbvendor); 14726 break; 14727 } 14728 case sstcreateview: 14729 { 14730 ret = new TCreateViewSqlStatement(pdbvendor); 14731 break; 14732 } 14733 case sstpostgresqlDeallocate: 14734 { 14735 ret = new TUnknownSqlStatement(pdbvendor); 14736 ret.sqlstatementtype = gnewsqlstatementtype; 14737 break; 14738 } 14739 case sstdescribe: 14740 { 14741 ret = new TDescribeStmt(pdbvendor); 14742 break; 14743 } 14744 case sstdropfunction: 14745 { 14746 ret = new TDropFunctionStmt(pdbvendor); 14747 break; 14748 } 14749 case sstdroprole: 14750 { 14751 ret = new TDropRoleStmt(pdbvendor); 14752 break; 14753 } 14754 case sstdropschema: 14755 { 14756 ret = new TDropSchemaSqlStatement(pdbvendor); 14757 break; 14758 } 14759 case sstdroptable: 14760 { 14761 ret = new TDropTableSqlStatement(pdbvendor); 14762 break; 14763 } 14764 case sstdropview: 14765 { 14766 ret = new TDropViewSqlStatement(pdbvendor); 14767 break; 14768 } 14769 case sstExecute: 14770 { 14771 ret = new TExecuteSqlStatement(pdbvendor); 14772 break; 14773 } 14774 case sstExplain: 14775 { 14776 ret = new TExplainPlan(pdbvendor); 14777 break; 14778 } 14779 case sstGrant: 14780 { 14781 ret = new TGrantStmt(pdbvendor); 14782 break; 14783 } 14784 case sstprepare: 14785 { 14786 ret = new TPrepareStmt(pdbvendor); 14787 break; 14788 } 14789 case sstset: 14790 case sstReset: 14791 { 14792 lcisnewsql = true; 14793 if ( pstate != EFindSqlStateType.stnormal ) 14794 { 14795 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14796 { 14797 lcisnewsql = false; 14798 } 14799 } 14800 14801 if ( lcisnewsql ) 14802 { 14803 ret = new TSetStmt(pdbvendor); 14804 } 14805 break; 14806 } 14807 case sstShow: 14808 { 14809 ret = new TShowStmt(pdbvendor); 14810 ret.sqlstatementtype = gnewsqlstatementtype; 14811 break; 14812 } 14813 case sstStartTransaction: 14814 { 14815 ret = new TStartTransactionStmt(pdbvendor); 14816 break; 14817 } 14818 case sstUse: 14819 { 14820 ret = new TUseDatabase(pdbvendor); 14821 break; 14822 } 14823 case sstValues: 14824 { 14825 ret = new TSelectSqlStatement(pdbvendor); 14826 break; 14827 } 14828 case sstResetSession: 14829 { 14830 ret = new TResetSessionStmt(pdbvendor); 14831 break; 14832 } 14833 case sstunload: 14834 lcisnewsql = true; 14835 if ( pstate != EFindSqlStateType.stnormal ) 14836 { 14837 lcisnewsql = false; 14838 } 14839 if ( lcisnewsql ) { 14840 ret = new TUnloadStmt(pdbvendor); 14841 ret.sqlstatementtype = gnewsqlstatementtype; 14842 } 14843 break; 14844 case sstmsck: 14845 { 14846 ret = new TMSCKStmt(pdbvendor); 14847 break; 14848 } 14849 case sstcreatedatabase: 14850 { 14851 ret = new TCreateDatabaseSqlStatement(pdbvendor); 14852 break; 14853 } 14854 case sstalterdatabase: 14855 { 14856 ret = new TAlterDatabaseStmt(pdbvendor); 14857 break; 14858 } 14859 case sstdropdatabase: 14860 ret = new TDropDatabaseStmt(pdbvendor); 14861 break; 14862 default: 14863 { 14864 ret = new TUnknownSqlStatement(pdbvendor); 14865 ret.sqlstatementtype = gnewsqlstatementtype; 14866 break; 14867 } 14868 } // case 14869 14870 return ret; 14871 14872 } 14873 14874 TCustomSqlStatement issparksql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14875 14876 TCustomSqlStatement ret = null; 14877 int k; 14878 boolean lcisnewsql; 14879 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14880 14881 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14882 14883 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14884 || (pcst.tokencode == TBaseType.cmtslashstar) 14885 || (pcst.tokencode == TBaseType.lexspace) 14886 || (pcst.tokencode == TBaseType.lexnewline) 14887 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14888 { 14889 return ret; 14890 } 14891 14892 int lcpos = pcst.posinlist; 14893 TSourceTokenList lcsourcetokenlist = pcst.container; 14894 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14895 14896 //subquery after semicolon || at first line 14897 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14898 { 14899 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14900 if ( k >0 ) 14901 { 14902 ret = new TSelectSqlStatement(pdbvendor); 14903 } 14904 14905 return ret; 14906 } 14907 14908 //cte 14909 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14910 { 14911 ret = findcte(pcst,pdbvendor); 14912 if ( (ret != null) ) return ret; 14913 } 14914 14915 14916 gnewsqlstatementtype = findsparksqlcmd(pcst); 14917 14918 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14919 14920 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14921 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14922 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14923 if (viewToken != null){ 14924 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14925 } 14926 } 14927 switch (gnewsqlstatementtype){ 14928 case sstinvalid: 14929 { 14930 ret = null; 14931 break; 14932 } 14933 case sstselect: 14934 { 14935 lcisnewsql = true; 14936 14937 if ( pstate != EFindSqlStateType.stnormal ) 14938 { 14939 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14940 if ( TBaseType.assigned(lcprevsolidtoken) ) 14941 { 14942 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14943 lcisnewsql = false; //subqery 14944 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14945 lcisnewsql = false; 14946 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14947 lcisnewsql = false; 14948 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14949 lcisnewsql = false; 14950 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14951 lcisnewsql = false; 14952 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14953 lcisnewsql = false; 14954 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14955 { 14956 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14957 lcisnewsql = false; 14958 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14959 lcisnewsql = false; 14960 } 14961 14962 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14963 { 14964 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14965 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14966 { 14967 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14968 lcisnewsql = false; 14969 } 14970 } 14971 14972 } 14973 14974 14975 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14976 { 14977 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14978 lcisnewsql = false; 14979 } 14980 14981 } 14982 14983 if ( lcisnewsql ) 14984 ret = new TSelectSqlStatement(pdbvendor); 14985 break; 14986 } 14987 case sstinsert: 14988 { 14989 lcisnewsql = true; 14990 if ( pstate != EFindSqlStateType.stnormal ) 14991 { 14992 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14993 { 14994 14995 } 14996 } 14997 14998 if ( lcisnewsql ) 14999 ret = new TInsertSqlStatement(pdbvendor); 15000 ret.sqlstatementtype = gnewsqlstatementtype; 15001 break; 15002 } 15003 case sstupdate: 15004 { 15005 lcisnewsql = true; 15006 if ( pstate != EFindSqlStateType.stnormal ) 15007 { 15008 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15009 if ( TBaseType.assigned(lcprevsolidtoken) ) 15010 { // 15011 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15012 lcisnewsql = false; 15013 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 15014 lcisnewsql = false; 15015 } 15016 15017 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15018 if ( TBaseType.assigned(lcnextsolidtoken) ) 15019 { 15020 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15021 { 15022 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 15023 if ( k == 0 ) lcisnewsql = false; 15024 } 15025 } 15026 15027 15028 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15029 { 15030 } 15031 } 15032 15033 if ( lcisnewsql ) 15034 { 15035 ret = new TUpdateSqlStatement(pdbvendor); 15036 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 15037 } 15038 break; 15039 } 15040 case sstdelete: 15041 { 15042 lcisnewsql = true; 15043 15044 if ( pstate != EFindSqlStateType.stnormal ) 15045 { 15046 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15047 if ( TBaseType.assigned(lcprevsolidtoken) ) 15048 { 15049 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15050 lcisnewsql = false; 15051 } 15052 15053 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15054 { 15055 } 15056 } 15057 15058 if ( lcisnewsql ) 15059 ret = new TDeleteSqlStatement(pdbvendor); 15060 break; 15061 } 15062 case sstcreatetable: 15063 { 15064 ret = new TCreateTableSqlStatement(pdbvendor); 15065 break; 15066 } 15067 case sstcreateview: 15068 { 15069 ret = new TCreateViewSqlStatement(pdbvendor); 15070 break; 15071 } 15072 case sstcreatedatabase: 15073 { 15074 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15075 break; 15076 } 15077 case sstdroptable: 15078 { 15079 ret = new TDropTableSqlStatement(pdbvendor); 15080 break; 15081 } 15082 case sstdropview: 15083 { 15084 ret = new TDropViewSqlStatement(pdbvendor); 15085 break; 15086 } 15087 case sstaltertable: 15088 { 15089 ret = new TAlterTableStatement(pdbvendor); 15090 break; 15091 } 15092 case sstset: 15093 case sstReset: 15094 case sstSetTimeZone: 15095 { 15096 lcisnewsql = true; 15097 if ( pstate != EFindSqlStateType.stnormal ) 15098 { 15099 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15100 { 15101 lcisnewsql = false; 15102 } 15103 } 15104 15105 if ( lcisnewsql ) 15106 { 15107 ret = new TSetStmt(pdbvendor); 15108 } 15109 break; 15110 } 15111 case sstcreatefunction: 15112 { 15113 ret = new TCreateFunctionStmt(pdbvendor); 15114 break; 15115 } 15116 case sstTruncate: 15117 { 15118 ret = new TTruncateStatement(pdbvendor); 15119 break; 15120 } 15121 case sstdescribe: 15122 { 15123 ret = new TDescribeStmt(pdbvendor); 15124 break; 15125 } 15126 case sstExplain: 15127 { 15128 ret = new TExplainPlan(pdbvendor); 15129 break; 15130 } 15131 case sstUse: 15132 { 15133 ret = new TUseDatabase(pdbvendor); 15134 break; 15135 } 15136 case sstLoadData: 15137 { 15138 ret = new TLoadDataStmt(pdbvendor); 15139 break; 15140 } 15141 case sstShowColumns: 15142 case sstShowCreateTable: 15143 case sstShowDatabases: 15144 case sstShowFunctions: 15145 case sstShowPartitions: 15146 case sstShowTableExtended: 15147 case sstShowTables: 15148 case sstShowTblProperties: 15149 case sstShowViews: 15150 case sstShowUser: 15151 ret = new TShowStmt(pdbvendor); 15152 ret.sqlstatementtype = gnewsqlstatementtype; 15153 break; 15154 case sstalterdatabase: 15155 ret = new TAlterDatabaseStmt(pdbvendor); 15156 break; 15157 case sstdescribeDatabase: 15158 case sstdescribeTable: 15159 case sstdescribeFunction: 15160 ret = new TDescribeStmt(pdbvendor); 15161 break; 15162 case sstalterview: 15163 ret = new TAlterViewStatement(pdbvendor); 15164 break; 15165 case sstAddFile: 15166 case sstAddJar: 15167 case sstListFile: 15168 case sstListJar: 15169 ret = new TResourceManagement(pdbvendor); 15170 ret.sqlstatementtype = gnewsqlstatementtype; 15171 break; 15172 case sstdropdatabase: 15173 ret = new TDropDatabaseStmt(pdbvendor); 15174 break; 15175 case sstdropfunction: 15176 ret = new TDropFunctionStmt(pdbvendor); 15177 break; 15178 case ssttruncatetable: 15179 ret = new TTruncateStatement(pdbvendor); 15180 break; 15181 case sstmsck: 15182 { 15183 ret = new TMSCKStmt(pdbvendor); 15184 break; 15185 } 15186 case sstanalyzeTable: 15187 { 15188 ret = new TAnalyzeStmt(pdbvendor); 15189 break; 15190 } 15191 case sstCacheTable: 15192 case sstUnCacheTable: 15193 case sstClearCache: 15194 ret = new TCacheTable(pdbvendor); 15195 break; 15196 case sstRefreshTable: 15197 case sstRefreshFunction: 15198 case sstRefresh: 15199 ret = new TRefresh(pdbvendor); 15200 break; 15201 default: 15202 { 15203 ret = new TUnknownSqlStatement(pdbvendor); 15204 ret.sqlstatementtype = gnewsqlstatementtype; 15205 break; 15206 } 15207 } // case 15208 15209 return ret; 15210 15211 } 15212 15213 TCustomSqlStatement ismysqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15214 TCustomSqlStatement ret = null; 15215 int k; 15216 boolean lcisnewsql; 15217 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 15218 15219 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15220 15221 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15222 || (pcst.tokencode == TBaseType.cmtslashstar) 15223 || (pcst.tokencode == TBaseType.lexspace) 15224 || (pcst.tokencode == TBaseType.lexnewline) 15225 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15226 { 15227 return ret; 15228 } 15229 15230 int lcpos = pcst.posinlist; 15231 TSourceTokenList lcsourcetokenlist = pcst.container; 15232 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15233 15234 //subquery after semicolon || at first line 15235 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15236 { 15237 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15238 if ( k >0 ) 15239 { 15240 ret = new TSelectSqlStatement(pdbvendor); 15241 } 15242 15243 return ret; 15244 } 15245 15246 //cte 15247 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15248 { 15249 ret = findcte(pcst,pdbvendor); 15250 if ( (ret != null) ) return ret; 15251 } 15252 15253 15254 //cte 15255// if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == rrw_with) ) 15256// { 15257// ret = tselectsqlstatement.create(pdbvendor); 15258// tselectsqlstatement(ret).isctequery = true; 15259// exit; 15260// } 15261// 15262 15263 gnewsqlstatementtype = findmysqlcmd(pcst); 15264 15265 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15266 15267 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 15268 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 15269 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 15270 if (viewToken != null){ 15271 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 15272 } 15273 } 15274 switch (gnewsqlstatementtype){ 15275 case sstinvalid: 15276 { 15277 ret = null; 15278 break; 15279 } 15280 case sstselect: 15281 { 15282 lcisnewsql = true; 15283 15284 if ( pstate != EFindSqlStateType.stnormal ) 15285 { 15286 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15287 if ( TBaseType.assigned(lcprevsolidtoken) ) 15288 { 15289 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15290 lcisnewsql = false; //subqery 15291 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 15292 lcisnewsql = false; 15293 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 15294 lcisnewsql = false; 15295 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 15296 lcisnewsql = false; 15297 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 15298 lcisnewsql = false; 15299 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 15300 lcisnewsql = false; 15301 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 15302 { 15303 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 15304 lcisnewsql = false; 15305 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 15306 lcisnewsql = false; 15307 } 15308 15309 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 15310 { 15311 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 15312 if ( TBaseType.assigned(lcpprevsolidtoken) ) 15313 { 15314 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 15315 lcisnewsql = false; 15316 } 15317 } 15318 15319 } 15320 15321 15322 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15323 { 15324 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 15325 lcisnewsql = false; 15326 } 15327 15328 } 15329 15330 if ( lcisnewsql ) 15331 ret = new TSelectSqlStatement(pdbvendor); 15332 break; 15333 } 15334 case sstinsert: 15335 case sstmysqlreplace: 15336 { 15337 lcisnewsql = true; 15338 if ( pstate != EFindSqlStateType.stnormal ) 15339 { 15340 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15341 { 15342 15343 } 15344 } 15345 15346 if ( lcisnewsql ) 15347 ret = new TInsertSqlStatement(pdbvendor); 15348 ret.sqlstatementtype = gnewsqlstatementtype; 15349 break; 15350 } 15351 case sstupdate: 15352 { 15353 lcisnewsql = true; 15354 if ( pstate != EFindSqlStateType.stnormal ) 15355 { 15356 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15357 if ( TBaseType.assigned(lcprevsolidtoken) ) 15358 { // 15359 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15360 lcisnewsql = false; 15361 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 15362 lcisnewsql = false; 15363 } 15364 15365 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15366 if ( TBaseType.assigned(lcnextsolidtoken) ) 15367 { 15368 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15369 { 15370 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 15371 if ( k == 0 ) lcisnewsql = false; 15372 } 15373 } 15374 15375 15376 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15377 { 15378 } 15379 } 15380 15381 if ( lcisnewsql ) 15382 { 15383 ret = new TUpdateSqlStatement(pdbvendor); 15384 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 15385 } 15386 break; 15387 } 15388 case sstdelete: 15389 { 15390 lcisnewsql = true; 15391 15392 if ( pstate != EFindSqlStateType.stnormal ) 15393 { 15394 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15395 if ( TBaseType.assigned(lcprevsolidtoken) ) 15396 { 15397 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15398 lcisnewsql = false; 15399 } 15400 15401 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15402 { 15403 } 15404 } 15405 15406 if ( lcisnewsql ) 15407 ret = new TDeleteSqlStatement(pdbvendor); 15408 break; 15409 } 15410 case sstmerge: 15411 { 15412 ret = new TMergeSqlStatement(pdbvendor); 15413 ret.sqlstatementtype = gnewsqlstatementtype; 15414 break; 15415 } 15416 case sstcommit: 15417 { 15418 ret = new TUnknownSqlStatement(pdbvendor); 15419 ret.sqlstatementtype = gnewsqlstatementtype; 15420 break; 15421 } 15422 case sstrollback: 15423 { 15424 ret = new TUnknownSqlStatement(pdbvendor); 15425 ret.sqlstatementtype = gnewsqlstatementtype; 15426 break; 15427 } 15428 case sstsavepoint: 15429 { 15430 ret = new TUnknownSqlStatement(pdbvendor); 15431 ret.sqlstatementtype = gnewsqlstatementtype; 15432 break; 15433 } 15434 case sstRevoke: 15435 { 15436 ret = new TUnknownSqlStatement(pdbvendor); 15437 ret.sqlstatementtype = gnewsqlstatementtype; 15438 break; 15439 } 15440 case sstcreatetable: 15441 { 15442 ret = new TCreateTableSqlStatement(pdbvendor); 15443 break; 15444 } 15445 case sstcreateview: 15446 { 15447 ret = new TCreateViewSqlStatement(pdbvendor); 15448 break; 15449 } 15450 case sstmysqlcreateindex: 15451 { 15452 ret = new TCreateIndexSqlStatement(pdbvendor); 15453 break; 15454 } 15455 case sstcreatedatabase: 15456 { 15457 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15458 break; 15459 } 15460 case sstmysqldroptable: 15461 case sstdroptable: 15462 { 15463 ret = new TDropTableSqlStatement(pdbvendor); 15464 break; 15465 } 15466 case sstdropview: 15467 { 15468 ret = new TDropViewSqlStatement(pdbvendor); 15469 break; 15470 } 15471 case sstdropindex: 15472 { 15473 ret = new TDropIndexSqlStatement(pdbvendor); 15474 break; 15475 } 15476 case sstaltertable: 15477 { 15478 ret = new TAlterTableStatement(pdbvendor); 15479 break; 15480 } 15481 case sstaltersession: 15482 { 15483 ret = new TAlterSessionStatement(pdbvendor); 15484 break; 15485 } 15486 case sstmysqlset: 15487 { 15488 ret = new TSetStmt(pdbvendor); 15489 break; 15490 } 15491 case sstmysqlcreateprocedure: 15492 { 15493 ret = new TCreateProcedureStmt(pdbvendor); 15494 break; 15495 } 15496 case sstmysqlcreatefunction: 15497 { 15498 ret = new TCreateFunctionStmt(pdbvendor); 15499 break; 15500 } 15501 case sstcreatetrigger: 15502 { 15503 ret = new TCreateTriggerStmt(pdbvendor); 15504 break; 15505 } 15506 case sstmysqlcall: 15507 { 15508 ret = new TCallStatement(pdbvendor); 15509 break; 15510 } 15511 case sstmysqltruncate: 15512 { 15513 ret = new TTruncateStatement(pdbvendor); 15514 break; 15515 } 15516 case sstmysqlprepare: 15517 { 15518 ret = new TPrepareStmt(pdbvendor); 15519 break; 15520 } 15521 case sstdescribe: 15522 { 15523 ret = new TDescribeStmt(pdbvendor); 15524 break; 15525 } 15526 case sstExplain: 15527 { 15528 ret = new TExplainPlan(pdbvendor); 15529 break; 15530 } 15531 case sstmysqldropindex: 15532 { 15533 ret = new TDropIndexSqlStatement(pdbvendor); 15534 break; 15535 } 15536 case sstmysqldropprocedure: 15537 { 15538 ret = new TDropProcedureStmt(pdbvendor); 15539 break; 15540 } 15541 case sstmysqlsignal: 15542 { 15543 ret = new TMySQLSignal(pdbvendor); 15544 break; 15545 } 15546 case sstmysqlstarttransaction: 15547 { 15548 if ( pstate == EFindSqlStateType.stnormal ) 15549 { 15550 ret = new TUnknownSqlStatement(pdbvendor); 15551 ret.sqlstatementtype = gnewsqlstatementtype; 15552 } 15553 break; 15554 } 15555 case sstmysqluse: 15556 { 15557 ret = new TUseDatabase(pdbvendor); 15558 break; 15559 } 15560 case sstmysqlexecute: 15561 { 15562 ret = new TExecuteSqlStatement(pdbvendor); 15563 ret.sqlstatementtype = gnewsqlstatementtype; 15564 break; 15565 } 15566 case sstmysqlcreatedatabase: 15567 { 15568 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15569 break; 15570 } 15571 case sstmysqlrenametable: 15572 { 15573 ret = new TRenameStmt(pdbvendor); 15574 break; 15575 } 15576 case sstmysqlshowindex: 15577 ret = new TShowIndexStmt(pdbvendor); 15578 break; 15579 case sstmysqlloaddatainfile: 15580 ret = new TLoadDataStmt(pdbvendor); 15581 break; 15582 case sstmysqlshowlogs: 15583 case sstmysqlshowbinlogevents: 15584 case sstmysqlshowcharacterset: 15585 case sstmysqlshowcollation: 15586 case sstmysqlshowcolumns: 15587 case sstmysqlshowwarnings: 15588 case sstmysqlshowcreatedatabase: 15589 case sstmysqlshowcreatefunction: 15590 case sstmysqlshowcreateprocedure: 15591 case sstmysqlshowcreatetable: 15592 case sstmysqlshowcreateview: 15593 case sstmysqlshowdatabases: 15594 case sstmysqlshowerrors: 15595 case sstmysqlshowfields: 15596 case sstmysqlshowprocesslist: 15597 case sstmysqlshowtables: 15598 case sstmysqlshowfunctionstatus: 15599 case sstmysqlshowstatus: 15600 case sstmysqlshowvariables: 15601 case sstmysqlshowgrants: 15602 case sstmysqlshowinnodbstatus: 15603 case sstmysqlshowmasterlogs: 15604 case sstmysqlshowplugins: 15605 case sstmysqlshowprivileges: 15606 case sstmysqlshowprofile: 15607 case sstmysqlshowprofiles: 15608 case sstmysqlshowslavehosts: 15609 case sstmysqlshowslavestatus: 15610 case sstmysqlshowtablestatus: 15611 case sstmysqlshowtriggers: 15612 case sstmysqlshowcreateschema: 15613 case sstmysqlshowengines: 15614 ret = new TMySQLShowStmt(pdbvendor); 15615 ret.sqlstatementtype = gnewsqlstatementtype; 15616 break; 15617 case sstmysqlshowengine: 15618 ret = new TShowEngineStmt(pdbvendor); 15619 break; 15620 case sstmysqlshowreplicaStatus: 15621 ret = new TShowStmt(pdbvendor); 15622 ret.sqlstatementtype = gnewsqlstatementtype; 15623 break; 15624 case sstmysqlalterfunction: 15625 ret = new TAlterFunctionStmt(pdbvendor); 15626 break; 15627 case sstmysqlalterprocedure: 15628 ret = new TAlterProcedureStmt(pdbvendor); 15629 break; 15630 case sstmysqldropfunction: 15631 ret = new TDropFunctionStmt(pdbvendor); 15632 break; 15633 case sstmysqldroptrigger: 15634 ret = new TDropTriggerSqlStatement(pdbvendor); 15635 break; 15636 case sstmysqloptimizetable: 15637 ret = new TMySQLOptimizeTableStmt(pdbvendor); 15638 break; 15639 case sstmysqlalterview: 15640 ret = new TAlterViewStatement(pdbvendor); 15641 break; 15642 default: 15643 { 15644 ret = new TUnknownSqlStatement(pdbvendor); 15645 ret.sqlstatementtype = gnewsqlstatementtype; 15646 break; 15647 } 15648 } // case 15649 15650 return ret; 15651} 15652 15653TCustomSqlStatement ismdxsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15654 TCustomSqlStatement ret = null; 15655 15656 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15657 15658 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15659 || (pcst.tokencode == TBaseType.cmtslashstar) 15660 || (pcst.tokencode == TBaseType.lexspace) 15661 || (pcst.tokencode == TBaseType.lexnewline) 15662 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15663 { 15664 return null; 15665 } 15666 15667 int lcpos = pcst.posinlist; 15668 TSourceTokenList lcsourcetokenlist = pcst.container; 15669 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15670 15671 15672 //with clause before statement 15673 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15674 { 15675 ret = findMdxStmtBeginWithClause(pcst,pdbvendor); 15676 if ( (ret != null) ) return ret; 15677 } 15678 15679 gnewsqlstatementtype = findmdxcmd(pcst); 15680 15681 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15682 switch (gnewsqlstatementtype) { // 15683 case sstinvalid: 15684 { 15685 ret = null; 15686 if ( pstate == EFindSqlStateType.stnormal ) 15687 { 15688 //treat all unregonized statement as an expression 15689 ret = new TMdxExpression(EDbVendor.dbvmdx); 15690 } 15691 break; 15692 } 15693 case sstmdxselect: 15694 { 15695 boolean lcisnewsql = true; 15696 15697 if ( pstate != EFindSqlStateType.stnormal ) 15698 { 15699 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect ) 15700 { 15701 if ( lccurrentsqlstatement.isctequery ) 15702 lcisnewsql = false; 15703 } 15704 } 15705 15706 if ( lcisnewsql ) 15707 ret = new TMdxSelect(pdbvendor); 15708 15709 break; 15710 } 15711 case sstmdxupdate: 15712 { 15713 boolean lcisnewsql = true; 15714 if ( pstate != EFindSqlStateType.stnormal ) 15715 { 15716 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15717 if ( (lcprevsolidtoken != null) ) 15718 { // 15719 } 15720 15721 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15722 if ( (lcnextsolidtoken != null) ) 15723 { 15724 } 15725 15726 if ( (lccurrentsqlstatement != null) ) 15727 { 15728 } 15729 } 15730 15731 if ( lcisnewsql ) 15732 { 15733 ret = new TMdxUpdate(pdbvendor); 15734 } 15735 break; 15736 } 15737 case sstmdxaltercube: 15738 { 15739 ret = new TMdxAlterCube(pdbvendor); 15740 break; 15741 } 15742 case sstmdxcalculate: 15743 { 15744 ret = new TMdxCalculate(pdbvendor); 15745 break; 15746 } 15747 case sstmdxcall: 15748 { 15749 ret = new TMdxCall(pdbvendor); 15750 break; 15751 } 15752 case sstmdxcase: 15753 { 15754 ret = new TMdxCase(pdbvendor); 15755 break; 15756 } 15757 case sstmdxclearcalculations: 15758 { 15759 ret = new TMdxClearCalculations(pdbvendor); 15760 break; 15761 } 15762 case sstmdxcreateaction: 15763 { 15764 ret = new TMdxCreateAction(pdbvendor); 15765 break; 15766 } 15767 case sstmdxcreatemember: 15768 { 15769 ret = new TMdxCreateMember(pdbvendor); 15770 break; 15771 } 15772 case sstmdxcreatecellcalculation: 15773 { 15774 ret = new TMdxCreateCellCalculation(pdbvendor); 15775 break; 15776 } 15777 case sstmdxcreateglobalcube: 15778 { 15779 ret = new TMdxCreateGlobalCube(pdbvendor); 15780 break; 15781 } 15782 case sstmdxcreateset: 15783 { 15784 ret = new TMdxCreateSet(pdbvendor); 15785 break; 15786 } 15787 case sstmdxcreatesessioncube: 15788 { 15789 ret = new TMdxCreateSessionCube(pdbvendor); 15790 break; 15791 } 15792 case sstmdxcreatesubcube: 15793 { 15794 ret = new TMdxCreateSubCube(pdbvendor); 15795 break; 15796 } 15797 case sstmdxdrillthrough: 15798 { 15799 ret = new TMdxDrillthrough(pdbvendor); 15800 break; 15801 } 15802 case sstmdxdropaction: 15803 { 15804 ret = new TMdxDropAction(pdbvendor); 15805 break; 15806 } 15807 case sstmdxdropmember: 15808 { 15809 ret = new TMdxDropMember(pdbvendor);//ret = new TMdxCreateSessionCube(pdbvendor); 15810 break; 15811 } 15812 case sstmdxdropcellcalculation: 15813 { 15814 ret = new TMdxDropCellCalculation(pdbvendor); 15815 break; 15816 } 15817 case sstmdxdropset: 15818 { 15819 ret = new TMdxDropSet(pdbvendor); 15820 break; 15821 } 15822 case sstmdxdropsubcube: 15823 { 15824 ret = new TMdxDropSubcube(pdbvendor); 15825 break; 15826 } 15827 case sstmdxfreeze: 15828 { 15829 ret = new TMdxFreeze(pdbvendor); 15830 break; 15831 } 15832 case sstmdxif: 15833 { 15834 ret = new TMdxIf(pdbvendor); 15835 break; 15836 } 15837 case sstmdxrefreshcube: 15838 { 15839 ret = new TMdxRefreshCube(pdbvendor); 15840 break; 15841 } 15842 case sstmdxscope: 15843 { 15844 ret = new TMdxScope(pdbvendor); 15845 break; 15846 } 15847 case sstmdxcreatemeasure: 15848 { 15849 ret = new TMdxCreateMeasure(pdbvendor); 15850 break; 15851 } 15852 case sstmdxexisting: 15853 default: 15854 { 15855 ret = new TUnknownSqlStatement(pdbvendor); 15856 ret.sqlstatementtype = gnewsqlstatementtype; 15857 break; 15858 } 15859 } // case 15860 15861 return ret; 15862} 15863 15864 15865public ESqlStatementType findsybasecmdusedbyyacc(TSourceToken pcst){ 15866 ESqlStatementType ret = ESqlStatementType.sstinvalid; 15867 15868 int lcpos = pcst.posinlist; 15869 TSourceTokenList lcsourcetokenlist = pcst.container; 15870 15871 //subquery after semicolon or at first line 15872 if ( (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15873 { 15874 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15875 if ( k >0 ) 15876 { 15877 ret = ESqlStatementType.sstselect; 15878 } 15879 15880 return ret; 15881 } 15882 15883 15884 ret = findsybasecmd(pcst); 15885 // execute can't be used to delimite other sql 15886 if ( ret == ESqlStatementType.sstmssqlexec ) 15887 ret = ESqlStatementType.sstinvalid; 15888 15889 return ret; 15890} 15891 15892public ESqlStatementType findmssqlcmdusedbyyacc(TSourceToken pcst){ 15893 ESqlStatementType ret = ESqlStatementType.sstinvalid; 15894 15895 int lcpos = pcst.posinlist; 15896 TSourceTokenList lcsourcetokenlist = pcst.container; 15897 15898 //subquery after semicolon or at first line 15899 if ( (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15900 { 15901 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15902 if ( k >0 ) 15903 { 15904 ret = ESqlStatementType.sstselect; 15905 } 15906 15907 return ret; 15908 } 15909 15910 15911 ret = findmssqlcmd(pcst); 15912 // execute can't be used to delimite other sql 15913 if ( ret == ESqlStatementType.sstmssqlexec ) 15914 ret = ESqlStatementType.sstinvalid; 15915 15916 return ret; 15917} 15918 15919 15920TCustomSqlStatement ishive(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15921 TCustomSqlStatement ret = null; 15922 15923 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15924 15925 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15926 || (pcst.tokencode == TBaseType.cmtslashstar) 15927 || (pcst.tokencode == TBaseType.lexspace) 15928 || (pcst.tokencode == TBaseType.lexnewline) 15929 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15930 { 15931 return null; 15932 } 15933 15934 int lcpos = pcst.posinlist; 15935 TSourceTokenList lcsourcetokenlist = pcst.container; 15936 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15937 15938 15939 //from query 15940 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_from) ) 15941 { 15942 if (pcst.container == null){ 15943 return new TSelectSqlStatement(pdbvendor); 15944 } 15945 15946 // search select or insert who comes first, 15947 int lcpos1 = pcst.posinlist; 15948 TSourceTokenList lcsourcetokenlist1 = pcst.container; 15949 TSourceToken tmpSt; 15950 int parenthesisCnt = 0; 15951 for(int k=lcpos1+1;k<lcsourcetokenlist1.size();k++){ 15952 tmpSt = lcsourcetokenlist1.get(k); 15953 if (tmpSt.tokencode == ';') break; 15954 if (tmpSt.tokencode == '(') parenthesisCnt++; 15955 if (tmpSt.tokencode == ')') parenthesisCnt--; 15956 if (parenthesisCnt == 0){ 15957 if (tmpSt.tokencode == TBaseType.rrw_select){ 15958 ret = new TSelectSqlStatement(pdbvendor); 15959 break; 15960 }else if (tmpSt.tokencode == TBaseType.rrw_insert){ 15961 ret = new TInsertSqlStatement(pdbvendor); 15962 break; 15963 } 15964 } 15965 } 15966 15967 if (ret == null){ 15968 ret = new TSelectSqlStatement(pdbvendor); 15969// FROM ( 15970// FROM pv_users 15971// MAP pv_users.userid, pv_users.date 15972// USING 'map_script' 15973// AS dt, uid 15974// CLUSTER BY dt) map_output; 15975 } 15976 15977 return ret; 15978 } 15979 15980 //cte 15981 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15982 { 15983 ret = findcte(pcst,pdbvendor); 15984 if ( (ret != null) ) return ret; 15985 } 15986 15987 gnewsqlstatementtype = findhivecmd(pcst); 15988 15989 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15990 switch (gnewsqlstatementtype) { // 15991 case sstinvalid: 15992 { 15993 ret = null; 15994 break; 15995 } 15996 case sstselect: 15997 { 15998 boolean lcisnewsql = true; 15999 16000 if ( pstate != EFindSqlStateType.stnormal ) 16001 { 16002 16003 if ( (lccurrentsqlstatement != null) ) 16004 { 16005 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery ) 16006 //if (((TSelectSqlStatement)lccurrentsqlstatement).getSelectToken().tokencode == TBaseType.rrw_from) 16007 lcisnewsql = false; 16008 } 16009 16010 } 16011 16012 if ( lcisnewsql ) 16013 ret = new TSelectSqlStatement(pdbvendor); 16014 16015 break; 16016 } 16017 case sstinsert: 16018 { 16019 boolean lcisnewsql = true; 16020 if ( pstate != EFindSqlStateType.stnormal ) 16021 { 16022 if ( (lccurrentsqlstatement != null) ) 16023 { 16024 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery ) 16025 // if (((TSelectSqlStatement)lccurrentsqlstatement).getSelectToken().tokencode == TBaseType.rrw_from) 16026 lcisnewsql = false; 16027 } 16028 } 16029 16030 if ( lcisnewsql ) 16031 ret = new TInsertSqlStatement(pdbvendor); 16032 16033 break; 16034 } 16035 case sstTruncate: 16036 { 16037 ret = new TTruncateStatement(pdbvendor); 16038 break; 16039 } 16040 case sstalterdatabase: 16041 { 16042 ret = new TAlterDatabaseStmt(pdbvendor); 16043 break; 16044 } 16045 case sstalterindex: 16046 { 16047 ret = new TAlterIndexStmt(pdbvendor); 16048 break; 16049 } 16050 case sstaltertable: 16051 { 16052 ret = new TAlterTableStatement(pdbvendor); 16053 break; 16054 } 16055 case sstalterview: 16056 { 16057 ret = new TAlterViewStatement(pdbvendor); 16058 break; 16059 } 16060 case sstanalyzeTable: 16061 { 16062 ret = new TAnalyzeStmt(pdbvendor); 16063 break; 16064 } 16065 case sstcreatedatabase: 16066 { 16067 ret = new TCreateDatabaseSqlStatement(pdbvendor); 16068 break; 16069 } 16070 case sstcreatetable: 16071 { 16072 ret = new TCreateTableSqlStatement(pdbvendor); 16073 break; 16074 } 16075 case sstcreateindex: 16076 { 16077 ret = new TCreateIndexSqlStatement(pdbvendor); 16078 break; 16079 } 16080 case sstcreateview: 16081 { 16082 ret = new TCreateViewSqlStatement(pdbvendor); 16083 break; 16084 } 16085 case ssthiveCreateRole: 16086 { 16087 ret = new THiveCreateRole(pdbvendor); 16088 break; 16089 } 16090 case ssthiveCreateFunction: 16091 { 16092 ret = new THiveCreateFunction(pdbvendor); 16093 break; 16094 } 16095 case ssthiveDesc: 16096 { 16097 ret = new THiveDescribe(pdbvendor); 16098 break; 16099 } 16100 case ssthiveDropDatabase: 16101 { 16102 ret = new THiveDropDatabase(pdbvendor); 16103 break; 16104 } 16105 case sstdropindex: 16106 { 16107 ret = new TDropIndexSqlStatement(pdbvendor); 16108 break; 16109 } 16110 case ssthiveDropRole: 16111 { 16112 ret = new THiveDropRole(pdbvendor); 16113 break; 16114 } 16115 case sstdroptable: 16116 { 16117 ret = new TDropTableSqlStatement(pdbvendor); 16118 break; 16119 } 16120 case ssthiveDropFunciton: 16121 { 16122 ret = new THiveDropFunction(pdbvendor); 16123 break; 16124 } 16125 case sstdropview: 16126 { 16127 ret = new TDropViewSqlStatement(pdbvendor); 16128 break; 16129 } 16130 case ssthiveExplain: 16131 { 16132 ret = new THiveExplain(pdbvendor); 16133 break; 16134 } 16135 case ssthiveExportTable: 16136 { 16137 ret = new THiveExportTable(pdbvendor); 16138 break; 16139 } 16140 case ssthiveGrant: 16141 { 16142 ret = new THiveGrant(pdbvendor); 16143 break; 16144 } 16145 case ssthiveGrantRole: 16146 { 16147 ret = new THiveGrantRole(pdbvendor); 16148 break; 16149 } 16150 case ssthiveImportTable: 16151 { 16152 ret = new THiveImportTable(pdbvendor); 16153 break; 16154 } 16155 case ssthiveLoad: 16156 { 16157 ret = new THiveLoad(pdbvendor); 16158 break; 16159 } 16160 case ssthiveLockTable: 16161 { 16162 ret = new TLockTableStmt(pdbvendor); 16163 break; 16164 } 16165 case sstmsck: 16166 { 16167 ret = new TMSCKStmt(pdbvendor); 16168 break; 16169 } 16170 case ssthiveRevoke: 16171 { 16172 ret = new THiveRevoke(pdbvendor); 16173 break; 16174 } 16175 case ssthiveRevokeRole: 16176 { 16177 ret = new THiveRevokeRole(pdbvendor); 16178 break; 16179 } 16180 case ssthiveSet: 16181 { 16182 ret = new THiveSet(pdbvendor); 16183 break; 16184 } 16185 case ssthiveShow: 16186 { 16187 ret = new THiveShow(pdbvendor); 16188 break; 16189 } 16190 case ssthiveShowGrants: 16191 { 16192 ret = new THiveShowGrant(pdbvendor); 16193 break; 16194 } 16195 case ssthiveShowRoleGrants: 16196 { 16197 ret = new THiveShowRoleGrant(pdbvendor); 16198 break; 16199 } 16200 case ssthiveUnlockTable: 16201 { 16202 ret = new THiveUnlockTable(pdbvendor); 16203 break; 16204 } 16205 case ssthiveSwitchDatabase: 16206 { 16207 ret = new TUseDatabase(pdbvendor); 16208 break; 16209 } 16210 case sstmerge: 16211 { 16212 ret = new TMergeSqlStatement(pdbvendor); 16213 break; 16214 } 16215 case sstupdate: 16216 { 16217 ret = new TUpdateSqlStatement(pdbvendor); 16218 break; 16219 } 16220 case sstdelete: 16221 { 16222 ret = new TDeleteSqlStatement(pdbvendor); 16223 break; 16224 } 16225 case sstCreateMacro: 16226 ret = new TCreateMacro(pdbvendor); 16227 break; 16228 case sstDropMacro: 16229 ret = new TDropMacro(pdbvendor); 16230 break; 16231 case sstcreatematerializedview: 16232 ret = new TCreateMaterializedSqlStatement(pdbvendor); 16233 break; 16234 case sstupsert: 16235 ret = new TUpsertStmt(pdbvendor); 16236 break; 16237 default: 16238 { 16239 ret = new TUnknownSqlStatement(pdbvendor); 16240 ret.sqlstatementtype = gnewsqlstatementtype; 16241 break; 16242 } 16243 } // case 16244 16245 return ret; 16246} 16247 16248 TCustomSqlStatement isvertica(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 16249 TCustomSqlStatement ret = null; 16250 16251 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 16252 16253 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 16254 || (pcst.tokencode == TBaseType.cmtslashstar) 16255 || (pcst.tokencode == TBaseType.lexspace) 16256 || (pcst.tokencode == TBaseType.lexnewline) 16257 || (pcst.tokentype == ETokenType.ttsemicolon) ) 16258 { 16259 return null; 16260 } 16261 16262 int lcpos = pcst.posinlist; 16263 TSourceTokenList lcsourcetokenlist = pcst.container; 16264 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 16265 16266 //subquery after semicolon or at first line 16267 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 16268 { 16269 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 16270 if ( k >0 ) 16271 { 16272 ret = new TSelectSqlStatement(pdbvendor); 16273 } 16274 16275 return ret; 16276 } 16277 16278 //cte 16279 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16280 { 16281 ret = findcte(pcst,pdbvendor); 16282 if ( (ret != null) ) return ret; 16283 } 16284 16285 gnewsqlstatementtype = findverticacmd(pcst); 16286 16287 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16288 switch (gnewsqlstatementtype) { // 16289 case sstinvalid: 16290 { 16291 ret = null; 16292 16293 if ( pstate == EFindSqlStateType.stnormal ) 16294 { 16295 if ( pcst.tokencode == TBaseType.label_begin ) 16296 { 16297 ret = new TCommonBlock(pdbvendor); 16298 gnewsqlstatementtype = ret.sqlstatementtype; 16299 } 16300 else if ( pcst.tokencode == TBaseType.rrw_declare ) 16301 { 16302 ret = new TCommonBlock(pdbvendor); 16303 gnewsqlstatementtype = ret.sqlstatementtype; 16304 } 16305 else if ( pcst.tokencode == TBaseType.rrw_begin ) 16306 { 16307 ret = new TCommonBlock(pdbvendor); 16308 gnewsqlstatementtype = ret.sqlstatementtype; 16309 } 16310 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 16311 { 16312 ret = new TPlsqlCreateProcedure(pdbvendor); 16313 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 16314 gnewsqlstatementtype = ret.sqlstatementtype; 16315 } 16316 else if ( pcst.tokencode == TBaseType.rrw_function ) 16317 { 16318 ret = new TPlsqlCreateFunction(pdbvendor); 16319 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 16320 gnewsqlstatementtype = ret.sqlstatementtype; 16321 } 16322 else if ( pcst.tokencode == TBaseType.rrw_package ) 16323 { 16324 ret = new TPlsqlCreatePackage(pdbvendor); 16325 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 16326 gnewsqlstatementtype = ret.sqlstatementtype; 16327 } 16328 } 16329 break; 16330 } 16331 case sstselect: 16332 { 16333 boolean lcisnewsql = true; 16334 16335 if ( pstate != EFindSqlStateType.stnormal ) 16336 { 16337 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16338 if ( (lcprevsolidtoken != null) ) 16339 { 16340 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16341 lcisnewsql = false; //subqery 16342 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 16343 lcisnewsql = false; 16344 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 16345 lcisnewsql = false; 16346 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 16347 lcisnewsql = false; 16348 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 16349 lcisnewsql = false; 16350 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 16351 lcisnewsql = false; 16352 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 16353 { 16354 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 16355 lcisnewsql = false; 16356 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 16357 lcisnewsql = false; 16358 } 16359 16360 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 16361 { 16362 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 16363 if ( (lcpprevsolidtoken != null) ) 16364 { 16365 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 16366 lcisnewsql = false; 16367 } 16368 } 16369 16370 } 16371 16372 16373 if ( (lccurrentsqlstatement != null) ) 16374 { 16375 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 16376 lcisnewsql = false; 16377 } 16378 16379 } 16380 16381 if ( lcisnewsql ) 16382 ret = new TSelectSqlStatement(pdbvendor); 16383 16384 break; 16385 } 16386 case sstinsert: 16387 { 16388 boolean lcisnewsql = true; 16389 if ( pstate != EFindSqlStateType.stnormal ) 16390 { 16391 if ( (lccurrentsqlstatement != null) ) 16392 { 16393 16394 } 16395 } 16396 16397 if ( lcisnewsql ) 16398 ret = new TInsertSqlStatement(pdbvendor); 16399 16400 break; 16401 } 16402 case sstupdate: 16403 { 16404 boolean lcisnewsql = true; 16405 if ( pstate != EFindSqlStateType.stnormal ) 16406 { 16407 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16408 if ( (lcprevsolidtoken != null) ) 16409 { // 16410 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16411 lcisnewsql = false; 16412 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 16413 lcisnewsql = false; 16414 } 16415 16416 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 16417 if ( (lcnextsolidtoken != null) ) 16418 { 16419 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16420 { 16421 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 16422 if ( k == 0 ) lcisnewsql = false; 16423 } 16424 } 16425 16426 16427 if ( (lccurrentsqlstatement != null) ) 16428 { 16429 } 16430 } 16431 16432 if ( lcisnewsql ) 16433 { 16434 ret = new TUpdateSqlStatement(pdbvendor); 16435 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 16436 } 16437 break; 16438 } 16439 case sstdelete: 16440 { 16441 boolean lcisnewsql = true; 16442 16443 if ( pstate != EFindSqlStateType.stnormal ) 16444 { 16445 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16446 if ( (lcprevsolidtoken != null) ) 16447 { 16448 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16449 lcisnewsql = false; 16450 } 16451 16452 if ( (lccurrentsqlstatement != null) ) 16453 { 16454 } 16455 } 16456 16457 if ( lcisnewsql ) 16458 ret = new TDeleteSqlStatement(pdbvendor); 16459 16460 break; 16461 } 16462 case sstmerge: 16463 { 16464 ret = new TMergeSqlStatement(pdbvendor); 16465 ret.sqlstatementtype = gnewsqlstatementtype; 16466 break; 16467 } 16468 case sstcommit: 16469 case sstEnd: 16470 { 16471 ret = new TCommitStmt(pdbvendor); 16472 ret.sqlstatementtype = gnewsqlstatementtype; 16473 break; 16474 } 16475 case sstrollback: 16476 { 16477 ret = new TRollbackStmt(pdbvendor); 16478 ret.sqlstatementtype = gnewsqlstatementtype; 16479 break; 16480 } 16481 case sstsavepoint: 16482 { 16483 ret = new TSavepointStmt(pdbvendor); 16484 ret.sqlstatementtype = gnewsqlstatementtype; 16485 break; 16486 } 16487 case sstRevoke: 16488 { 16489 ret = new TRevokeStmt(pdbvendor); 16490 ret.sqlstatementtype = gnewsqlstatementtype; 16491 break; 16492 } 16493 case sstGrant: 16494 { 16495 ret = new TGrantStmt(pdbvendor); 16496 ret.sqlstatementtype = gnewsqlstatementtype; 16497 break; 16498 } 16499 case sstTruncate: 16500 { 16501 ret = new TTruncateStatement(pdbvendor); 16502 ret.sqlstatementtype = gnewsqlstatementtype; 16503 break; 16504 } 16505 case sstcreatetable: 16506 { 16507 ret = new TCreateTableSqlStatement(pdbvendor); 16508 break; 16509 } 16510 case sstcreateview: 16511 { 16512 ret = new TCreateViewSqlStatement(pdbvendor); 16513 break; 16514 } 16515 case sstcreateindex: 16516 { 16517 ret = new TCreateIndexSqlStatement(pdbvendor); 16518 break; 16519 } 16520 case sstcreatedatabase: 16521 { 16522 ret = new TCreateDatabaseSqlStatement(pdbvendor); 16523 break; 16524 } 16525 case sstdroptable: 16526 { 16527 ret = new TDropTableSqlStatement(pdbvendor); 16528 break; 16529 } 16530 case sstdropview: 16531 { 16532 ret = new TDropViewSqlStatement(pdbvendor); 16533 break; 16534 } 16535 case sstdropindex: 16536 { 16537 ret = new TDropIndexSqlStatement(pdbvendor); 16538 break; 16539 } 16540 case sstaltertable: 16541 { 16542 ret = new TAlterTableStatement(pdbvendor); 16543 break; 16544 } 16545 case sstaltersession: 16546 { 16547 ret = new TAlterSessionStatement(pdbvendor); 16548 break; 16549 } 16550 case sstcreateprocedure: 16551 { 16552 ret = new TCreateProcedureStmt(pdbvendor); 16553 break; 16554 } 16555 case sstCommentOn: 16556 { 16557 ret = new TCommentOnSqlStmt(pdbvendor); 16558 break; 16559 } 16560 case sstcreatesequence: 16561 { 16562 ret = new TCreateSequenceStmt(pdbvendor); 16563 break; 16564 } 16565 case sstcreatefunction: 16566 ret = new TVerticaCreateFunction(pdbvendor); 16567 break; 16568 case sstaltersequence: 16569 ret = new TAlterSequenceStatement(pdbvendor); 16570 break; 16571 case sstAlterAccessPolicy: 16572 ret = new TAlterAccessPolicy(pdbvendor); 16573 break; 16574 case sstAlterAuthentication: 16575 ret = new TAlterAuthentication(pdbvendor); 16576 break; 16577 case sstalterdatabase: 16578 ret = new TAlterDatabaseStmt(pdbvendor); 16579 break; 16580 case sstAlterFaultGroup: 16581 ret = new TAlterFaultGroup(pdbvendor); 16582 break; 16583 case sstalterfunction: 16584 ret = new TAlterFunctionStmt(pdbvendor); 16585 break; 16586 case sstAlterLibrary: 16587 ret = new TAlterLibraryStmt(pdbvendor); 16588 break; 16589 case sstAlterNode: 16590 ret = new TAlterNode(pdbvendor); 16591 break; 16592 case sstAlterNetworkInterface: 16593 ret = new TAlterNetworkInterface(pdbvendor); 16594 break; 16595 case sstAlterProjection: 16596 ret = new TAlterProjectionRename(pdbvendor); 16597 break; 16598 case sstAlterProfile: 16599 ret = new TAlterProfile(pdbvendor); 16600 break; 16601 case sstAlterResourcePool: 16602 ret = new TAlterResourcePool(pdbvendor); 16603 break; 16604 case sstAlterRole: 16605 ret = new TAlterRoleStmt(pdbvendor); 16606 break; 16607 case sstAlterSchema: 16608 ret = new TAlterSchemaStmt(pdbvendor); 16609 break; 16610 case sstAlterSubnet: 16611 ret = new TAlterSubnet(pdbvendor); 16612 break; 16613 case sstBegin: 16614 case sstStartTransaction: 16615 ret = new TBeginTran(pdbvendor); 16616 break; 16617 case sstReleaseSavepoint: 16618 ret = new TReleaseSavepointStmt(pdbvendor); 16619 break; 16620 case sstconnect: 16621 ret = new TConnectStmt(pdbvendor); 16622 break; 16623 case sstCreateAccessPolicy: 16624 ret = new TCreateAccessPolicy(pdbvendor); 16625 break; 16626 case sstCreateAuthentication: 16627 ret = new TCreateAuthentication(pdbvendor); 16628 break; 16629 case sstCreateFaultGroup: 16630 ret = new TCreateFaultGroup(pdbvendor); 16631 break; 16632 case sstCreateHCatalogSchema: 16633 ret = new TCreateHCatalogSchema(pdbvendor); 16634 break; 16635 case sstCreateSubnet: 16636 ret = new TCreateSubnet(pdbvendor); 16637 break; 16638 case sstcreateuser: 16639 ret = new TCreateUserStmt(pdbvendor); 16640 break; 16641 case sstDisconnect: 16642 ret = new TDisconnectStmt(pdbvendor); 16643 break; 16644 case sstDropAccessPolicy: 16645 ret = new TDropAccessPolicy(pdbvendor); 16646 break; 16647 case sstDropAggregateFunction: 16648 ret = new TDropAggregateFunction(pdbvendor); 16649 break; 16650 case sstDropAuthentication: 16651 ret = new TDropAuthentication(pdbvendor); 16652 break; 16653 case sstDropFaultGroup: 16654 ret = new TDropFaultGroup(pdbvendor); 16655 break; 16656 case sstdropfunction: 16657 ret = new TDropFunctionStmt(pdbvendor); 16658 break; 16659 case sstDropLibrary: 16660 ret = new TDropLibraryStmt(pdbvendor); 16661 break; 16662 case sstDropNetworkInterface: 16663 ret = new TDropNetworkInterface(pdbvendor); 16664 break; 16665 case sstdropprocedure: 16666 ret = new TDropProcedureStmt(pdbvendor); 16667 break; 16668 case sstDropProjection: 16669 ret = new TDropProjectionStmt(pdbvendor); 16670 break; 16671 case sstDropResourcePool: 16672 ret = new TDropResourcePool(pdbvendor); 16673 break; 16674 case sstdroprole: 16675 ret = new TDropRoleStmt(pdbvendor); 16676 break; 16677 case sstdropschema: 16678 ret = new TDropSchemaSqlStatement(pdbvendor); 16679 break; 16680 case sstdropsequence: 16681 ret = new TDropSequenceStmt(pdbvendor); 16682 break; 16683 case sstDropSubnet: 16684 ret = new TDropSubnet(pdbvendor); 16685 break; 16686 case sstDropTextIndex: 16687 ret = new TDropTextIndex(pdbvendor); 16688 break; 16689 case sstDropTransformFunction: 16690 ret = new TDropTransformFunction(pdbvendor); 16691 break; 16692 case sstdropuser: 16693 ret = new TDropUserStmt(pdbvendor); 16694 break; 16695 case sstExplain: 16696 { 16697 ret = new TExplainPlan(pdbvendor); 16698 break; 16699 } 16700 case sstExportToVertica: 16701 ret = new TExportToVertica(pdbvendor); 16702 break; 16703 case sstProfile: 16704 ret = new TProfileStmt(pdbvendor); 16705 break; 16706 case sstset: 16707 ret = new TVerticaSetStmt(pdbvendor); 16708 break; 16709 case sstShow: 16710 ret = new TVerticaShow(pdbvendor); 16711 break; 16712 case sstcall: 16713 ret = new TCallStatement(pdbvendor); 16714 break; 16715 default: 16716 { 16717 ret = new TUnknownSqlStatement(pdbvendor); 16718 ret.sqlstatementtype = gnewsqlstatementtype; 16719 break; 16720 } 16721 } // case 16722 16723 return ret; 16724 } 16725 16726 16727 TCustomSqlStatement iscouchbase(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 16728 TCustomSqlStatement ret = null; 16729 16730 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 16731 16732 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 16733 || (pcst.tokencode == TBaseType.cmtslashstar) 16734 || (pcst.tokencode == TBaseType.lexspace) 16735 || (pcst.tokencode == TBaseType.lexnewline) 16736 || (pcst.tokentype == ETokenType.ttsemicolon) ) 16737 { 16738 return null; 16739 } 16740 16741 int lcpos = pcst.posinlist; 16742 TSourceTokenList lcsourcetokenlist = pcst.container; 16743 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 16744 16745 //subquery after semicolon or at first line 16746 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 16747 { 16748 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 16749 if ( k >0 ) 16750 { 16751 ret = new TSelectSqlStatement(pdbvendor); 16752 } 16753 16754 return ret; 16755 } 16756 16757 //cte 16758 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16759 { 16760 ret = findcte(pcst,pdbvendor); 16761 if ( (ret != null) ) return ret; 16762 } 16763 16764 gnewsqlstatementtype = findcouchbasecmd(pcst); 16765 16766 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16767 switch (gnewsqlstatementtype) { // 16768 case sstinvalid: 16769 { 16770 ret = null; 16771 16772 if ( pstate == EFindSqlStateType.stnormal ) 16773 { 16774 if ( pcst.tokencode == TBaseType.label_begin ) 16775 { 16776 ret = new TCommonBlock(pdbvendor); 16777 gnewsqlstatementtype = ret.sqlstatementtype; 16778 } 16779 else if ( pcst.tokencode == TBaseType.rrw_declare ) 16780 { 16781 ret = new TCommonBlock(pdbvendor); 16782 gnewsqlstatementtype = ret.sqlstatementtype; 16783 } 16784 else if ( pcst.tokencode == TBaseType.rrw_begin ) 16785 { 16786 ret = new TCommonBlock(pdbvendor); 16787 gnewsqlstatementtype = ret.sqlstatementtype; 16788 } 16789 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 16790 { 16791 ret = new TPlsqlCreateProcedure(pdbvendor); 16792 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 16793 gnewsqlstatementtype = ret.sqlstatementtype; 16794 } 16795 else if ( pcst.tokencode == TBaseType.rrw_function ) 16796 { 16797 ret = new TPlsqlCreateFunction(pdbvendor); 16798 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 16799 gnewsqlstatementtype = ret.sqlstatementtype; 16800 } 16801 else if ( pcst.tokencode == TBaseType.rrw_package ) 16802 { 16803 ret = new TPlsqlCreatePackage(pdbvendor); 16804 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 16805 gnewsqlstatementtype = ret.sqlstatementtype; 16806 } 16807 } 16808 break; 16809 } 16810 case sstselect: 16811 { 16812 boolean lcisnewsql = true; 16813 16814 if ( pstate != EFindSqlStateType.stnormal ) 16815 { 16816 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16817 if ( (lcprevsolidtoken != null) ) 16818 { 16819 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16820 lcisnewsql = false; //subqery 16821 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 16822 lcisnewsql = false; 16823 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 16824 lcisnewsql = false; 16825 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 16826 lcisnewsql = false; 16827 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 16828 lcisnewsql = false; 16829 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 16830 lcisnewsql = false; 16831 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 16832 { 16833 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 16834 lcisnewsql = false; 16835 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 16836 lcisnewsql = false; 16837 } 16838 16839 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 16840 { 16841 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 16842 if ( (lcpprevsolidtoken != null) ) 16843 { 16844 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 16845 lcisnewsql = false; 16846 } 16847 } 16848 16849 } 16850 16851 16852 if ( (lccurrentsqlstatement != null) ) 16853 { 16854 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 16855 lcisnewsql = false; 16856 } 16857 16858 } 16859 16860 if ( lcisnewsql ) 16861 ret = new TSelectSqlStatement(pdbvendor); 16862 16863 break; 16864 } 16865 case sstinsert: 16866 { 16867 boolean lcisnewsql = true; 16868 if ( pstate != EFindSqlStateType.stnormal ) 16869 { 16870 if ( (lccurrentsqlstatement != null) ) 16871 { 16872 16873 } 16874 } 16875 16876 if ( lcisnewsql ) 16877 ret = new TInsertSqlStatement(pdbvendor); 16878 16879 break; 16880 } 16881 case sstupdate: 16882 { 16883 boolean lcisnewsql = true; 16884 if ( pstate != EFindSqlStateType.stnormal ) 16885 { 16886 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16887 if ( (lcprevsolidtoken != null) ) 16888 { // 16889 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16890 lcisnewsql = false; 16891 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 16892 lcisnewsql = false; 16893 } 16894 16895 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 16896 if ( (lcnextsolidtoken != null) ) 16897 { 16898 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16899 { 16900 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 16901 if ( k == 0 ) lcisnewsql = false; 16902 } 16903 } 16904 16905 16906 if ( (lccurrentsqlstatement != null) ) 16907 { 16908 } 16909 } 16910 16911 if ( lcisnewsql ) 16912 { 16913 ret = new TUpdateSqlStatement(pdbvendor); 16914 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 16915 } 16916 break; 16917 } 16918 case sstdelete: 16919 { 16920 boolean lcisnewsql = true; 16921 16922 if ( pstate != EFindSqlStateType.stnormal ) 16923 { 16924 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16925 if ( (lcprevsolidtoken != null) ) 16926 { 16927 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16928 lcisnewsql = false; 16929 } 16930 16931 if ( (lccurrentsqlstatement != null) ) 16932 { 16933 } 16934 } 16935 16936 if ( lcisnewsql ) 16937 ret = new TDeleteSqlStatement(pdbvendor); 16938 16939 break; 16940 } 16941 case sstmerge: 16942 { 16943 ret = new TMergeSqlStatement(pdbvendor); 16944 ret.sqlstatementtype = gnewsqlstatementtype; 16945 break; 16946 } 16947 case sstcreateindex: 16948 { 16949 ret = new TCreateIndexSqlStatement(pdbvendor); 16950 break; 16951 } 16952 case sstdropindex: 16953 { 16954 ret = new TDropIndexSqlStatement(pdbvendor); 16955 break; 16956 } 16957 case sstBuildIndex: 16958 ret = new TTBuildIndexesStmt(pdbvendor); 16959 break; 16960 case sstinfer: 16961 ret = new TInferKeyspaceStmt(pdbvendor); 16962 break; 16963 case sstupsert: 16964 ret = new TUpsertStmt(pdbvendor); 16965 break; 16966 case sstExplain: 16967 { 16968 ret = new TExplainPlan(pdbvendor); 16969 break; 16970 } 16971 case sstprepare: 16972 { 16973 ret = new TExplainPlan(pdbvendor); 16974 ret.sqlstatementtype = ESqlStatementType.sstprepare; 16975 break; 16976 } 16977 case sstExecutePreparedStmt: 16978 ret = new TExecuteSqlStatement(pdbvendor); 16979 break; 16980 default: 16981 { 16982 ret = new TUnknownSqlStatement(pdbvendor); 16983 ret.sqlstatementtype = gnewsqlstatementtype; 16984 break; 16985 } 16986 } // case 16987 16988 return ret; 16989 } 16990 16991 /** 16992 * Generic method for yacc parsers to find SQL command type. 16993 * Delegates to vendor-specific implementations where available. 16994 * Added temporarily for revert testing - uses token's dbvendor field. 16995 */ 16996 public ESqlStatementType findCmdUsedByYacc(TSourceToken token) { 16997 EDbVendor vendor = token.getDbvendor(); 16998 if (vendor == null) { 16999 return ESqlStatementType.sstinvalid; 17000 } 17001 17002 // Delegate to vendor-specific methods where they exist 17003 switch (vendor) { 17004 case dbvmssql: 17005 return findmssqlcmdusedbyyacc(token); 17006 case dbvsybase: 17007 return findsybasecmdusedbyyacc(token); 17008 // For other vendors, use generic command finding 17009 default: 17010 TSqlCmdList cmdList = getSqlCmdList(vendor); 17011 if (cmdList == null || cmdList.size() == 0) { 17012 return ESqlStatementType.sstunknown; 17013 } 17014 // Use generic finddbcmd for vendors without specific yacc methods 17015 return finddbcmd(token, cmdList); 17016 } 17017 } 17018 17019}