001package gudusoft.gsqlparser; 002 003//import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.stmt.*; 005import gudusoft.gsqlparser.stmt.bigquery.TExportDataStmt; 006import gudusoft.gsqlparser.stmt.couchbase.TInferKeyspaceStmt; 007import gudusoft.gsqlparser.stmt.couchbase.TTBuildIndexesStmt; 008import gudusoft.gsqlparser.stmt.databricks.*; 009import gudusoft.gsqlparser.stmt.hana.*; 010import gudusoft.gsqlparser.stmt.hive.*; 011import gudusoft.gsqlparser.stmt.informix.*; 012import gudusoft.gsqlparser.stmt.netezza.TNetezzaGenerateStatistics; 013import gudusoft.gsqlparser.stmt.netezza.TNetezzaGroomTable; 014import gudusoft.gsqlparser.stmt.postgresql.*; 015import gudusoft.gsqlparser.stmt.presto.TResetSessionStmt; 016import gudusoft.gsqlparser.stmt.redshift.*; 017import gudusoft.gsqlparser.stmt.snowflake.*; 018import gudusoft.gsqlparser.stmt.sparksql.*; 019import gudusoft.gsqlparser.stmt.sybase.TInsertBulk; 020import gudusoft.gsqlparser.stmt.sybase.TSybaseDeleteStatistics; 021import gudusoft.gsqlparser.stmt.sybase.TSybaseWritetext; 022import gudusoft.gsqlparser.stmt.teradata.*; 023import gudusoft.gsqlparser.stmt.mysql.*; 024import gudusoft.gsqlparser.stmt.db2.*; 025import gudusoft.gsqlparser.stmt.mssql.*; 026import gudusoft.gsqlparser.stmt.oracle.*; 027import gudusoft.gsqlparser.stmt.mdx.*; 028import gudusoft.gsqlparser.stmt.vertica.*; 029 030import java.util.ArrayList; 031import java.util.HashMap; 032 033 034public class TSqlCmds { 035 036 public class TSqlCmd { 037 int token1; 038 String token2,token3,token4,token5,token6,token7,token1Str; 039 public ESqlStatementType sqlstatementtype; 040 041 public TSqlCmd(){ 042 token1Str = "***"; 043 } 044 045 public String toString(){ 046 047 String retStr; 048 if (token1 <= TBaseType.rrw_abort){ 049 retStr = TBaseType.getTextByTokenCode(token1); 050 }else { 051 retStr = token1Str; 052 } 053 054 if (token2.trim().length() > 0){ 055 retStr = retStr +" "+token2.replace("*"," "); 056 } 057 if (token3.trim().length() > 0){ 058 retStr = retStr +" "+token3; 059 } 060 if (token4.trim().length() > 0){ 061 retStr = retStr +" "+token4; 062 } 063 if (token5.trim().length() > 0){ 064 retStr = retStr +" "+token5; 065 } 066 if (token6.trim().length() > 0){ 067 retStr = retStr +" "+token6; 068 } 069 if (token7.trim().length() > 0){ 070 retStr = retStr +" "+token7; 071 } 072 return retStr; 073 } 074 } 075 076 public class TSqlCmdList<TSqlCmd> extends ArrayList<TSqlCmds.TSqlCmd> 077 { 078 private HashMap<Integer, Integer> startIndexMap; 079 080 public TSqlCmdList() 081 { 082 super(); 083 startIndexMap = new HashMap<Integer, Integer>(); 084 } 085 086 public boolean add(TSqlCmds.TSqlCmd o) { 087 boolean ret = super.add(o); 088 089 // add first occurrence of a token to a hash that gives index of 090 // first entry that matches that first token 091 if (!startIndexMap.containsKey(o.token1)) 092 { 093 startIndexMap.put(o.token1, size() - 1); 094 } 095 096 return ret; 097 } 098 099 int getStartIndex(int token1) 100 { 101 Integer startIndex = startIndexMap.get(token1); 102 if (startIndex == null) 103 return -1; 104 else 105 return startIndex.intValue(); 106 } 107 } 108 109 TSqlCmdList mssqlcmds,oraclecmds,db2cmds,mysqlcmds,accesscmds,mdxcmds,teradatacmds, 110 postgresqlcmds,netezzacmds,sybasecmds,informixcmds,hivecmds,greenplumcmds, 111 redshiftcmds,hanacmds,verticacmds,couchbasecmds,snowflakecmds,bigquerycmds, 112 sparksqlcmds,prestocmds,athenacmds,databrickscmds,gaussdbcmds; 113 114 public TSqlCmdList getSqlCmdList(EDbVendor dbVendor){ 115 TSqlCmdList sqlCmdList = null; 116 switch(dbVendor){ 117 case dbvmssql: 118 if (mssqlcmds.size() == 0) {initmssqlcmds();} 119 sqlCmdList = mssqlcmds; 120 break; 121 case dbvoracle: 122 if (oraclecmds.size() == 0) {initoraclecmds();} 123 sqlCmdList = oraclecmds; 124 break; 125 case dbvmysql: 126 if (mysqlcmds.size() == 0) {initmysqlcmds();} 127 sqlCmdList = mysqlcmds; 128 break; 129 case dbvdb2: 130 if (db2cmds.size() == 0) {initdb2cmds();} 131 sqlCmdList = db2cmds; 132 break; 133 case dbvmdx: 134 if (mdxcmds.size() == 0) {initmdxcmds();} 135 sqlCmdList = mdxcmds; 136 break; 137 case dbvteradata: 138 if (teradatacmds.size() == 0) {initteradatacmds();} 139 sqlCmdList = teradatacmds; 140 break; 141 case dbvpostgresql: 142 if (postgresqlcmds.size() == 0) {initpostgresqlcmds();} 143 sqlCmdList = postgresqlcmds; 144 break; 145 case dbvredshift: 146 if (redshiftcmds.size() == 0) {initredshiftcmds();} 147 sqlCmdList = redshiftcmds; 148 break; 149 case dbvnetezza: 150 if (netezzacmds.size() == 0) {initnetezzacmds();} 151 sqlCmdList = netezzacmds; 152 break; 153 case dbvsybase: 154 if (sybasecmds.size() == 0) {initsybasecmds();} 155 sqlCmdList = sybasecmds; 156 break; 157 case dbvinformix: 158 if (informixcmds.size() == 0) {initinformixcmds();} 159 sqlCmdList = informixcmds; 160 break; 161 case dbvhive: 162 if (hivecmds.size() == 0) {inithivecmds();} 163 sqlCmdList = hivecmds; 164 break; 165 case dbvimpala: 166 if (hivecmds.size() == 0) {inithivecmds(); 167 } 168 sqlCmdList = hivecmds; 169 break; 170 case dbvgreenplum: 171 if (greenplumcmds.size() == 0) {initgreenplumcmds(); 172 } 173 sqlCmdList = greenplumcmds; 174 break; 175 case dbvhana: 176 if (hanacmds.size() == 0) {inithanacmds(); 177 } 178 sqlCmdList = hanacmds; 179 break; 180 case dbvvertica: 181 if (verticacmds.size() == 0) {initverticacmds(); 182 } 183 sqlCmdList = verticacmds; 184 break; 185 case dbvcouchbase: 186 if (couchbasecmds.size() == 0) {initcouchbasecmds(); 187 } 188 sqlCmdList = couchbasecmds; 189 break; 190 case dbvsnowflake: 191 if (snowflakecmds.size() == 0) {initsnowflakecmds(); 192 } 193 sqlCmdList = snowflakecmds; 194 break; 195 case dbvbigquery: 196 if (bigquerycmds.size() == 0) {initbigquerycmds(); 197 } 198 sqlCmdList = bigquerycmds; 199 break; 200 case dbvsparksql: 201 if (sparksqlcmds.size() == 0) {initsparksqlcmds(); 202 } 203 sqlCmdList = sparksqlcmds; 204 break; 205 case dbvpresto: 206 if (prestocmds.size() == 0) {initprestocmds(); 207 } 208 sqlCmdList = prestocmds; 209 break; 210 case dbvathena: 211 if (athenacmds.size() == 0) {initathenacmds(); 212 } 213 sqlCmdList = athenacmds; 214 break; 215 case dbvdatabricks: 216 if (databrickscmds.size() == 0) {initdatabrickscmds(); 217 } 218 sqlCmdList = databrickscmds; 219 break; 220 case dbvgaussdb: 221 if (gaussdbcmds.size() == 0) {initgaussdbcmds(); 222 } 223 sqlCmdList = gaussdbcmds; 224 break; 225 } 226 return sqlCmdList; 227 } 228 229 ESqlStatementType gnewsqlstatementtype; 230 231 // int mssqlcmdscurrentcount,oraclecmdscurrentcount,db2cmdscurrentcount,mysqlcmdscurrentcount,mdxcmdscurrentcount ; 232 233 public TSqlCmds(){ 234// mssqlcmdscurrentcount = 0; 235// oraclecmdscurrentcount = 0; 236// db2cmdscurrentcount = 0; 237// mysqlcmdscurrentcount = 0; 238// mdxcmdscurrentcount = 0; 239 mssqlcmds = new TSqlCmdList(); 240 sybasecmds = new TSqlCmdList(); 241 oraclecmds = new TSqlCmdList(); 242 db2cmds = new TSqlCmdList(); 243 mysqlcmds = new TSqlCmdList(); 244 accesscmds = new TSqlCmdList(); 245 mdxcmds = new TSqlCmdList(); 246 teradatacmds = new TSqlCmdList(); 247 postgresqlcmds = new TSqlCmdList(); 248 netezzacmds = new TSqlCmdList(); 249 informixcmds = new TSqlCmdList(); 250 hivecmds = new TSqlCmdList(); 251 greenplumcmds = new TSqlCmdList(); 252 redshiftcmds = new TSqlCmdList(); 253 hanacmds = new TSqlCmdList(); 254 verticacmds = new TSqlCmdList(); 255 couchbasecmds = new TSqlCmdList(); 256 snowflakecmds = new TSqlCmdList(); 257 bigquerycmds = new TSqlCmdList(); 258 sparksqlcmds = new TSqlCmdList(); 259 prestocmds = new TSqlCmdList(); 260 athenacmds = new TSqlCmdList(); 261 databrickscmds = new TSqlCmdList(); 262 gaussdbcmds = new TSqlCmdList(); 263 } 264 265 void addcmds(EDbVendor dbVendor, ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5,String ptoken6,String ptoken7){ 266 TSqlCmd sc = new TSqlCmd(); 267 sc.sqlstatementtype = psqlstatementtype; 268 sc.token1 = ptoken1; 269 sc.token2 = ptoken2; 270 sc.token3 = ptoken3; 271 sc.token4 = ptoken4; 272 sc.token5 = ptoken5; 273 sc.token6 = ptoken6; 274 sc.token7 = ptoken7; 275 switch(dbVendor){ 276 case dbvmssql: 277 if (sc.token1 > TBaseType.rrw_abort){ 278 switch (sc.token1){ 279 case TBaseType.rrw_sqlserver_throw: 280 sc.token1Str = "throw"; 281 break; 282 default: 283 break; 284 } 285 } 286 mssqlcmds.add(sc); 287 break; 288 case dbvoracle: 289 oraclecmds.add(sc); 290 break; 291 case dbvmysql: 292 if (sc.token1 > TBaseType.rrw_abort){ 293 switch (sc.token1){ 294 case TBaseType.rrw_mysql_delimiter: 295 sc.token1Str = "delimiter"; 296 break; 297 case TBaseType.rrw_mysql_desc: 298 sc.token1Str = "desc"; 299 break; 300 default: 301 break; 302 } 303 } 304 mysqlcmds.add(sc); 305 break; 306 case dbvdb2: 307 db2cmds.add(sc); 308 break; 309 case dbvmdx: 310 mdxcmds.add(sc); 311 break; 312 case dbvteradata: 313 if (sc.token1 > TBaseType.rrw_abort){ 314 switch (sc.token1){ 315 case TBaseType.rrw_teradata_wait: 316 sc.token1Str = "wait"; 317 break; 318 case TBaseType.rrw_teradata_using: 319 sc.token1Str = "using"; 320 break; 321 case TBaseType.rrw_teradata_upd: 322 sc.token1Str = "update"; 323 break; 324 case TBaseType.rrw_teradata_sel: 325 sc.token1Str = "select"; 326 break; 327 case TBaseType.rrw_teradata_restart: 328 sc.token1Str = "restart"; 329 break; 330 case TBaseType.rrw_teradata_position: 331 sc.token1Str = "position"; 332 break; 333 case TBaseType.rrw_teradata_modify: 334 sc.token1Str = "modify"; 335 break; 336 case TBaseType.rrw_teradata_logon: 337 sc.token1Str = "logon"; 338 break; 339 case TBaseType.rrw_teradata_locking: 340 sc.token1Str = "locking"; 341 break; 342 case TBaseType.rrw_teradata_ins: 343 sc.token1Str = "insert"; 344 break; 345 case TBaseType.rrw_teradata_help: 346 sc.token1Str = "help"; 347 break; 348 case TBaseType.rrw_teradata_give: 349 sc.token1Str = "give"; 350 break; 351 case TBaseType.rrw_teradata_echo: 352 sc.token1Str = "echo"; 353 break; 354 case TBaseType.rrw_teradata_dump: 355 sc.token1Str = "dump"; 356 break; 357 case TBaseType.rrw_teradata_diagnostic: 358 sc.token1Str = "diagnostic"; 359 break; 360 case TBaseType.rrw_teradata_del: 361 sc.token1Str = "delete"; 362 break; 363 case TBaseType.rrw_teradata_cv: 364 sc.token1Str = "create view"; 365 break; 366 case TBaseType.rrw_teradata_collect: 367 sc.token1Str = "collect"; 368 break; 369 case TBaseType.rrw_teradata_cm: 370 sc.token1Str = "create macro"; 371 break; 372 default: 373 break; 374 } 375 } 376 teradatacmds.add(sc); 377 break; 378 case dbvpostgresql: 379 if (sc.token1 > TBaseType.rrw_abort){ 380 switch (sc.token1){ 381 case TBaseType.rrw_postgresql_cluster: 382 sc.token1Str = "cluster"; 383 break; 384 case TBaseType.rrw_postgresql_copy: 385 sc.token1Str = "copy"; 386 break; 387 case TBaseType.rrw_postgresql_discard: 388 sc.token1Str = "discard"; 389 break; 390 case TBaseType.rrw_postgresql_listen: 391 sc.token1Str = "listen"; 392 break; 393 case TBaseType.rrw_postgresql_notify: 394 sc.token1Str = "notify"; 395 break; 396 case TBaseType.rrw_postgresql_reassign: 397 sc.token1Str = "reassign"; 398 break; 399 case TBaseType.rrw_postgresql_reindex: 400 sc.token1Str = "reindex"; 401 break; 402 case TBaseType.rrw_postgresql_security: 403 sc.token1Str = "security"; 404 break; 405 case TBaseType.rrw_postgresql_unlisten: 406 sc.token1Str = "unlisten"; 407 break; 408 default: 409 break; 410 } 411 } 412 postgresqlcmds.add(sc); 413 break; 414 case dbvredshift: 415 if (sc.token1 > TBaseType.rrw_abort){ 416 switch (sc.token1){ 417 case TBaseType.rrw_redshift_cancel: 418 sc.token1Str = "cancel"; 419 break; 420 case TBaseType.rrw_redshift_copy: 421 sc.token1Str = "copy"; 422 break; 423 case TBaseType.rrw_redshift_unload: 424 sc.token1Str = "unload"; 425 break; 426 case TBaseType.rrw_redshift_vacuum: 427 sc.token1Str = "vacuum"; 428 break; 429 default: 430 break; 431 } 432 } 433 redshiftcmds.add(sc); 434 break; 435 case dbvnetezza: 436 if (sc.token1 > TBaseType.rrw_abort){ 437 switch (sc.token1){ 438 case TBaseType.rrw_netezza_copy: 439 sc.token1Str = "copy"; 440 break; 441 case TBaseType.rrw_netezza_generate: 442 sc.token1Str = "generate"; 443 break; 444 case TBaseType.rrw_netezza_groom: 445 sc.token1Str = "groom"; 446 break; 447 default: 448 break; 449 } 450 } 451 netezzacmds.add(sc); 452 break; 453 case dbvsybase: 454 455 if (sc.token1 > TBaseType.rrw_abort){ 456 switch (sc.token1){ 457 case TBaseType.rrw_sybase_dump: 458 sc.token1Str = "dump"; 459 break; 460 default: 461 break; 462 } 463 } 464 sybasecmds.add(sc); 465 break; 466 case dbvinformix: 467 if (sc.token1 > TBaseType.rrw_abort){ 468 switch (sc.token1){ 469 case TBaseType.rrw_informix_connect_to: 470 sc.token1Str = "connect to"; 471 break; 472 case TBaseType.rrw_informix_info: 473 sc.token1Str = "info"; 474 break; 475 case TBaseType.rrw_informix_output: 476 sc.token1Str = "output"; 477 break; 478 case TBaseType.rrw_informix_put: 479 sc.token1Str = "put"; 480 break; 481 case TBaseType.rrw_informix_unload: 482 sc.token1Str = "unload"; 483 break; 484 case TBaseType.rrw_informix_whenever: 485 sc.token1Str = "whenever"; 486 break; 487 default: 488 break; 489 } 490 } 491 informixcmds.add(sc); 492 break; 493 case dbvhive: 494 if (sc.token1 > TBaseType.rrw_abort){ 495 switch (sc.token1){ 496 case TBaseType.rrw_hive_desc: 497 sc.token1Str = "desc"; 498 break; 499 case TBaseType.rrw_hive_export: 500 sc.token1Str = "export"; 501 break; 502 case TBaseType.rrw_hive_import: 503 sc.token1Str = "import"; 504 break; 505 case TBaseType.rrw_hive_msck: 506 sc.token1Str = "msck"; 507 break; 508 default: 509 break; 510 } 511 } 512 hivecmds.add(sc); 513 break; 514 case dbvimpala: 515 hivecmds.add(sc); 516 break; 517 case dbvgreenplum: 518 if (sc.token1 > TBaseType.rrw_abort){ 519 switch (sc.token1){ 520 case TBaseType.rrw_greenplum_cluster: 521 sc.token1Str = "cluster"; 522 break; 523 case TBaseType.rrw_greenplum_copy: 524 sc.token1Str = "copy"; 525 break; 526 case TBaseType.rrw_greenplum_reassign: 527 sc.token1Str = "reassign"; 528 break; 529 case TBaseType.rrw_greenplum_reindex: 530 sc.token1Str = "reindex"; 531 break; 532 case TBaseType.rrw_greenplum_vacuum: 533 sc.token1Str = "vacuum"; 534 break; 535 case TBaseType.rrw_greenplum_analyse: 536 sc.token1Str = "analyse"; 537 break; 538 default: 539 break; 540 } 541 } 542 greenplumcmds.add(sc); 543 break; 544 case dbvhana: 545 if (sc.token1 > TBaseType.rrw_abort){ 546 switch (sc.token1){ 547 case TBaseType.rrw_hana_unset: 548 sc.token1Str = "unset"; 549 break; 550 case TBaseType.rrw_hana_upsert: 551 sc.token1Str = "upsert"; 552 break; 553 case TBaseType.rrw_hana_import: 554 sc.token1Str = "import"; 555 break; 556 case TBaseType.rrw_hana_export: 557 sc.token1Str = "export"; 558 break; 559 case TBaseType.rrw_hana_recover: 560 sc.token1Str = "recover"; 561 break; 562 case TBaseType.rrw_hana_unload: 563 sc.token1Str = "unload"; 564 break; 565 default: 566 break; 567 } 568 } 569 hanacmds.add(sc); 570 break; 571 case dbvvertica: 572 verticacmds.add(sc); 573 break; 574 case dbvcouchbase: 575 couchbasecmds.add(sc); 576 break; 577 case dbvsnowflake: 578 snowflakecmds.add(sc); 579 break; 580 case dbvbigquery: 581 bigquerycmds.add(sc); 582 break; 583 case dbvsparksql: 584 sparksqlcmds.add(sc); 585 break; 586 case dbvpresto: 587 prestocmds.add(sc); 588 break; 589 case dbvathena: 590 athenacmds.add(sc); 591 break; 592 case dbvdatabricks: 593 databrickscmds.add(sc); 594 break; 595 case dbvgaussdb: 596 gaussdbcmds.add(sc); 597 break; 598 } 599 } 600 601 void addmssqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 602 addcmds(EDbVendor.dbvmssql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 603 } 604 605void addsybasecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 606 addcmds(EDbVendor.dbvsybase,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 607} 608 609void addpostgresqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 610 addcmds(EDbVendor.dbvpostgresql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 611} 612 613 void addgaussdbcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 614 addcmds(EDbVendor.dbvgaussdb,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 615 } 616 617void addredshiftcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 618 addcmds(EDbVendor.dbvredshift,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 619} 620 621 void addnetezzacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 622 addcmds(EDbVendor.dbvnetezza,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 623} 624 625 626void addoraclecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 627 addcmds(EDbVendor.dbvoracle,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 628} 629 630void addhivecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 631 addcmds(EDbVendor.dbvhive,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 632} 633 634void addmysqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 635 addcmds(EDbVendor.dbvmysql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 636} 637 638void addsparksqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 639 addcmds(EDbVendor.dbvsparksql,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 640} 641 642void addprestocmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 643 addcmds(EDbVendor.dbvpresto,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 644} 645 646void addathenacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 647 addcmds(EDbVendor.dbvathena,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 648} 649 650void adddatabrickscmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 651 addcmds(EDbVendor.dbvdatabricks,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 652} 653 654 655void adddb2cmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 656 addcmds(EDbVendor.dbvdb2,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 657} 658 659void addmdxcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 660 addcmds(EDbVendor.dbvmdx,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 661} 662 663void addteradatacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 664 addcmds(EDbVendor.dbvteradata,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 665} 666 667void addinformixcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 668 addcmds(EDbVendor.dbvinformix,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 669} 670 671void addgreenplumcmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 672 addcmds(EDbVendor.dbvgreenplum,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 673} 674 675void addhanacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 676 addcmds(EDbVendor.dbvhana,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 677} 678 679void addverticacmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 680 addcmds(EDbVendor.dbvvertica,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 681} 682 683void addcouchbasecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 684 addcmds(EDbVendor.dbvcouchbase,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 685} 686 687void addsnowflakecmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 688 addcmds(EDbVendor.dbvsnowflake,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 689 } 690 691void addbigquerycmds(ESqlStatementType psqlstatementtype, int ptoken1, String ptoken2, String ptoken3, String ptoken4, String ptoken5, String ptoken6, String ptoken7){ 692 addcmds(EDbVendor.dbvbigquery,psqlstatementtype,ptoken1,ptoken2,ptoken3,ptoken4,ptoken5,ptoken6,ptoken7); 693} 694 695ESqlStatementType finddbcmd(TSourceToken ptoken,TSqlCmdList pdbcmds ){ 696 ESqlStatementType ret = ESqlStatementType.sstinvalid; 697 if (ptoken.tokentype != ETokenType.ttkeyword){return ret;} 698 int lcchecktokens = 0; 699 700 // Look up initial command array index in hash using first token code 701 702 int startIndex = pdbcmds.getStartIndex(ptoken.tokencode); 703 if (startIndex == -1) 704 return ret; 705 706 for(int i=startIndex; i<pdbcmds.size();i++){ 707 if ( ((TSqlCmd)pdbcmds.get(i)).token1 != ptoken.tokencode) 708 { 709 if (lcchecktokens > 0 ) {break;} 710 else 711 continue; 712 } 713 else 714 { 715 if (lcchecktokens < 1) 716 {lcchecktokens = 1;} 717 } 718 719 // first cmd tokentext is same, then check second 720 if ((((TSqlCmd)pdbcmds.get(i)).token2 == "") || (((TSqlCmd)pdbcmds.get(i)).token2 == " ") ) 721 { 722 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 723 if (((TSqlCmd)pdbcmds.get(i)).token2 == "") 724 break; 725 } 726 727 int k; 728 TSourceToken lcnextsolidtoken = nextsolidtoken(ptoken); 729 if (lcnextsolidtoken == null) break; 730 if ((((TSqlCmd)pdbcmds.get(i)).token2 == "*"))// && (lcchecktokens < 2) ) // can match any string 731 { 732 k = 0; 733 } 734 else { 735 k = TBaseType.mycomparetext(lcnextsolidtoken.astext ,((TSqlCmd)pdbcmds.get(i)).token2); 736 } 737 if (k != 0) 738 { 739 if (lcchecktokens > 1) break; 740 else 741 continue; 742 } 743 else if (k == 0) 744 { 745 if (lcchecktokens < 2) 746 lcchecktokens = 2; 747 } 748 749 // second cmd tokentext is same, then check third 750 if ((((TSqlCmd)pdbcmds.get(i)).token3 == "") || (((TSqlCmd)pdbcmds.get(i)).token3 == " ")) 751 { 752 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 753 if (((TSqlCmd)pdbcmds.get(i)).token3 == "") 754 break; 755 } 756 757 TSourceToken lcnnextsolidtoken = nextsolidtoken(lcnextsolidtoken); 758 if (lcnnextsolidtoken == null) break; 759 if ((((TSqlCmd)pdbcmds.get(i)).token3 == "*"))// && (lcchecktokens < 3)) // can match any string 760 k = 0; 761 else 762 { 763 k = TBaseType.mycomparetext(lcnnextsolidtoken.astext, ((TSqlCmd)pdbcmds.get(i)).token3); 764 } 765 if (k != 0) 766 { 767 if (lcchecktokens > 2) {break;} 768 else 769 continue; 770 } 771 else 772 { 773 if (lcchecktokens < 3) 774 {lcchecktokens = 3;} 775 } 776 777 // third cmd tokentext is same, then check fourth 778 if ((((TSqlCmd)pdbcmds.get(i)).token4 == "") || (((TSqlCmd)pdbcmds.get(i)).token4 == " ")) 779 { 780 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 781 if (((TSqlCmd)pdbcmds.get(i)).token4 == "") 782 break; 783 } 784 785 TSourceToken lcnnnextsolidtoken = nextsolidtoken(lcnnextsolidtoken); 786 if (lcnnnextsolidtoken == null) { break;} 787 if ((((TSqlCmd)(pdbcmds.get(i))).token4 == "*"))// && (lcchecktokens < 4)) // can match any string 788 {k = 0;} 789 else 790 {k = TBaseType.mycomparetext(lcnnnextsolidtoken.astext,((TSqlCmd)pdbcmds.get(i)).token4);} 791 792 if (k != 0 ) 793 { 794 if (lcchecktokens > 3) break; 795 else 796 continue; 797 } 798 else 799 { 800 if (lcchecktokens < 4) 801 lcchecktokens = 4; 802 } 803 804 // fourth cmd tokentext is same, then check fiveth 805 if ((((TSqlCmd)pdbcmds.get(i)).token5 == "") || (((TSqlCmd)pdbcmds.get(i)).token5 == " ") ) 806 { 807 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 808 if (((TSqlCmd)pdbcmds.get(i)).token5 == "") 809 break; 810 } 811 812 TSourceToken lcnnnnextsolidtoken = nextsolidtoken(lcnnnextsolidtoken); 813 if (lcnnnnextsolidtoken == null) break; 814 if ((((TSqlCmd)pdbcmds.get(i)).token5 == "*") )//&& (lcchecktokens < 5) ) // can match any string 815 { k = 0;} 816 else 817 { k = TBaseType.mycomparetext(lcnnnnextsolidtoken.astext, ((TSqlCmd)pdbcmds.get(i)).token5);} 818 if ( k != 0) 819 { 820 if (lcchecktokens > 4) break; 821 else 822 continue; 823 } 824 else 825 { 826 if (lcchecktokens < 5) 827 lcchecktokens = 5; 828 } 829 830 // fiveth cmd tokentext is same, then check sixth 831 if ((((TSqlCmd)pdbcmds.get(i)).token6 == "") || (((TSqlCmd)pdbcmds.get(i)).token6 == " ")) 832 { 833 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 834 if (((TSqlCmd)pdbcmds.get(i)).token6 == "") 835 break; 836 } 837 838 TSourceToken lcnnnnnextsolidtoken = nextsolidtoken(lcnnnnextsolidtoken); 839 if (lcnnnnnextsolidtoken == null) break; 840 if ((((TSqlCmd)pdbcmds.get(i)).token6 == "*"))// && (lcchecktokens < 6)) // can match any string 841 {k = 0;} 842 else 843 { k = TBaseType.mycomparetext(lcnnnnnextsolidtoken.astext,((TSqlCmd)pdbcmds.get(i)).token6);} 844 if (k != 0) 845 { 846 if (lcchecktokens > 5) break; 847 else 848 continue; 849 } 850 else 851 { 852 if (lcchecktokens < 6) 853 lcchecktokens = 6; 854 } 855 856 // sixth cmd tokentext is same, then check seventh 857 if ((((TSqlCmd)pdbcmds.get(i)).token7 == "") || (((TSqlCmd)pdbcmds.get(i)).token7 == " ")) 858 { 859 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 860 if(((TSqlCmd)pdbcmds.get(i)).token7 == "") 861 break; 862 } 863 864 TSourceToken lcnnnnnnextsolidtoken = nextsolidtoken(lcnnnnnextsolidtoken); 865 if (lcnnnnnnextsolidtoken == null) break; 866 if ((((TSqlCmd)pdbcmds.get(i)).token7 == "*"))// && (lcchecktokens < 7)) // can match any string 867 {k = 0;} 868 else 869 { k = TBaseType.mycomparetext(lcnnnnnnextsolidtoken.astext,((TSqlCmd)pdbcmds.get(i)).token7);} 870 if (k != 0) 871 { 872 if (lcchecktokens > 6 ) break; 873 else 874 continue; 875 } 876 else 877 { 878 if (lcchecktokens < 7) 879 {lcchecktokens = 7;} 880 ret = ((TSqlCmd)pdbcmds.get(i)).sqlstatementtype; 881 break; 882 } 883 884 885 } //for 886 return ret; 887} 888 889TSourceToken nextsolidtoken(TSourceToken ptoken){ 890 TSourceToken ret = null; 891 if (ptoken.container == null) {return ret;} 892 ret = ptoken.container.nextsolidtoken(ptoken,1,false); 893 894 return ret; 895} 896 897void initteradatacmds(){ 898 899 addteradatacmds(ESqlStatementType.sstteradataabort, TBaseType.rrw_abort, " "," "," "," "," "," "); 900 addteradatacmds(ESqlStatementType.sstteradataalterconstraint, TBaseType.rrw_alter,"constraint"," "," "," "," "," "); 901 addteradatacmds(ESqlStatementType.sstteradataalterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 902 addteradatacmds(ESqlStatementType.sstteradataalterfunction, TBaseType.rrw_alter,"specific","function"," "," "," "," "); 903 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"method"," "," "," "," "," "); 904 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"constructor","method"," "," "," "," "); 905 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"instance","method"," "," "," "," "); 906 addteradatacmds(ESqlStatementType.sstteradataaltermethod, TBaseType.rrw_alter,"specific","method"," "," "," "," "); 907 addteradatacmds(ESqlStatementType.sstteradataalterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 908 addteradatacmds(ESqlStatementType.sstteradataalterreplicationgroup, TBaseType.rrw_alter,"replication","group"," "," "," "," "); 909 addteradatacmds(ESqlStatementType.sstteradataaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 910 addteradatacmds(ESqlStatementType.sstteradataaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 911 addteradatacmds(ESqlStatementType.sstteradataaltertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 912 addteradatacmds(ESqlStatementType.sstteradataalterzone, TBaseType.rrw_alter,"zone"," "," "," "," "," "); 913 914 addteradatacmds(ESqlStatementType.sstteradatabegindeclaresection, TBaseType.rrw_begin,"delcare","section"," "," "," "," "); 915 addteradatacmds(ESqlStatementType.sstteradatabeginlogging, TBaseType.rrw_begin,"logging"," "," "," "," "," "); 916 addteradatacmds(ESqlStatementType.sstteradatabeginquerylogging, TBaseType.rrw_begin,"query","logging"," "," "," "," "); 917 addteradatacmds(ESqlStatementType.sstteradatabegintransaction, TBaseType.rrw_begin,"transaction"," "," "," "," "," "); 918 addteradatacmds(ESqlStatementType.sstteradatabegintransaction, TBaseType.rrw_bt," "," "," "," "," "," "); 919 920 addteradatacmds(ESqlStatementType.sstteradatacall, TBaseType.rrw_call," "," "," "," "," "," "); 921 addteradatacmds(ESqlStatementType.sstteradatacheckworkload, TBaseType.rrw_check,"workload"," "," "," "," "," "); 922 addteradatacmds(ESqlStatementType.sstteradatacheckpoint, TBaseType.rrw_checkpoint," "," "," "," "," "," "); 923 addteradatacmds(ESqlStatementType.sstteradataclose, TBaseType.rrw_close," "," "," "," "," "," "); 924 925 addteradatacmds(ESqlStatementType.sstteradatacreatemacro, TBaseType.rrw_teradata_cm," "," "," "," "," "," "); 926 927 addteradatacmds(ESqlStatementType.sstteradatacollectdemographics, TBaseType.rrw_teradata_collect,"demographics"," "," "," "," "," "); 928 929 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"statistics"," "," "," "," "," "); 930 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"stats"," "," "," "," "," "); 931 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"stat"," "," "," "," "," "); 932 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"summary","statistics"," "," "," "," "); 933 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"summary","stats"," "," "," "," "); 934 addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, TBaseType.rrw_teradata_collect,"summary","stat"," "," "," "," "); 935 936 937 addteradatacmds(ESqlStatementType.sstteradatacomment, TBaseType.rrw_comment," "," "," "," "," "," "); 938 addteradatacmds(ESqlStatementType.sstteradatacommit, TBaseType.rrw_commit," "," "," "," "," "," "); 939 addteradatacmds(ESqlStatementType.sstteradataconnect, TBaseType.rrw_connect," "," "," "," "," "," "); 940 addteradatacmds(ESqlStatementType.sstteradatacreateauthorization, TBaseType.rrw_create,"authorization"," "," "," "," "," "); 941 addteradatacmds(ESqlStatementType.sstteradatacreatecast, TBaseType.rrw_create,"cast"," "," "," "," "," "); 942 943 addteradatacmds(ESqlStatementType.sstteradatacreatemethod, TBaseType.rrw_create,"constructor","method"," "," "," "," "); 944 945 addteradatacmds(ESqlStatementType.sstteradatacreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 946 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"error","table"," "," "," "," "); 947 addteradatacmds(ESqlStatementType.sstteradatacreaterole, TBaseType.rrw_create,"external","role"," "," "," "," "); 948 949 addteradatacmds(ESqlStatementType.sstteradatacreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 950 951 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","multiset","table"," "," "); 952 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","set","table"," "," "); 953 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 954 955 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"hash","index"," "," "," "," "); 956 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 957 958 addteradatacmds(ESqlStatementType.sstteradatacreatemethod, TBaseType.rrw_create,"instance","method"," "," "," "," "); 959 960 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"join","index"," "," "," "," "); 961 962 addteradatacmds(ESqlStatementType.sstteradatacreatemacro, TBaseType.rrw_create,"macro"," "," "," "," "," "); 963 964 addteradatacmds(ESqlStatementType.sstteradatacreatemethod, TBaseType.rrw_create,"method"," "," "," "," "," "); 965 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"multiset","global","temporary","table"," "," "); 966 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"multiset","table"," "," "," "," "); 967 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"multiset","volatile","table"," "," "," "); 968 969 addteradatacmds(ESqlStatementType.sstteradatacreateordering, TBaseType.rrw_create,"ordering"," "," "," "," "," "); 970 971 addteradatacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 972 addteradatacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 973 974 addteradatacmds(ESqlStatementType.sstteradatacreateprofile, TBaseType.rrw_create,"profile"," "," "," "," "," "); 975 976 addteradatacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"recursive","view"," "," "," "," "); 977 978 addteradatacmds(ESqlStatementType.sstteradatacreatereplicationgroup, TBaseType.rrw_create,"replication","group"," "," "," "," "); 979 addteradatacmds(ESqlStatementType.sstteradatacreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 980 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"set","global","temporary","table"," "," "); 981 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"set","table"," "," "," "," "); 982 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"set","volatile","table"," "," "," "); 983 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 984 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"temporary","table"," "," "," "," "); 985 986 addteradatacmds(ESqlStatementType.sstteradatacreatetransform, TBaseType.rrw_create,"transform"," "," "," "," "," "); 987 988 addteradatacmds(ESqlStatementType.sstteradatacreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 989 990 addteradatacmds(ESqlStatementType.sstteradatacreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 991 992 addteradatacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 993 994 addteradatacmds(ESqlStatementType.sstteradatacreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 995 996 addteradatacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 997 998 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"volatile","multiset","table"," "," "," "); 999 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"volatile","table"," "," "," "," "); 1000 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"volatile","set","table"," "," "," "); 1001 1002 addteradatacmds(ESqlStatementType.sstcreatezone, TBaseType.rrw_create,"zone"," "," "," "," "," "); 1003 1004 addteradatacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_ct," "," "," "," "," "," "); 1005 1006 addteradatacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_teradata_cv," "," "," "," "," "," "); 1007 1008 addteradatacmds(ESqlStatementType.sstteradatadatabase, TBaseType.rrw_database," "," "," "," "," "," "); 1009 1010 addteradatacmds(ESqlStatementType.sstteradatadeclarecursor, TBaseType.rrw_declare,"cursor"," "," "," "," "," "); 1011 1012 addteradatacmds(ESqlStatementType.sstteradatadeclarestatement, TBaseType.rrw_declare,"statement"," "," "," "," "," "); 1013 1014 addteradatacmds(ESqlStatementType.sstteradatadeclaretable, TBaseType.rrw_declare,"table"," "," "," "," "," "); 1015 1016 addteradatacmds(ESqlStatementType.sstdelete, TBaseType.rrw_teradata_del," "," "," "," "," "," "); 1017 1018 addteradatacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 1019 1020 addteradatacmds(ESqlStatementType.sstteradatadeletedatabase, TBaseType.rrw_delete,"database"," "," "," "," "," "); 1021 1022 addteradatacmds(ESqlStatementType.sstteradatadeleteuser, TBaseType.rrw_delete,"user"," "," "," "," "," "); 1023 1024 addteradatacmds(ESqlStatementType.sstteradatadescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 1025 1026 addteradatacmds(ESqlStatementType.sstteradatadiagnostic, TBaseType.rrw_teradata_diagnostic," "," "," "," "," "," "); 1027 1028 addteradatacmds(ESqlStatementType.sstteradatadropauthorization, TBaseType.rrw_drop,"authorization"," "," "," "," "," "); 1029 1030 addteradatacmds(ESqlStatementType.sstteradatadropcast, TBaseType.rrw_drop,"cast"," "," "," "," "," "); 1031 addteradatacmds(ESqlStatementType.sstteradatadropconstraint, TBaseType.rrw_drop,"constraint"," "," "," "," "," "); 1032 addteradatacmds(ESqlStatementType.sstteradatadropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 1033 addteradatacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"error","table"," "," "," "," "); 1034 addteradatacmds(ESqlStatementType.sstteradatadroprole, TBaseType.rrw_drop,"external","role"," "," "," "," "); 1035 1036 addteradatacmds(ESqlStatementType.sstteradatadropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 1037 1038 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"hash","index"," "," "," "," "); 1039 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 1040 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"join","index"," "," "," "," "); 1041 1042 addteradatacmds(ESqlStatementType.sstteradatadropmacro, TBaseType.rrw_drop,"macro"," "," "," "," "," "); 1043 1044 addteradatacmds(ESqlStatementType.sstteradatadropordering, TBaseType.rrw_drop,"ordering"," "," "," "," "," "); 1045 1046 addteradatacmds(ESqlStatementType.sstteradatadropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 1047 1048 addteradatacmds(ESqlStatementType.sstteradatadropprofile, TBaseType.rrw_drop,"profile"," "," "," "," "," "); 1049 1050 addteradatacmds(ESqlStatementType.sstteradatadropreplicationgroup, TBaseType.rrw_drop,"replication","group"," "," "," "," "); 1051 1052 addteradatacmds(ESqlStatementType.sstteradatadroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 1053 1054 addteradatacmds(ESqlStatementType.sstteradatadropfunction, TBaseType.rrw_drop,"specific","function"," "," "," "," "); 1055 1056 addteradatacmds(ESqlStatementType.sstteradatadropstatistics, TBaseType.rrw_drop,"stat"," "," "," "," "," "); 1057 addteradatacmds(ESqlStatementType.sstteradatadropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 1058 addteradatacmds(ESqlStatementType.sstteradatadropstatistics, TBaseType.rrw_drop,"stats"," "," "," "," "," "); 1059 1060 addteradatacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 1061 addteradatacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"temporary","table"," "," "," "," "); 1062 1063 addteradatacmds(ESqlStatementType.sstteradatadroptransform, TBaseType.rrw_drop,"transform"," "," "," "," "," "); 1064 1065 addteradatacmds(ESqlStatementType.sstteradatadroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 1066 1067 addteradatacmds(ESqlStatementType.sstteradatadroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 1068 addteradatacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"unique","index"," "," "," "," "); 1069 1070 addteradatacmds(ESqlStatementType.sstteradatadropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 1071 1072 addteradatacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 1073 1074 addteradatacmds(ESqlStatementType.sstteradatadropzone, TBaseType.rrw_drop,"zone"," "," "," "," "," "); 1075 1076 addteradatacmds(ESqlStatementType.sstteradatadumpexplain, TBaseType.rrw_teradata_dump,"explain"," "," "," "," "," "); 1077 1078 addteradatacmds(ESqlStatementType.sstteradataecho, TBaseType.rrw_teradata_echo," "," "," "," "," "," "); 1079 1080 addteradatacmds(ESqlStatementType.sstteradataenddeclaresection, TBaseType.rrw_end,"declare","section"," "," "," "," "); 1081 1082 addteradatacmds(ESqlStatementType.sstteradataendlogging, TBaseType.rrw_end,"logging"," "," "," "," "," "); 1083 1084 addteradatacmds(ESqlStatementType.sstteradataendquerylogging, TBaseType.rrw_end,"query","logging"," "," "," "," "); 1085 1086 addteradatacmds(ESqlStatementType.sstteradataendtransaction, TBaseType.rrw_end,"transaction"," "," "," "," "," "); 1087 1088 addteradatacmds(ESqlStatementType.sstteradataendtransaction, TBaseType.rrw_et," "," "," "," "," "," "); 1089 1090 addteradatacmds(ESqlStatementType.sstteradataexecute, TBaseType.rrw_execute," "," "," "," "," "," "); 1091 1092 addteradatacmds(ESqlStatementType.sstteradataexecute, TBaseType.rrw_exec," "," "," "," "," "," "); 1093 1094 addteradatacmds(ESqlStatementType.sstteradataexecuteimmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 1095 1096 addteradatacmds(ESqlStatementType.sstteradataExit, TBaseType.rrw_teradata_exit," "," "," "," "," "," "); 1097 1098 addteradatacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 1099 1100 1101 addteradatacmds(ESqlStatementType.sstteradatafetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 1102 1103 addteradatacmds(ESqlStatementType.sstteradatagetcrash, TBaseType.rrw_get,"crash"," "," "," "," "," "); 1104 1105 addteradatacmds(ESqlStatementType.sstgetdiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 1106 1107 addteradatacmds(ESqlStatementType.sstteradatagive, TBaseType.rrw_teradata_give," "," "," "," "," "," "); 1108 1109 addteradatacmds(ESqlStatementType.sstteradatagrant, TBaseType.rrw_grant," "," "," "," "," "," "); 1110 1111 addteradatacmds(ESqlStatementType.sstteradatahelp, TBaseType.rrw_teradata_help," "," "," "," "," "," "); 1112 1113 addteradatacmds(ESqlStatementType.sstteradatainclude, TBaseType.rrw_include," "," "," "," "," "," "); 1114 1115 addteradatacmds(ESqlStatementType.sstinsert, TBaseType.rrw_teradata_ins," "," "," "," "," "," "); 1116 1117 addteradatacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 1118 1119 addteradatacmds(ESqlStatementType.sstteradatainsertexplain, TBaseType.rrw_insert,"explain"," "," "," "," "," "); 1120 1121 addteradatacmds(ESqlStatementType.sstteradatalabel, TBaseType.rrw_teradata_label," "," "," "," "," "," "); 1122 addteradatacmds(ESqlStatementType.sstteradatalock, TBaseType.rrw_lock," "," "," "," "," "," "); 1123 addteradatacmds(ESqlStatementType.sstteradatalock, TBaseType.rrw_teradata_locking," "," "," "," "," "," "); 1124 addteradatacmds(ESqlStatementType.sstteradatalogon, TBaseType.rrw_teradata_logon," "," "," "," "," "," "); 1125 1126 addteradatacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 1127 1128 addteradatacmds(ESqlStatementType.sstteradatamodifydatabase, TBaseType.rrw_teradata_modify,"database"," "," "," "," "," "); 1129 1130 addteradatacmds(ESqlStatementType.sstteradatamodifyprofile, TBaseType.rrw_teradata_modify,"profile"," "," "," "," "," "); 1131 1132 addteradatacmds(ESqlStatementType.sstteradatamodifyuser, TBaseType.rrw_teradata_modify,"user"," "," "," "," "," "); 1133 1134 addteradatacmds(ESqlStatementType.sstteradataopen, TBaseType.rrw_open," "," "," "," "," "," "); 1135 1136 addteradatacmds(ESqlStatementType.sstteradataposition, TBaseType.rrw_teradata_position," "," "," "," "," "," "); 1137 1138 addteradatacmds(ESqlStatementType.sstteradataprepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 1139 1140 addteradatacmds(ESqlStatementType.sstteradatareleaseLock, TBaseType.rrw_release,"lock"," "," "," "," "," "); 1141 1142 addteradatacmds(ESqlStatementType.sstteradatarenamefunction, TBaseType.rrw_rename,"function"," "," "," "," "," "); 1143 addteradatacmds(ESqlStatementType.sstteradatarenamemacro, TBaseType.rrw_rename,"macro"," "," "," "," "," "); 1144 addteradatacmds(ESqlStatementType.sstteradatarenameprocedure, TBaseType.rrw_rename,"procedure"," "," "," "," "," "); 1145 addteradatacmds(ESqlStatementType.sstteradatarenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 1146 addteradatacmds(ESqlStatementType.sstteradatarenametrigger, TBaseType.rrw_rename,"trigger"," "," "," "," "," "); 1147 addteradatacmds(ESqlStatementType.sstteradatarenameview, TBaseType.rrw_rename,"view"," "," "," "," "," "); 1148 1149 addteradatacmds(ESqlStatementType.sstteradatareplacecast, TBaseType.rrw_replace,"cast"," "," "," "," "," "); 1150 1151 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"constructor","method"," "," "," "," "); 1152 1153 addteradatacmds(ESqlStatementType.sstteradatareplacefunction, TBaseType.rrw_replace,"function"," "," "," "," "," "); 1154 1155 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"instance","method"," "," "," "," "); 1156 1157 addteradatacmds(ESqlStatementType.sstteradatareplacemacro, TBaseType.rrw_replace,"macro"," "," "," "," "," "); 1158 1159 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"method"," "," "," "," "," "); 1160 1161 addteradatacmds(ESqlStatementType.sstteradatareplaceordering, TBaseType.rrw_replace,"ordering"," "," "," "," "," "); 1162 1163 addteradatacmds(ESqlStatementType.sstteradatareplaceprocedure, TBaseType.rrw_replace,"procedure"," "," "," "," "," "); 1164 1165 addteradatacmds(ESqlStatementType.sstteradatareplacemethod, TBaseType.rrw_replace,"specific","method"," "," "," "," "); 1166 1167 addteradatacmds(ESqlStatementType.sstteradatareplacetransform, TBaseType.rrw_replace,"transform"," "," "," "," "," "); 1168 1169 addteradatacmds(ESqlStatementType.sstteradatacreatetrigger, TBaseType.rrw_replace,"trigger"," "," "," "," "," "); 1170 1171 addteradatacmds(ESqlStatementType.sstteradatareplaceview, TBaseType.rrw_replace,"view"," "," "," "," "," "); 1172 addteradatacmds(ESqlStatementType.sstteradatareplaceview, TBaseType.rrw_replace,"recursive","view"," "," "," "," "); 1173 1174 addteradatacmds(ESqlStatementType.sstteradatarestartindexanalysis, TBaseType.rrw_teradata_restart,"index","analysis"," "," "," "," "); 1175 1176 addteradatacmds(ESqlStatementType.sstteradatarevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 1177 1178 // addteradatacmds(ESqlStatementType.sstteradatarewind, TBaseType.rrw_rewind," "," "," "," "," "," "); 1179 1180 addteradatacmds(ESqlStatementType.sstteradatarollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 1181 1182 addteradatacmds(ESqlStatementType.sstselect, TBaseType.rrw_teradata_sel," "," "," "," "," "," "); 1183 addteradatacmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 1184 1185 //addteradatacmds(ESqlStatementType.sstsetbuffersize, TBaseType.rrw_set,"buffersize"," "," "," "," "," "); 1186 addteradatacmds(ESqlStatementType.sstteradatasetrole, TBaseType.rrw_set,"role"," "," "," "," "," "); 1187 1188 addteradatacmds(ESqlStatementType.sstteradatasetsession, TBaseType.rrw_set,"session"," "," "," "," "," "); 1189 addteradatacmds(ESqlStatementType.sstteradatasetsession, TBaseType.rrw_ss," "," "," "," "," "," "); 1190// addteradatacmds(ESqlStatementType.sstteradatasetsessionaccount, TBaseType.rrw_set,"session","account"," "," "," "," "); 1191 1192 addteradatacmds(ESqlStatementType.sstteradatasettimezone, TBaseType.rrw_set,"time","zone"," "," "," "," "); 1193 1194 addteradatacmds(ESqlStatementType.sstteradatashow, TBaseType.rrw_show," "," "," "," "," "," "); 1195 1196 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"constructor","method"," "," "," "," "); 1197 1198 addteradatacmds(ESqlStatementType.sstteradatashowfunction, TBaseType.rrw_show,"function"," "," "," "," "," "); 1199 1200 addteradatacmds(ESqlStatementType.sstteradatashowindex, TBaseType.rrw_show,"hash","index"," "," "," "," "); 1201 1202 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"instance","method"," "," "," "," "); 1203 1204 addteradatacmds(ESqlStatementType.sstteradatashowindex, TBaseType.rrw_show,"join","index"," "," "," "," "); 1205 1206 addteradatacmds(ESqlStatementType.sstteradatashowmacro, TBaseType.rrw_show,"macro"," "," "," "," "," "); 1207 1208 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"method"," "," "," "," "," "); 1209 1210 addteradatacmds(ESqlStatementType.sstteradatashowprocedure, TBaseType.rrw_show,"procedure"," "," "," "," "," "); 1211 1212 addteradatacmds(ESqlStatementType.sstteradatashowreplicationgroup, TBaseType.rrw_show,"replication","group"," "," "," "," "); 1213 1214 addteradatacmds(ESqlStatementType.sstteradatashowfunction, TBaseType.rrw_show,"specific","function"," "," "," "," "); 1215 addteradatacmds(ESqlStatementType.sstteradatashowmethod, TBaseType.rrw_show,"specific","method"," "," "," "," "); 1216 1217 addteradatacmds(ESqlStatementType.sstteradatashowtable, TBaseType.rrw_show,"table "," "," "," "," "," "); 1218 addteradatacmds(ESqlStatementType.sstteradatashowtable, TBaseType.rrw_show,"temporary","table"," "," "," "," "); 1219 1220 addteradatacmds(ESqlStatementType.sstteradatashowtrigger, TBaseType.rrw_show,"trigger"," "," "," "," "," "); 1221 addteradatacmds(ESqlStatementType.sstteradatashowtype, TBaseType.rrw_show,"type"," "," "," "," "," "); 1222 addteradatacmds(ESqlStatementType.sstteradatashowview, TBaseType.rrw_show,"view"," "," "," "," "," "); 1223 1224 //addteradatacmds(ESqlStatementType.sstteradatatest, TBaseType.rrw_test," "," "," "," "," "," "); 1225 addteradatacmds(ESqlStatementType.sstupdate, TBaseType.rrw_teradata_upd," "," "," "," "," "," "); 1226 addteradatacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1227 1228 addteradatacmds(ESqlStatementType.sstteradatausing, TBaseType.rrw_teradata_using," "," "," "," "," "," "); 1229 1230 addteradatacmds(ESqlStatementType.sstteradatawait, TBaseType.rrw_teradata_wait," "," "," "," "," "," "); 1231 //addteradatacmds(ESqlStatementType.sstteradatawhenever, TBaseType.rrw_whenever," "," "," "," "," "," "); 1232 1233} 1234 1235 void inithivecmds(){ 1236 addhivecmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1237 addhivecmds(ESqlStatementType.sstalterindex, TBaseType.rrw_alter, "index"," "," "," "," "," "); 1238 addhivecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1239 addhivecmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1240 addhivecmds(ESqlStatementType.sstanalyzeTable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1241 1242 1243 addhivecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1244 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external","table"," "," "," "," "); 1245 addhivecmds(ESqlStatementType.ssthiveCreateFunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1246 addhivecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index"," "," "," "," "," "); 1247 addhivecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 1248 1249 addhivecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","view"," "," "," "); 1250 addhivecmds(ESqlStatementType.ssthiveCreateRole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1251 addhivecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1252 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1253 addhivecmds(ESqlStatementType.ssthiveCreateFunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1254 addhivecmds(ESqlStatementType.sstCreateMacro, TBaseType.rrw_create, "temporary","macro"," "," "," "," "); 1255 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary","table"," "," "," "," "); 1256 addhivecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transactional","table"," "," "," "," "); 1257 addhivecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1258 1259 addhivecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 1260 addhivecmds(ESqlStatementType.ssthiveDesc, TBaseType.rrw_hive_desc, " "," "," "," "," "," "); 1261 1262 addhivecmds(ESqlStatementType.ssthiveDesc, TBaseType.rrw_describe, " "," "," "," "," "," "); 1263 1264 addhivecmds(ESqlStatementType.ssthiveDropDatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1265 addhivecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index"," "," "," "," "," "); 1266 addhivecmds(ESqlStatementType.ssthiveDropRole, TBaseType.rrw_drop, "role"," "," "," "," "," "); 1267 addhivecmds(ESqlStatementType.ssthiveDropDatabase, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1268 addhivecmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1269 addhivecmds(ESqlStatementType.ssthiveDropFunciton, TBaseType.rrw_drop, "temporary","function"," "," "," "," "); 1270 addhivecmds(ESqlStatementType.sstDropMacro, TBaseType.rrw_drop, "temporary","macro"," "," "," "," "); 1271 addhivecmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1272 1273 addhivecmds(ESqlStatementType.ssthiveExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1274 1275 addhivecmds(ESqlStatementType.ssthiveExportTable, TBaseType.rrw_hive_export, "table"," "," "," "," "," "); 1276 1277 addhivecmds(ESqlStatementType.ssthiveGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1278 addhivecmds(ESqlStatementType.ssthiveGrantRole, TBaseType.rrw_grant, "role"," "," "," "," "," "); 1279 1280 addhivecmds(ESqlStatementType.ssthiveImportTable, TBaseType.rrw_hive_import, "external","table"," "," "," "," "); 1281 addhivecmds(ESqlStatementType.ssthiveImportTable, TBaseType.rrw_hive_import, "from"," "," "," "," "," "); 1282 addhivecmds(ESqlStatementType.ssthiveImportTable, TBaseType.rrw_hive_import, "table"," "," "," "," "," "); 1283 1284 addhivecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1285 1286 1287 addhivecmds(ESqlStatementType.ssthiveLoad, TBaseType.rrw_load, "data"," "," "," "," "," "); 1288 1289 addhivecmds(ESqlStatementType.ssthiveLockTable, TBaseType.rrw_lock, "table"," "," "," "," "," "); 1290 1291 //merge 1292 addhivecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 1293 1294 addhivecmds(ESqlStatementType.sstmsck, TBaseType.rrw_hive_msck, " "," "," "," "," "," "); 1295 1296 addhivecmds(ESqlStatementType.ssthiveRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1297 addhivecmds(ESqlStatementType.ssthiveRevokeRole, TBaseType.rrw_revoke, "role"," "," "," "," "," "); 1298 1299 addhivecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1300 addhivecmds(ESqlStatementType.ssthiveSet, TBaseType.rrw_set, " "," "," "," "," "," "); 1301 addhivecmds(ESqlStatementType.ssthiveShow, TBaseType.rrw_show, " "," "," "," "," "," "); 1302 addhivecmds(ESqlStatementType.ssthiveShowGrants, TBaseType.rrw_show, "grant"," "," "," "," "," "); 1303 addhivecmds(ESqlStatementType.ssthiveShowRoleGrants, TBaseType.rrw_show, "role","grant"," "," "," "," "); 1304 1305 addhivecmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, "table"," "," "," "," "," "); 1306 1307 addhivecmds(ESqlStatementType.ssthiveUnlockTable, TBaseType.rrw_unlock, "table"," "," "," "," "," "); 1308 addhivecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1309 addhivecmds(ESqlStatementType.sstupsert, TBaseType.rrw_hive_upsert, " ", " ", " ", " ", " ", " "); 1310 addhivecmds(ESqlStatementType.ssthiveSwitchDatabase, TBaseType.rrw_use, " "," "," "," "," "," "); 1311 } 1312 1313 void initdatabrickscmds(){ 1314 adddatabrickscmds(ESqlStatementType.sstaddAchieve, TBaseType.rrw_add, "archive"," "," "," "," "," "); 1315 adddatabrickscmds(ESqlStatementType.sstaddAchieve, TBaseType.rrw_add, "archives"," "," "," "," "," "); 1316 adddatabrickscmds(ESqlStatementType.sstaltercatalog, TBaseType.rrw_alter, "catalog"," "," "," "," "," "); 1317 adddatabrickscmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1318 adddatabrickscmds(ESqlStatementType.sstalterlocation, TBaseType.rrw_alter, "external","location"," "," "," "," "); 1319 adddatabrickscmds(ESqlStatementType.sstAlterGroup, TBaseType.rrw_alter, "group"," "," "," "," "," "); 1320 adddatabrickscmds(ESqlStatementType.sstalterprovider, TBaseType.rrw_alter, "provider"," "," "," "," "," "); 1321 adddatabrickscmds(ESqlStatementType.sstalterrecipient, TBaseType.rrw_alter, "recipient"," "," "," "," "," "); 1322 adddatabrickscmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema"," "," "," "," "," "); 1323 adddatabrickscmds(ESqlStatementType.sstAltershare, TBaseType.rrw_alter, "share"," "," "," "," "," "); 1324 adddatabrickscmds(ESqlStatementType.sstaltercredental, TBaseType.rrw_alter, "storage","credential"," "," "," "," "); 1325 adddatabrickscmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1326 adddatabrickscmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1327 adddatabrickscmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1328 adddatabrickscmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, "tables"," "," "," "," "," "); 1329 adddatabrickscmds(ESqlStatementType.sstCacheSelect, TBaseType.rrw_cache, "select"," "," "," "," "," "); 1330 adddatabrickscmds(ESqlStatementType.sstClearCache, TBaseType.rrw_clear, "cache"," "," "," "," "," "); 1331 adddatabrickscmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment, "on"," "," "," "," "," "); 1332 adddatabrickscmds(ESqlStatementType.sstConvertToDelta, TBaseType.rrw_databricks_convert, "to","delta"," "," "," "," "); 1333 adddatabrickscmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_databricks_copy, "into"," "," "," "," "," "); 1334 adddatabrickscmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "bloomfilter","index"," "," "," "," "); 1335 adddatabrickscmds(ESqlStatementType.sstcreatecatalog, TBaseType.rrw_create, "catalog"," "," "," "," "," "); 1336 adddatabrickscmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1337 adddatabrickscmds(ESqlStatementType.sstCreateExternallocation, TBaseType.rrw_create, "external","location"," "," "," "," "); 1338 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1339 adddatabrickscmds(ESqlStatementType.sstCreategroup, TBaseType.rrw_create, "group"," "," "," "," "," "); 1340 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1341 adddatabrickscmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or","replace","table"," "," "," "); 1342 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","temp","function"," "," "); 1343 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","temp","view"," "," "); 1344 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","temporary","function"," "," "); 1345 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","temporary","view"," "," "); 1346 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","view"," "," ", " "); 1347 adddatabrickscmds(ESqlStatementType.sstcreaterecipient, TBaseType.rrw_create, "recipient"," "," "," "," "," "); 1348 adddatabrickscmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1349 adddatabrickscmds(ESqlStatementType.sstcreateshare, TBaseType.rrw_create, "share"," "," "," "," "," "); 1350 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temp","function"," "," "," "," "); 1351 adddatabrickscmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1352 adddatabrickscmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1353 adddatabrickscmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1354 adddatabrickscmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1355 adddatabrickscmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1356 adddatabrickscmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, "from"," "," "," "," "," "); 1357 adddatabrickscmds(ESqlStatementType.sstDeny, TBaseType.rrw_deny, " "," "," "," "," "," "); 1358 adddatabrickscmds(ESqlStatementType.sstdescribe, TBaseType.rrw_databricks_desc, " "," "," "," "," "," "); 1359 adddatabrickscmds(ESqlStatementType.sstdescribeCatalog, TBaseType.rrw_databricks_desc, "catalog"," "," "," "," "," "); 1360 adddatabrickscmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_databricks_desc, "function"," "," "," "," "," "); 1361 adddatabrickscmds(ESqlStatementType.sstdescribeProvider, TBaseType.rrw_databricks_desc, "provider"," "," "," "," "," "); 1362 adddatabrickscmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_databricks_desc, "query"," "," "," "," "," "); 1363 adddatabrickscmds(ESqlStatementType.sstdescribeRecipient, TBaseType.rrw_databricks_desc, "recipient"," "," "," "," "," "); 1364 adddatabrickscmds(ESqlStatementType.sstdescribeSchema, TBaseType.rrw_databricks_desc, "schema"," "," "," "," "," "); 1365 adddatabrickscmds(ESqlStatementType.sstdescribeShare, TBaseType.rrw_databricks_desc, "share"," "," "," "," "," "); 1366 adddatabrickscmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_databricks_desc, "table"," "," "," "," "," "); 1367 adddatabrickscmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe, " "," "," "," "," "," "); 1368 adddatabrickscmds(ESqlStatementType.sstdescribeCatalog, TBaseType.rrw_describe, "catalog"," "," "," "," "," "); 1369 adddatabrickscmds(ESqlStatementType.sstdescribeDatabase, TBaseType.rrw_describe, "database"," "," "," "," "," "); 1370 adddatabrickscmds(ESqlStatementType.sstdescribeLocation, TBaseType.rrw_describe, "external","location"," "," "," "," "); 1371 adddatabrickscmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_describe, "function"," "," "," "," "," "); 1372 adddatabrickscmds(ESqlStatementType.sstdescribeProvider, TBaseType.rrw_describe, "provider"," "," "," "," "," "); 1373 adddatabrickscmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_describe, "query"," "," "," "," "," "); 1374 adddatabrickscmds(ESqlStatementType.sstdescribeRecipient, TBaseType.rrw_describe, "recipient"," "," "," "," "," "); 1375 adddatabrickscmds(ESqlStatementType.sstdescribeSchema, TBaseType.rrw_describe, "schema"," "," "," "," "," "); 1376 adddatabrickscmds(ESqlStatementType.sstdescribeShare, TBaseType.rrw_describe, "share"," "," "," "," "," "); 1377 adddatabrickscmds(ESqlStatementType.sstdescribeCredential, TBaseType.rrw_describe, "storage","credential"," "," "," "," "); 1378 adddatabrickscmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_describe, "table"," "," "," "," "," "); 1379 adddatabrickscmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "bloomfilter","index"," "," "," "," "); 1380 adddatabrickscmds(ESqlStatementType.sstdropcatalog, TBaseType.rrw_drop, "catalog"," "," "," "," "," "); 1381 adddatabrickscmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1382 adddatabrickscmds(ESqlStatementType.sstdroplocation, TBaseType.rrw_drop, "external","location"," "," "," "," "); 1383 adddatabrickscmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1384 adddatabrickscmds(ESqlStatementType.sstDropGroup, TBaseType.rrw_drop, "group"," "," "," "," "," "); 1385 adddatabrickscmds(ESqlStatementType.sstdropprovider, TBaseType.rrw_drop, "provider"," "," "," "," "," "); 1386 adddatabrickscmds(ESqlStatementType.sstdroprecipient, TBaseType.rrw_drop, "recipient"," "," "," "," "," "); 1387 adddatabrickscmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1388 adddatabrickscmds(ESqlStatementType.sstdropshare, TBaseType.rrw_drop, "share"," "," "," "," "," "); 1389 adddatabrickscmds(ESqlStatementType.sstdropcredential, TBaseType.rrw_drop, "storage","credential"," "," "," "," "); 1390 adddatabrickscmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "temp","function"," "," "," "," "); 1391 adddatabrickscmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "temporary","function"," "," "," "," "); 1392 adddatabrickscmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1393 adddatabrickscmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1394 adddatabrickscmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1395 adddatabrickscmds(ESqlStatementType.sstmsckrepairtable, TBaseType.rrw_databricks_fsck, "repair"," "," "," "," "," "); 1396 adddatabrickscmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1397 adddatabrickscmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, "select","on","share"," "," "," "); 1398 adddatabrickscmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1399 adddatabrickscmds(ESqlStatementType.sstList, TBaseType.rrw_databricks_list, " "," "," "," "," "," "); 1400 adddatabrickscmds(ESqlStatementType.sstLoadData, TBaseType.rrw_load, "data"," "," "," "," "," "); 1401 adddatabrickscmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, "into"," "," "," "," "," "); 1402 adddatabrickscmds(ESqlStatementType.sstmsckrepairtable, TBaseType.rrw_databricks_msck, "repair"," "," "," "," "," "); 1403 adddatabrickscmds(ESqlStatementType.sstmsckrepairtable, TBaseType.rrw_databricks_msck, "repair","table"," "," "," "," "); 1404 adddatabrickscmds(ESqlStatementType.sstOptimize, TBaseType.rrw_optimize, " "," "," "," "," "," "); 1405 adddatabrickscmds(ESqlStatementType.sstRefresh, TBaseType.rrw_refresh, " "," "," "," "," "," "); 1406 adddatabrickscmds(ESqlStatementType.sstRefreshFunction, TBaseType.rrw_refresh, "function"," "," "," "," "," "); 1407 adddatabrickscmds(ESqlStatementType.sstRefreshTable, TBaseType.rrw_refresh, "table"," "," "," "," "," "); 1408 adddatabrickscmds(ESqlStatementType.sstReorgTable, TBaseType.rrw_databricks_reorg, "table"," "," "," "," "," "); 1409 adddatabrickscmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_replace, "table"," "," "," "," "," "); 1410 adddatabrickscmds(ESqlStatementType.sstReset, TBaseType.rrw_reset, " "," "," "," "," "," "); 1411 adddatabrickscmds(ESqlStatementType.sstRestoreTable, TBaseType.rrw_restore, " "," "," "," "," "," "); 1412 adddatabrickscmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1413 adddatabrickscmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, "select","on","share"," "," "," "); 1414 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, " "," "," "," "," "," "); 1415 adddatabrickscmds(ESqlStatementType.sstUseCatalog, TBaseType.rrw_set, "catalog"," "," "," "," "," "); 1416 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, "time","zone"," "," "," "," "); 1417 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "all","functions"," "," "," "," "); 1418 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "all","in","share"," "," "," "); 1419 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "catalogs"," "," "," "," "," "); 1420 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1421 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","table"," "," "," "," "); 1422 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "external","locations"," "," "," "," "); 1423 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1424 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants"," "," "," "," "," "); 1425 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants","on","share"," "," "," "); 1426 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants","to","recipient"," "," "," "); 1427 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "groups"," "," "," "," "," "); 1428 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "partitions"," "," "," "," "," "); 1429 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "providers"," "," "," "," "," "); 1430 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "recipients"," "," "," "," "," "); 1431 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "schemas"," "," "," "," "," "); 1432 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "shares"," "," "," "," "," "); 1433 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "storage","credentials"," "," "," "," "); 1434 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "system","functions"," "," "," "," "); 1435 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "table","extended"," "," "," "," "); 1436 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1437 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tblproperties"," "," "," "," "," "); 1438 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "user","functions"," "," "," "," "); 1439 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "users"," "," "," "," "," "); 1440 adddatabrickscmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "views"," "," "," "," "," "); 1441 adddatabrickscmds(ESqlStatementType.sstsync, TBaseType.rrw_databricks_sync, "schema"," "," "," "," "," "); 1442 adddatabrickscmds(ESqlStatementType.sstsync, TBaseType.rrw_databricks_sync, "table"," "," "," "," "," "); 1443 adddatabrickscmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table"," "," "," "," "," "); 1444 adddatabrickscmds(ESqlStatementType.sstUnCacheTable, TBaseType.rrw_databricks_uncache, "table"," "," "," "," "," "); 1445 adddatabrickscmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " "," "," "," "," "," "); 1446 adddatabrickscmds(ESqlStatementType.sstUseSchema, TBaseType.rrw_use, " "," "," "," "," "," "); 1447 adddatabrickscmds(ESqlStatementType.sstUseCatalog, TBaseType.rrw_use, "catalog"," "," "," "," "," "); 1448 adddatabrickscmds(ESqlStatementType.sstUseSchema, TBaseType.rrw_use, "database"," "," "," "," "," "); 1449 adddatabrickscmds(ESqlStatementType.sstUseSchema, TBaseType.rrw_use, "schema"," "," "," "," "," "); 1450 adddatabrickscmds(ESqlStatementType.sstVacuum, TBaseType.rrw_databricks_vacuum, " "," "," "," "," "," "); 1451 1452 adddatabrickscmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " "," "," "," "," "," "); 1453 1454 adddatabrickscmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1455 adddatabrickscmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1456 adddatabrickscmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " "," "," "," "," "," "); 1457 adddatabrickscmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_replace, "table"," "," "," "," "," "); 1458 adddatabrickscmds(ESqlStatementType.sstResetSession, TBaseType.rrw_reset, "session"," "," "," "," "," "); 1459 adddatabrickscmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1460 adddatabrickscmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " "," "," "," "," "," "); 1461 adddatabrickscmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1462 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role"," "," "," "," "," "); 1463 adddatabrickscmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session"," "," "," "," "," "); 1464 1465 adddatabrickscmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction"," "," "," "," "," "); 1466 1467 } 1468 void initprestocmds(){ 1469 addprestocmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function"," "," "," "," "," "); 1470 addprestocmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema"," "," "," "," "," "); 1471 addprestocmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1472 addprestocmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, " "," "," "," "," "," "); 1473 addprestocmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " "," "," "," "," "," "); 1474 addprestocmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " "," "," "," "," "," "); 1475 addprestocmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1476 addprestocmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1477 addprestocmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1478 addprestocmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1479 addprestocmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1480 addprestocmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1481 addprestocmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1482 addprestocmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, "prepare"," "," "," "," "," "); 1483 addprestocmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " "," "," "," "," "," "); 1484 addprestocmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe, " "," "," "," "," "," "); 1485 addprestocmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1486 addprestocmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," "," "," "," "," "); 1487 addprestocmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1488 addprestocmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1489 addprestocmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1490 addprestocmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, " "," "," "," "," "," "); 1491 addprestocmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1492 addprestocmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1493 addprestocmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1494 addprestocmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " "," "," "," "," "," "); 1495 addprestocmds(ESqlStatementType.sstResetSession, TBaseType.rrw_reset, "session"," "," "," "," "," "); 1496 addprestocmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1497 addprestocmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " "," "," "," "," "," "); 1498 addprestocmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1499 addprestocmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role"," "," "," "," "," "); 1500 addprestocmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session"," "," "," "," "," "); 1501 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "catalogs"," "," "," "," "," "); 1502 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1503 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","function"," "," "," "," "); 1504 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","table"," "," "," "," "); 1505 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","view"," "," "," "," "); 1506 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "current","roles"," "," "," "," "); 1507 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1508 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants"," "," "," "," "," "); 1509 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "role","grants"," "," "," "," "); 1510 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "roles"," "," "," "," "," "); 1511 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "schemas"," "," "," "," "," "); 1512 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "session"," "," "," "," "," "); 1513 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "stats"," "," "," "," "," "); 1514 addprestocmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1515 addprestocmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction"," "," "," "," "," "); 1516 addprestocmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " "," "," "," "," "," "); 1517 addprestocmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " "," "," "," "," "," "); 1518 } 1519 1520 void initathenacmds(){ 1521 addathenacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1522 addathenacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function"," "," "," "," "," "); 1523 addathenacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "schema"," "," "," "," "," "); 1524 addathenacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1525 addathenacmds(ESqlStatementType.sstAnalyzeTable, TBaseType.rrw_analyze, " "," "," "," "," "," "); 1526 addathenacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " "," "," "," "," "," "); 1527 addathenacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " "," "," "," "," "," "); 1528 addathenacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1529 addathenacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1530 addathenacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1531 addathenacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1532 addathenacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role"," "," "," "," "," "); 1533 addathenacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "schema"," "," "," "," "," "); 1534 addathenacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1535 addathenacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external","table"," "," "," "," "); 1536 addathenacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1537 addathenacmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, "prepare"," "," "," "," "," "); 1538 addathenacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " "," "," "," "," "," "); 1539 addathenacmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe, " "," "," "," "," "," "); 1540 addathenacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1541 addathenacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1542 addathenacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," "," "," "," "," "); 1543 addathenacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1544 addathenacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1545 addathenacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1546 addathenacmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, " "," "," "," "," "," "); 1547 addathenacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1548 addathenacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " "," "," "," "," "," "); 1549 addathenacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1550 addathenacmds(ESqlStatementType.sstmsck, TBaseType.rrw_athena_msck, " "," "," "," "," "," "); 1551 addathenacmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " "," "," "," "," "," "); 1552 addathenacmds(ESqlStatementType.sstResetSession, TBaseType.rrw_reset, "session"," "," "," "," "," "); 1553 addathenacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " "," "," "," "," "," "); 1554 addathenacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " "," "," "," "," "," "); 1555 addathenacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1556 addathenacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role"," "," "," "," "," "); 1557 addathenacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session"," "," "," "," "," "); 1558 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "catalogs"," "," "," "," "," "); 1559 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1560 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","function"," "," "," "," "); 1561 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","table"," "," "," "," "); 1562 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "create","view"," "," "," "," "); 1563 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "current","roles"," "," "," "," "); 1564 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "databases"," "," "," "," "," "); 1565 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1566 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "grants"," "," "," "," "," "); 1567 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "partitions"," "," "," "," "," "); 1568 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "role","grants"," "," "," "," "); 1569 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "roles"," "," "," "," "," "); 1570 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "schemas"," "," "," "," "," "); 1571 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "session"," "," "," "," "," "); 1572 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "stats"," "," "," "," "," "); 1573 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1574 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "tblproperties"," "," "," "," "," "); 1575 addathenacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, "views"," "," "," "," "," "); 1576 addathenacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction"," "," "," "," "," "); 1577 addathenacmds(ESqlStatementType.sstunload, TBaseType.rrw_athena_unload, " ", " ", " ", " ", " ", " "); 1578 addathenacmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " "," "," "," "," "," "); 1579 addathenacmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " "," "," "," "," "," "); 1580 } 1581 1582 void initsparksqlcmds(){ 1583 addsparksqlcmds(ESqlStatementType.sstAddFile, TBaseType.rrw_add, "file"," "," "," "," "," "); 1584 addsparksqlcmds(ESqlStatementType.sstAddJar, TBaseType.rrw_add, "jar"," "," "," "," "," "); 1585 addsparksqlcmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1586 addsparksqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1587 addsparksqlcmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1588 addsparksqlcmds(ESqlStatementType.sstanalyzeTable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1589 addsparksqlcmds(ESqlStatementType.sstCacheTable, TBaseType.rrw_cache, "table"," "," "," "," "," "); 1590 addsparksqlcmds(ESqlStatementType.sstCacheTable, TBaseType.rrw_cache, "lazy","table"," "," "," "," "); 1591 addsparksqlcmds(ESqlStatementType.sstClearCache, TBaseType.rrw_clear, "cache"," "," "," "," "," "); 1592 addsparksqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external","table"," "," "," "," "); 1593 addsparksqlcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database"," "," "," "," "," "); 1594 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function"," "," "," "," "," "); 1595 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "global","temporary","view"," "," "," "); 1596 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","function"," "," "," "); 1597 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","global","temporary","view"," "); 1598 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or","replace","temporary","function"," "," "); 1599 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","temporary","view"," "," "); 1600 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or","replace","view"," "," "," "); 1601 addsparksqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table"," "," "," "," "," "); 1602 addsparksqlcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary","function"," "," "," "," "); 1603 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "temporary","view"," "," "," "," "); 1604 addsparksqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view"," "," "," "," "," "); 1605 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_spark_desc, " "," "," "," "," "," "); 1606 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_describe, " "," "," "," "," "," "); 1607 addsparksqlcmds(ESqlStatementType.sstdescribeDatabase, TBaseType.rrw_spark_desc, "database"," "," "," "," "," "); 1608 addsparksqlcmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_spark_desc, "function"," "," "," "," "," "); 1609 addsparksqlcmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_spark_desc, "query"," "," "," "," "," "); 1610 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_spark_desc, "table"," "," "," "," "," "); 1611 addsparksqlcmds(ESqlStatementType.sstdescribeFunction, TBaseType.rrw_describe, "function"," "," "," "," "," "); 1612 addsparksqlcmds(ESqlStatementType.sstdescribeDatabase, TBaseType.rrw_describe, "database"," "," "," "," "," "); 1613 addsparksqlcmds(ESqlStatementType.sstdescribeQuery, TBaseType.rrw_describe, "query"," "," "," "," "," "); 1614 addsparksqlcmds(ESqlStatementType.sstdescribeTable, TBaseType.rrw_describe, "table"," "," "," "," "," "); 1615 addsparksqlcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "schema"," "," "," "," "," "); 1616 addsparksqlcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database"," "," "," "," "," "); 1617 addsparksqlcmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," "," "," "," "," "); 1618 addsparksqlcmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "temporary","function"," "," "," "," "); 1619 addsparksqlcmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," "," "," "," "," "); 1620 addsparksqlcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," "," "," "," "," "); 1621 addsparksqlcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " "," "," "," "," "," "); 1622 addsparksqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 1623 addsparksqlcmds(ESqlStatementType.sstListFile, TBaseType.rrw_spark_list, "file"," "," "," "," "," "); 1624 addsparksqlcmds(ESqlStatementType.sstListJar, TBaseType.rrw_spark_list, "jar"," "," "," "," "," "); 1625 addsparksqlcmds(ESqlStatementType.sstLoadData, TBaseType.rrw_load, "data"," "," "," "," "," "); 1626 addsparksqlcmds(ESqlStatementType.sstmsck, TBaseType.rrw_spark_msck, "repair","table"," "," "," "," "); 1627 addsparksqlcmds(ESqlStatementType.sstRefresh, TBaseType.rrw_refresh, " "," "," "," "," "," "); 1628 addsparksqlcmds(ESqlStatementType.sstRefreshFunction, TBaseType.rrw_refresh, "function"," "," "," "," "," "); 1629 addsparksqlcmds(ESqlStatementType.sstRefreshTable, TBaseType.rrw_refresh, "table"," "," "," "," "," "); 1630 addsparksqlcmds(ESqlStatementType.sstReset, TBaseType.rrw_reset, " "," "," "," "," "," "); 1631 addsparksqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " "," "," "," "," "," "); 1632 addsparksqlcmds(ESqlStatementType.sstset, TBaseType.rrw_set, " "," "," "," "," "," "); 1633 addsparksqlcmds(ESqlStatementType.sstSetTimeZone, TBaseType.rrw_set, "time","zone"," "," "," "," "); 1634 addsparksqlcmds(ESqlStatementType.sstShowColumns, TBaseType.rrw_show, "columns"," "," "," "," "," "); 1635 addsparksqlcmds(ESqlStatementType.sstShowCreateTable, TBaseType.rrw_show, "create","table"," "," "," "," "); 1636 addsparksqlcmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "databases"," "," "," "," "," "); 1637 addsparksqlcmds(ESqlStatementType.sstShowFunctions, TBaseType.rrw_show, "functions"," "," "," "," "," "); 1638 addsparksqlcmds(ESqlStatementType.sstShowPartitions, TBaseType.rrw_show, "partitions"," "," "," "," "," "); 1639 addsparksqlcmds(ESqlStatementType.sstShowTableExtended, TBaseType.rrw_show, "table","extended"," "," "," "," "); 1640 addsparksqlcmds(ESqlStatementType.sstShowTables, TBaseType.rrw_show, "tables"," "," "," "," "," "); 1641 addsparksqlcmds(ESqlStatementType.sstShowTblProperties, TBaseType.rrw_show, "tblproperties"," "," "," "," "," "); 1642 addsparksqlcmds(ESqlStatementType.sstShowUser, TBaseType.rrw_show, "user"," "," "," "," "," "); 1643 addsparksqlcmds(ESqlStatementType.sstShowViews, TBaseType.rrw_show, "views"," "," "," "," "," "); 1644 addsparksqlcmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table"," "," "," "," "," "); 1645 addsparksqlcmds(ESqlStatementType.sstrepairtable, TBaseType.rrw_repair, "table"," "," "," "," "," "); 1646 addsparksqlcmds(ESqlStatementType.sstUnCacheTable, TBaseType.rrw_spark_uncache, "table"," "," "," "," "," "); 1647 addsparksqlcmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " "," "," "," "," "," "); 1648 1649 } 1650 1651 void initmysqlcmds(){ 1652// cmd must be sort alphabetically 1653 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "algorithm"," "," "," "," "," "); 1654 addmysqlcmds(ESqlStatementType.sstmysqlalterdatabase, TBaseType.rrw_alter, "database"," "," "," "," "," "); 1655 addmysqlcmds(ESqlStatementType.sstmysqlalterfunction, TBaseType.rrw_alter, "function"," "," "," "," "," "); 1656 addmysqlcmds(ESqlStatementType.sstmysqlalterprocedure, TBaseType.rrw_alter, "procedure"," "," "," "," "," "); 1657 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "sql","security","definer","view"," "," "); 1658 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "sql","security","invoker","view"," "," "); 1659 addmysqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table"," "," "," "," "," "); 1660 addmysqlcmds(ESqlStatementType.sstmysqlalterview, TBaseType.rrw_alter, "view"," "," "," "," "," "); 1661 addmysqlcmds(ESqlStatementType.sstmysqlanalyzetable, TBaseType.rrw_analyze, "table"," "," "," "," "," "); 1662 addmysqlcmds(ESqlStatementType.sstmysqlbackuptable, TBaseType.rrw_backup, "table"," "," "," "," "," "); 1663 addmysqlcmds(ESqlStatementType.sstmysqlstarttransaction, TBaseType.rrw_begin, " "," "," "," "," "," "); 1664 addmysqlcmds(ESqlStatementType.sstmysqlcacheindex, TBaseType.rrw_cache, "index"," "," "," "," "," "); 1665 addmysqlcmds(ESqlStatementType.sstmysqlcall, TBaseType.rrw_call," "," "," "," "," "," "); 1666 addmysqlcmds(ESqlStatementType.sstmysqlcase, TBaseType.rrw_case," "," "," "," "," "," "); 1667 addmysqlcmds(ESqlStatementType.sstmysqlchangemasterto, TBaseType.rrw_change,"master", "to"," "," "," "," "); 1668 addmysqlcmds(ESqlStatementType.sstmysqlchecktable, TBaseType.rrw_check,"table"," "," "," "," "," "); 1669 addmysqlcmds(ESqlStatementType.sstmysqlchecktable, TBaseType.rrw_check,"tables"," "," "," "," "," "); 1670 addmysqlcmds(ESqlStatementType.sstmysqlchecksumtable, TBaseType.rrw_checksum,"table"," "," "," "," "," "); 1671 addmysqlcmds(ESqlStatementType.sstmysqlclose, TBaseType.rrw_close," "," "," "," "," "," "); 1672 addmysqlcmds(ESqlStatementType.sstmysqlcommit, TBaseType.rrw_commit," "," "," "," "," "," "); 1673 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"aggregate","function"," "," "," "," "); 1674 addmysqlcmds(ESqlStatementType.sstmysqlcreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 1675 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"definer", "=", "current_user", "function"," "," "); 1676 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"definer", "=", "current_user", "procedure"," "," "); 1677 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"definer", "=", "current_user", "trigger"," "," "); 1678 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"definer", "=","*","procedure"," "," "); 1679 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"definer", "=","*","function"," "," "); 1680 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"definer", "=","*","trigger"," "," "); 1681 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"definer", "=","*","*","*","function"); 1682 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"definer", "=","*","*","*","procedure"); 1683 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"definer", "=","*","*","*","trigger"); 1684 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"fulltext","index"," "," "," "," "); 1685 addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 1686 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 1687 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"or","replace","table"," "," "," "); 1688 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 1689 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","*","*","*","view"); 1690 addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 1691 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"spatial","index"," "," "," "," "); 1692 addmysqlcmds(ESqlStatementType.sstmysqlcreatedatabase, TBaseType.rrw_create,"schema"," "," "," "," "," "); 1693 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 1694 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"temp","table"," "," "," "," "); 1695 addmysqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"temporary","table"," "," "," "," "); 1696 addmysqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 1697 addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 1698 addmysqlcmds(ESqlStatementType.sstmysqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 1699 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 1700 addmysqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"*","*","*","*","*","view"); 1701 addmysqlcmds(ESqlStatementType.sstmysqldeallocateprepare, TBaseType.rrw_deallocate,"prepare"," "," "," "," "," "); 1702 addmysqlcmds(ESqlStatementType.sstmysqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 1703 addmysqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 1704 addmysqlcmds(ESqlStatementType.sstmysqldelimiter, TBaseType.rrw_mysql_delimiter," "," "," "," "," "," "); 1705 addmysqlcmds(ESqlStatementType.sstdescribe, TBaseType.rrw_mysql_desc," "," "," "," "," "," "); 1706 addmysqlcmds(ESqlStatementType.sstdescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 1707 addmysqlcmds(ESqlStatementType.sstmysqldo, TBaseType.rrw_do," "," "," "," "," "," "); 1708 addmysqlcmds(ESqlStatementType.sstmysqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 1709 addmysqlcmds(ESqlStatementType.sstmysqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 1710 addmysqlcmds(ESqlStatementType.sstmysqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 1711 addmysqlcmds(ESqlStatementType.sstmysqldropprepare, TBaseType.rrw_drop,"prepare"," "," "," "," "," "); 1712 addmysqlcmds(ESqlStatementType.sstmysqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 1713 addmysqlcmds(ESqlStatementType.sstmysqldropdatabase, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 1714 addmysqlcmds(ESqlStatementType.sstmysqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 1715 addmysqlcmds(ESqlStatementType.sstmysqldroptable, TBaseType.rrw_drop,"tables"," "," "," "," "," "); 1716 addmysqlcmds(ESqlStatementType.sstmysqldroptable, TBaseType.rrw_drop,"temporary","table"," "," "," "," "); 1717 addmysqlcmds(ESqlStatementType.sstmysqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 1718 addmysqlcmds(ESqlStatementType.sstmysqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 1719 addmysqlcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 1720 addmysqlcmds(ESqlStatementType.sstmysqlexecute, TBaseType.rrw_execute," "," "," "," "," "," "); 1721 addmysqlcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain," "," "," "," "," "," "); 1722 addmysqlcmds(ESqlStatementType.sstmysqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 1723 addmysqlcmds(ESqlStatementType.sstmysqlflush, TBaseType.rrw_flush," "," "," "," "," "," "); 1724 addmysqlcmds(ESqlStatementType.sstmysqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 1725 addmysqlcmds(ESqlStatementType.sstmysqlhandler, TBaseType.rrw_handler," "," "," "," "," "," "); 1726 addmysqlcmds(ESqlStatementType.sstmysqlifstmt, TBaseType.rrw_if," "," "," "," "," "," "); 1727 addmysqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 1728 addmysqlcmds(ESqlStatementType.sstmysqliterate, TBaseType.rrw_iterate," "," "," "," "," "," "); 1729 addmysqlcmds(ESqlStatementType.sstmysqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 1730 addmysqlcmds(ESqlStatementType.sstmysqlleave, TBaseType.rrw_leave," "," "," "," "," "," "); 1731 addmysqlcmds(ESqlStatementType.sstmysqlloaddatafrommaster, TBaseType.rrw_load,"data", "from", "master"," "," "," "); 1732 addmysqlcmds(ESqlStatementType.sstmysqlloaddatainfile, TBaseType.rrw_load,"data", "infile"," "," "," "," "); 1733 addmysqlcmds(ESqlStatementType.sstmysqlloaddatainfile, TBaseType.rrw_load,"data", "local","infile"," "," "," "); 1734 addmysqlcmds(ESqlStatementType.sstmysqlloadindexintocache, TBaseType.rrw_load,"index", "into", "cache"," "," "," "); 1735 addmysqlcmds(ESqlStatementType.sstmysqlloadtable, TBaseType.rrw_load,"table"," "," "," "," "," "); 1736 addmysqlcmds(ESqlStatementType.sstmysqllocktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 1737 addmysqlcmds(ESqlStatementType.sstmysqllocktable, TBaseType.rrw_lock,"tables"," "," "," "," "," "); 1738 addmysqlcmds(ESqlStatementType.sstmysqlloop, TBaseType.rrw_loop," "," "," "," "," "," "); 1739 addmysqlcmds(ESqlStatementType.sstmysqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 1740 addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, TBaseType.rrw_optimize,"local","table"," "," "," "," "); 1741 addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, TBaseType.rrw_optimize,"no_write_to_binlog","table"," "," "," "," "); 1742 addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, TBaseType.rrw_optimize,"table"," "," "," "," "," "); 1743 addmysqlcmds(ESqlStatementType.sstmysqlprepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 1744 addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, TBaseType.rrw_purge,"binary","logs"," "," "," "," "); 1745 addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, TBaseType.rrw_purge,"logs"," "," "," "," "," "); 1746 addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, TBaseType.rrw_purge,"master","logs"," "," "," "," "); 1747 addmysqlcmds(ESqlStatementType.sstmysqlreleasesavepoint,TBaseType. rrw_release,"savepoint"," "," "," "," "," "); 1748 addmysqlcmds(ESqlStatementType.sstmysqlrenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 1749 addmysqlcmds(ESqlStatementType.sstmysqlrenameuser, TBaseType.rrw_rename,"user"," "," "," "," "," "); 1750 addmysqlcmds(ESqlStatementType.sstmysqlrepairtable,TBaseType.rrw_repair,"local","table"," "," "," "," "); 1751 addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, TBaseType.rrw_repair,"no_write_to_binlog","table"," "," "," "," "); 1752 addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, TBaseType.rrw_repair,"table"," "," "," "," "," "); 1753 addmysqlcmds(ESqlStatementType.sstmysqlrepeat, TBaseType.rrw_repeat," "," "," "," "," "," "); 1754 addmysqlcmds(ESqlStatementType.sstmysqlreplace, TBaseType.rrw_replace," "," "," "," "," "," "); 1755 addmysqlcmds(ESqlStatementType.sstmysqlreset, TBaseType.rrw_reset," "," "," "," "," "," "); 1756 addmysqlcmds(ESqlStatementType.sstmysqlresetmaster, TBaseType.rrw_reset,"master"," "," "," "," "," "); 1757 addmysqlcmds(ESqlStatementType.sstmysqlresetslave, TBaseType.rrw_reset,"slave"," "," "," "," "," "); 1758 addmysqlcmds(ESqlStatementType.sstmysqlrestoretable, TBaseType.rrw_restore,"table"," "," "," "," "," "); 1759 addmysqlcmds(ESqlStatementType.sstmysqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 1760 addmysqlcmds(ESqlStatementType.sstmysqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 1761 addmysqlcmds(ESqlStatementType.sstmysqlsavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 1762 addmysqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 1763 addmysqlcmds(ESqlStatementType.sstmysqlset, TBaseType.rrw_set," "," "," "," "," "," "); 1764 addmysqlcmds(ESqlStatementType.sstmysqlsetautocommit, TBaseType.rrw_set,"autocommit"," "," "," "," "," "); 1765 addmysqlcmds(ESqlStatementType.sstmysqldelimiter, TBaseType.rrw_set,"delimiter"," "," "," "," "," "); 1766 addmysqlcmds(ESqlStatementType.sstmysqlsetglobalsql_slave_skip_counter, TBaseType.rrw_set,"global", "sql_slave_skip_counter"," "," "," "," "); 1767 addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, TBaseType.rrw_set,"global","transaction"," "," "," "," "); 1768 addmysqlcmds(ESqlStatementType.sstmysqlset, TBaseType.rrw_set,"PASSWORD"," "," "," "," "," "); 1769 addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, TBaseType.rrw_set,"session","transaction"," "," "," "," "); 1770 addmysqlcmds(ESqlStatementType.sstmysqlsetsql_log_bin, TBaseType.rrw_set,"sql_log_bin"," "," "," "," "," "); 1771 addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 1772 addmysqlcmds(ESqlStatementType.sstmysqlshowlogs, TBaseType.rrw_show,"bdb","logs"," "," "," "," "); 1773 addmysqlcmds(ESqlStatementType.sstmysqlshowbinlogevents, TBaseType.rrw_show,"binlog", "events"," "," "," "," "); 1774 addmysqlcmds(ESqlStatementType.sstmysqlshowcharacterset, TBaseType.rrw_show,"character", "set"," "," "," "," "); 1775 addmysqlcmds(ESqlStatementType.sstmysqlshowcharacterset, TBaseType.rrw_show,"charset", " "," "," "," "," "); 1776 addmysqlcmds(ESqlStatementType.sstmysqlshowcollation, TBaseType.rrw_show,"collation"," "," "," "," "," "); 1777 addmysqlcmds(ESqlStatementType.sstmysqlshowcolumns, TBaseType.rrw_show,"columns"," "," "," "," "," "); 1778 addmysqlcmds(ESqlStatementType.sstmysqlshowwarnings, TBaseType.rrw_show,"count"," "," "," "," "," "); 1779 addmysqlcmds(ESqlStatementType.sstmysqlshowcreateschema, TBaseType.rrw_show,"create", "schema"," "," "," "," "); 1780 addmysqlcmds(ESqlStatementType.sstmysqlshowcreatedatabase, TBaseType.rrw_show,"create", "database"," "," "," "," "); 1781 addmysqlcmds(ESqlStatementType.sstmysqlshowcreatefunction, TBaseType.rrw_show,"create","function"," "," "," "," "); 1782 addmysqlcmds(ESqlStatementType.sstmysqlshowcreateprocedure, TBaseType.rrw_show,"create","procedure"," "," "," "," "); 1783 addmysqlcmds(ESqlStatementType.sstmysqlshowcreatetable, TBaseType.rrw_show,"create","table"," "," "," "," "); 1784 addmysqlcmds(ESqlStatementType.sstmysqlshowcreateview, TBaseType.rrw_show,"create","view"," "," "," "," "); 1785 addmysqlcmds(ESqlStatementType.sstmysqlshowdatabases, TBaseType.rrw_show,"databases"," "," "," "," "," "); 1786 addmysqlcmds(ESqlStatementType.sstmysqlshowengine, TBaseType.rrw_show,"engine"," "," "," "," "," "); 1787 addmysqlcmds(ESqlStatementType.sstmysqlshowengines, TBaseType.rrw_show,"engines"," "," "," "," "," "); 1788 addmysqlcmds(ESqlStatementType.sstmysqlshowerrors, TBaseType.rrw_show,"errors"," "," "," "," "," "); 1789 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"extend","index"," "," "," "," "); 1790 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"extend","indexes"," "," "," "," "); 1791 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"extend","keys"," "," "," "," "); 1792 addmysqlcmds(ESqlStatementType.sstmysqlshowfields, TBaseType.rrw_show,"fields"," "," "," "," "," "); 1793 addmysqlcmds(ESqlStatementType.sstmysqlshowcolumns, TBaseType.rrw_show,"full","columns"," "," "," "," "); 1794 addmysqlcmds(ESqlStatementType.sstmysqlshowfields, TBaseType.rrw_show,"full","fields"," "," "," "," "); 1795 addmysqlcmds(ESqlStatementType.sstmysqlshowprocesslist, TBaseType.rrw_show,"full","processlist"," "," "," "," "); 1796 addmysqlcmds(ESqlStatementType.sstmysqlshowtables, TBaseType.rrw_show,"full","tables"," "," "," "," "); 1797 addmysqlcmds(ESqlStatementType.sstmysqlshowfunctionstatus, TBaseType.rrw_show,"function", "status"," "," "," "," "); 1798 addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, TBaseType.rrw_show,"global","status"," "," "," "," "); 1799 addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, TBaseType.rrw_show,"global","variables"," "," "," "," "); 1800 addmysqlcmds(ESqlStatementType.sstmysqlshowgrants, TBaseType.rrw_show,"grants"," "," "," "," "," "); 1801 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"index"," "," "," "," "," "); 1802 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"indexes"," "," "," "," "," "); 1803 addmysqlcmds(ESqlStatementType.sstmysqlshowinnodbstatus, TBaseType.rrw_show,"innodb", "status"," "," "," "," "); 1804 addmysqlcmds(ESqlStatementType.sstmysqlshowindex, TBaseType.rrw_show,"keys"," "," "," "," "," "); 1805 addmysqlcmds(ESqlStatementType.sstmysqlshowlogs, TBaseType.rrw_show,"logs"," "," "," "," "," "); 1806 addmysqlcmds(ESqlStatementType.sstmysqlshowmasterlogs, TBaseType.rrw_show,"master", "logs"," "," "," "," "); 1807 addmysqlcmds(ESqlStatementType.sstmysqlshowmasterstatus, TBaseType.rrw_show,"master", "status"," "," "," "," "); 1808 addmysqlcmds(ESqlStatementType.sstmysqlshowtables, TBaseType.rrw_show,"open","tables"," "," "," "," "); 1809 addmysqlcmds(ESqlStatementType.sstmysqlshowplugins, TBaseType.rrw_show,"plugins"," "," "," "," "," "); 1810 addmysqlcmds(ESqlStatementType.sstmysqlshowprivileges, TBaseType.rrw_show,"privileges"," "," "," "," "," "); 1811 addmysqlcmds(ESqlStatementType.sstmysqlshowfunctionstatus, TBaseType.rrw_show,"procedure", "status"," "," "," "," "); 1812 addmysqlcmds(ESqlStatementType.sstmysqlshowprocesslist, TBaseType.rrw_show,"processlist"," "," "," "," "," "); 1813 addmysqlcmds(ESqlStatementType.sstmysqlshowprofile, TBaseType.rrw_show,"profile"," "," "," "," "," "); 1814 addmysqlcmds(ESqlStatementType.sstmysqlshowprofiles, TBaseType.rrw_show,"profiles"," "," "," "," "," "); 1815 addmysqlcmds(ESqlStatementType.sstmysqlshowreplicaStatus, TBaseType.rrw_show,"replica","status"," "," "," "," "); 1816 addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, TBaseType.rrw_show,"session","status"," "," "," "," "); 1817 addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, TBaseType.rrw_show,"session","variables"," "," "," "," "); 1818 addmysqlcmds(ESqlStatementType.sstmysqlshowslavehosts, TBaseType.rrw_show,"slave", "hosts"," "," "," "," "); 1819 addmysqlcmds(ESqlStatementType.sstmysqlshowslavestatus, TBaseType.rrw_show,"slave", "status"," "," "," "," "); 1820 addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, TBaseType.rrw_show,"status"," "," "," "," "," "); 1821 addmysqlcmds(ESqlStatementType.sstmysqlshowengines, TBaseType.rrw_show,"storage","engines"," "," "," "," "); 1822 addmysqlcmds(ESqlStatementType.sstmysqlshowtablestatus, TBaseType.rrw_show,"table", "status"," "," "," "," "); 1823 addmysqlcmds(ESqlStatementType.sstmysqlshowtables, TBaseType.rrw_show,"tables"," "," "," "," "," "); 1824 addmysqlcmds(ESqlStatementType.sstmysqlshowtriggers, TBaseType.rrw_show,"triggers"," "," "," "," "," "); 1825 addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, TBaseType.rrw_show,"variables"," "," "," "," "," "); 1826 addmysqlcmds(ESqlStatementType.sstmysqlshowwarnings, TBaseType.rrw_show,"warnings"," "," "," "," "," "); 1827 addmysqlcmds(ESqlStatementType.sstmysqlsignal, TBaseType.rrw_signal," "," "," "," "," "," "); 1828 addmysqlcmds(ESqlStatementType.sstmysqlstartslave, TBaseType.rrw_start,"slave"," "," "," "," "," "); 1829 addmysqlcmds(ESqlStatementType.sstmysqlstarttransaction, TBaseType.rrw_start,"transaction"," "," "," "," "," "); 1830 addmysqlcmds(ESqlStatementType.sstmysqlstopslave, TBaseType.rrw_stop,"slave"," "," "," "," "," "); 1831 addmysqlcmds(ESqlStatementType.sstmysqltruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 1832 addmysqlcmds(ESqlStatementType.sstmysqlunlocktable, TBaseType.rrw_unlock,"tables"," "," "," "," "," "); 1833 addmysqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1834 addmysqlcmds(ESqlStatementType.sstmysqluse, TBaseType.rrw_use," "," "," "," "," "," "); 1835 addmysqlcmds(ESqlStatementType.sstmysqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 1836 1837} 1838 1839void initmdxcmds(){ 1840// cmd must be sort alphabetically 1841 addmdxcmds(ESqlStatementType.sstmdxaltercube, TBaseType.rrw_alter,"cube"," "," "," "," "," "); 1842 addmdxcmds(ESqlStatementType.sstmdxalterdimension, TBaseType.rrw_alter,"dimension"," "," "," "," "," "); 1843 addmdxcmds(ESqlStatementType.sstmdxcalculate, TBaseType.rrw_calculate," "," "," "," "," "," "); 1844 addmdxcmds(ESqlStatementType.sstmdxcall, TBaseType.rrw_call," "," "," "," "," "," "); 1845 addmdxcmds(ESqlStatementType.sstmdxcase, TBaseType.rrw_case," "," "," "," "," "," "); 1846 addmdxcmds(ESqlStatementType.sstmdxclearcalculations, TBaseType.rrw_clear,"calculations"," "," "," "," "," "); 1847 addmdxcmds(ESqlStatementType.sstmdxcreateaction, TBaseType.rrw_create,"action"," "," "," "," "," "); 1848 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"calculated","member"," "," "," "," "); 1849 addmdxcmds(ESqlStatementType.sstmdxcreatecellcalculation, TBaseType.rrw_create,"cell","calculation"," "," "," "," "); 1850 addmdxcmds(ESqlStatementType.sstmdxcreatedimensionmember, TBaseType.rrw_create,"dimension","member"," "," "," "," "); 1851 addmdxcmds(ESqlStatementType.sstmdxcreateglobalcube, TBaseType.rrw_create,"global","cube"," "," "," "," "); 1852 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"hidden","set"," "," "," "," "); 1853 addmdxcmds(ESqlStatementType.sstmdxcreatemeasure, TBaseType.rrw_create,"measure"," "," "," "," "," "); 1854 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"member"," "," "," "," "," "); 1855 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"session","calculated","memeber"," "," "," "); 1856 addmdxcmds(ESqlStatementType.sstmdxcreatesessioncube, TBaseType.rrw_create,"session","cube"," "," "," "," "); 1857 addmdxcmds(ESqlStatementType.sstmdxcreatedimensionmember, TBaseType.rrw_create,"session","dimension","member"," "," "," "); 1858 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"session","hidden","set"," "," "," "); 1859 addmdxcmds(ESqlStatementType.sstmdxcreatemember, TBaseType.rrw_create,"session","memeber"," "," "," "," "); 1860 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"session","set"," "," "," "," "); 1861 addmdxcmds(ESqlStatementType.sstmdxcreateset, TBaseType.rrw_create,"set"," "," "," "," "," "); 1862 addmdxcmds(ESqlStatementType.sstmdxcreatesubcube, TBaseType.rrw_create,"subcube"," "," "," "," "," "); 1863 addmdxcmds(ESqlStatementType.sstmdxdrillthrough, TBaseType.rrw_drillthrough," "," "," "," "," "," "); 1864 addmdxcmds(ESqlStatementType.sstmdxdropaction, TBaseType.rrw_drop,"action"," "," "," "," "," "); 1865 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"calculated","member"," "," "," "," "); 1866 addmdxcmds(ESqlStatementType.sstmdxdropcellcalculation, TBaseType.rrw_drop,"cell","calcution"," "," "," "," "); 1867 addmdxcmds(ESqlStatementType.sstmdxdropdimensionmember, TBaseType.rrw_drop,"dimension","member"," "," "," "," "); 1868 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"member"," "," "," "," "," "); 1869 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"session","member"," "," "," "," "); 1870 addmdxcmds(ESqlStatementType.sstmdxdropmember, TBaseType.rrw_drop,"session","calculated","member"," "," "," "); 1871 addmdxcmds(ESqlStatementType.sstmdxdropcellcalculation, TBaseType.rrw_drop,"session","cell","calcution"," "," "," "); 1872 addmdxcmds(ESqlStatementType.sstmdxdropset, TBaseType.rrw_drop,"set"," "," "," "," "," "); 1873 addmdxcmds(ESqlStatementType.sstmdxdropsubcube, TBaseType.rrw_drop,"subcube"," "," "," "," "," "); 1874 addmdxcmds(ESqlStatementType.sstmdxexisting, TBaseType.rrw_existing," "," "," "," "," "," "); 1875 addmdxcmds(ESqlStatementType.sstmdxfreeze, TBaseType.rrw_freeze," "," "," "," "," "," "); 1876 addmdxcmds(ESqlStatementType.sstmdxif, TBaseType.rrw_if," "," "," "," "," "," "); 1877 addmdxcmds(ESqlStatementType.sstmdxrefreshcube, TBaseType.rrw_refresh,"cube"," "," "," "," "," "); 1878 addmdxcmds(ESqlStatementType.sstmdxscope, TBaseType.rrw_scope," "," "," "," "," "," "); 1879 addmdxcmds(ESqlStatementType.sstmdxselect, TBaseType.rrw_select," "," "," "," "," "," "); 1880 addmdxcmds(ESqlStatementType.sstmdxupdate, TBaseType.rrw_update," "," "," "," "," "," "); 1881 1882} 1883 1884void initsybasecmds(){ 1885// cmd must be sort alphabetically 1886 addsybasecmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"counter","signature"," "," "," "," "); 1887 addsybasecmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"signature"," "," "," "," "," "); 1888//alter 1889 addsybasecmds(ESqlStatementType.sstmssqlalterapplicationrole, TBaseType.rrw_alter,"application","role"," "," "," "," "); 1890 addsybasecmds(ESqlStatementType.sstmssqlalterassembly, TBaseType.rrw_alter,"assembly"," "," "," "," "," "); 1891 addsybasecmds(ESqlStatementType.sstmssqlalterasymmetrickey, TBaseType.rrw_alter,"asymmetric","key"," "," "," "," "); 1892 addsybasecmds(ESqlStatementType.sstmssqlalterauthorization, TBaseType.rrw_alter,"authorization"," "," "," "," "," "); 1893 addsybasecmds(ESqlStatementType.sstmssqlaltercertificate, TBaseType.rrw_alter,"certificate"," "," "," "," "," "); 1894 addsybasecmds(ESqlStatementType.sstmssqlaltercredential, TBaseType.rrw_alter,"credential"," "," "," "," "," "); 1895 addsybasecmds(ESqlStatementType.sstmssqlalterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 1896 addsybasecmds(ESqlStatementType.sstmssqlalterendpoint, TBaseType.rrw_alter,"endpoint"," "," "," "," "," "); 1897 addsybasecmds(ESqlStatementType.sstmssqlalterfulltextcatalog, TBaseType.rrw_alter,"fulltext","catalog"," "," "," "," "); 1898 addsybasecmds(ESqlStatementType.sstmssqlalterfulltextindex, TBaseType.rrw_alter,"fulltext","index"," "," "," "," "); 1899 addsybasecmds(ESqlStatementType.sstmssqlalterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 1900 addsybasecmds(ESqlStatementType.sstmssqlalterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 1901 addsybasecmds(ESqlStatementType.sstmssqlalterlogin, TBaseType.rrw_alter,"login"," "," "," "," "," "); 1902 addsybasecmds(ESqlStatementType.sstmssqlaltermasterkey, TBaseType.rrw_alter,"master","key"," "," "," "," "); 1903 addsybasecmds(ESqlStatementType.sstmssqlaltermessagetype, TBaseType.rrw_alter,"message","type"," "," "," "," "); 1904 addsybasecmds(ESqlStatementType.sstmssqlalterpartitionfunction, TBaseType.rrw_alter,"partition","function"," "," "," "," "); 1905 addsybasecmds(ESqlStatementType.sstmssqlalterpartitionscheme, TBaseType.rrw_alter,"partition","scheme"," "," "," "," "); 1906 addsybasecmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"proc"," "," "," "," "," "); 1907 addsybasecmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 1908 addsybasecmds(ESqlStatementType.sstmssqlalterqueue, TBaseType.rrw_alter,"queue"," "," "," "," "," "); 1909 addsybasecmds(ESqlStatementType.sstmssqlalterremoteservicebinding, TBaseType.rrw_alter,"remote","service","binding"," "," "," "); 1910 addsybasecmds(ESqlStatementType.sstmssqlalterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 1911 addsybasecmds(ESqlStatementType.sstmssqlalterroute, TBaseType.rrw_alter,"route"," "," "," "," "," "); 1912 addsybasecmds(ESqlStatementType.sstmssqlalterschema, TBaseType.rrw_alter,"schema"," "," "," "," "," "); 1913 addsybasecmds(ESqlStatementType.sstmssqlalterservice, TBaseType.rrw_alter,"service"," "," "," "," "," "); 1914 addsybasecmds(ESqlStatementType.sstmssqlalterservicemasterkey, TBaseType.rrw_alter,"service","master","key"," "," "," "); 1915 addsybasecmds(ESqlStatementType.sstmssqlaltersymmetrickey, TBaseType.rrw_alter,"symmetric","key"," "," "," "," "); 1916 addsybasecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 1917 addsybasecmds(ESqlStatementType.sstmssqlaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 1918 addsybasecmds(ESqlStatementType.sstmssqlalteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 1919 addsybasecmds(ESqlStatementType.sstmssqlalterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 1920 addsybasecmds(ESqlStatementType.sstmssqlalterxmlschemacollection, TBaseType.rrw_alter,"xml","schema","collection"," "," "," "); 1921//backup 1922 addsybasecmds(ESqlStatementType.sstmssqlbackupdatabase, TBaseType.rrw_backup,"database"," "," "," "," "," "); 1923 addsybasecmds(ESqlStatementType.sstmssqlbackupcertificate, TBaseType.rrw_backup,"certificate"," "," "," "," "," "); 1924 addsybasecmds(ESqlStatementType.sstmssqlbackuplog, TBaseType.rrw_backup,"log"," "," "," "," "," "); 1925 addsybasecmds(ESqlStatementType.sstmssqlbackupmasterkey, TBaseType.rrw_backup,"master","key"," "," "," "," "); 1926 addsybasecmds(ESqlStatementType.sstmssqlbackupservicemasterkey, TBaseType.rrw_backup,"service","master","key"," "," "," "); 1927//begin 1928 addsybasecmds(ESqlStatementType.sstmssqlbegincatch, TBaseType.rrw_begin,"catch"," "," "," "," "," "); 1929 addsybasecmds(ESqlStatementType.sstmssqlbeginconversationtimer, TBaseType.rrw_begin,"conversation","timer"," "," "," "," "); 1930 addsybasecmds(ESqlStatementType.sstmssqlbegindialog, TBaseType.rrw_begin,"dialog"," "," "," "," "," "); 1931 addsybasecmds(ESqlStatementType.sstmssqlbegindistributed, TBaseType.rrw_begin,"distributed"," "," "," "," "," "); 1932 addsybasecmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"tran"," "," "," "," "," "); 1933 addsybasecmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"transaction"," "," "," "," "," "); 1934 addsybasecmds(ESqlStatementType.sstmssqlbegintry, TBaseType.rrw_begin,"try"," "," "," "," "," "); 1935//break 1936 addsybasecmds(ESqlStatementType.sstbreak, TBaseType.rrw_break," "," "," "," "," "," "); 1937//bulk insert 1938 addsybasecmds(ESqlStatementType.sstmssqlbulkinsert, TBaseType.rrw_bulk,"insert"," "," "," "," "," "); 1939 1940 addsybasecmds(ESqlStatementType.sstcall, TBaseType.rrw_call," "," "," "," "," "," "); 1941 1942//checkpoint 1943 addsybasecmds(ESqlStatementType.sstmssqlcheckpoint, TBaseType.rrw_checkpoint," "," "," "," "," "," "); 1944//close 1945 addsybasecmds(ESqlStatementType.sstmssqlclose, TBaseType.rrw_close," "," "," "," "," "," "); 1946 addsybasecmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"all", "symmetric", "keys"," "," "," "); 1947 addsybasecmds(ESqlStatementType.sstmssqlclosemasterkey, TBaseType.rrw_close,"master", "key"," "," "," "," "); 1948 addsybasecmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"symmetric", "key"," "," "," "," "); 1949//commit 1950 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit," "," "," "," "," "," "); 1951 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"work"," "," "," "," "," "); 1952 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"tran"," "," "," "," "," "); 1953 addsybasecmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"transaction"," "," "," "," "," "); 1954//continue 1955 addsybasecmds(ESqlStatementType.sstmssqlcontinue, TBaseType.rrw_continue," "," "," "," "," "," "); 1956//create 1957 addsybasecmds(ESqlStatementType.sstmssqlcreateaggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 1958 addsybasecmds(ESqlStatementType.sstmssqlcreateapplicationrole, TBaseType.rrw_create,"application", "role"," "," "," "," "); 1959 addsybasecmds(ESqlStatementType.sstmssqlcreateassembly, TBaseType.rrw_create,"assembly"," "," "," "," "," "); 1960 addsybasecmds(ESqlStatementType.sstmssqlcreateasymmetrickey, TBaseType.rrw_create,"asymmetric", "key"," "," "," "," "); 1961 addsybasecmds(ESqlStatementType.sstmssqlcreatecertificate, TBaseType.rrw_create,"certificate"," "," "," "," "," "); 1962 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"clustered","index"," "," "," "," "); 1963 addsybasecmds(ESqlStatementType.sstmssqlcreatecontract, TBaseType.rrw_create,"contract"," "," "," "," "," "); 1964 addsybasecmds(ESqlStatementType.sstmssqlcreatecredential, TBaseType.rrw_create,"credential"," "," "," "," "," "); 1965 addsybasecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 1966 addsybasecmds(ESqlStatementType.sstmssqlcreatedefault, TBaseType.rrw_create,"default"," "," "," "," "," "); 1967 addsybasecmds(ESqlStatementType.sstmssqlcreateendpoint, TBaseType.rrw_create,"endpoint"," "," "," "," "," "); 1968 addsybasecmds(ESqlStatementType.sstmssqlcreateeventnotification, TBaseType.rrw_create,"event", "notification"," "," "," "," "); 1969 addsybasecmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, TBaseType.rrw_create,"fulltext", "catalog"," "," "," "," "); 1970 addsybasecmds(ESqlStatementType.sstmssqlcreatefulltextindex, TBaseType.rrw_create,"fulltext", "index"," "," "," "," "); 1971 addsybasecmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 1972 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 1973 addsybasecmds(ESqlStatementType.sstmssqlcreatelogin, TBaseType.rrw_create,"login"," "," "," "," "," "); 1974 addsybasecmds(ESqlStatementType.sstmssqlcreatemasterkey, TBaseType.rrw_create,"master","key"," "," "," "," "); 1975 addsybasecmds(ESqlStatementType.sstmssqlcreatemessagetype, TBaseType.rrw_create,"message","type"," "," "," "," "); 1976 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","index"," "," "," "," "); 1977 addsybasecmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 1978 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","replace","proc"," "," "," "); 1979 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 1980 addsybasecmds(ESqlStatementType.sstmssqlcreatepartitionfunction, TBaseType.rrw_create,"partition","function"," "," "," "," "); 1981 addsybasecmds(ESqlStatementType.sstmssqlcreatepartitionscheme, TBaseType.rrw_create,"partition","scheme"," "," "," "," "); 1982 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 1983 addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 1984 addsybasecmds(ESqlStatementType.sstmssqlcreatequeue, TBaseType.rrw_create,"queue"," "," "," "," "," "); 1985 addsybasecmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, TBaseType.rrw_create,"remote", "service", "binding"," "," "," "); 1986 addsybasecmds(ESqlStatementType.sstmssqlcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 1987 addsybasecmds(ESqlStatementType.sstmssqlcreateroute, TBaseType.rrw_create,"route"," "," "," "," "," "); 1988 addsybasecmds(ESqlStatementType.sstmssqlcreaterule, TBaseType.rrw_create,"rule"," "," "," "," "," "); 1989 addsybasecmds(ESqlStatementType.sstmssqlcreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 1990 addsybasecmds(ESqlStatementType.sstmssqlcreateservice, TBaseType.rrw_create,"service"," "," "," "," "," "); 1991 addsybasecmds(ESqlStatementType.sstmssqlcreatestatistics, TBaseType.rrw_create,"statistics"," "," "," "," "," "); 1992 addsybasecmds(ESqlStatementType.sstmssqlcreatesymmetrickey, TBaseType.rrw_create,"symmetric", "key"," "," "," "," "); 1993 addsybasecmds(ESqlStatementType.sstmssqlcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 1994 addsybasecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 1995 addsybasecmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 1996 addsybasecmds(ESqlStatementType.sstmssqlcreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 1997 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","clustered","index"," "," "," "); 1998 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 1999 addsybasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","nonclustered","index"," "," "," "); 2000 addsybasecmds(ESqlStatementType.sstmssqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 2001 addsybasecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2002 addsybasecmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, TBaseType.rrw_create,"xml", "schema", "collection"," "," "," "); 2003// DBCC 2004 addsybasecmds(ESqlStatementType.sstmssqldbcc, TBaseType.rrw_dbcc," "," "," "," "," "," "); 2005//DEALLOCATE 2006 addsybasecmds(ESqlStatementType.sstmssqldeallocate, TBaseType.rrw_deallocate," "," "," "," "," "," "); 2007//DECLARE 2008 addsybasecmds(ESqlStatementType.sstmssqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 2009//DELETE 2010 addsybasecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2011 2012//DELETE statistics 2013 addsybasecmds(ESqlStatementType.sstsybaseDeleteStatistics, TBaseType.rrw_delete,"shared","statistics"," "," "," "," "); 2014 addsybasecmds(ESqlStatementType.sstsybaseDeleteStatistics, TBaseType.rrw_delete,"statistics"," "," "," "," "," "); 2015 2016//DENY 2017 addsybasecmds(ESqlStatementType.sstmssqldeny, TBaseType.rrw_deny," "," "," "," "," "," "); 2018//DISABLE TRIGGER 2019 addsybasecmds(ESqlStatementType.sstmssqldisabletrigger, TBaseType.rrw_disable,"trigger"," "," "," "," "," "); 2020//drop 2021 addsybasecmds(ESqlStatementType.sstmssqldropaggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 2022 addsybasecmds(ESqlStatementType.sstmssqldropapplicationrole, TBaseType.rrw_drop,"application", "role"," "," "," "," "); 2023 addsybasecmds(ESqlStatementType.sstmssqldropassembly, TBaseType.rrw_drop,"assembly"," "," "," "," "," "); 2024 addsybasecmds(ESqlStatementType.sstmssqldropasymmetrickey, TBaseType.rrw_drop,"asymmetric", "key"," "," "," "," "); 2025 addsybasecmds(ESqlStatementType.sstmssqldropcertificate, TBaseType.rrw_drop,"certificate"," "," "," "," "," "); 2026 addsybasecmds(ESqlStatementType.sstmssqldropcontract, TBaseType.rrw_drop,"contract"," "," "," "," "," "); 2027 addsybasecmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"counter", "signature"," "," "," "," "); 2028 addsybasecmds(ESqlStatementType.sstmssqldropcredential, TBaseType.rrw_drop,"credential"," "," "," "," "," "); 2029 addsybasecmds(ESqlStatementType.sstmssqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 2030 addsybasecmds(ESqlStatementType.sstmssqldropdefault, TBaseType.rrw_drop,"default"," "," "," "," "," "); 2031 addsybasecmds(ESqlStatementType.sstmssqldropendpoint, TBaseType.rrw_drop,"endpoint"," "," "," "," "," "); 2032 addsybasecmds(ESqlStatementType.sstmssqldropeventnotification, TBaseType.rrw_drop,"event", "notification"," "," "," "," "); 2033 addsybasecmds(ESqlStatementType.sstmssqldropfulltextcatalog, TBaseType.rrw_drop,"fulltext", "catalog"," "," "," "," "); 2034 addsybasecmds(ESqlStatementType.sstmssqldropfulltextindex, TBaseType.rrw_drop,"fulltext", "index"," "," "," "," "); 2035 addsybasecmds(ESqlStatementType.sstmssqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 2036 addsybasecmds(ESqlStatementType.sstmssqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2037 addsybasecmds(ESqlStatementType.sstmssqldroplogin, TBaseType.rrw_drop,"login"," "," "," "," "," "); 2038 addsybasecmds(ESqlStatementType.sstmssqldropmasterkey, TBaseType.rrw_drop,"master", "key"," "," "," "," "); 2039 addsybasecmds(ESqlStatementType.sstmssqldropmessagetype, TBaseType.rrw_drop,"message", "type"," "," "," "," "); 2040 addsybasecmds(ESqlStatementType.sstmssqldroppartitionfunction, TBaseType.rrw_drop,"partition", "function"," "," "," "," "); 2041 addsybasecmds(ESqlStatementType.sstmssqldroppartitionscheme, TBaseType.rrw_drop,"partition", "scheme"," "," "," "," "); 2042 addsybasecmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"proc"," "," "," "," "," "); 2043 addsybasecmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 2044 addsybasecmds(ESqlStatementType.sstmssqldropqueue, TBaseType.rrw_drop,"queue"," "," "," "," "," "); 2045 addsybasecmds(ESqlStatementType.sstmssqldropremoteservicebinding, TBaseType.rrw_drop,"remote", "service", "binding"," "," "," "); 2046 addsybasecmds(ESqlStatementType.sstmssqldroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 2047 addsybasecmds(ESqlStatementType.sstmssqldroproute, TBaseType.rrw_drop,"route"," "," "," "," "," "); 2048 addsybasecmds(ESqlStatementType.sstmssqldroprule, TBaseType.rrw_drop,"rule"," "," "," "," "," "); 2049 addsybasecmds(ESqlStatementType.sstmssqldropschema, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 2050 addsybasecmds(ESqlStatementType.sstmssqldropservice, TBaseType.rrw_drop,"service"," "," "," "," "," "); 2051 addsybasecmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"signature"," "," "," "," "," "); 2052 addsybasecmds(ESqlStatementType.sstmssqldropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 2053 addsybasecmds(ESqlStatementType.sstmssqldropsymmetrickey, TBaseType.rrw_drop,"symmetric", "key"," "," "," "," "); 2054 addsybasecmds(ESqlStatementType.sstmssqldropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2055 addsybasecmds(ESqlStatementType.sstmssqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2056 addsybasecmds(ESqlStatementType.sstmssqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 2057 addsybasecmds(ESqlStatementType.sstmssqldroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 2058 addsybasecmds(ESqlStatementType.sstmssqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 2059 addsybasecmds(ESqlStatementType.sstmssqldropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2060 addsybasecmds(ESqlStatementType.sstmssqldropxmlschemacollection, TBaseType.rrw_drop,"xml", "schema", "collection"," "," "," "); 2061 2062 addsybasecmds(ESqlStatementType.sstsybasedumpTran, TBaseType.rrw_sybase_dump,"tran"," "," "," "," "," "); 2063 addsybasecmds(ESqlStatementType.sstsybasedumpTran, TBaseType.rrw_sybase_dump,"transaction"," "," "," "," "," "); 2064//if 2065 addsybasecmds(ESqlStatementType.sstmssqlif, TBaseType.rrw_if," "," "," "," "," "," "); 2066//enable trigger 2067 addsybasecmds(ESqlStatementType.sstmssqlenabletrigger, TBaseType.rrw_enable,"trigger"," "," "," "," "," "); 2068//END CONVERSATION 2069// addsybasecmds(ESqlStatementType.sstMssqlEndCatch,TBaseType.rrw_end,'catch'); 2070 addsybasecmds(ESqlStatementType.sstmssqlendconversation, TBaseType.rrw_end,"conversation"," "," "," "," "," "); 2071// addsybasecmds(ESqlStatementType.sstMssqlEndTry,TBaseType.rrw_end,'try'); 2072//exec 2073//exec as 2074 addsybasecmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_exec," "," "," "," "," "," "); 2075 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","caller"," "," "," "," "); 2076 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","login"," "," "," "," "); 2077 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","user"," "," "," "," "); 2078 addsybasecmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_execute, " "," "," "," "," "," "); 2079 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","caller"," "," "," "," "); 2080 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","login"," "," "," "," "); 2081 addsybasecmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","user"," "," "," "," "); 2082//fetch 2083 addsybasecmds(ESqlStatementType.sstmssqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2084//go 2085 addsybasecmds(ESqlStatementType.sstmssqlgo, TBaseType.rrw_go," "," "," "," "," "," "); 2086//goto 2087 addsybasecmds(ESqlStatementType.sstmssqlgoto, TBaseType.rrw_goto," "," "," "," "," "," "); 2088//GRANT 2089 addsybasecmds(ESqlStatementType.sstmssqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 2090//GRANT 2091 addsybasecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2092 2093 addsybasecmds(ESqlStatementType.sstsybaseInsertBulk, TBaseType.rrw_insert,"bulk"," "," "," "," "," "); 2094//KILL 2095 addsybasecmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2096//KILL 2097 addsybasecmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2098 addsybasecmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, TBaseType.rrw_kill,"kill", "query", "notification", "subscription"," "," "); 2099 addsybasecmds(ESqlStatementType.sstmssqlkillstats, TBaseType.rrw_kill,"stats"," "," "," "," "," "); 2100 2101 addsybasecmds(ESqlStatementType.sstload,TBaseType.rrw_load,"table"," "," "," "," "," "); 2102// 2103 addsybasecmds(ESqlStatementType.sstsybaselocktable,TBaseType.rw_locktable,"table"," "," "," "," "," "); 2104//MOVE CONVERSATION 2105 addsybasecmds(ESqlStatementType.sstmssqlmoveconversation, TBaseType.rrw_move,"conversation"," "," "," "," "," "); 2106//merge 2107 addsybasecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2108//open 2109 addsybasecmds(ESqlStatementType.sstmssqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 2110 addsybasecmds(ESqlStatementType.sstmssqlopenmasterkey, TBaseType.rrw_open,"master", "key"," "," "," "," "); 2111 addsybasecmds(ESqlStatementType.sstmssqlopensymmetrickey, TBaseType.rrw_open,"symmetric", "key"," "," "," "," "); 2112//PRINT 2113 addsybasecmds(ESqlStatementType.sstmssqlprint, TBaseType.rrw_print," "," "," "," "," "," "); 2114//RAISERROR 2115 addsybasecmds(ESqlStatementType.sstmssqlraiserror, TBaseType.rrw_raiserror," "," "," "," "," "," "); 2116//READTEXT 2117 addsybasecmds(ESqlStatementType.sstmssqlreadtext, TBaseType.rrw_readtext," "," "," "," "," "," "); 2118//RECEIVE 2119 addsybasecmds(ESqlStatementType.sstmssqlreceive, TBaseType.rrw_receive," "," "," "," "," "," "); 2120//RECONFIGURE 2121 addsybasecmds(ESqlStatementType.sstmssqlreconfigure, TBaseType.rrw_reconfigure," "," "," "," "," "," "); 2122//RESTORE 2123 addsybasecmds(ESqlStatementType.sstmssqlrestoredatabase, TBaseType.rrw_restore,"database"," "," "," "," "," "); 2124 addsybasecmds(ESqlStatementType.sstmssqlrestorefilelistonly, TBaseType.rrw_restore,"filelistonly"," "," "," "," "," "); 2125 addsybasecmds(ESqlStatementType.sstmssqlrestoreheaderonly, TBaseType.rrw_restore,"headeronly"," "," "," "," "," "); 2126 addsybasecmds(ESqlStatementType.sstmssqlrestorelabelonly, TBaseType.rrw_restore,"labelonly"," "," "," "," "," "); 2127 addsybasecmds(ESqlStatementType.sstmssqlrestorelog, TBaseType.rrw_restore,"log"," "," "," "," "," "); 2128 addsybasecmds(ESqlStatementType.sstmssqlrestoremasterkey, TBaseType.rrw_restore,"master","key"," "," "," "," "); 2129 addsybasecmds(ESqlStatementType.sstmssqlrestorerewindonly, TBaseType.rrw_restore,"rewindonly"," "," "," "," "," "); 2130 addsybasecmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, TBaseType.rrw_restore,"service","master","key"," "," "," "); 2131 addsybasecmds(ESqlStatementType.sstmssqlrestoreverifyonly, TBaseType.rrw_restore,"verifyonly"," "," "," "," "," "); 2132//RETURN 2133 addsybasecmds(ESqlStatementType.sstmssqlreturn, TBaseType.rrw_return," "," "," "," "," "," "); 2134//REVERT 2135 addsybasecmds(ESqlStatementType.sstmssqlrevert, TBaseType.rrw_revert," "," "," "," "," "," "); 2136//REVOKE 2137 addsybasecmds(ESqlStatementType.sstmssqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2138//ROLLBACK 2139 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2140 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"tran"," "," "," "," "," "); 2141 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"transaction"," "," "," "," "," "); 2142 addsybasecmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 2143//SAVE 2144 addsybasecmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save," "," "," "," "," "," "); 2145 addsybasecmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"tran"," "," "," "," "," "); 2146 addsybasecmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"transaction"," "," "," "," "," "); 2147//SELECT 2148 addsybasecmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2149//SEND ON CONVERSATION 2150 addsybasecmds(ESqlStatementType.sstmssqlsendonconversation, TBaseType.rrw_send,"on","conversation"," "," "," "," "); 2151//SET 2152 addsybasecmds(ESqlStatementType.sstmssqlset, TBaseType.rrw_set," "," "," "," "," "," "); 2153//SET 2154 addsybasecmds(ESqlStatementType.sstmssqlsetuser,TBaseType.rrw_setuser," "," "," "," "," "," "); 2155//SHUTDOWN 2156 addsybasecmds(ESqlStatementType.sstmssqlshutdown, TBaseType.rrw_shutdown," "," "," "," "," "," "); 2157//SIGN 2158// addsybasecmds(ESqlStatementType.sstmssqlsign, rrw_sign," "," "," "," "," "," "); 2159//TRUNCATE TABLE 2160 addsybasecmds(ESqlStatementType.sstmssqltruncatetable, TBaseType.rrw_truncate,"table"," "," "," "," "," "); 2161//UPDATE 2162 addsybasecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2163//UPDATE all STATISTICS 2164 addsybasecmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"all","statistics"," "," "," "," "); 2165//UPDATE index STATISTICS 2166 addsybasecmds(ESqlStatementType.sstsybaseupdateindexstatistics, TBaseType.rrw_update,"index","statistics"," "," "," "," "); 2167//UPDATE STATISTICS 2168 addsybasecmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 2169//UPDATETEXT 2170 addsybasecmds(ESqlStatementType.sstmssqlupdatetext, TBaseType.rrw_updatetext," "," "," "," "," "," "); 2171//USE 2172 addsybasecmds(ESqlStatementType.sstmssqluse, TBaseType.rrw_use," "," "," "," "," "," "); 2173//WAITFOR 2174 addsybasecmds(ESqlStatementType.sstmssqlwaitfor, TBaseType.rrw_waitfor," "," "," "," "," "," "); 2175//WHILE 2176 addsybasecmds(ESqlStatementType.sstmssqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 2177//WITH, don't recongize here, let isMssqlSql do it 2178// addsybasecmds(ESqlStatementType.sstMssqlCTE,rrw_WITH,' '); 2179//WITH XMLNAMESPACES 2180 addsybasecmds(ESqlStatementType.sstmssqlwithxmlnamespaces, TBaseType.rrw_with,"xmlnamespaces"," "," "," "," "," "); 2181//WRITETEXT 2182 addsybasecmds(ESqlStatementType.sstsybaseWritetext, TBaseType.rrw_writetext," "," "," "," "," "," "); 2183 2184} 2185 2186void initmssqlcmds(){ 2187// cmd must be sort alphabetically 2188 addmssqlcmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"counter","signature"," "," "," "," "); 2189 addmssqlcmds(ESqlStatementType.sstmssqladdsignature, TBaseType.rrw_add,"signature"," "," "," "," "," "); 2190//alter 2191 addmssqlcmds(ESqlStatementType.sstmssqlalterapplicationrole, TBaseType.rrw_alter,"application","role"," "," "," "," "); 2192 addmssqlcmds(ESqlStatementType.sstmssqlalterassembly, TBaseType.rrw_alter,"assembly"," "," "," "," "," "); 2193 addmssqlcmds(ESqlStatementType.sstmssqlalterasymmetrickey, TBaseType.rrw_alter,"asymmetric","key"," "," "," "," "); 2194 addmssqlcmds(ESqlStatementType.sstmssqlalterauthorization, TBaseType.rrw_alter,"authorization"," "," "," "," "," "); 2195 addmssqlcmds(ESqlStatementType.sstmssqlaltercertificate, TBaseType.rrw_alter,"certificate"," "," "," "," "," "); 2196 addmssqlcmds(ESqlStatementType.sstmssqlaltercredential, TBaseType.rrw_alter,"credential"," "," "," "," "," "); 2197 addmssqlcmds(ESqlStatementType.sstmssqlalterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 2198 addmssqlcmds(ESqlStatementType.sstmssqlalterendpoint, TBaseType.rrw_alter,"endpoint"," "," "," "," "," "); 2199 addmssqlcmds(ESqlStatementType.sstmssqlalterfulltextcatalog, TBaseType.rrw_alter,"fulltext","catalog"," "," "," "," "); 2200 addmssqlcmds(ESqlStatementType.sstmssqlalterfulltextindex, TBaseType.rrw_alter,"fulltext","index"," "," "," "," "); 2201 addmssqlcmds(ESqlStatementType.sstmssqlalterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 2202 addmssqlcmds(ESqlStatementType.sstmssqlalterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 2203 addmssqlcmds(ESqlStatementType.sstmssqlalterlogin, TBaseType.rrw_alter,"login"," "," "," "," "," "); 2204 addmssqlcmds(ESqlStatementType.sstmssqlaltermasterkey, TBaseType.rrw_alter,"master","key"," "," "," "," "); 2205 addmssqlcmds(ESqlStatementType.sstmssqlaltermessagetype, TBaseType.rrw_alter,"message","type"," "," "," "," "); 2206 addmssqlcmds(ESqlStatementType.sstmssqlalterpartitionfunction, TBaseType.rrw_alter,"partition","function"," "," "," "," "); 2207 addmssqlcmds(ESqlStatementType.sstmssqlalterpartitionscheme, TBaseType.rrw_alter,"partition","scheme"," "," "," "," "); 2208 addmssqlcmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"proc"," "," "," "," "," "); 2209 addmssqlcmds(ESqlStatementType.sstmssqlalterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 2210 addmssqlcmds(ESqlStatementType.sstmssqlalterqueue, TBaseType.rrw_alter,"queue"," "," "," "," "," "); 2211 addmssqlcmds(ESqlStatementType.sstmssqlalterremoteservicebinding, TBaseType.rrw_alter,"remote","service","binding"," "," "," "); 2212 addmssqlcmds(ESqlStatementType.sstmssqlalterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 2213 addmssqlcmds(ESqlStatementType.sstmssqlalterroute, TBaseType.rrw_alter,"route"," "," "," "," "," "); 2214 addmssqlcmds(ESqlStatementType.sstmssqlalterschema, TBaseType.rrw_alter,"schema"," "," "," "," "," "); 2215 addmssqlcmds(ESqlStatementType.sstmssqlAlterSecurityPolicy, TBaseType.rrw_alter, "security", "policy", " ", " ", " ", " "); 2216 addmssqlcmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2217 addmssqlcmds(ESqlStatementType.sstmssqlalterservice, TBaseType.rrw_alter,"service"," "," "," "," "," "); 2218 addmssqlcmds(ESqlStatementType.sstmssqlalterservicemasterkey, TBaseType.rrw_alter,"service","master","key"," "," "," "); 2219 addmssqlcmds(ESqlStatementType.sstmssqlaltersymmetrickey, TBaseType.rrw_alter,"symmetric","key"," "," "," "," "); 2220 addmssqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 2221 addmssqlcmds(ESqlStatementType.sstmssqlaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 2222 addmssqlcmds(ESqlStatementType.sstmssqlalteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 2223 addmssqlcmds(ESqlStatementType.sstmssqlalterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 2224 addmssqlcmds(ESqlStatementType.sstmssqlalterxmlschemacollection, TBaseType.rrw_alter,"xml","schema","collection"," "," "," "); 2225//backup 2226 addmssqlcmds(ESqlStatementType.sstmssqlbackupcertificate, TBaseType.rrw_backup,"certificate"," "," "," "," "," "); 2227 addmssqlcmds(ESqlStatementType.sstmssqlbackupdatabase, TBaseType.rrw_backup,"database"," "," "," "," "," "); 2228 addmssqlcmds(ESqlStatementType.sstmssqlbackuplog, TBaseType.rrw_backup,"log"," "," "," "," "," "); 2229 addmssqlcmds(ESqlStatementType.sstmssqlbackupmasterkey, TBaseType.rrw_backup,"master","key"," "," "," "," "); 2230 addmssqlcmds(ESqlStatementType.sstmssqlbackupservicemasterkey, TBaseType.rrw_backup,"service","master","key"," "," "," "); 2231//begin 2232 addmssqlcmds(ESqlStatementType.sstmssqlbegincatch, TBaseType.rrw_begin,"catch"," "," "," "," "," "); 2233 addmssqlcmds(ESqlStatementType.sstmssqlbeginconversationtimer, TBaseType.rrw_begin,"conversation","timer"," "," "," "," "); 2234 addmssqlcmds(ESqlStatementType.sstmssqlbegindialog, TBaseType.rrw_begin,"dialog"," "," "," "," "," "); 2235 addmssqlcmds(ESqlStatementType.sstmssqlbegindistributed, TBaseType.rrw_begin,"distributed"," "," "," "," "," "); 2236 addmssqlcmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"tran"," "," "," "," "," "); 2237 addmssqlcmds(ESqlStatementType.sstmssqlbegintran, TBaseType.rrw_begin,"transaction"," "," "," "," "," "); 2238 addmssqlcmds(ESqlStatementType.sstmssqlbegintry, TBaseType.rrw_begin,"try"," "," "," "," "," "); 2239//break 2240 addmssqlcmds(ESqlStatementType.sstbreak, TBaseType.rrw_break," "," "," "," "," "," "); 2241//bulk insert 2242 addmssqlcmds(ESqlStatementType.sstmssqlbulkinsert, TBaseType.rrw_bulk,"insert"," "," "," "," "," "); 2243//checkpoint 2244 addmssqlcmds(ESqlStatementType.sstmssqlcheckpoint, TBaseType.rrw_checkpoint," "," "," "," "," "," "); 2245//close 2246 addmssqlcmds(ESqlStatementType.sstmssqlclose, TBaseType.rrw_close," "," "," "," "," "," "); 2247 addmssqlcmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"all", "symmetric", "keys"," "," "," "); 2248 addmssqlcmds(ESqlStatementType.sstmssqlclosemasterkey, TBaseType.rrw_close,"master", "key"," "," "," "," "); 2249 addmssqlcmds(ESqlStatementType.sstmssqlclosesymmetrickey, TBaseType.rrw_close,"symmetric", "key"," "," "," "," "); 2250//commit 2251 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit," "," "," "," "," "," "); 2252 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"work"," "," "," "," "," "); 2253 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"tran"," "," "," "," "," "); 2254 addmssqlcmds(ESqlStatementType.sstmssqlcommit, TBaseType.rrw_commit,"transaction"," "," "," "," "," "); 2255//continue 2256 addmssqlcmds(ESqlStatementType.sstmssqlcontinue, TBaseType.rrw_continue," "," "," "," "," "," "); 2257// copy into 2258 addmssqlcmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_sqlserver_copyinto,"into"," "," "," "," "," "); 2259//create 2260 addmssqlcmds(ESqlStatementType.sstmssqlcreateaggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 2261 addmssqlcmds(ESqlStatementType.sstmssqlcreateapplicationrole, TBaseType.rrw_create,"application", "role"," "," "," "," "); 2262 addmssqlcmds(ESqlStatementType.sstmssqlcreateassembly, TBaseType.rrw_create,"assembly"," "," "," "," "," "); 2263 addmssqlcmds(ESqlStatementType.sstmssqlcreateasymmetrickey, TBaseType.rrw_create,"asymmetric", "key"," "," "," "," "); 2264 addmssqlcmds(ESqlStatementType.sstmssqlcreatecertificate, TBaseType.rrw_create,"certificate"," "," "," "," "," "); 2265 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"clustered","columnstore","index"," "," "," "); 2266 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"clustered","index"," "," "," "," "); 2267 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"columnstore","index"," "," "," "," "); 2268 addmssqlcmds(ESqlStatementType.sstmssqlcreatecontract, TBaseType.rrw_create,"contract"," "," "," "," "," "); 2269 addmssqlcmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create,"credential"," "," "," "," "," "); 2270 addmssqlcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 2271 addmssqlcmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create,"database","scoped","credential"," "," "," "); 2272 addmssqlcmds(ESqlStatementType.sstmssqlcreatedefault, TBaseType.rrw_create,"default"," "," "," "," "," "); 2273 addmssqlcmds(ESqlStatementType.sstmssqlcreateendpoint, TBaseType.rrw_create,"endpoint"," "," "," "," "," "); 2274 addmssqlcmds(ESqlStatementType.sstmssqlcreateeventnotification, TBaseType.rrw_create,"event", "notification"," "," "," "," "); 2275 addmssqlcmds(ESqlStatementType.sstmssqlcreateeventsession, TBaseType.rrw_create,"event", "session"," "," "," "," "); 2276 addmssqlcmds(ESqlStatementType.sstmssqlcreateevexternalDataSource, TBaseType.rrw_create,"external", "data","source"," "," "," "); 2277 addmssqlcmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create,"external","file","format"," "," "," "); 2278 addmssqlcmds(ESqlStatementType.sstmssqlcreateevexternalLanguage, TBaseType.rrw_create,"external", "language"," "," "," "," "); 2279 addmssqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"external","table"," "," "," "," "); 2280 addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, TBaseType.rrw_create,"fulltext", "catalog"," "," "," "," "); 2281 addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextindex, TBaseType.rrw_create,"fulltext", "index"," "," "," "," "); 2282 addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 2283 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 2284 addmssqlcmds(ESqlStatementType.sstmssqlcreatelogin, TBaseType.rrw_create,"login"," "," "," "," "," "); 2285 addmssqlcmds(ESqlStatementType.sstmssqlcreatemasterkey, TBaseType.rrw_create,"master","key"," "," "," "," "); 2286 addmssqlcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 2287 2288 addmssqlcmds(ESqlStatementType.sstmssqlcreatemessagetype, TBaseType.rrw_create,"message","type"," "," "," "," "); 2289 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","columnstore","index"," "," "," "); 2290 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"nonclustered","index"," "," "," "," "); 2291 2292 addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, TBaseType.rrw_create,"or","alter","function"," "," "," "); 2293 2294 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","alter","proc"," "," "," "); 2295 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"or","alter","procedure"," "," "," "); 2296 2297 addmssqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","alter","view"," "," "," "); 2298 addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionfunction, TBaseType.rrw_create,"partition","function"," "," "," "," "); 2299 addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionscheme, TBaseType.rrw_create,"partition","scheme"," "," "," "," "); 2300 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"primary","xml","index"," "," "," "); 2301 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"proc"," "," "," "," "," "); 2302 addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 2303 addmssqlcmds(ESqlStatementType.sstmssqlcreatequeue, TBaseType.rrw_create,"queue"," "," "," "," "," "); 2304 addmssqlcmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, TBaseType.rrw_create,"remote", "service", "binding"," "," "," "); 2305 addmssqlcmds(ESqlStatementType.sstmssqlcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 2306 addmssqlcmds(ESqlStatementType.sstmssqlcreateroute, TBaseType.rrw_create,"route"," "," "," "," "," "); 2307 addmssqlcmds(ESqlStatementType.sstmssqlcreaterule, TBaseType.rrw_create,"rule"," "," "," "," "," "); 2308 addmssqlcmds(ESqlStatementType.sstmssqlcreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 2309 addmssqlcmds(ESqlStatementType.sstmssqlCreateSecurityPolicy, TBaseType.rrw_create, "security", "policy", " ", " ", " ", " "); 2310 addmssqlcmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2311 addmssqlcmds(ESqlStatementType.sstmssqlcreateservice, TBaseType.rrw_create,"service"," "," "," "," "," "); 2312 addmssqlcmds(ESqlStatementType.sstmssqlcreatestatistics, TBaseType.rrw_create,"statistics"," "," "," "," "," "); 2313 addmssqlcmds(ESqlStatementType.sstmssqlcreatesymmetrickey, TBaseType.rrw_create,"symmetric", "key"," "," "," "," "); 2314 addmssqlcmds(ESqlStatementType.sstmssqlcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2315 addmssqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 2316 addmssqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 2317 addmssqlcmds(ESqlStatementType.sstmssqlcreatetype, TBaseType.rrw_create,"type"," "," "," "," "," "); 2318 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","clustered","index"," "," "," "); 2319 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 2320 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"unique","nonclustered","index"," "," "," "); 2321 addmssqlcmds(ESqlStatementType.sstmssqlcreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 2322 addmssqlcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2323 addmssqlcmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"xml","index"," "," "," "," "); 2324 addmssqlcmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, TBaseType.rrw_create,"xml", "schema", "collection"," "," "," "); 2325// DBCC 2326 addmssqlcmds(ESqlStatementType.sstmssqldbcc, TBaseType.rrw_dbcc," "," "," "," "," "," "); 2327//DEALLOCATE 2328 addmssqlcmds(ESqlStatementType.sstmssqldeallocate, TBaseType.rrw_deallocate," "," "," "," "," "," "); 2329//DECLARE 2330 addmssqlcmds(ESqlStatementType.sstmssqldeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 2331//DELETE 2332 addmssqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2333//DENY 2334 addmssqlcmds(ESqlStatementType.sstmssqldeny, TBaseType.rrw_deny," "," "," "," "," "," "); 2335//DISABLE TRIGGER 2336 addmssqlcmds(ESqlStatementType.sstmssqldisabletrigger, TBaseType.rrw_disable,"trigger"," "," "," "," "," "); 2337//drop 2338 addmssqlcmds(ESqlStatementType.sstmssqldropaggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 2339 addmssqlcmds(ESqlStatementType.sstmssqldropapplicationrole, TBaseType.rrw_drop,"application", "role"," "," "," "," "); 2340 addmssqlcmds(ESqlStatementType.sstmssqldropassembly, TBaseType.rrw_drop,"assembly"," "," "," "," "," "); 2341 addmssqlcmds(ESqlStatementType.sstmssqldropasymmetrickey, TBaseType.rrw_drop,"asymmetric", "key"," "," "," "," "); 2342 addmssqlcmds(ESqlStatementType.sstmssqldropcertificate, TBaseType.rrw_drop,"certificate"," "," "," "," "," "); 2343 addmssqlcmds(ESqlStatementType.sstmssqldropcontract, TBaseType.rrw_drop,"contract"," "," "," "," "," "); 2344 addmssqlcmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"counter", "signature"," "," "," "," "); 2345 addmssqlcmds(ESqlStatementType.sstmssqldropcredential, TBaseType.rrw_drop,"credential"," "," "," "," "," "); 2346 addmssqlcmds(ESqlStatementType.sstmssqldropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 2347 addmssqlcmds(ESqlStatementType.sstmssqldropdefault, TBaseType.rrw_drop,"default"," "," "," "," "," "); 2348 addmssqlcmds(ESqlStatementType.sstmssqldropendpoint, TBaseType.rrw_drop,"endpoint"," "," "," "," "," "); 2349 addmssqlcmds(ESqlStatementType.sstmssqldropeventnotification, TBaseType.rrw_drop,"event", "notification"," "," "," "," "); 2350 addmssqlcmds(ESqlStatementType.sstmssqldropeventsession, TBaseType.rrw_drop,"event", "session"," "," "," "," "); 2351 addmssqlcmds(ESqlStatementType.sstmssqldropfulltextcatalog, TBaseType.rrw_drop,"fulltext", "catalog"," "," "," "," "); 2352 addmssqlcmds(ESqlStatementType.sstmssqldropfulltextindex, TBaseType.rrw_drop,"fulltext", "index"," "," "," "," "); 2353 addmssqlcmds(ESqlStatementType.sstmssqldropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 2354 addmssqlcmds(ESqlStatementType.sstmssqldropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2355 addmssqlcmds(ESqlStatementType.sstmssqldroplogin, TBaseType.rrw_drop,"login"," "," "," "," "," "); 2356 addmssqlcmds(ESqlStatementType.sstmssqldropmasterkey, TBaseType.rrw_drop,"master", "key"," "," "," "," "); 2357 addmssqlcmds(ESqlStatementType.sstmssqldropmessagetype, TBaseType.rrw_drop,"message", "type"," "," "," "," "); 2358 addmssqlcmds(ESqlStatementType.sstmssqldroppartitionfunction, TBaseType.rrw_drop,"partition", "function"," "," "," "," "); 2359 addmssqlcmds(ESqlStatementType.sstmssqldroppartitionscheme, TBaseType.rrw_drop,"partition", "scheme"," "," "," "," "); 2360 addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"proc"," "," "," "," "," "); 2361 addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 2362 addmssqlcmds(ESqlStatementType.sstmssqldropqueue, TBaseType.rrw_drop,"queue"," "," "," "," "," "); 2363 addmssqlcmds(ESqlStatementType.sstmssqldropremoteservicebinding, TBaseType.rrw_drop,"remote", "service", "binding"," "," "," "); 2364 addmssqlcmds(ESqlStatementType.sstmssqldroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 2365 addmssqlcmds(ESqlStatementType.sstmssqldroproute, TBaseType.rrw_drop,"route"," "," "," "," "," "); 2366 addmssqlcmds(ESqlStatementType.sstmssqldroprule, TBaseType.rrw_drop,"rule"," "," "," "," "," "); 2367 addmssqlcmds(ESqlStatementType.sstmssqldropschema, TBaseType.rrw_drop,"schema"," "," "," "," "," "); 2368 addmssqlcmds(ESqlStatementType.sstmssqlDropSecurityPolicy, TBaseType.rrw_drop, "security", "policy", " ", " ", " ", " "); 2369 addmssqlcmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 2370 addmssqlcmds(ESqlStatementType.sstmssqldropservice, TBaseType.rrw_drop,"service"," "," "," "," "," "); 2371 addmssqlcmds(ESqlStatementType.sstmssqldropsignature, TBaseType.rrw_drop,"signature"," "," "," "," "," "); 2372 addmssqlcmds(ESqlStatementType.sstmssqldropstatistics, TBaseType.rrw_drop,"statistics"," "," "," "," "," "); 2373 addmssqlcmds(ESqlStatementType.sstmssqldropsymmetrickey, TBaseType.rrw_drop,"symmetric", "key"," "," "," "," "); 2374 addmssqlcmds(ESqlStatementType.sstmssqldropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2375 addmssqlcmds(ESqlStatementType.sstmssqldroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2376 addmssqlcmds(ESqlStatementType.sstmssqldroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 2377 addmssqlcmds(ESqlStatementType.sstmssqldroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 2378 addmssqlcmds(ESqlStatementType.sstmssqldropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 2379 addmssqlcmds(ESqlStatementType.sstmssqldropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2380 addmssqlcmds(ESqlStatementType.sstmssqldropxmlschemacollection, TBaseType.rrw_drop,"xml", "schema", "collection"," "," "," "); 2381//enable trigger 2382 addmssqlcmds(ESqlStatementType.sstmssqlenabletrigger, TBaseType.rrw_enable,"trigger"," "," "," "," "," "); 2383//END CONVERSATION 2384// AddMssqlCmds(ESqlStatementType.sstMssqlEndCatch,TBaseType.rrw_end,'catch'); 2385 addmssqlcmds(ESqlStatementType.sstmssqlendconversation, TBaseType.rrw_end,"conversation"," "," "," "," "," "); 2386// AddMssqlCmds(ESqlStatementType.sstMssqlEndTry,TBaseType.rrw_end,'try'); 2387//exec 2388//exec as 2389 addmssqlcmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_exec," "," "," "," "," "," "); 2390 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","caller"," "," "," "," "); 2391 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","login"," "," "," "," "); 2392 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_exec,"as","user"," "," "," "," "); 2393 addmssqlcmds(ESqlStatementType.sstmssqlexec, TBaseType.rrw_execute, " "," "," "," "," "," "); 2394 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","caller"," "," "," "," "); 2395 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","login"," "," "," "," "); 2396 addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, TBaseType.rrw_execute,"as","user"," "," "," "," "); 2397//fetch 2398 addmssqlcmds(ESqlStatementType.sstmssqlfetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2399//go 2400 addmssqlcmds(ESqlStatementType.sstmssqlgo, TBaseType.rrw_go," "," "," "," "," "," "); 2401//goto 2402 addmssqlcmds(ESqlStatementType.sstmssqlgoto, TBaseType.rrw_goto," "," "," "," "," "," "); 2403//GRANT 2404 addmssqlcmds(ESqlStatementType.sstmssqlgrant, TBaseType.rrw_grant," "," "," "," "," "," "); 2405 2406//if 2407 addmssqlcmds(ESqlStatementType.sstmssqlif, TBaseType.rrw_if," "," "," "," "," "," "); 2408 2409//GRANT 2410 addmssqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2411 addmssqlcmds(ESqlStatementType.sstmssqlinsertbulk, TBaseType.rrw_insert,"bulk"," "," "," "," "," "); 2412//KILL 2413 addmssqlcmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2414//KILL 2415 addmssqlcmds(ESqlStatementType.sstmssqlkill, TBaseType.rrw_kill," "," "," "," "," "," "); 2416 addmssqlcmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, TBaseType.rrw_kill,"kill", "query", "notification", "subscription"," "," "); 2417 addmssqlcmds(ESqlStatementType.sstmssqlkillstats, TBaseType.rrw_kill,"stats"," "," "," "," "," "); 2418 2419// 2420 addmssqlcmds(ESqlStatementType.sstsybaselocktable,TBaseType.rw_locktable,"table"," "," "," "," "," "); 2421//MOVE CONVERSATION 2422 addmssqlcmds(ESqlStatementType.sstmssqlmoveconversation, TBaseType.rrw_move,"conversation"," "," "," "," "," "); 2423//merge 2424 addmssqlcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2425//open 2426 addmssqlcmds(ESqlStatementType.sstmssqlopen, TBaseType.rrw_open," "," "," "," "," "," "); 2427 addmssqlcmds(ESqlStatementType.sstmssqlopenmasterkey, TBaseType.rrw_open,"master", "key"," "," "," "," "); 2428 addmssqlcmds(ESqlStatementType.sstmssqlopensymmetrickey, TBaseType.rrw_open,"symmetric", "key"," "," "," "," "); 2429//PRINT 2430 addmssqlcmds(ESqlStatementType.sstmssqlprint, TBaseType.rrw_print," "," "," "," "," "," "); 2431//RAISERROR 2432 addmssqlcmds(ESqlStatementType.sstmssqlraiserror, TBaseType.rrw_raiserror," "," "," "," "," "," "); 2433//READTEXT 2434 addmssqlcmds(ESqlStatementType.sstmssqlreadtext, TBaseType.rrw_readtext," "," "," "," "," "," "); 2435//RECEIVE 2436 addmssqlcmds(ESqlStatementType.sstmssqlreceive, TBaseType.rrw_receive," "," "," "," "," "," "); 2437//RECONFIGURE 2438 addmssqlcmds(ESqlStatementType.sstmssqlreconfigure, TBaseType.rrw_reconfigure," "," "," "," "," "," "); 2439//RESTORE 2440 addmssqlcmds(ESqlStatementType.sstmssqlrestoredatabase, TBaseType.rrw_restore,"database"," "," "," "," "," "); 2441 addmssqlcmds(ESqlStatementType.sstmssqlrestorefilelistonly, TBaseType.rrw_restore,"filelistonly"," "," "," "," "," "); 2442 addmssqlcmds(ESqlStatementType.sstmssqlrestoreheaderonly, TBaseType.rrw_restore,"headeronly"," "," "," "," "," "); 2443 addmssqlcmds(ESqlStatementType.sstmssqlrestorelabelonly, TBaseType.rrw_restore,"labelonly"," "," "," "," "," "); 2444 addmssqlcmds(ESqlStatementType.sstmssqlrestorelog, TBaseType.rrw_restore,"log"," "," "," "," "," "); 2445 addmssqlcmds(ESqlStatementType.sstmssqlrestoremasterkey, TBaseType.rrw_restore,"master","key"," "," "," "," "); 2446 addmssqlcmds(ESqlStatementType.sstmssqlrestorerewindonly, TBaseType.rrw_restore,"rewindonly"," "," "," "," "," "); 2447 addmssqlcmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, TBaseType.rrw_restore,"service","master","key"," "," "," "); 2448 addmssqlcmds(ESqlStatementType.sstmssqlrestoreverifyonly, TBaseType.rrw_restore,"verifyonly"," "," "," "," "," "); 2449//RETURN 2450 addmssqlcmds(ESqlStatementType.sstmssqlreturn, TBaseType.rrw_return," "," "," "," "," "," "); 2451//REVERT 2452 addmssqlcmds(ESqlStatementType.sstmssqlrevert, TBaseType.rrw_revert," "," "," "," "," "," "); 2453//REVOKE 2454 addmssqlcmds(ESqlStatementType.sstmssqlrevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2455//ROLLBACK 2456 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2457 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"tran"," "," "," "," "," "); 2458 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"transaction"," "," "," "," "," "); 2459 addmssqlcmds(ESqlStatementType.sstmssqlrollback, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 2460//SAVE 2461 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save," "," "," "," "," "," "); 2462 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"tran"," "," "," "," "," "); 2463 addmssqlcmds(ESqlStatementType.sstmssqlsavetran, TBaseType.rrw_save,"transaction"," "," "," "," "," "); 2464//SELECT 2465 addmssqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2466//SEND ON CONVERSATION 2467 addmssqlcmds(ESqlStatementType.sstmssqlsendonconversation, TBaseType.rrw_send,"on","conversation"," "," "," "," "); 2468//SET 2469 addmssqlcmds(ESqlStatementType.sstmssqlset, TBaseType.rrw_set," "," "," "," "," "," "); 2470//SET rowcount 2471 addmssqlcmds(ESqlStatementType.sstmssqlsetrowcount, TBaseType.rrw_set,"rowcount"," "," "," "," "," "); 2472//SET 2473 addmssqlcmds(ESqlStatementType.sstmssqlsetuser,TBaseType.rrw_setuser," "," "," "," "," "," "); 2474//SHUTDOWN 2475 addmssqlcmds(ESqlStatementType.sstmssqlshutdown, TBaseType.rrw_shutdown," "," "," "," "," "," "); 2476//SIGN 2477// addmssqlcmds(ESqlStatementType.sstmssqlsign, rrw_sign," "," "," "," "," "," "); 2478 2479//throw 2480 addmssqlcmds(ESqlStatementType.sstmssqlthrow, TBaseType.rrw_sqlserver_throw," "," "," "," "," "," "); 2481 2482//TRUNCATE TABLE 2483 addmssqlcmds(ESqlStatementType.sstmssqltruncatetable, TBaseType.rrw_truncate,"table"," "," "," "," "," "); 2484//UPDATE 2485 addmssqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2486//UPDATE STATISTICS 2487 addmssqlcmds(ESqlStatementType.sstmssqlupdatestatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 2488//UPDATETEXT 2489 addmssqlcmds(ESqlStatementType.sstmssqlupdatetext, TBaseType.rrw_updatetext," "," "," "," "," "," "); 2490//USE 2491 addmssqlcmds(ESqlStatementType.sstmssqluse, TBaseType.rrw_use," "," "," "," "," "," "); 2492//WAITFOR 2493 addmssqlcmds(ESqlStatementType.sstmssqlwaitfor, TBaseType.rrw_waitfor," "," "," "," "," "," "); 2494//WHILE 2495 addmssqlcmds(ESqlStatementType.sstmssqlwhile, TBaseType.rrw_while," "," "," "," "," "," "); 2496//WITH, don't recongize here, let isMssqlSql do it 2497// AddMssqlCmds(ESqlStatementType.sstMssqlCTE,rrw_WITH,' '); 2498//WITH XMLNAMESPACES 2499 // addmssqlcmds(ESqlStatementType.sstmssqlwithxmlnamespaces, TBaseType.rrw_with,"xmlnamespaces"," "," "," "," "," "); 2500//WRITETEXT 2501 addmssqlcmds(ESqlStatementType.sstmssqlwritetext, TBaseType.rrw_writetext," "," "," "," "," "," "); 2502 2503} 2504 2505void initdb2cmds(){ 2506// cmd must be sort alphabetically 2507 adddb2cmds(ESqlStatementType.sstdb2allocatecursor, TBaseType.rrw_allocate,"cursor"," "," "," "," "," "); 2508 adddb2cmds(ESqlStatementType.sstdb2alterbufferpool, TBaseType.rrw_alter,"bufferpool"," "," "," "," "," "); 2509 adddb2cmds(ESqlStatementType.sstdb2alterdatabasepartitiongroup, TBaseType.rrw_alter,"database", "partition", "group"," "," "," "); 2510 adddb2cmds(ESqlStatementType.sstdb2alterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 2511 adddb2cmds(ESqlStatementType.sstdb2altermethod, TBaseType.rrw_alter,"method"," "," "," "," "," "); 2512 adddb2cmds(ESqlStatementType.sstdb2alternickname, TBaseType.rrw_alter,"nickname"," "," "," "," "," "); 2513 adddb2cmds(ESqlStatementType.sstdb2alterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 2514 adddb2cmds(ESqlStatementType.sstdb2altersequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 2515 adddb2cmds(ESqlStatementType.sstdb2alterserver, TBaseType.rrw_alter,"server"," "," "," "," "," "); 2516 adddb2cmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 2517 adddb2cmds(ESqlStatementType.sstdb2altertablespace, TBaseType.rrw_alter,"tablespace"," "," "," "," "," "); 2518 adddb2cmds(ESqlStatementType.sstdb2altertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 2519 adddb2cmds(ESqlStatementType.sstdb2alterusermapping, TBaseType.rrw_alter,"user","mapping"," "," "," "," "); 2520 adddb2cmds(ESqlStatementType.sstdb2alterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 2521 adddb2cmds(ESqlStatementType.sstdb2alterwrapper, TBaseType.rrw_alter,"wrapper"," "," "," "," "," "); 2522 adddb2cmds(ESqlStatementType.sstdb2associatelocators, TBaseType.rrw_associate,"locators"," "," "," "," "," "); 2523 adddb2cmds(ESqlStatementType.sstdb2begindeclaresection, TBaseType.rrw_begin,"declare", "section"," "," "," "," "); 2524 adddb2cmds(ESqlStatementType.sstdb2call, TBaseType.rrw_call," "," "," "," "," "," "); 2525 adddb2cmds(ESqlStatementType.sstdb2case, TBaseType.rrw_case," "," "," "," "," "," "); 2526 adddb2cmds(ESqlStatementType.sstdb2close, TBaseType.rrw_close," "," "," "," "," "," "); 2527 adddb2cmds(ESqlStatementType.sstdb2comment, TBaseType.rrw_comment," "," "," "," "," "," "); 2528 adddb2cmds(ESqlStatementType.sstdb2commit, TBaseType.rrw_commit," "," "," "," "," "," "); 2529 adddb2cmds(ESqlStatementType.sstdb2connect, TBaseType.rrw_connect," "," "," "," "," "," "); 2530 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"alias"," "," "," "," "," "); 2531 adddb2cmds(ESqlStatementType.sstcreateauditpolicy, TBaseType.rrw_create,"audit","policy"," "," "," "," "); 2532 adddb2cmds(ESqlStatementType.sstdb2createbufferpool, TBaseType.rrw_create,"bufferpool"," "," "," "," "," "); 2533 adddb2cmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create,"database", " ", " "," "," "," "); 2534 adddb2cmds(ESqlStatementType.sstdb2createdatabasepartitiongroup, TBaseType.rrw_create,"database", "partition", "group"," "," "," "); 2535 adddb2cmds(ESqlStatementType.sstdb2createdistincttype, TBaseType.rrw_create,"distinct", "type"," "," "," "," "); 2536 adddb2cmds(ESqlStatementType.sstdb2createeventmonitor, TBaseType.rrw_create,"eventmonitor"," "," "," "," "," "); 2537 adddb2cmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 2538 adddb2cmds(ESqlStatementType.sstdb2createfunctionmapping, TBaseType.rrw_create,"function", "mapping"," "," "," "," "); 2539 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 2540 adddb2cmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 2541 adddb2cmds(ESqlStatementType.sstdb2createindexextension, TBaseType.rrw_create,"index", "extension"," "," "," "," "); 2542 adddb2cmds(ESqlStatementType.sstcreateTablespace, TBaseType.rrw_create,"large","tablespace"," "," "," "," "); 2543 adddb2cmds(ESqlStatementType.sstdb2createmethod, TBaseType.rrw_create,"method"," "," "," "," "," "); 2544 adddb2cmds(ESqlStatementType.sstdb2createnickname, TBaseType.rrw_create,"nickname"," "," "," "," "," "); 2545 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"or","replace","alias"," "," "," "); 2546 adddb2cmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 2547 adddb2cmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 2548 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"or","replace","public","alias"," "," "); 2549 adddb2cmds(ESqlStatementType.sstdb2createtrigger, TBaseType.rrw_create,"or","replace","trigger"," "," "," "); 2550 adddb2cmds(ESqlStatementType.sstdb2createvariable, TBaseType.rrw_create,"or","replace","variable"," "," "," "); 2551 adddb2cmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 2552 adddb2cmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 2553 adddb2cmds(ESqlStatementType.sstdb2createalias, TBaseType.rrw_create,"public","alias"," "," "," "," "); 2554 adddb2cmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 2555 adddb2cmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 2556 adddb2cmds(ESqlStatementType.sstdb2createschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 2557 adddb2cmds(ESqlStatementType.sstdb2createsequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 2558 adddb2cmds(ESqlStatementType.sstdb2createserver, TBaseType.rrw_create,"server"," "," "," "," "," "); 2559 adddb2cmds(ESqlStatementType.sstdb2createstogroup, TBaseType.rrw_create,"stogroup"," "," "," "," "," "); 2560 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"summary","table"," "," "," "," "); 2561 adddb2cmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2562 adddb2cmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 2563 adddb2cmds(ESqlStatementType.sstcreateTablespace, TBaseType.rrw_create,"tablespace"," "," "," "," "," "); 2564 adddb2cmds(ESqlStatementType.sstdb2createtransform, TBaseType.rrw_create,"transform"," "," "," "," "," "); 2565 adddb2cmds(ESqlStatementType.sstdb2createtrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 2566 adddb2cmds(ESqlStatementType.sstdb2createtype, TBaseType.rrw_create,"type"," "," "," "," "," "); 2567 adddb2cmds(ESqlStatementType.sstdb2createtypemapping, TBaseType.rrw_create,"type", "mapping"," "," "," "," "); 2568 adddb2cmds(ESqlStatementType.sstdb2createusermapping, TBaseType.rrw_create,"user", "mapping"," "," "," "," "); 2569 adddb2cmds(ESqlStatementType.sstdb2createvariable, TBaseType.rrw_create,"variable"," "," "," "," "," "); 2570 adddb2cmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 2571 adddb2cmds(ESqlStatementType.sstdb2createwrapper, TBaseType.rrw_create,"wrapper"," "," "," "," "," "); 2572 adddb2cmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create,"*","index"," "," "," "," "); 2573 adddb2cmds(ESqlStatementType.sstdb2declareglobaltemporarytable, TBaseType.rrw_declare, "global", "temporary", "table"," "," "," "); 2574 adddb2cmds(ESqlStatementType.sstdb2declarecursor, TBaseType.rrw_declare,"*","cursor"," "," "," "," "); 2575 adddb2cmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 2576 adddb2cmds(ESqlStatementType.sstdb2describe, TBaseType.rrw_describe," "," "," "," "," "," "); 2577 adddb2cmds(ESqlStatementType.sstdb2disconnect, TBaseType.rrw_disconnect," "," "," "," "," "," "); 2578 adddb2cmds(ESqlStatementType.sstdb2drop, TBaseType.rrw_drop," "," "," "," "," "," "); 2579 adddb2cmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 2580 adddb2cmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 2581 adddb2cmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 2582 adddb2cmds(ESqlStatementType.sstdb2enddeclaresection, TBaseType.rrw_end,"declare","section"," "," "," "," "); 2583 adddb2cmds(ESqlStatementType.sstdb2execute, TBaseType.rrw_execute," "," "," "," "," "," "); 2584 adddb2cmds(ESqlStatementType.sstdb2executeimmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 2585 adddb2cmds(ESqlStatementType.sstdb2explain, TBaseType.rrw_explain," "," "," "," "," "," "); 2586 adddb2cmds(ESqlStatementType.sstdb2fetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 2587 adddb2cmds(ESqlStatementType.sstdb2flusheventmonitor, TBaseType.rrw_flush, "event", "monitor"," "," "," "," "); 2588 adddb2cmds(ESqlStatementType.sstdb2flushpackagecache, TBaseType.rrw_flush,"package", "cache"," "," "," "," "); 2589 adddb2cmds(ESqlStatementType.sstdb2for, TBaseType.rrw_for," "," "," "," "," "," "); 2590 adddb2cmds(ESqlStatementType.sstdb2freelocator, TBaseType.rrw_free,"locator"," "," "," "," "," "); 2591 adddb2cmds(ESqlStatementType.sstgetdiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 2592 adddb2cmds(ESqlStatementType.sstdb2goto, TBaseType.rrw_goto," "," "," "," "," "," "); 2593 adddb2cmds(ESqlStatementType.sstdb2grant, TBaseType.rrw_grant," "," "," "," "," "," "); 2594 adddb2cmds(ESqlStatementType.sstdb2if, TBaseType.rrw_if," "," "," "," "," "," "); 2595 adddb2cmds(ESqlStatementType.sstdb2include, TBaseType.rrw_include," "," "," "," "," "," "); 2596 adddb2cmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 2597 adddb2cmds(ESqlStatementType.sstdb2iterate, TBaseType.rrw_iterate," "," "," "," "," "," "); 2598 adddb2cmds(ESqlStatementType.sstdb2labelOn, TBaseType.rrw_db2_label,"on"," "," "," "," "," "); 2599 adddb2cmds(ESqlStatementType.sstdb2leave, TBaseType.rrw_leave," "," "," "," "," "," "); 2600 adddb2cmds(ESqlStatementType.sstdb2locktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 2601 adddb2cmds(ESqlStatementType.sstdb2loop, TBaseType.rrw_loop," "," "," "," "," "," "); 2602 adddb2cmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 2603 adddb2cmds(ESqlStatementType.sstdb2open, TBaseType.rrw_open," "," "," "," "," "," "); 2604 adddb2cmds(ESqlStatementType.sstdb2prepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 2605 adddb2cmds(ESqlStatementType.sstdb2refreshtable, TBaseType.rrw_refresh,"table"," "," "," "," "," "); 2606 adddb2cmds(ESqlStatementType.sstdb2release, TBaseType.rrw_release," "," "," "," "," "," "); 2607 adddb2cmds(ESqlStatementType.sstdb2releasesavepoint, TBaseType.rrw_release,"savepoint"," "," "," "," "," "); 2608 adddb2cmds(ESqlStatementType.sstdb2rename, TBaseType.rrw_rename," "," "," "," "," "," "); 2609 adddb2cmds(ESqlStatementType.sstdb2renametablespace, TBaseType.rrw_rename,"tablespace"," "," "," "," "," "); 2610 adddb2cmds(ESqlStatementType.sstdb2repeat, TBaseType.rrw_repeat," "," "," "," "," "," "); 2611 adddb2cmds(ESqlStatementType.sstdb2resignal, TBaseType.rrw_resignal," "," "," "," "," "," "); 2612 adddb2cmds(ESqlStatementType.sstdb2return, TBaseType.rrw_return," "," "," "," "," "," "); 2613 adddb2cmds(ESqlStatementType.sstdb2revoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 2614 adddb2cmds(ESqlStatementType.sstdb2rollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 2615 adddb2cmds(ESqlStatementType.sstRunStats, TBaseType.rrw_db2_runstats," "," "," "," "," "," "); 2616 adddb2cmds(ESqlStatementType.sstdb2savepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 2617 adddb2cmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 2618 adddb2cmds(ESqlStatementType.sstdb2setconnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 2619 adddb2cmds(ESqlStatementType.sstdb2set, TBaseType.rrw_set," "," "," "," "," "," "); 2620 adddb2cmds(ESqlStatementType.sstdb2setconnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 2621 adddb2cmds(ESqlStatementType.sstdb2setcurrentdefaulttransformgroup, TBaseType.rrw_set,"current default transform group"," "," "," "," "," "); 2622 adddb2cmds(ESqlStatementType.sstdb2setcurrentdegree, TBaseType.rrw_set,"current", "degree"," "," "," "," "); 2623 adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainmode, TBaseType.rrw_set,"current", "explain", "mode"," "," "," "); 2624 adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainsnapshot, TBaseType.rrw_set,"current", "explain", "snapshot"," "," "," "); 2625 adddb2cmds(ESqlStatementType.sstdb2setcurrentisolation, TBaseType.rrw_set,"current", "isolation"," "," "," "," "); 2626 adddb2cmds(ESqlStatementType.sstdb2setcurrentlocktimeout, TBaseType.rrw_set,"current", "lock", "timeout"," "," "," "); 2627 adddb2cmds(ESqlStatementType.sstdb2setcurrentmaintainedtabletypesforoptimization, TBaseType.rrw_set,"current", "maintained", "table", "types"," "," "); 2628 adddb2cmds(ESqlStatementType.sstdb2setcurrentpackagepath, TBaseType.rrw_set,"current", "package", "path"," "," "," "); 2629 adddb2cmds(ESqlStatementType.sstdb2setcurrentpackageset, TBaseType.rrw_set,"current", "packageset"," "," "," "," "); 2630 adddb2cmds(ESqlStatementType.sstdb2setcurrentqueryoptimization, TBaseType.rrw_set,"current", "query", "optimization"," "," "," "); 2631 adddb2cmds(ESqlStatementType.sstdb2setcurrentrefreshage, TBaseType.rrw_set,"current", "refresh", "age"," "," "," "); 2632 adddb2cmds(ESqlStatementType.sstdb2setschema, TBaseType.rrw_set,"current","schema"," "," "," "," "); 2633 adddb2cmds(ESqlStatementType.sstdb2setencryptionpassword, TBaseType.rrw_set,"encryption", "password"," "," "," "," "); 2634 adddb2cmds(ESqlStatementType.sstdb2seteventmonitorstate, TBaseType.rrw_set,"event", "monitor", "state"," "," "," "); 2635 adddb2cmds(ESqlStatementType.sstdb2setintegrity, TBaseType.rrw_set,"integrity"," "," "," "," "," "); 2636 adddb2cmds(ESqlStatementType.sstdb2setpassthru, TBaseType.rrw_set,"passthru"," "," "," "," "," "); 2637 adddb2cmds(ESqlStatementType.sstdb2setpath, TBaseType.rrw_set,"path"," "," "," "," "," "); 2638 adddb2cmds(ESqlStatementType.sstdb2setschema, TBaseType.rrw_set,"schema"," "," "," "," "," "); 2639 adddb2cmds(ESqlStatementType.sstdb2setserveroption, TBaseType.rrw_set,"server", "option"," "," "," "," "); 2640 adddb2cmds(ESqlStatementType.sstdb2setsessionauthorization, TBaseType.rrw_set,"session", "authorization"," "," "," "," "); 2641 adddb2cmds(ESqlStatementType.sstdb2signal, TBaseType.rrw_signal," "," "," "," "," "," "); 2642 adddb2cmds(ESqlStatementType.sstdb2terminate, TBaseType.rrw_terminate," "," "," "," "," "," "); 2643//TRUNCATE TABLE 2644 adddb2cmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate," "," "," "," "," "," "); 2645 2646 adddb2cmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 2647 adddb2cmds(ESqlStatementType.sstdb2updateCommand, TBaseType.rrw_update,"command"," "," "," "," "," "); 2648// AddDB2Cmds(sstDB2VALUES,rrw_VALUES); 2649// AddDB2Cmds(sstDB2WHENEVER,rrw_WHENEVER); 2650 adddb2cmds(ESqlStatementType.sstdb2while, TBaseType.rrw_while," "," "," "," "," "," "); 2651 2652} 2653 2654void initnetezzacmds(){ 2655 addnetezzacmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 2656 addnetezzacmds(ESqlStatementType.sstnetezzaAlterDatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 2657 addnetezzacmds(ESqlStatementType.sstnetezzaAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 2658 addnetezzacmds(ESqlStatementType.sstnetezzaAlterHistoryConfiguration, TBaseType.rrw_alter, "history", " ", " ", " ", " ", " "); 2659 addnetezzacmds(ESqlStatementType.sstnetezzaAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2660 addnetezzacmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 2661 addnetezzacmds(ESqlStatementType.sstAlterSynonym, TBaseType.rrw_alter, "synonym", " ", " ", " ", " ", " "); 2662 addnetezzacmds(ESqlStatementType.sstnetezzaAlterTable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 2663 addnetezzacmds(ESqlStatementType.sstnetezzaAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 2664 addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 2665 addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, TBaseType.rrw_alter, "views", " ", " ", " ", " ", " "); 2666 addnetezzacmds(ESqlStatementType.sstnetezzaBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 2667 addnetezzacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 2668 addnetezzacmds(ESqlStatementType.sstnetezzaComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 2669 addnetezzacmds(ESqlStatementType.sstnetezzaCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 2670 addnetezzacmds(ESqlStatementType.sstnetezzaCopy, TBaseType.rrw_netezza_copy, " ", " ", " ", " ", " ", " "); 2671 addnetezzacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 2672 addnetezzacmds(ESqlStatementType.sstnetezzaCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 2673 addnetezzacmds(ESqlStatementType.sstnetezzaCreateGruop, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 2674 addnetezzacmds(ESqlStatementType.sstnetezzaCreateHistoryConfiguration, TBaseType.rrw_create, "history", "configuration", " ", " ", " ", " "); 2675 addnetezzacmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 2676 addnetezzacmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "or", "replace", "materialized", "view", " ", " "); 2677 addnetezzacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 2678 addnetezzacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 2679 addnetezzacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 2680 addnetezzacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2681 addnetezzacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "synonym", " ", " ", " ", " ", " "); 2682 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 2683 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 2684 addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 2685 addnetezzacmds(ESqlStatementType.sstnetezzaCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 2686 addnetezzacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 2687// addnetezzacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "volatile", "table", " ", " ", " ", " "); 2688 addnetezzacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete , " ", " ", " ", " ", " ", " "); 2689 addnetezzacmds(ESqlStatementType.sstnetezzaDropConnection, TBaseType.rrw_drop, "connection", " ", " ", " ", " ", " "); 2690 addnetezzacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 2691 addnetezzacmds(ESqlStatementType.sstnetezzaDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 2692 addnetezzacmds(ESqlStatementType.sstnetezzaDropHistoryConfiguration, TBaseType.rrw_drop, "history", "configuration", " ", " ", " ", " "); 2693 addnetezzacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 2694 addnetezzacmds(ESqlStatementType.sstnetezzaDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 2695 addnetezzacmds(ESqlStatementType.sstnetezzaDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 2696 addnetezzacmds(ESqlStatementType.sstnetezzaDropSession, TBaseType.rrw_drop, "session", " ", " ", " ", " ", " "); 2697 addnetezzacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "synonym", " ", " ", " ", " ", " "); 2698 addnetezzacmds(ESqlStatementType.sstnetezzaDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 2699 addnetezzacmds(ESqlStatementType.sstnetezzaDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 2700 addnetezzacmds(ESqlStatementType.sstnetezzaDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 2701 addnetezzacmds(ESqlStatementType.sstexecutestmt, TBaseType.rrw_exec, " ", " ", " ", " ", " ", " "); 2702 addnetezzacmds(ESqlStatementType.sstexecutestmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 2703 addnetezzacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 2704 addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, TBaseType.rrw_netezza_generate, "express", "statistics", " ", " ", " ", " "); 2705 addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, TBaseType.rrw_netezza_generate, "statistics", " ", " ", " ", " ", " "); 2706 addnetezzacmds(ESqlStatementType.sstnetezzaGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 2707 addnetezzacmds(ESqlStatementType.sstnetezzaGroomTable, TBaseType.rrw_netezza_groom, "table", " ", " ", " ", " ", " "); 2708 addnetezzacmds(ESqlStatementType.sstlocktable, TBaseType.rrw_lock, "table", " ", " ", " ", " ", " "); 2709 addnetezzacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 2710 addnetezzacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 2711 addnetezzacmds(ESqlStatementType.sstnetezzaReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 2712 addnetezzacmds(ESqlStatementType.sstnetezzaRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 2713 addnetezzacmds(ESqlStatementType.sstnetezzaRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 2714 addnetezzacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 2715 addnetezzacmds(ESqlStatementType.sstnetezzaSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 2716 addnetezzacmds(ESqlStatementType.sstSetCatalog, TBaseType.rrw_set, "catalog", " ", " ", " ", " ", " "); 2717 addnetezzacmds(ESqlStatementType.sstSetSchema, TBaseType.rrw_set, "schema", " ", " ", " ", " ", " "); 2718 addnetezzacmds(ESqlStatementType.sstnetezzaShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 2719 addnetezzacmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 2720 addnetezzacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 2721} 2722 void initgaussdbcmds(){ 2723// cmd must be sorted alphabetically 2724 addgaussdbcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 2725 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 2726 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 2727 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 2728 addgaussdbcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 2729 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 2730 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 2731 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 2732 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 2733 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 2734 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 2735 2736 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 2737 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 2738 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 2739 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 2740 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 2741 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 2742 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 2743 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 2744 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 2745 addgaussdbcmds(ESqlStatementType.sstAlterPackage, TBaseType.rrw_alter, "package", " ", " ", " ", " ", " "); 2746 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterPolicy, TBaseType.rrw_alter, "policy", " ", " ", " ", " ", " "); 2747 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 2748 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterProcedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 2749 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterPublication, TBaseType.rrw_alter, "publication", " ", " ", " ", " ", " "); 2750 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 2751 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRoutine, TBaseType.rrw_alter, "routine", " ", " ", " ", " ", " "); 2752 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterRule, TBaseType.rrw_alter, "rule", " ", " ", " ", " ", " "); 2753 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 2754 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 2755 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 2756 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterStatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 2757 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSubscription, TBaseType.rrw_alter, "subscription", " ", " ", " ", " ", " "); 2758 addgaussdbcmds(ESqlStatementType.sstAlterSynonym, TBaseType.rrw_alter, "synonym", " ", " ", " ", " ", " "); 2759 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterSystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 2760 2761 addgaussdbcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 2762 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 2763 2764 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 2765 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 2766 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 2767 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 2768 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 2769 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 2770 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 2771 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 2772 addgaussdbcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 2773 addgaussdbcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 2774 2775 // begin is recognized in isgaussdb() method. 2776 // addgaussdbcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 2777 2778 addgaussdbcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 2779 2780 addgaussdbcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 2781 addgaussdbcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 2782 2783 addgaussdbcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_postgresql_cluster, " ", " ", " ", " ", " ", " "); 2784 2785 addgaussdbcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 2786 2787 addgaussdbcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 2788 addgaussdbcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 2789 addgaussdbcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_postgresql_copy, " ", " ", " ", " ", " ", " "); 2790 2791 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAccessMethod, TBaseType.rrw_create, "access", "method", " ", " ", " ", " "); 2792 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 2793 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateAssertion, TBaseType.rrw_create, "assertion", " ", " ", " ", " ", " "); 2794 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 2795 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 2796 2797 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 2798 2799 addgaussdbcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 2800 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 2801 addgaussdbcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "default", "conversion", " ", " ", " ", " "); 2802 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 2803 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 2804 addgaussdbcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 2805 2806 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 2807 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 2808 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 2809 2810 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "global", "index", " ", " ", " ", " "); 2811 2812 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 2813 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 2814 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 2815 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "global", "unique", "index", " ", " ", " "); 2816 2817 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 2818 2819 addgaussdbcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "incremental", "materialized", "view", " ", " ", " "); 2820 2821 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 2822 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 2823 2824 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 2825 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 2826 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 2827 2828 addgaussdbcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 2829 2830 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 2831 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 2832 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 2833 2834 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 2835 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 2836 2837 addgaussdbcmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","package"," "," "," "); 2838 addgaussdbcmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","package","body"," "," "); 2839 2840 2841 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "procedural", "language", " ", " "); 2842 addgaussdbcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 2843 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 2844 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "or", "replace", "rule ", " ", " ", " "); 2845 addgaussdbcmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"or","replace","synonym"," "," "," "); 2846 2847 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 2848 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 2849 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "or", "replace", "trigger", " ", " ", " "); 2850 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 2851 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "procedural", "language", " "); 2852 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 2853 2854 addgaussdbcmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"package"," "," "," "," "," "); 2855 addgaussdbcmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"package","body"," "," "," "," "); 2856 2857 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreatePolicy, TBaseType.rrw_create, "policy", " ", " ", " ", " ", " "); 2858 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "procedural", "language", " ", " ", " ", " "); 2859 addgaussdbcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 2860 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreatePublication, TBaseType.rrw_create, "publication", " ", " ", " ", " ", " "); 2861 2862 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 2863 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 2864 2865 2866 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 2867 2868 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 2869 2870 2871 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 2872 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateStatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 2873 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSubscription, TBaseType.rrw_create, "subscription", " ", " ", " ", " ", " "); 2874 addgaussdbcmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 2875 2876 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 2877 2878 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 2879 2880 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 2881 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 2882 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 2883 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 2884 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 2885 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 2886 2887 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 2888 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 2889 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 2890 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 2891 2892 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateTransform, TBaseType.rrw_create, "transform", " ", " ", " ", " ", " "); 2893 addgaussdbcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 2894 2895 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 2896 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "procedural", "language", " ", " ", " "); 2897 2898 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 2899 2900 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 2901 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "unlogged", "sequence", " ", " ", " ", " "); 2902 addgaussdbcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlogged", "table", " ", " ", " ", " "); 2903 2904 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 2905 2906 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 2907 2908 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 2909 2910 addgaussdbcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 2911 2912 2913 addgaussdbcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 2914 2915 addgaussdbcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 2916 2917 addgaussdbcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 2918 2919 addgaussdbcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_postgresql_discard, " ", " ", " ", " ", " ", " "); 2920 2921 addgaussdbcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 2922 2923 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAccessMethod, TBaseType.rrw_drop, "access", "method", " ", " ", " ", " "); 2924 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 2925 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropAssertion, TBaseType.rrw_drop, "assertion", " ", " ", " ", " ", " "); 2926 2927 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 2928 2929 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 2930 2931 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 2932 2933 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 2934 2935 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 2936 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropEventTrigger, TBaseType.rrw_drop, "event", "trigger", " ", " ", " ", " "); 2937 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 2938 2939 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 2940 2941 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 2942 2943 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 2944 2945 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 2946 2947 addgaussdbcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 2948 2949 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 2950 2951 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 2952 2953 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 2954 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 2955 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 2956 2957 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 2958 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropPolicy, TBaseType.rrw_drop, "policy", " ", " ", " ", " ", " "); 2959 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 2960 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropProcedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 2961 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropPublication, TBaseType.rrw_drop, "publication", " ", " ", " ", " ", " "); 2962 2963 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 2964 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRoutine, TBaseType.rrw_drop, "routine", " ", " ", " ", " ", " "); 2965 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 2966 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 2967 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 2968 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 2969 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropStatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 2970 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropSubscription, TBaseType.rrw_drop, "subscription", " ", " ", " ", " ", " "); 2971 addgaussdbcmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 2972 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 2973 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 2974 2975 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 2976 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 2977 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 2978 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 2979 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTransform, TBaseType.rrw_drop, "transform", " ", " ", " ", " ", " "); 2980 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 2981 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 2982 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 2983 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 2984 addgaussdbcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 2985 2986 addgaussdbcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 2987 2988 addgaussdbcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 2989 2990 addgaussdbcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 2991 2992 addgaussdbcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 2993 2994 addgaussdbcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 2995 addgaussdbcmds(ESqlStatementType.sstPostgresqlImport, TBaseType.rrw_postgresql_import, "foreign", "schema", " ", " ", " ", " "); 2996 addgaussdbcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 2997 2998 addgaussdbcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_postgresql_listen, " ", " ", " ", " ", " ", " "); 2999 3000 addgaussdbcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 3001 3002 addgaussdbcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3003 addgaussdbcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3004 3005 addgaussdbcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 3006 3007 addgaussdbcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_postgresql_notify, " ", " ", " ", " ", " ", " "); 3008 3009 addgaussdbcmds(ESqlStatementType.sstPostgresqlBlock, TBaseType.rrw_plpgsql_function_delimiter, " ", " ", " ", " ", " ", " "); 3010 3011 3012 addgaussdbcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3013 3014 addgaussdbcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 3015 3016 addgaussdbcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_postgresql_reassign, "owned", " ", " ", " ", " ", " "); 3017 3018 addgaussdbcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "incremental","materialized", "view", " ", " ", " "); 3019 addgaussdbcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 3020 3021 addgaussdbcmds(ESqlStatementType.sstReindex, TBaseType.rrw_postgresql_reindex, " ", " ", " ", " ", " ", " "); 3022 3023 addgaussdbcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 3024 addgaussdbcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 3025 3026 addgaussdbcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3027 3028 addgaussdbcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3029 3030 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3031 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 3032 addgaussdbcmds(ESqlStatementType.sstpostgresqlRollbackToSavepoint, TBaseType.rrw_rollback, "to", "savepoint", " ", " ", " ", " "); 3033 addgaussdbcmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 3034 3035 addgaussdbcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_postgresql_security, "label", " ", " ", " ", " ", " "); 3036 3037 3038 addgaussdbcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3039 3040 addgaussdbcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3041 3042 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 3043 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 3044 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 3045 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 3046 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSearchPath, TBaseType.rrw_set, "search_path", " ", " ", " ", " ", " "); 3047 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 3048 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 3049 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 3050 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 3051 3052 addgaussdbcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 3053 addgaussdbcmds(ESqlStatementType.sstpostgresqlShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3054 addgaussdbcmds(ESqlStatementType.sstpostgresqlShowSearchPath, TBaseType.rrw_show, "search_path", " ", " ", " ", " ", " "); 3055 // addgaussdbcmds(ESqlStatementType.sstpostgresqlStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3056 addgaussdbcmds(ESqlStatementType.sstPostgresqlTable, TBaseType.rrw_table, " ", " ", " ", " ", " ", " "); 3057 addgaussdbcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3058 addgaussdbcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3059 3060 addgaussdbcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_postgresql_unlisten, " ", " ", " ", " ", " ", " "); 3061 3062 addgaussdbcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3063 addgaussdbcmds(ESqlStatementType.sstVacuum, TBaseType.rrw_postgresql_vacuum, " ", " ", " ", " ", " ", " "); 3064 addgaussdbcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 3065 3066 } 3067 3068 void initpostgresqlcmds(){ 3069// cmd must be sorted alphabetically 3070 addpostgresqlcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3071 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 3072 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 3073 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 3074 addpostgresqlcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3075 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 3076 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 3077 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 3078 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 3079 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 3080 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 3081 3082 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3083 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3084 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 3085 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 3086 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 3087 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 3088 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 3089 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 3090 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 3091 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterPolicy, TBaseType.rrw_alter, "policy", " ", " ", " ", " ", " "); 3092 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 3093 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterProcedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 3094 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterPublication, TBaseType.rrw_alter, "publication", " ", " ", " ", " ", " "); 3095 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3096 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRoutine, TBaseType.rrw_alter, "routine", " ", " ", " ", " ", " "); 3097 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRule, TBaseType.rrw_alter, "rule", " ", " ", " ", " ", " "); 3098 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3099 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3100 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 3101 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterStatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 3102 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSubscription, TBaseType.rrw_alter, "subscription", " ", " ", " ", " ", " "); 3103 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 3104 3105 addpostgresqlcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3106 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 3107 3108 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 3109 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 3110 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 3111 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 3112 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 3113 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 3114 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3115 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 3116 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3117 addpostgresqlcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3118 3119 addpostgresqlcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3120 3121 addpostgresqlcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3122 3123 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 3124 addpostgresqlcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3125 3126 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_postgresql_cluster, " ", " ", " ", " ", " ", " "); 3127 3128 addpostgresqlcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 3129 3130 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3131 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 3132 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_postgresql_copy, " ", " ", " ", " ", " ", " "); 3133 3134 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAccessMethod, TBaseType.rrw_create, "access", "method", " ", " ", " ", " "); 3135 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 3136 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAssertion, TBaseType.rrw_create, "assertion", " ", " ", " ", " ", " "); 3137 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 3138 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 3139 3140 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 3141 3142 addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 3143 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3144 addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "default", "conversion", " ", " ", " ", " "); 3145 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 3146 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 3147 addpostgresqlcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 3148 3149 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 3150 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 3151 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3152 3153 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3154 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3155 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 3156 3157 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3158 3159 3160 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 3161 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 3162 3163 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3164 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3165 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 3166 3167 addpostgresqlcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3168 3169 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 3170 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 3171 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 3172 3173 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3174 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 3175 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "procedural", "language", " ", " "); 3176 addpostgresqlcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 3177 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 3178 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "or", "replace", "rule ", " ", " ", " "); 3179 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3180 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3181 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "or", "replace", "trigger", " ", " ", " "); 3182 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 3183 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "procedural", "language", " "); 3184 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3185 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreatePolicy, TBaseType.rrw_create, "policy", " ", " ", " ", " ", " "); 3186 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "procedural", "language", " ", " ", " ", " "); 3187 addpostgresqlcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3188 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreatePublication, TBaseType.rrw_create, "publication", " ", " ", " ", " ", " "); 3189 3190 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3191 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 3192 3193 3194 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3195 3196 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3197 3198 3199 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 3200 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateStatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 3201 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSubscription, TBaseType.rrw_create, "subscription", " ", " ", " ", " ", " "); 3202 3203 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3204 3205 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 3206 3207 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 3208 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3209 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 3210 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 3211 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3212 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 3213 3214 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 3215 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 3216 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 3217 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 3218 3219 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTransform, TBaseType.rrw_create, "transform", " ", " ", " ", " ", " "); 3220 addpostgresqlcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 3221 3222 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 3223 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "procedural", "language", " ", " ", " "); 3224 3225 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 3226 3227 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 3228 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "unlogged", "sequence", " ", " ", " ", " "); 3229 addpostgresqlcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlogged", "table", " ", " ", " ", " "); 3230 3231 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3232 3233 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 3234 3235 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3236 3237 addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 3238 3239 3240 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3241 3242 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3243 3244 addpostgresqlcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3245 3246 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_postgresql_discard, " ", " ", " ", " ", " ", " "); 3247 3248 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 3249 3250 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAccessMethod, TBaseType.rrw_drop, "access", "method", " ", " ", " ", " "); 3251 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 3252 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAssertion, TBaseType.rrw_drop, "assertion", " ", " ", " ", " ", " "); 3253 3254 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 3255 3256 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 3257 3258 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 3259 3260 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3261 3262 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 3263 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropEventTrigger, TBaseType.rrw_drop, "event", "trigger", " ", " ", " ", " "); 3264 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 3265 3266 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3267 3268 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 3269 3270 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 3271 3272 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3273 3274 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3275 3276 addpostgresqlcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 3277 3278 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 3279 3280 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3281 3282 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 3283 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 3284 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 3285 3286 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 3287 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropPolicy, TBaseType.rrw_drop, "policy", " ", " ", " ", " ", " "); 3288 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 3289 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropProcedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3290 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropPublication, TBaseType.rrw_drop, "publication", " ", " ", " ", " ", " "); 3291 3292 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3293 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRoutine, TBaseType.rrw_drop, "routine", " ", " ", " ", " ", " "); 3294 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 3295 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3296 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 3297 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 3298 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropStatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 3299 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSubscription, TBaseType.rrw_drop, "subscription", " ", " ", " ", " ", " "); 3300 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3301 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 3302 3303 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 3304 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 3305 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 3306 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 3307 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTransform, TBaseType.rrw_drop, "transform", " ", " ", " ", " ", " "); 3308 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 3309 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 3310 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3311 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 3312 addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3313 3314 addpostgresqlcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3315 3316 addpostgresqlcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3317 3318 addpostgresqlcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3319 3320 addpostgresqlcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3321 3322 addpostgresqlcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3323 addpostgresqlcmds(ESqlStatementType.sstPostgresqlImport, TBaseType.rrw_postgresql_import, "foreign", "schema", " ", " ", " ", " "); 3324 addpostgresqlcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3325 3326 addpostgresqlcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_postgresql_listen, " ", " ", " ", " ", " ", " "); 3327 3328 addpostgresqlcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 3329 3330 addpostgresqlcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3331 3332 addpostgresqlcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3333 3334 addpostgresqlcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 3335 3336 addpostgresqlcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_postgresql_notify, " ", " ", " ", " ", " ", " "); 3337 3338 addpostgresqlcmds(ESqlStatementType.sstPostgresqlBlock, TBaseType.rrw_plpgsql_function_delimiter, " ", " ", " ", " ", " ", " "); 3339 3340 3341 addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3342 3343 addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 3344 3345 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_postgresql_reassign, "owned", " ", " ", " ", " ", " "); 3346 3347 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 3348 3349 addpostgresqlcmds(ESqlStatementType.sstReindex, TBaseType.rrw_postgresql_reindex, " ", " ", " ", " ", " ", " "); 3350 3351 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 3352 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 3353 3354 addpostgresqlcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3355 3356 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3357 3358 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3359 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 3360 addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackToSavepoint, TBaseType.rrw_rollback, "to", "savepoint", " ", " ", " ", " "); 3361 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 3362 3363 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_postgresql_security, "label", " ", " ", " ", " ", " "); 3364 3365 3366 addpostgresqlcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3367 3368 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3369 3370 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 3371 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 3372 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 3373 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 3374 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSearchPath, TBaseType.rrw_set, "search_path", " ", " ", " ", " ", " "); 3375 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 3376 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 3377 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 3378 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 3379 3380 addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 3381 addpostgresqlcmds(ESqlStatementType.sstpostgresqlShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3382 addpostgresqlcmds(ESqlStatementType.sstpostgresqlShowSearchPath, TBaseType.rrw_show, "search_path", " ", " ", " ", " ", " "); 3383 // addpostgresqlcmds(ESqlStatementType.sstpostgresqlStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3384 addpostgresqlcmds(ESqlStatementType.sstPostgresqlTable, TBaseType.rrw_table, " ", " ", " ", " ", " ", " "); 3385 addpostgresqlcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3386 addpostgresqlcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3387 3388 addpostgresqlcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_postgresql_unlisten, " ", " ", " ", " ", " ", " "); 3389 3390 addpostgresqlcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3391 addpostgresqlcmds(ESqlStatementType.sstVacuum, TBaseType.rrw_postgresql_vacuum, " ", " ", " ", " ", " ", " "); 3392 addpostgresqlcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 3393 3394 } 3395 3396 void initbigquerycmds() { 3397// cmd must be sorted alphabetically 3398 addbigquerycmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3399 addbigquerycmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3400 3401 addbigquerycmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3402 addbigquerycmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "transaction", " ", " ", " ", " ", " "); 3403 3404 addbigquerycmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3405 addbigquerycmds(ESqlStatementType.sst_casestmt, TBaseType.rrw_case, " ", " ", " ", " ", " ", " "); 3406 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3407 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3408 addbigquerycmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3409 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "external", "table", " ", " "); 3410 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temporary", "table", " ", " "); 3411 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3412 addbigquerycmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create, "or", "replace", "materialized", "view", " ", " "); 3413 addbigquerycmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace", "procedure", " ", " ", " "); 3414 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "table", " ", " ", " "); 3415 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "table", "function", " ", " "); 3416 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "temp", "function", " ", " "); 3417 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temp", "table", " ", " "); 3418 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "temporary", "function", " ", " "); 3419 addbigquerycmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3420 addbigquerycmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3421 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3422 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "table", "function", " ", " ", " ", " "); 3423 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temp", "function", " ", " ", " ", " "); 3424 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3425 addbigquerycmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "temporary", "function", " ", " ", " ", " "); 3426 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3427 addbigquerycmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "snapshot", "table", " ", " ", " ", " "); 3428 addbigquerycmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3429 addbigquerycmds(ESqlStatementType.sstBigQueryDeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 3430 addbigquerycmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3431 addbigquerycmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3432 addbigquerycmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3433 addbigquerycmds(ESqlStatementType.sstDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3434 addbigquerycmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3435 addbigquerycmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3436 addbigquerycmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3437 3438 addbigquerycmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, "immediate"," "," "," "," "," "); 3439 3440 addbigquerycmds(ESqlStatementType.sstBigQueryExportData, TBaseType.rrw_bigquery_export, "data", " ", " ", " ", " ", " "); 3441 addbigquerycmds(ESqlStatementType.sstForStmt, TBaseType.rrw_for, " ", " ", " ", " ", " ", " "); 3442 addbigquerycmds(ESqlStatementType.sst_ifstmt, TBaseType.rrw_if, " ", " ", " ", " ", " ", " "); 3443 addbigquerycmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3444 addbigquerycmds(ESqlStatementType.sst_loopstmt, TBaseType.rrw_loop, " ", " ", " ", " ", " ", " "); 3445 addbigquerycmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 3446 addbigquerycmds(ESqlStatementType.sstRepeat, TBaseType.rrw_repeat, " ", " ", " ", " ", " ", " "); 3447 addbigquerycmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3448 addbigquerycmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3449 addbigquerycmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3450 addbigquerycmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3451 addbigquerycmds(ESqlStatementType.sstWhilestmt, TBaseType.rrw_while, " ", " ", " ", " ", " ", " "); 3452 } 3453 3454void initsnowflakecmds(){ 3455// cmd must be sorted alphabetically 3456 addsnowflakecmds(ESqlStatementType.sstAlterAccount, TBaseType.rrw_alter, "account", " ", " ", " ", " ", " "); 3457 addsnowflakecmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3458 addsnowflakecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "external", "table", " ", " ", " ", " "); 3459 addsnowflakecmds(ESqlStatementType.sstAlterFileFormat, TBaseType.rrw_alter, "file", "format", " ", " ", " ", " "); 3460 addsnowflakecmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3461 addsnowflakecmds(ESqlStatementType.sstAlterMaterializedView, TBaseType.rrw_alter,"materialized","view"," "," "," "," "); 3462 addsnowflakecmds(ESqlStatementType.sstAlterNetworkPolicy, TBaseType.rrw_alter, "network", "policy", " ", " ", " ", " "); 3463 addsnowflakecmds(ESqlStatementType.sstAlterPipe, TBaseType.rrw_alter, "pipe", " ", " ", " ", " ", " "); 3464 addsnowflakecmds(ESqlStatementType.sstAlterResourceMonitor, TBaseType.rrw_alter, "resource", "monitor", " ", " ", " ", " "); 3465 addsnowflakecmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3466 addsnowflakecmds(ESqlStatementType.sstAlterTask, TBaseType.rrw_alter, "task", " ", " ", " ", " ", " "); 3467 addsnowflakecmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3468 addsnowflakecmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 3469 addsnowflakecmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3470 addsnowflakecmds(ESqlStatementType.sstAlterShare, TBaseType.rrw_alter, "share", " ", " ", " ", " ", " "); 3471 addsnowflakecmds(ESqlStatementType.sstAlterStage, TBaseType.rrw_alter, "stage", " ", " ", " ", " ", " "); 3472 addsnowflakecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3473 addsnowflakecmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3474 addsnowflakecmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3475 addsnowflakecmds(ESqlStatementType.sstAlterWarehouse, TBaseType.rrw_alter, "warehouse", " ", " ", " ", " ", " "); 3476 3477 addsnowflakecmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3478 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_snowflake_begin_transaction, " ", " ", " ", " ", " ", " "); 3479 3480 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "work", " ", " ", " ", " ", " "); 3481 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_begin, "transaction", " ", " ", " ", " ", " "); 3482 3483 addsnowflakecmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3484 addsnowflakecmds(ESqlStatementType.sstcomment, TBaseType.rrw_comment, " ", " ", " ", " ", " ", " "); 3485 3486 addsnowflakecmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3487 addsnowflakecmds(ESqlStatementType.sstCopyInto, TBaseType.rrw_snowflake_copy, "into", " ", " ", " ", " ", " "); 3488 3489 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3490 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "dynamic", "table", " ", " ", " ", " "); 3491 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3492 addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create, "file", "format", " ", " ", " ", " "); 3493 addsnowflakecmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3494 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "table", " ", " ", " ", " "); 3495 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3496 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3497 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "hybrid", "table", " ", " ", " ", " "); 3498 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "table", " ", " ", " ", " "); 3499 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3500 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3501 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 3502 addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, TBaseType.rrw_create, "network", "policy", " ", " ", " ", " "); 3503 addsnowflakecmds(ESqlStatementType.sstCreatePipe, TBaseType.rrw_create, "or", "replace", "pipe", " ", " ", " "); 3504 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "external", "table", " ", " "); 3505 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "or", "replace", "database", " ", " ", " "); 3506 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "dynamic", "table", " ", " "); 3507 addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, TBaseType.rrw_create, "or", "replace", "file", "format", " ", " "); 3508 addsnowflakecmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3509 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "force", "view", " ", " "); 3510 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "global","temporary", "table", " "); 3511 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "hybrid", "table", " ", " "); 3512 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "local","temporary", "table", " "); 3513 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","materialized","view"," "," "); 3514 addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, TBaseType.rrw_create, "or", "replace", "network", "policy", " ", " "); 3515 addsnowflakecmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create,"or", "replace", "procedure", " ", " ", " "); 3516 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "recursive", "view", " ", " "); 3517 3518 addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, TBaseType.rrw_create, "or", "replace","resource", "monitor", " ", " "); 3519 addsnowflakecmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "or", "replace","role", " ", " ", " "); 3520 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "or", "replace","schema", " ", " ", " "); 3521 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","secure","materialized","view"," "); 3522 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "secure", "view", " ", " "); 3523 addsnowflakecmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "or", "replace","sequence", " ", " ", " "); 3524 addsnowflakecmds(ESqlStatementType.sstCreateShare, TBaseType.rrw_create, "or", "replace","share", " ", " ", " "); 3525 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "or", "replace","stage", " ", " ", " "); 3526 addsnowflakecmds(ESqlStatementType.sstCreateStream, TBaseType.rrw_create, "or", "replace","stream", " ", " ", " "); 3527 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "table", " ", " ", " "); 3528 addsnowflakecmds(ESqlStatementType.sstCreateTask, TBaseType.rrw_create, "or", "replace", "task", " ", " ", " "); 3529 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temp", "table", " ", " "); 3530 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3531 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "or", "replace","temporary", "stage", " ", " "); 3532 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "temporary", "table", " ", " "); 3533 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3534 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "or", "replace", "transient", "database", " ", " "); 3535 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "or", "replace", "transient", "schema", " ", " "); 3536 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "or", "replace", "transient", "table", " ", " "); 3537 addsnowflakecmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "or", "replace","user", " ", " ", " "); 3538 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3539 addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, TBaseType.rrw_create, "or", "replace", "warehouse", " ", " ", " "); 3540 addsnowflakecmds(ESqlStatementType.sstCreatePipe, TBaseType.rrw_create, "pipe", " ", " ", " ", " ", " "); 3541 addsnowflakecmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3542 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "recursive", "view", " ", " ", " ", " "); 3543 addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, TBaseType.rrw_create, "resource", "monitor", " ", " ", " ", " "); 3544 addsnowflakecmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3545 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3546 addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"secure","materialized","view"," "," "," "); 3547 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "secure", "view", " ", " ", " ", " "); 3548 addsnowflakecmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3549 addsnowflakecmds(ESqlStatementType.sstCreateShare, TBaseType.rrw_create, "share", " ", " ", " ", " ", " "); 3550 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create, "stage", " ", " ", " ", " ", " "); 3551 addsnowflakecmds(ESqlStatementType.sstCreateStream, TBaseType.rrw_create, "stream", " ", " ", " ", " ", " "); 3552 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3553 addsnowflakecmds(ESqlStatementType.sstCreateTask, TBaseType.rrw_create, "task", " ", " ", " ", " ", " "); 3554 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3555 addsnowflakecmds(ESqlStatementType.sstCreateStage, TBaseType.rrw_create,"temporary", "stage", " ", " ", " ", " "); 3556 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3557 addsnowflakecmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "transient", "database", " ", " ", " ", " "); 3558 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transient", "dynamic", "table", " ", " ", " "); 3559 addsnowflakecmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "transient","schema", " ", " ", " ", " "); 3560 addsnowflakecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "transient", "table", " ", " "," "," "); 3561 addsnowflakecmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3562 addsnowflakecmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3563 addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, TBaseType.rrw_create, "warehouse", " ", " ", " ", " ", " "); 3564 3565 addsnowflakecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3566 3567 addsnowflakecmds(ESqlStatementType.sstDescFileFormat, TBaseType.rrw_snowflake_desc, "file", "format", " ", " ", " ", " "); 3568 addsnowflakecmds(ESqlStatementType.sstDescFunction, TBaseType.rrw_snowflake_desc, "function", " ", " ", " ", " ", " "); 3569 addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, TBaseType.rrw_snowflake_desc, "network", "policy", " ", " ", " ", " "); 3570 addsnowflakecmds(ESqlStatementType.sstDescPipe, TBaseType.rrw_snowflake_desc, "pipe", " ", " ", " ", " ", " "); 3571 addsnowflakecmds(ESqlStatementType.sstDescResult, TBaseType.rrw_snowflake_desc, "result", " ", " ", " ", " ", " "); 3572 addsnowflakecmds(ESqlStatementType.sstDescShare, TBaseType.rrw_snowflake_desc, "share", " ", " ", " ", " ", " "); 3573 addsnowflakecmds(ESqlStatementType.sstDescStage, TBaseType.rrw_snowflake_desc, "stage", " ", " ", " ", " ", " "); 3574 addsnowflakecmds(ESqlStatementType.sstDescStorage, TBaseType.rrw_snowflake_desc, "storage", " ", " ", " ", " ", " "); 3575 addsnowflakecmds(ESqlStatementType.sstDescTable, TBaseType.rrw_snowflake_desc, "table", " ", " ", " ", " ", " "); 3576 addsnowflakecmds(ESqlStatementType.sstDescUser, TBaseType.rrw_snowflake_desc, "user", " ", " ", " ", " ", " "); 3577 addsnowflakecmds(ESqlStatementType.sstDescView, TBaseType.rrw_snowflake_desc, "view", " ", " ", " ", " ", " "); 3578 3579 addsnowflakecmds(ESqlStatementType.sstDescFileFormat, TBaseType.rrw_describe, "file", "format", " ", " ", " ", " "); 3580 addsnowflakecmds(ESqlStatementType.sstDescFunction, TBaseType.rrw_describe, "function", " ", " ", " ", " ", " "); 3581 addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, TBaseType.rrw_describe, "network", "policy", " ", " ", " ", " "); 3582 addsnowflakecmds(ESqlStatementType.sstDescPipe, TBaseType.rrw_describe, "pipe", " ", " ", " ", " ", " "); 3583 addsnowflakecmds(ESqlStatementType.sstDescResult, TBaseType.rrw_describe, "result", " ", " ", " ", " ", " "); 3584 addsnowflakecmds(ESqlStatementType.sstDescShare, TBaseType.rrw_describe, "share", " ", " ", " ", " ", " "); 3585 addsnowflakecmds(ESqlStatementType.sstDescStage, TBaseType.rrw_describe, "stage", " ", " ", " ", " ", " "); 3586 addsnowflakecmds(ESqlStatementType.sstDescStorage, TBaseType.rrw_describe, "storage", " ", " ", " ", " ", " "); 3587 addsnowflakecmds(ESqlStatementType.sstDescTable, TBaseType.rrw_describe, "table", " ", " ", " ", " ", " "); 3588 addsnowflakecmds(ESqlStatementType.sstDescUser, TBaseType.rrw_describe, "user", " ", " ", " ", " ", " "); 3589 addsnowflakecmds(ESqlStatementType.sstDescView, TBaseType.rrw_describe, "view", " ", " ", " ", " ", " "); 3590 3591 addsnowflakecmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3592 addsnowflakecmds(ESqlStatementType.sstDropFileFormat, TBaseType.rrw_drop, "file", "format", " ", " ", " ", " "); 3593 addsnowflakecmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3594 addsnowflakecmds(ESqlStatementType.sstDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3595 addsnowflakecmds(ESqlStatementType.sstDropNetworkPolicy, TBaseType.rrw_drop, "network", "policy", " ", " ", " ", " "); 3596 addsnowflakecmds(ESqlStatementType.sstDropPipe, TBaseType.rrw_drop, "pipe", " ", " ", " ", " ", " "); 3597 addsnowflakecmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 3598 addsnowflakecmds(ESqlStatementType.sstDropResourceMonitor, TBaseType.rrw_drop, "resource", "monitor", " ", " ", " ", " "); 3599 addsnowflakecmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3600 addsnowflakecmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3601 addsnowflakecmds(ESqlStatementType.sstDropShare, TBaseType.rrw_drop, "share", " ", " ", " ", " ", " "); 3602 addsnowflakecmds(ESqlStatementType.sstDropStage, TBaseType.rrw_drop, "stage", " ", " ", " ", " ", " "); 3603 addsnowflakecmds(ESqlStatementType.sstDropStream, TBaseType.rrw_drop, "stream", " ", " ", " ", " ", " "); 3604 addsnowflakecmds(ESqlStatementType.sstDropStreamlit, TBaseType.rrw_drop, "streamlit", " ", " ", " ", " ", " "); 3605 addsnowflakecmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3606 3607 addsnowflakecmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3608 addsnowflakecmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3609 addsnowflakecmds(ESqlStatementType.sstDropWarehouse, TBaseType.rrw_drop, "warehouse", " ", " ", " ", " ", " "); 3610 3611 addsnowflakecmds(ESqlStatementType.sstExecute, TBaseType.rrw_execute, "immediate"," "," "," "," "," "); 3612 3613 addsnowflakecmds(ESqlStatementType.sstGet, TBaseType.rrw_get, " ", " ", " ", " ", " ", " "); 3614 3615 addsnowflakecmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3616 3617 addsnowflakecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 3618 3619 addsnowflakecmds(ESqlStatementType.sstList, TBaseType.rrw_snowflake_list, " ", " ", " ", " ", " ", " "); 3620 addsnowflakecmds(ESqlStatementType.sstList, TBaseType.rrw_snowflake_ls, " ", " ", " ", " ", " ", " "); 3621 3622 addsnowflakecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 3623 3624 addsnowflakecmds(ESqlStatementType.sstSnowflakePseudoExprStmt, TBaseType.rrw_snowflake_pseudo_stmt_sign, " ", " ", " ", " ", " ", " "); 3625 addsnowflakecmds(ESqlStatementType.sstPut, TBaseType.rrw_snowflake_put, " ", " ", " ", " ", " ", " "); 3626 3627 addsnowflakecmds(ESqlStatementType.sstRemove, TBaseType.rrw_snowflake_remove, " ", " ", " ", " ", " ", " "); 3628 3629 addsnowflakecmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3630 addsnowflakecmds(ESqlStatementType.sstRemove, TBaseType.rrw_snowflake_rm, " ", " ", " ", " ", " ", " "); 3631 addsnowflakecmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3632 3633 3634 addsnowflakecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3635 3636 addsnowflakecmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3637 3638 addsnowflakecmds(ESqlStatementType.sstShowColumns, TBaseType.rrw_show, "columns", " ", " ", " ", " ", " "); 3639 addsnowflakecmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "databases", " ", " ", " ", " ", " "); 3640 addsnowflakecmds(ESqlStatementType.sstShowFileFormats, TBaseType.rrw_show, "file", "formats", " ", " ", " ", " "); 3641 addsnowflakecmds(ESqlStatementType.sstShowFunctions, TBaseType.rrw_show, "functions", " ", " ", " ", " ", " "); 3642 addsnowflakecmds(ESqlStatementType.sstShowGrants, TBaseType.rrw_show, "grants", " ", " ", " ", " ", " "); 3643 addsnowflakecmds(ESqlStatementType.sstShowLocks, TBaseType.rrw_show, "locks", " ", " ", " ", " ", " "); 3644 addsnowflakecmds(ESqlStatementType.sstShowNetworkPolicies, TBaseType.rrw_show, "network", "policies", " ", " ", " ", " "); 3645 addsnowflakecmds(ESqlStatementType.sstShowObjects, TBaseType.rrw_show, "objects", " ", " ", " ", " ", " "); 3646 addsnowflakecmds(ESqlStatementType.sstShowParameters, TBaseType.rrw_show, "parameters", " ", " ", " ", " ", " "); 3647 addsnowflakecmds(ESqlStatementType.sstShowPipes, TBaseType.rrw_show, "pipes", " ", " ", " ", " ", " "); 3648 addsnowflakecmds(ESqlStatementType.sstShowProcedures, TBaseType.rrw_show, "procedures", " ", " ", " ", " ", " "); 3649 addsnowflakecmds(ESqlStatementType.sstShowResourceMonitors, TBaseType.rrw_show, "resource", "monitors", " ", " ", " ", " "); 3650 addsnowflakecmds(ESqlStatementType.sstShowRoles, TBaseType.rrw_show, "roles", " ", " ", " ", " ", " "); 3651 addsnowflakecmds(ESqlStatementType.sstShowSchemas, TBaseType.rrw_show, "schemas", " ", " ", " ", " ", " "); 3652 addsnowflakecmds(ESqlStatementType.sstShowSequences, TBaseType.rrw_show, "sequences", " ", " ", " ", " ", " "); 3653 addsnowflakecmds(ESqlStatementType.sstShowShares, TBaseType.rrw_show, "shares", " ", " ", " ", " ", " "); 3654 addsnowflakecmds(ESqlStatementType.sstShowStages, TBaseType.rrw_show, "stages", " ", " ", " ", " ", " "); 3655 addsnowflakecmds(ESqlStatementType.sstShowStreams, TBaseType.rrw_show, "streams", " ", " ", " ", " ", " "); 3656 addsnowflakecmds(ESqlStatementType.sstShowTables, TBaseType.rrw_show, "tables", " ", " ", " ", " ", " "); 3657 addsnowflakecmds(ESqlStatementType.sstShowTasks, TBaseType.rrw_show, "tasks", " ", " ", " ", " ", " "); 3658 addsnowflakecmds(ESqlStatementType.sstShowDatabases, TBaseType.rrw_show, "terse", "databases", " ", " ", " ", " "); 3659 addsnowflakecmds(ESqlStatementType.sstShowStreams, TBaseType.rrw_show, "terse", "streams", " ", " ", " ", " "); 3660 addsnowflakecmds(ESqlStatementType.sstShowTasks, TBaseType.rrw_show, "terse", "tasks", " ", " ", " ", " "); 3661 addsnowflakecmds(ESqlStatementType.sstShowTransactions, TBaseType.rrw_show, "transactions", " ", " ", " ", " ", " "); 3662 addsnowflakecmds(ESqlStatementType.sstShowUserFunctions, TBaseType.rrw_show, "user", "functions", " ", " ", " ", " "); 3663 addsnowflakecmds(ESqlStatementType.sstShowUsers, TBaseType.rrw_show, "users", " ", " ", " ", " ", " "); 3664 addsnowflakecmds(ESqlStatementType.sstShowVariables, TBaseType.rrw_show, "variables", " ", " ", " ", " ", " "); 3665 addsnowflakecmds(ESqlStatementType.sstShowViews, TBaseType.rrw_show, "views", " ", " ", " ", " ", " "); 3666 addsnowflakecmds(ESqlStatementType.sstShowWarehouses, TBaseType.rrw_show, "warehouses", " ", " ", " ", " ", " "); 3667 addsnowflakecmds(ESqlStatementType.sstbegintran, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 3668 addsnowflakecmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3669 3670 addsnowflakecmds(ESqlStatementType.sstUndropDatabase, TBaseType.rrw_snowflake_undrop, "database", " ", " ", " ", " ", " "); 3671 addsnowflakecmds(ESqlStatementType.sstUndropSchema, TBaseType.rrw_snowflake_undrop, "schema", " ", " ", " ", " ", " "); 3672 addsnowflakecmds(ESqlStatementType.sstUndropTable, TBaseType.rrw_snowflake_undrop, "table", " ", " ", " ", " ", " "); 3673 3674 addsnowflakecmds(ESqlStatementType.sstunset, TBaseType.rrw_snowflake_unset, " ", " ", " ", " ", " ", " "); 3675 addsnowflakecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3676 addsnowflakecmds(ESqlStatementType.sstUse, TBaseType.rrw_use, " ", " ", " ", " ", " ", " "); 3677 addsnowflakecmds(ESqlStatementType.sstUseSecondaryRoles, TBaseType.rrw_use, "secondary", "roles", " ", " ", " ", " "); 3678} 3679 3680void initredshiftcmds() { 3681// cmd must be sorted alphabetically 3682 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3683 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, "transaction", " ", " ", " ", " ", " "); 3684 addredshiftcmds(ESqlStatementType.sstredshiftAbort, TBaseType.rrw_abort, "work", " ", " ", " ", " ", " "); 3685 addredshiftcmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3686 addredshiftcmds(ESqlStatementType.sstredshiftAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3687 addredshiftcmds(ESqlStatementType.sstredshiftAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3688 addredshiftcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3689 addredshiftcmds(ESqlStatementType.sstredshiftAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3690 addredshiftcmds(ESqlStatementType.sstredshiftAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3691 addredshiftcmds(ESqlStatementType.sstredshiftAnalyzeCompression, TBaseType.rrw_analyze, "Compression", " ", " ", " ", " ", " "); 3692 addredshiftcmds(ESqlStatementType.sstredshiftBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3693 addredshiftcmds(ESqlStatementType.sstredshiftCancel, TBaseType.rrw_redshift_cancel, " ", " ", " ", " ", " ", " "); 3694 addredshiftcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3695 3696 addredshiftcmds(ESqlStatementType.sstredshiftClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3697 addredshiftcmds(ESqlStatementType.sstredshiftComment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 3698 addredshiftcmds(ESqlStatementType.sstredshiftCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3699 addredshiftcmds(ESqlStatementType.sstredshiftCopy, TBaseType.rrw_redshift_copy, " ", " ", " ", " ", " ", " "); 3700 addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, TBaseType.rrw_create, "external", "schema", " ", " ", " ", " "); 3701 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3702 addredshiftcmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3703 addredshiftcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3704 addredshiftcmds(ESqlStatementType.sstredshiftCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3705 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "table", " ", " ", " ", " "); 3706 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local","temp", "table", " ", " ", " "); 3707 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local","temporary", "table", " ", " ", " "); 3708 addredshiftcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 3709 addredshiftcmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "or", "replace","function", " ", " ", " "); 3710 addredshiftcmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"or", "replace","materialized","view"," "," "); 3711 addredshiftcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "or", "replace","procedure", " ", " ", " "); 3712 addredshiftcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3713 addredshiftcmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 3714 addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3715 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3716 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3717 addredshiftcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3718 addredshiftcmds(ESqlStatementType.sstredshiftCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3719 addredshiftcmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3720 addredshiftcmds(ESqlStatementType.sstredshiftDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3721 addredshiftcmds(ESqlStatementType.sstredshiftDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3722 addredshiftcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3723 addredshiftcmds(ESqlStatementType.sstredshiftDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3724 addredshiftcmds(ESqlStatementType.sstredshiftDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3725 addredshiftcmds(ESqlStatementType.sstredshiftDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3726 addredshiftcmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3727 addredshiftcmds(ESqlStatementType.sstredshiftDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 3728 addredshiftcmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 3729 addredshiftcmds(ESqlStatementType.sstredshiftEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 3730 addredshiftcmds(ESqlStatementType.sstExecutePreparedStmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 3731 addredshiftcmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 3732 addredshiftcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 3733 addredshiftcmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 3734 addredshiftcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, "into", " ", " ", " ", " ", " "); 3735 addredshiftcmds(ESqlStatementType.sstredshiftLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 3736 addredshiftcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 3737 3738 addredshiftcmds(ESqlStatementType.sstredshiftPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 3739 addredshiftcmds(ESqlStatementType.sstredshiftReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 3740 addredshiftcmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 3741 addredshiftcmds(ESqlStatementType.sstredshiftRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 3742 addredshiftcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 3743 addredshiftcmds(ESqlStatementType.sstredshiftSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 3744 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, TBaseType.rrw_set, "Authorization", " ", " ", " ", " ", " "); 3745 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionCharacteristics, TBaseType.rrw_set, "Characteristics", " ", " ", " ", " ", " "); 3746 addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, TBaseType.rrw_set, "local", "Authorization", " ", " ", " ", " "); 3747 addredshiftcmds(ESqlStatementType.sstredshiftShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 3748 addredshiftcmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "Transaction", " ", " ", " ", " ", " "); 3749 addredshiftcmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 3750 addredshiftcmds(ESqlStatementType.sstredshiftUnload, TBaseType.rrw_redshift_unload, " ", " ", " ", " ", " ", " "); 3751 addredshiftcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 3752 addredshiftcmds(ESqlStatementType.sstredshiftVacuum, TBaseType.rrw_redshift_vacuum, " ", " ", " ", " ", " ", " "); 3753} 3754 3755void initgreenplumcmds(){ 3756// cmd must be sorted alphabetically 3757 addgreenplumcmds(ESqlStatementType.sstpostgresqlabort, TBaseType.rrw_abort, " ", " ", " ", " ", " ", " "); 3758 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterAggregate, TBaseType.rrw_alter, "aggregate", " ", " ", " ", " ", " "); 3759 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterCollation, TBaseType.rrw_alter, "collation", " ", " ", " ", " ", " "); 3760 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterConversion, TBaseType.rrw_alter, "conversion", " ", " ", " ", " ", " "); 3761 addgreenplumcmds(ESqlStatementType.sstpostgresqlalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 3762 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, TBaseType.rrw_alter, "default", "privileges", " ", " ", " ", " "); 3763 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDomain, TBaseType.rrw_alter, "domain", " ", " ", " ", " ", " "); 3764 3765 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterExternalTable, TBaseType.rrw_alter, "external", "table", " ", " ", " ", " "); 3766 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterFilespace, TBaseType.rrw_alter, "filespace", " ", " ", " ", " ", " "); 3767 3768// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, TBaseType.rrw_alter, "event", "trigger", " ", " ", " ", " "); 3769// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterExtension, TBaseType.rrw_alter, "extension", " ", " ", " ", " ", " "); 3770// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, TBaseType.rrw_alter, "foreign", "data", "wrapper", " ", " ", " "); 3771// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, TBaseType.rrw_alter, "foreign", "Table", " ", " ", " ", " "); 3772 3773 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 3774 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterGroup, TBaseType.rrw_alter, "group", " ", " ", " ", " ", " "); 3775 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterIndex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 3776 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "language", " ", " ", " ", " ", " "); 3777// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, TBaseType.rrw_alter, "large", "object", " ", " ", " ", " "); 3778 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, TBaseType.rrw_alter, "materialized", "view", " ", " ", " ", " "); 3779 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperator, TBaseType.rrw_alter, "operator", " ", " ", " ", " ", " "); 3780 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, TBaseType.rrw_alter, "operator", "class", " ", " ", " ", " "); 3781 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, TBaseType.rrw_alter, "operator", "family", " ", " ", " ", " "); 3782 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, TBaseType.rrw_alter, "procedural", "language", " ", " ", " ", " "); 3783 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterProtocol, TBaseType.rrw_alter, "protocol", " ", " ", " ", " ", " "); 3784 addgreenplumcmds(ESqlStatementType.sstgreenplumAlterResourceQueue, TBaseType.rrw_alter, "resource", "queue", " ", " ", " ", " "); 3785 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 3786 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 3787 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 3788 //addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterServer, TBaseType.rrw_alter, "server", " ", " ", " ", " ", " "); 3789 addgreenplumcmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 3790 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTablespace, TBaseType.rrw_alter, "tablespace", " ", " ", " ", " ", " "); 3791 3792// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, TBaseType.rrw_alter, "text", "search", "configuration", " ", " ", " "); 3793// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, TBaseType.rrw_alter, "text", "search", "dictionary", " ", " ", " "); 3794// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, TBaseType.rrw_alter, "text", "search", "parser", " ", " ", " "); 3795// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, TBaseType.rrw_alter, "text", "search", "template", " ", " ", " "); 3796 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTrigger, TBaseType.rrw_alter, "trigger", " ", " ", " ", " ", " "); 3797 3798 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterType, TBaseType.rrw_alter, "type", " ", " ", " ", " ", " "); 3799 addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 3800// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, TBaseType.rrw_alter, "user", "mapping", " ", " ", " ", " "); 3801// addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterView, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 3802 addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_greenplum_analyse, " ", " ", " ", " ", " ", " "); 3803 addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, TBaseType.rrw_analyze, " ", " ", " ", " ", " ", " "); 3804 3805 addgreenplumcmds(ESqlStatementType.sstpostgresqlBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 3806 addgreenplumcmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 3807 3808 addgreenplumcmds(ESqlStatementType.sstpostgresqlCheckpoint, TBaseType.rrw_checkpoint, " ", " ", " ", " ", " ", " "); 3809 addgreenplumcmds(ESqlStatementType.sstpostgresqlClose, TBaseType.rrw_close, " ", " ", " ", " ", " ", " "); 3810 3811 addgreenplumcmds(ESqlStatementType.sstpostgresqlCluster, TBaseType.rrw_greenplum_cluster, " ", " ", " ", " ", " ", " "); 3812 3813 addgreenplumcmds(ESqlStatementType.sstpostgresqlComment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 3814 3815 addgreenplumcmds(ESqlStatementType.sstpostgresqlCommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 3816 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCommitPrepared, TBaseType.rrw_commit, "prepared", " ", " ", " ", " ", " "); 3817 addgreenplumcmds(ESqlStatementType.sstpostgresqlCopy, TBaseType.rrw_greenplum_copy, " ", " ", " ", " ", " ", " "); 3818 3819 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateAggregate, TBaseType.rrw_create, "aggregate", " ", " ", " ", " ", " "); 3820 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCast, TBaseType.rrw_create, "cast", " ", " ", " ", " ", " "); 3821 3822 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCollation, TBaseType.rrw_create, "collation", " ", " ", " ", " ", " "); 3823 3824 addgreenplumcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "constraint", "trigger", " ", " ", " ", " "); 3825 3826 addgreenplumcmds(ESqlStatementType.sstpostgresqlConversion, TBaseType.rrw_create, "conversion", " ", " ", " ", " ", " "); 3827 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 3828 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDomain, TBaseType.rrw_create, "domain", " ", " ", " ", " ", " "); 3829 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, TBaseType.rrw_create, "event", "trigger", " ", " ", " ", " "); 3830 addgreenplumcmds(ESqlStatementType.sstcreateExtension, TBaseType.rrw_create, "extension", " ", " ", " ", " ", " "); 3831 3832// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, TBaseType.rrw_create, "foreign", "data", "wrapper", " ", " ", " "); 3833// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, TBaseType.rrw_create, "foreign", "table", " ", " ", " ", " "); 3834 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 3835 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "temp", "table", " ", " ", " "); 3836 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "temporary", "table", " ", " ", " "); 3837 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "table", " ", " ", " "); 3838 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "temp", "table", " ", " "); 3839 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "external", "web", "temporary", "table", " ", " "); 3840 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateFilespace, TBaseType.rrw_create, "filespace", " ", " ", " ", " ", " "); 3841 3842 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 3843 3844 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temp", "table", " ", " ", " "); 3845 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "table", " ", " ", " "); 3846 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "unlocked", "table", " ", " ", " "); 3847 3848 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateGroup, TBaseType.rrw_create, "group", " ", " ", " ", " ", " "); 3849 3850 3851 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 3852 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "language", " ", " ", " ", " ", " "); 3853 3854 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temp", "table", " ", " ", " "); 3855 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 3856 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "unlocked", "table", " ", " ", " "); 3857 3858 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateMaterializedView, TBaseType.rrw_create, "materialized", "view", " ", " ", " ", " "); 3859 3860 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperator, TBaseType.rrw_create, "operator", " ", " ", " ", " ", " "); 3861// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, TBaseType.rrw_create, "operator", "class", " ", " ", " ", " "); 3862// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, TBaseType.rrw_create, "operator", "family", " ", " ", " ", " "); 3863 3864 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "table", " ", " ", " "); 3865 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "temp", "table", " ", " "); 3866 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable", "external", "temporary", "table", " ", " "); 3867 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "table", " ", " "); 3868 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "temp", "table", " "); 3869 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "readable","external", "web", "temporary", "table", " "); 3870 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "table", " ", " ", " "); 3871 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "temp", "table", " ", " "); 3872 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "temporary", "table", " ", " "); 3873 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "table", " ", " "); 3874 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "temp", "table", " "); 3875 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable","external", "web", "temporary", "table", " "); 3876 3877 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateResourceQueue, TBaseType.rrw_create, "resource", "queue", " ", " ", " ", " "); 3878 3879 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, TBaseType.rrw_create, "or", "replace", "function", " ", " ", " "); 3880 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "language", " ", " ", " "); 3881 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "or", "replace", "role ", " ", " ", " "); 3882 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temp", "view", " ", " "); 3883 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "temporary", "view", " ", " "); 3884 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "or", "replace", "trusted", "language", " ", " "); 3885 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 3886 3887 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 3888 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRule, TBaseType.rrw_create, "rule", " ", " ", " ", " ", " "); 3889 3890 3891 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSchema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 3892 3893 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 3894 3895 3896 //addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateServer, TBaseType.rrw_create, "server", " ", " ", " ", " ", " "); 3897 3898 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 3899 3900 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTablespace, TBaseType.rrw_create, "tablespace", " ", " ", " ", " ", " "); 3901 3902 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temp", "sequence", " ", " ", " ", " "); 3903 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temp", "table", " ", " ", " ", " "); 3904 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temp", "view", " ", " ", " ", " "); 3905 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, TBaseType.rrw_create, "temporary", "sequence", " ", " ", " ", " "); 3906 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "temporary", "table", " ", " ", " ", " "); 3907 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "temporary", "view", " ", " ", " ", " "); 3908 3909// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, TBaseType.rrw_create, "text", "search", "configuration", " ", " ", " "); 3910// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, TBaseType.rrw_create, "text", "search", "dictionary", " ", " ", " "); 3911// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, TBaseType.rrw_create, "text", "search", "parser", " ", " ", " "); 3912// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, TBaseType.rrw_create, "text", "search", "template", " ", " ", " "); 3913 3914 addgreenplumcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 3915 3916 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, TBaseType.rrw_create, "trusted", "language", " ", " ", " ", " "); 3917 3918 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateType, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 3919 3920 addgreenplumcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "unlocked", "table", " ", " ", " ", " "); 3921 3922 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 3923 3924// addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, TBaseType.rrw_create, "user", "mapping", " ", " ", " ", " "); 3925 3926 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 3927 3928 addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 3929 3930 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "table", " ", " ", " "); 3931 addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, TBaseType.rrw_create, "writable", "external", "web", "table", " ", " "); 3932 3933 addgreenplumcmds(ESqlStatementType.sstpostgresqlDeallocate, TBaseType.rrw_deallocate, " ", " ", " ", " ", " ", " "); 3934 3935 addgreenplumcmds(ESqlStatementType.sstpostgresqlDeclare, TBaseType.rrw_declare, " ", " ", " ", " ", " ", " "); 3936 3937 addgreenplumcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 3938 3939// addgreenplumcmds(ESqlStatementType.sstpostgresqlDiscard, TBaseType.rrw_discard, " ", " ", " ", " ", " ", " "); 3940 addgreenplumcmds(ESqlStatementType.sstpostgresqlDo, TBaseType.rrw_do, " ", " ", " ", " ", " ", " "); 3941 3942 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropAggregate, TBaseType.rrw_drop, "aggregate", " ", " ", " ", " ", " "); 3943 3944 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCast, TBaseType.rrw_drop, "cast", " ", " ", " ", " ", " "); 3945 3946// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCollation, TBaseType.rrw_drop, "collation", " ", " ", " ", " ", " "); 3947 3948 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropConversion, TBaseType.rrw_drop, "conversion", " ", " ", " ", " ", " "); 3949 3950 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 3951 3952 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDomain, TBaseType.rrw_drop, "domain", " ", " ", " ", " ", " "); 3953 3954 addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, TBaseType.rrw_drop, "external", "table", " ", " ", " ", " "); 3955 3956 addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, TBaseType.rrw_drop, "external", "web", "table", " ", " ", " "); 3957 3958 addgreenplumcmds(ESqlStatementType.sstgreenplumDropFilespace, TBaseType.rrw_drop, "filespace", " ", " ", " ", " ", " "); 3959 3960// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropExtension, TBaseType.rrw_drop, "extension", " ", " ", " ", " ", " "); 3961// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, TBaseType.rrw_drop, "foreign", "data", "wrapper", " ", " ", " "); 3962// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropForeignTable, TBaseType.rrw_drop, "foreign", "table", " ", " ", " ", " "); 3963 3964 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropFunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 3965 3966 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropGroup, TBaseType.rrw_drop, "group", " ", " ", " ", " ", " "); 3967 3968 addgreenplumcmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 3969 3970 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "language", " ", " ", " ", " ", " "); 3971 3972 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, TBaseType.rrw_drop, "materialized", "view", " ", " ", " ", " "); 3973 3974 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperator, TBaseType.rrw_drop, "operator", " ", " ", " ", " ", " "); 3975// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, TBaseType.rrw_drop, "operator", "class", " ", " ", " ", " "); 3976// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, TBaseType.rrw_drop, "operator", "family ", " ", " ", " ", " "); 3977 3978 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOwned, TBaseType.rrw_drop, "owned", " ", " ", " ", " ", " "); 3979 3980 3981 addgreenplumcmds(ESqlStatementType.sstgreenplumDropResourceQueue, TBaseType.rrw_drop, "resource", "queue", " ", " ", " ", " "); 3982 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, TBaseType.rrw_drop, "procedural", "language", " ", " ", " ", " "); 3983 3984 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 3985 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRule, TBaseType.rrw_drop, "rule", " ", " ", " ", " ", " "); 3986 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSchema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 3987 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 3988 //addgreenplumcmds(ESqlStatementType.sstpostgresqlDropServer, TBaseType.rrw_drop, "server", " ", " ", " ", " ", " "); 3989 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 3990 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTablespace, TBaseType.rrw_drop, "tablespace", " ", " ", " ", " ", " "); 3991 3992// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, TBaseType.rrw_drop, "text", "search", "configuration", " ", " ", " "); 3993// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, TBaseType.rrw_drop, "text", "search", "dictionary", " ", " ", " "); 3994// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, TBaseType.rrw_drop, "text", "search", "parser", " ", " ", " "); 3995// addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, TBaseType.rrw_drop, "text", "search", "template", " ", " ", " "); 3996 3997 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 3998 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropType, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 3999 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 4000 //addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUserMapping, TBaseType.rrw_drop, "user", "mapping", " ", " ", " ", " "); 4001 addgreenplumcmds(ESqlStatementType.sstpostgresqlDropView, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 4002 4003 addgreenplumcmds(ESqlStatementType.sstpostgresqlEnd, TBaseType.rrw_end, " ", " ", " ", " ", " ", " "); 4004 4005 addgreenplumcmds(ESqlStatementType.sstpostgresqlExecute, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 4006 4007 addgreenplumcmds(ESqlStatementType.sstpostgresqlExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 4008 4009 addgreenplumcmds(ESqlStatementType.sstFetchFrom, TBaseType.rrw_fetch, " ", " ", " ", " ", " ", " "); 4010 4011 addgreenplumcmds(ESqlStatementType.sstpostgresqlGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 4012 4013 addgreenplumcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4014 4015// addgreenplumcmds(ESqlStatementType.sstpostgresqlListen, TBaseType.rrw_listen, " ", " ", " ", " ", " ", " "); 4016 4017 addgreenplumcmds(ESqlStatementType.sstpostgresqlLoad, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 4018 4019 addgreenplumcmds(ESqlStatementType.sstpostgresqlLock, TBaseType.rrw_lock, " ", " ", " ", " ", " ", " "); 4020 4021 addgreenplumcmds(ESqlStatementType.sstpostgresqlMove, TBaseType.rrw_move, " ", " ", " ", " ", " ", " "); 4022 4023 //addgreenplumcmds(ESqlStatementType.sstpostgresqlNotify, TBaseType.rrw_notify, " ", " ", " ", " ", " ", " "); 4024 4025 addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 4026 4027// addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, TBaseType.rrw_prepare, "transaction", " ", " ", " ", " ", " "); 4028 4029 addgreenplumcmds(ESqlStatementType.sstpostgresqlReassignOwned, TBaseType.rrw_greenplum_reassign, "owned", " ", " ", " ", " ", " "); 4030 4031 addgreenplumcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, TBaseType.rrw_refresh, "materialized", "view", " ", " ", " ", " "); 4032 4033 addgreenplumcmds(ESqlStatementType.sstpostgresqlReindex, TBaseType.rrw_greenplum_reindex, " ", " ", " ", " ", " ", " "); 4034 4035 addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, " ", " ", " ", " ", " ", " "); 4036 addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, TBaseType.rrw_release, "savepoint", " ", " ", " ", " ", " "); 4037 4038 addgreenplumcmds(ESqlStatementType.sstpostgresqlReset, TBaseType.rrw_reset, " ", " ", " ", " ", " ", " "); 4039 4040 addgreenplumcmds(ESqlStatementType.sstpostgresqlRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 4041 4042 addgreenplumcmds(ESqlStatementType.sstpostgresqlRollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 4043// addgreenplumcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, TBaseType.rrw_rollback, "prepared", " ", " ", " ", " ", " "); 4044 4045 addgreenplumcmds(ESqlStatementType.sstpostgresqlSavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 4046 4047// addgreenplumcmds(ESqlStatementType.sstpostgresqlSecurityLabel, TBaseType.rrw_security, "label", " ", " ", " ", " ", " "); 4048 4049 addgreenplumcmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4050 4051 addgreenplumcmds(ESqlStatementType.sstpostgresqlSet, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 4052 4053// addgreenplumcmds(ESqlStatementType.sstpostgresqlSetConstraints, TBaseType.rrw_set, "constraints", " ", " ", " ", " ", " "); 4054 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "local", "role", " ", " ", " ", " "); 4055 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "local", "session", "authorization", " ", " ", " "); 4056 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "role", " ", " ", " ", " ", " "); 4057 4058 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "authorization", " ", " ", " ", " "); 4059 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "session", "characteristics", "as", "transaction", " ", " "); 4060 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, TBaseType.rrw_set, "session", "role", " ", " ", " ", " "); 4061 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, TBaseType.rrw_set, "session", "session", "authorization", " ", " ", " "); 4062 4063 addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 4064 4065 addgreenplumcmds(ESqlStatementType.sstgreenplumShow, TBaseType.rrw_show, " ", " ", " ", " ", " ", " "); 4066 4067 addgreenplumcmds(ESqlStatementType.sstgreenplumStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 4068 4069 addgreenplumcmds(ESqlStatementType.sstpostgresqlTruncate, TBaseType.rrw_truncate, " ", " ", " ", " ", " ", " "); 4070 4071 //addgreenplumcmds(ESqlStatementType.sstpostgresqlUnlisten, TBaseType.rrw_unlisten, " ", " ", " ", " ", " ", " "); 4072 4073 addgreenplumcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4074 4075 addgreenplumcmds(ESqlStatementType.sstgreenplumVacuum, TBaseType.rrw_greenplum_vacuum, " ", " ", " ", " ", " ", " "); 4076 addgreenplumcmds(ESqlStatementType.sstValues, TBaseType.rrw_values, " ", " ", " ", " ", " ", " "); 4077 4078} 4079 4080 4081void initoraclecmds(){ 4082// cmd must be sort alphabetically 4083 addoraclecmds(ESqlStatementType.sstoraclealtercluster, TBaseType.rrw_alter,"cluster"," "," "," "," "," "); 4084 addoraclecmds(ESqlStatementType.sstoraclealterdatabase, TBaseType.rrw_alter,"database"," "," "," "," "," "); 4085 addoraclecmds(ESqlStatementType.sstoraclealterdimension, TBaseType.rrw_alter,"dimension"," "," "," "," "," "); 4086 addoraclecmds(ESqlStatementType.sstoraclealterdiskgroup, TBaseType.rrw_alter,"diskgroup"," "," "," "," "," "); 4087 addoraclecmds(ESqlStatementType.sstoraclealterfunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 4088 addoraclecmds(ESqlStatementType.sstoraclealterindex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 4089 addoraclecmds(ESqlStatementType.sstoraclealterindextype, TBaseType.rrw_alter,"indextype"," "," "," "," "," "); 4090 addoraclecmds(ESqlStatementType.sstoraclealterjava, TBaseType.rrw_alter,"java"," "," "," "," "," "); 4091 addoraclecmds(ESqlStatementType.sstAlterMaterializedView, TBaseType.rrw_alter,"materialized","view"," "," "," "," "); 4092 addoraclecmds(ESqlStatementType.sstoraclealtermaterializedviewlog, TBaseType.rrw_alter,"materialized","view","log"," "," "," "); 4093 addoraclecmds(ESqlStatementType.sstoraclealteroperator, TBaseType.rrw_alter,"operator"," "," "," "," "," "); 4094 addoraclecmds(ESqlStatementType.sstoraclealteroutline, TBaseType.rrw_alter,"outline"," "," "," "," "," "); 4095 addoraclecmds(ESqlStatementType.sstoraclealterpackage, TBaseType.rrw_alter,"package"," "," "," "," "," "); 4096 addoraclecmds(ESqlStatementType.sstoraclealterprocedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 4097 addoraclecmds(ESqlStatementType.sstoraclealterprofile, TBaseType.rrw_alter,"profile"," "," "," "," "," "); 4098 addoraclecmds(ESqlStatementType.sstoraclealterresourcecost, TBaseType.rrw_alter,"resource","cost"," "," "," "," "); 4099 addoraclecmds(ESqlStatementType.sstoraclealterrole, TBaseType.rrw_alter,"role"," "," "," "," "," "); 4100 addoraclecmds(ESqlStatementType.sstoraclealterrollbacksegment, TBaseType.rrw_alter,"rollback","segment"," "," "," "," "); 4101 addoraclecmds(ESqlStatementType.sstoraclealtersequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 4102 addoraclecmds(ESqlStatementType.sstoraclealtersession, TBaseType.rrw_alter,"session"," "," "," "," "," "); 4103 addoraclecmds(ESqlStatementType.sstoraclealtersystem, TBaseType.rrw_alter,"system"," "," "," "," "," "); 4104 addoraclecmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 4105 addoraclecmds(ESqlStatementType.sstoraclealtertablespace, TBaseType.rrw_alter,"tablespace"," "," "," "," "," "); 4106 addoraclecmds(ESqlStatementType.sstaltertrigger, TBaseType.rrw_alter,"trigger"," "," "," "," "," "); 4107 addoraclecmds(ESqlStatementType.sstoraclealtertype, TBaseType.rrw_alter,"type"," "," "," "," "," "); 4108 addoraclecmds(ESqlStatementType.sstoraclealteruser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 4109 addoraclecmds(ESqlStatementType.sstoraclealterview, TBaseType.rrw_alter,"view"," "," "," "," "," "); 4110 addoraclecmds(ESqlStatementType.sstoracleanalyze, TBaseType.rrw_analyze," "," "," "," "," "," "); 4111 addoraclecmds(ESqlStatementType.sstoracleassociatestatistics, TBaseType.rrw_associate,"statistics"," "," "," "," "," "); 4112 addoraclecmds(ESqlStatementType.sstoracleaudit, TBaseType.rrw_audit," "," "," "," "," "," "); 4113 addoraclecmds(ESqlStatementType.sstoraclecall, TBaseType.rrw_call," "," "," "," "," "," "); 4114 addoraclecmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment," "," "," "," "," "," "); 4115 addoraclecmds(ESqlStatementType.sstoraclecommit, TBaseType.rrw_commit," "," "," "," "," "," "); 4116 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"bigfile","tablespace"," "," "," "," "); 4117 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"bitmap","index"," "," "," "," "); 4118 addoraclecmds(ESqlStatementType.sstoraclecreatecluster, TBaseType.rrw_create,"cluster"," "," "," "," "," "); 4119 addoraclecmds(ESqlStatementType.sstoraclecreatecontext, TBaseType.rrw_create,"context"," "," "," "," "," "); 4120 addoraclecmds(ESqlStatementType.sstoraclecreatecontrolfile, TBaseType.rrw_create,"controlfile"," "," "," "," "," "); 4121 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"editionable","function"," "," "," "," "); 4122 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"editionable","package"," "," "," "," "); 4123 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"editionable","package","body"," "," "," "); 4124 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"editionable","procedure"," "," "," "," "); 4125 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"editioning","view"," "," "," "," "); 4126 addoraclecmds(ESqlStatementType.sstoraclecreatedatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 4127 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"database","link"," "," "," "," "); 4128 addoraclecmds(ESqlStatementType.sstoraclecreatedimension, TBaseType.rrw_create,"dimension"," "," "," "," "," "); 4129 addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, TBaseType.rrw_create,"directory"," "," "," "," "," "); 4130 addoraclecmds(ESqlStatementType.sstoraclecreatediskgroup, TBaseType.rrw_create,"diskgroup"," "," "," "," "," "); 4131 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"force","view"," "," "," "," "); 4132 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 4133 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temp","table"," "," "," "); 4134 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 4135 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"index"," "," "," "," "," "); 4136 addoraclecmds(ESqlStatementType.sstoraclecreateindextype, TBaseType.rrw_create,"indextype"," "," "," "," "," "); 4137 addoraclecmds(ESqlStatementType.sstoraclecreatejava, TBaseType.rrw_create,"java"," "," "," "," "," "); 4138 addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, TBaseType.rrw_create,"library"," "," "," "," "," "); 4139 addoraclecmds(ESqlStatementType.sstcreatematerializedview, TBaseType.rrw_create,"materialized","view"," "," "," "," "); 4140 addoraclecmds(ESqlStatementType.sstoraclecreatematerializedviewlog, TBaseType.rrw_create, "materialized","view","log"," "," "," "); 4141 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"noforce","view"," "," "," "," "); 4142 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"noneditionable","function"," "," "," "," "); 4143 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"noneditionable","package"," "," "," "," "); 4144 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"noneditionable","package","body"," "," "," "); 4145 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"noneditionable","procedure"," "," "," "," "); 4146 addoraclecmds(ESqlStatementType.sstoraclecreateoperator, TBaseType.rrw_create,"operator"," "," "," "," "," "); 4147 addoraclecmds(ESqlStatementType.sstoraclecreatecontext, TBaseType.rrw_create,"or","replace","context"," "," "," "); 4148 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editionable","editioning","view"," "); 4149 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","editionable","function"," "," "); 4150 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","editionable","package"," "," "); 4151 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","editionable","package","body"," "); 4152 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","editionable","procedure"," "," "); 4153 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","editionable","trigger"," "," "); 4154 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editionable","view"," "," "); 4155 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","editioning","view"," "," "); 4156 addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, TBaseType.rrw_create,"or","replace","directory"," "," "," "); 4157 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","view"," "," "); 4158 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editionable","view"," "); 4159 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editionable","editioning","view"); 4160 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","editioning","view"," "); 4161 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","force","noneditionable","view"," "); 4162 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","function"," "," "," "); 4163 addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, TBaseType.rrw_create,"or","replace","library"," "," "," "); 4164 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","noforce","view"," "," "); 4165 addoraclecmds(ESqlStatementType.sstplsql_createfunction, TBaseType.rrw_create,"or","replace","noneditionable","function"," "," "); 4166 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","noneditionable","package"," "," "); 4167 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","noneditionable","package","body"," "); 4168 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","noneditionable","procedure"," "," "); 4169 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","noneditionable","public","synonym"," "); 4170 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","noneditionable","trigger"," "," "); 4171 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","noneditionable","view"," "," "); 4172 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"or","replace","package"," "," "," "); 4173 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"or","replace","package","body"," "," "); 4174 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"or","replace","procedure"," "," "," "); 4175 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","public","synonym"," "," "); 4176 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"or","replace","synonym"," "," "," "); 4177 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"or","replace","trigger"," "," "," "); 4178 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_create,"or","replace","type"," "," "," "); 4179 addoraclecmds(ESqlStatementType.sstplsql_createtypebody, TBaseType.rrw_create,"or","replace","type","body"," "," "); 4180 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"or","replace","view"," "," "," "); 4181 addoraclecmds(ESqlStatementType.sstoraclecreateoutline, TBaseType.rrw_create,"outline"," "," "," "," "," "); 4182 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_create,"package"," "," "," "," "," "); 4183 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_create,"package","body"," "," "," "," "); 4184 addoraclecmds(ESqlStatementType.sstoraclecreatepfile, TBaseType.rrw_create,"pfile"," "," "," "," "," "); 4185 addoraclecmds(ESqlStatementType.sstplsql_createprocedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 4186 addoraclecmds(ESqlStatementType.sstoraclecreateprofile, TBaseType.rrw_create,"profile"," "," "," "," "," "); 4187 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"public","database","link"," "," "," "); 4188 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 4189 addoraclecmds(ESqlStatementType.sstoraclecreaterestorepoint, TBaseType.rrw_create,"resotre","point"," "," "," "," "); 4190 addoraclecmds(ESqlStatementType.sstoraclecreaterole, TBaseType.rrw_create,"role"," "," "," "," "," "); 4191 addoraclecmds(ESqlStatementType.sstoraclecreaterollbacksegment, TBaseType.rrw_create,"rollback","segment"," "," "," "," "); 4192 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"shared","database","link"," "," "," "); 4193 addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, TBaseType.rrw_create,"shared","public","database","link"," "," "); 4194 addoraclecmds(ESqlStatementType.sstoraclecreateschema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 4195 addoraclecmds(ESqlStatementType.sstoraclecreatesequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 4196 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"smallfile","tablespace"," "," "," "," "); 4197 addoraclecmds(ESqlStatementType.sstoraclecreatespfile, TBaseType.rrw_create,"spfile"," "," "," "," "," "); 4198 addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 4199 addoraclecmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 4200 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"tablespace"," "," "," "," "," "); 4201 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"temporary","tablespace"," "," "," "," "); 4202 addoraclecmds(ESqlStatementType.sstplsql_createtrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 4203 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_create,"type"," "," "," "," "," "); 4204 addoraclecmds(ESqlStatementType.sstplsql_createtypebody, TBaseType.rrw_create,"type","body"," "," "," "," "); 4205 addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, TBaseType.rrw_create,"undo","tablespace"," "," "," "," "); 4206 addoraclecmds(ESqlStatementType.sstoraclecreateindex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 4207 addoraclecmds(ESqlStatementType.sstoraclecreateuser, TBaseType.rrw_create,"user"," "," "," "," "," "); 4208 addoraclecmds(ESqlStatementType.sstoraclecreateview, TBaseType.rrw_create,"view"," "," "," "," "," "); 4209 addoraclecmds(ESqlStatementType.sstplsql_createpackage, TBaseType.rrw_custom,"package"," "," "," "," "," "); 4210 addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, TBaseType.rrw_custom,"package","body"," "," "," "," "); 4211 addoraclecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 4212 addoraclecmds(ESqlStatementType.sstoracledisassociatestatistics, TBaseType.rrw_disassociate, "statistics"," "," "," "," "," "); 4213 addoraclecmds(ESqlStatementType.sstoracledropcluster, TBaseType.rrw_drop,"cluster"," "," "," "," "," "); 4214 addoraclecmds(ESqlStatementType.sstoracledropcontext, TBaseType.rrw_drop,"context"," "," "," "," "," "); 4215 addoraclecmds(ESqlStatementType.sstoracledropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 4216 addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, TBaseType.rrw_drop,"database","link"," "," "," "," "); 4217 addoraclecmds(ESqlStatementType.sstoracledropdimension, TBaseType.rrw_drop,"dimension"," "," "," "," "," "); 4218 addoraclecmds(ESqlStatementType.sstoracledropdirectory, TBaseType.rrw_drop,"directory"," "," "," "," "," "); 4219 addoraclecmds(ESqlStatementType.sstoracledropdiskgroup, TBaseType.rrw_drop,"diskgroup"," "," "," "," "," "); 4220 addoraclecmds(ESqlStatementType.sstoracledropfunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 4221 addoraclecmds(ESqlStatementType.sstoracledropindex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 4222 addoraclecmds(ESqlStatementType.sstoracledropindextype, TBaseType.rrw_drop,"indextype"," "," "," "," "," "); 4223 addoraclecmds(ESqlStatementType.sstoracledropjava, TBaseType.rrw_drop,"java"," "," "," "," "," "); 4224 addoraclecmds(ESqlStatementType.sstoracledroplibrary, TBaseType.rrw_drop,"library"," "," "," "," "," "); 4225 addoraclecmds(ESqlStatementType.sstoracledropmaterializedview, TBaseType.rrw_drop,"materialized","view"," "," "," "," "); 4226 addoraclecmds(ESqlStatementType.sstoracledropmaterializedviewlog, TBaseType.rrw_drop,"materialized","view","log"," "," "," "); 4227 addoraclecmds(ESqlStatementType.sstoracledropoperator, TBaseType.rrw_drop,"operator"," "," "," "," "," "); 4228 addoraclecmds(ESqlStatementType.sstoracledropoutline, TBaseType.rrw_drop,"outline"," "," "," "," "," "); 4229 addoraclecmds(ESqlStatementType.sstoracledroppackage, TBaseType.rrw_drop,"package"," "," "," "," "," "); 4230 addoraclecmds(ESqlStatementType.sstoracledropprocedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 4231 addoraclecmds(ESqlStatementType.sstoracledropprofile, TBaseType.rrw_drop,"profile"," "," "," "," "," "); 4232 addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, TBaseType.rrw_drop,"public","database","link"," "," "," "); 4233 addoraclecmds(ESqlStatementType.sstoracledropsynonym, TBaseType.rrw_drop,"public","synonym"," "," "," "," "); 4234 addoraclecmds(ESqlStatementType.sstoracledroprestorepoint, TBaseType.rrw_drop,"restore","point"," "," "," "," "); 4235 addoraclecmds(ESqlStatementType.sstoracledroprole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 4236 addoraclecmds(ESqlStatementType.sstoracledroprollbacksegment, TBaseType.rrw_drop,"rollback","segment"," "," "," "," "); 4237 addoraclecmds(ESqlStatementType.sstoracledropsequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 4238 addoraclecmds(ESqlStatementType.sstoracledropsynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 4239 addoraclecmds(ESqlStatementType.sstoracledroptable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 4240 addoraclecmds(ESqlStatementType.sstoracledroptablespace, TBaseType.rrw_drop,"tablespace"," "," "," "," "," "); 4241 addoraclecmds(ESqlStatementType.sstoracledroptrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 4242 addoraclecmds(ESqlStatementType.sstoracledroptype, TBaseType.rrw_drop,"type"," "," "," "," "," "); 4243 addoraclecmds(ESqlStatementType.sstoracledroptypebody, TBaseType.rrw_drop,"type","body"," "," "," "," "); 4244 addoraclecmds(ESqlStatementType.sstoracledropuser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 4245 addoraclecmds(ESqlStatementType.sstoracledropview, TBaseType.rrw_drop,"view"," "," "," "," "," "); 4246 addoraclecmds(ESqlStatementType.sstoracleexecuteprocedure, TBaseType.rrw_execute," "," "," "," "," "," "); 4247 addoraclecmds(ESqlStatementType.sstplsql_execimmestmt, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 4248 addoraclecmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain,"plan"," "," "," "," "," "); 4249 addoraclecmds(ESqlStatementType.sstoracleflashbackdatabase, TBaseType.rrw_flashback,"database"," "," "," "," "," "); 4250 addoraclecmds(ESqlStatementType.sstoracleflashbacktable, TBaseType.rrw_flashback,"table"," "," "," "," "," "); 4251 addoraclecmds(ESqlStatementType.sstoraclegrant, TBaseType.rrw_grant," "," "," "," "," "," "); 4252 addoraclecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert," "," "," "," "," "," "); 4253 addoraclecmds(ESqlStatementType.sstoraclelocktable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 4254 addoraclecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 4255 addoraclecmds(ESqlStatementType.sstoraclenoaudit, TBaseType.rrw_noaudit," "," "," "," "," "," "); 4256 addoraclecmds(ESqlStatementType.sstoraclepurge, TBaseType.rrw_purge," "," "," "," "," "," "); 4257 addoraclecmds(ESqlStatementType.sstoraclerename, TBaseType.rrw_rename," "," "," "," "," "," "); 4258 addoraclecmds(ESqlStatementType.sstoraclerevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 4259 addoraclecmds(ESqlStatementType.sstoraclerollback, TBaseType.rrw_rollback," "," "," "," "," "," "); 4260 addoraclecmds(ESqlStatementType.sstoraclesavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 4261 addoraclecmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 4262 addoraclecmds(ESqlStatementType.sstoraclesetconstraint, TBaseType.rrw_set,"constraint"," "," "," "," "," "); 4263 addoraclecmds(ESqlStatementType.sstoraclesetconstraint, TBaseType.rrw_set,"constraints"," "," "," "," "," "); 4264 addoraclecmds(ESqlStatementType.sstoraclesetrole, TBaseType.rrw_set,"role"," "," "," "," "," "); 4265 addoraclecmds(ESqlStatementType.sstoraclesettransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 4266 addoraclecmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 4267 addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, TBaseType.rrw_type2," "," "," "," "," "," "); 4268 addoraclecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 4269 4270} 4271 4272void initinformixcmds(){ 4273// cmd must be sort alphabetically 4274 addinformixcmds(ESqlStatementType.sstinformixAllocateCollection, TBaseType.rrw_allocate,"collection"," "," "," "," "," "); 4275 addinformixcmds(ESqlStatementType.sstinformixAllocateDescriptor, TBaseType.rrw_allocate,"descriptor"," "," "," "," "," "); 4276 addinformixcmds(ESqlStatementType.sstinformixAlterAccess_Method, TBaseType.rrw_alter,"access_method"," "," "," "," "," "); 4277 addinformixcmds(ESqlStatementType.sstinformixAlterFragment, TBaseType.rrw_alter,"fragment"," "," "," "," "," "); 4278 addinformixcmds(ESqlStatementType.sstinformixAlterFunction, TBaseType.rrw_alter,"function"," "," "," "," "," "); 4279 addinformixcmds(ESqlStatementType.sstinformixAlterIndex, TBaseType.rrw_alter,"index"," "," "," "," "," "); 4280 addinformixcmds(ESqlStatementType.sstinformixAlterProcedure, TBaseType.rrw_alter,"procedure"," "," "," "," "," "); 4281 addinformixcmds(ESqlStatementType.sstinformixAlterRoutine, TBaseType.rrw_alter,"routine"," "," "," "," "," "); 4282 addinformixcmds(ESqlStatementType.sstinformixAlterSecurityLabelComponent, TBaseType.rrw_alter,"security","label","component"," "," "," "); 4283 addinformixcmds(ESqlStatementType.sstinformixAlterSequence, TBaseType.rrw_alter,"sequence"," "," "," "," "," "); 4284 addinformixcmds(ESqlStatementType.sstinformixAlterTable, TBaseType.rrw_alter,"table"," "," "," "," "," "); 4285 addinformixcmds(ESqlStatementType.sstinformixAlterTrustedContext, TBaseType.rrw_alter,"trusted","context"," "," "," "," "); 4286 addinformixcmds(ESqlStatementType.sstinformixAlterUser, TBaseType.rrw_alter,"user"," "," "," "," "," "); 4287 addinformixcmds(ESqlStatementType.sstinformixBegin, TBaseType.rrw_begin," "," "," "," "," "," "); 4288 addinformixcmds(ESqlStatementType.sstinformixClose, TBaseType.rrw_close," "," "," "," "," "," "); 4289 addinformixcmds(ESqlStatementType.sstinformixCloseDatabase, TBaseType.rrw_close,"database"," "," "," "," "," "); 4290 addinformixcmds(ESqlStatementType.sstinformixCommit, TBaseType.rrw_commit," "," "," "," "," "," "); 4291 addinformixcmds(ESqlStatementType.sstinformixConnect, TBaseType.rrw_informix_connect_to," "," "," "," "," "," "); 4292 addinformixcmds(ESqlStatementType.sstinformixCreateAccess_Method, TBaseType.rrw_create,"access_method"," "," "," "," "," "); 4293 addinformixcmds(ESqlStatementType.sstinformixCreateAggregate, TBaseType.rrw_create,"aggregate"," "," "," "," "," "); 4294 addinformixcmds(ESqlStatementType.sstinformixCreateCast, TBaseType.rrw_create,"cast"," "," "," "," "," "); 4295 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"cluster","index"," "," "," "," "); 4296 addinformixcmds(ESqlStatementType.sstinformixCreateDatabase, TBaseType.rrw_create,"database"," "," "," "," "," "); 4297 addinformixcmds(ESqlStatementType.sstinformixCreateFunction, TBaseType.rrw_create,"dba","function"," "," "," "," "); 4298 addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, TBaseType.rrw_create,"dba","procedure"," "," "," "," "); 4299 addinformixcmds(ESqlStatementType.sstinformixCreateDefaultUser, TBaseType.rrw_create,"default","user"," "," "," "," "); 4300 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"distinct","cluster","index"," "," "," "); 4301 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"distinct","index"," "," "," "," "); 4302 addinformixcmds(ESqlStatementType.sstinformixCreateDistinctType, TBaseType.rrw_create,"distinct","type"," "," "," "," "); 4303 addinformixcmds(ESqlStatementType.sstinformixCreateExternalTable, TBaseType.rrw_create,"external","table"," "," "," "," "); 4304 addinformixcmds(ESqlStatementType.sstinformixCreateFunction, TBaseType.rrw_create,"function"," "," "," "," "," "); 4305 addinformixcmds(ESqlStatementType.sstinformixCreateFunctionFrom, TBaseType.rrw_create,"function","from"," "," "," "," "); 4306 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"index"," "," "," "," "," "); 4307 addinformixcmds(ESqlStatementType.sstinformixCreateOpaqueType, TBaseType.rrw_create,"opaque","type"," "," "," "," "); 4308 addinformixcmds(ESqlStatementType.sstinformixCreateOpclass, TBaseType.rrw_create,"opclass"," "," "," "," "," "); 4309 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"private","synonym"," "," "," "," "); 4310 addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, TBaseType.rrw_create,"procedure"," "," "," "," "," "); 4311 addinformixcmds(ESqlStatementType.sstinformixCreateProcedureFrom, TBaseType.rrw_create,"procedure","from"," "," "," "," "); 4312 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"public","synonym"," "," "," "," "); 4313 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"raw","table"," "," "," "," "); 4314 addinformixcmds(ESqlStatementType.sstinformixCreateRole, TBaseType.rrw_create,"role"," "," "," "," "," "); 4315 addinformixcmds(ESqlStatementType.sstinformixCreateRoutineFrom, TBaseType.rrw_create,"routine","from"," "," "," "," "); 4316 addinformixcmds(ESqlStatementType.sstinformixCreateRowType, TBaseType.rrw_create,"row","type"," "," "," "," "); 4317 addinformixcmds(ESqlStatementType.sstinformixCreateSchema, TBaseType.rrw_create,"schema"," "," "," "," "," "); 4318 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabel, TBaseType.rrw_create,"security","label"," "," "," "," "); 4319 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabelComponent, TBaseType.rrw_create,"security","label","component"," "," "," "); 4320 addinformixcmds(ESqlStatementType.sstinformixCreateSecurityPolicy, TBaseType.rrw_create,"security","policy"," "," "," "," "); 4321 addinformixcmds(ESqlStatementType.sstinformixCreateSequence, TBaseType.rrw_create,"sequence"," "," "," "," "," "); 4322 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"standard","table"," "," "," "," "); 4323 addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, TBaseType.rrw_create,"synonym"," "," "," "," "," "); 4324 addinformixcmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"table"," "," "," "," "," "); 4325 addinformixcmds(ESqlStatementType.sstinformixCreateTempTable, TBaseType.rrw_create,"temp","table"," "," "," "," "); 4326 addinformixcmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create,"trigger"," "," "," "," "," "); 4327 addinformixcmds(ESqlStatementType.sstinformixCreateTrustedContext, TBaseType.rrw_create,"trusted","context"," "," "," "," "); 4328 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"unique","cluster","index"," "," "," "); 4329 addinformixcmds(ESqlStatementType.sstinformixCreateIndex, TBaseType.rrw_create,"unique","index"," "," "," "," "); 4330 addinformixcmds(ESqlStatementType.sstinformixCreateUser, TBaseType.rrw_create,"user"," "," "," "," "," "); 4331 addinformixcmds(ESqlStatementType.sstinformixCreateView, TBaseType.rrw_create,"view"," "," "," "," "," "); 4332 addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasource, TBaseType.rrw_create,"xadatasource"," "," "," "," "," "); 4333 addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasourceType, TBaseType.rrw_create,"xadatasource","type"," "," "," "," "); 4334 //addinformixcmds(ESqlStatementType.sstinformixDatabase, TBaseType.rrw_database," "," "," "," "," "," "); 4335 addinformixcmds(ESqlStatementType.sstinformixDeallocateCollection, TBaseType.rrw_deallocate,"collection"," "," "," "," "," "); 4336 addinformixcmds(ESqlStatementType.sstinformixDeallocateDescriptor, TBaseType.rrw_deallocate, "descriptor"," "," "," "," "," "); 4337 addinformixcmds(ESqlStatementType.sstinformixDeallocateRow, TBaseType.rrw_deallocate,"row"," "," "," "," "," "); 4338 addinformixcmds(ESqlStatementType.sstinformixDeclare, TBaseType.rrw_declare," "," "," "," "," "," "); 4339 addinformixcmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete," "," "," "," "," "," "); 4340 addinformixcmds(ESqlStatementType.sstinformixDescribe, TBaseType.rrw_describe," "," "," "," "," "," "); 4341 addinformixcmds(ESqlStatementType.sstinformixDescribeInput, TBaseType.rrw_describe,"input"," "," "," "," "," "); 4342 addinformixcmds(ESqlStatementType.sstinformixDisconnect, TBaseType.rrw_disconnect," "," "," "," "," "," "); 4343 addinformixcmds(ESqlStatementType.sstinformixDropAccess_Method, TBaseType.rrw_drop,"access_method"," "," "," "," "," "); 4344 addinformixcmds(ESqlStatementType.sstinformixDropAggregate, TBaseType.rrw_drop,"aggregate"," "," "," "," "," "); 4345 addinformixcmds(ESqlStatementType.sstinformixDropCast, TBaseType.rrw_drop,"cast"," "," "," "," "," "); 4346 addinformixcmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop,"database"," "," "," "," "," "); 4347 addinformixcmds(ESqlStatementType.sstinformixDropFunction, TBaseType.rrw_drop,"function"," "," "," "," "," "); 4348 addinformixcmds(ESqlStatementType.sstinformixDropIndex, TBaseType.rrw_drop,"index"," "," "," "," "," "); 4349 addinformixcmds(ESqlStatementType.sstinformixDropOpclass, TBaseType.rrw_drop,"opclass"," "," "," "," "," "); 4350 addinformixcmds(ESqlStatementType.sstinformixDropProcedure, TBaseType.rrw_drop,"procedure"," "," "," "," "," "); 4351 addinformixcmds(ESqlStatementType.sstinformixDropRole, TBaseType.rrw_drop,"role"," "," "," "," "," "); 4352 addinformixcmds(ESqlStatementType.sstinformixDropRoutine, TBaseType.rrw_drop,"routine"," "," "," "," "," "); 4353 addinformixcmds(ESqlStatementType.sstinformixDropRowType, TBaseType.rrw_drop,"row","type"," "," "," "," "); 4354 addinformixcmds(ESqlStatementType.sstinformixDropSecurity, TBaseType.rrw_drop,"security"," "," "," "," "," "); 4355 addinformixcmds(ESqlStatementType.sstinformixDropSequence, TBaseType.rrw_drop,"sequence"," "," "," "," "," "); 4356 addinformixcmds(ESqlStatementType.sstinformixDropSynonym, TBaseType.rrw_drop,"synonym"," "," "," "," "," "); 4357 addinformixcmds(ESqlStatementType.sstinformixDropTable, TBaseType.rrw_drop,"table"," "," "," "," "," "); 4358 addinformixcmds(ESqlStatementType.sstinformixDropTrigger, TBaseType.rrw_drop,"trigger"," "," "," "," "," "); 4359 addinformixcmds(ESqlStatementType.sstinformixDropTrustedContext, TBaseType.rrw_drop,"trusted","context"," "," "," "," "); 4360 addinformixcmds(ESqlStatementType.sstinformixDropType, TBaseType.rrw_drop,"type"," "," "," "," "," "); 4361 addinformixcmds(ESqlStatementType.sstinformixDropUser, TBaseType.rrw_drop,"user"," "," "," "," "," "); 4362 addinformixcmds(ESqlStatementType.sstinformixDropView, TBaseType.rrw_drop,"view"," "," "," "," "," "); 4363 addinformixcmds(ESqlStatementType.sstinformixDropXaDatasource, TBaseType.rrw_drop,"xadatasource"," "," "," "," "," "); 4364 addinformixcmds(ESqlStatementType.sstinformixDropXaDatasourceType, TBaseType.rrw_drop,"xadatasource","type"," "," "," "," "); 4365 addinformixcmds(ESqlStatementType.sstinformixExecute, TBaseType.rrw_exec," "," "," "," "," "," "); 4366 addinformixcmds(ESqlStatementType.sstinformixExecute, TBaseType.rrw_execute," "," "," "," "," "," "); 4367 addinformixcmds(ESqlStatementType.sstinformixExecuteFunction, TBaseType.rrw_execute,"function"," "," "," "," "," "); 4368 addinformixcmds(ESqlStatementType.sstinformixExecuteImmediate, TBaseType.rrw_execute,"immediate"," "," "," "," "," "); 4369 addinformixcmds(ESqlStatementType.sstinformixExecuteProcedure, TBaseType.rrw_execute,"procedure"," "," "," "," "," "); 4370 addinformixcmds(ESqlStatementType.sstinformixFetch, TBaseType.rrw_fetch," "," "," "," "," "," "); 4371 addinformixcmds(ESqlStatementType.sstinformixFlush, TBaseType.rrw_flush," "," "," "," "," "," "); 4372 addinformixcmds(ESqlStatementType.sstinformixFree, TBaseType.rrw_free," "," "," "," "," "," "); 4373 addinformixcmds(ESqlStatementType.sstinformixGetDescriptor, TBaseType.rrw_get,"descriptor"," "," "," "," "," "); 4374 addinformixcmds(ESqlStatementType.sstinformixGetDiagnostics, TBaseType.rrw_get,"diagnostics"," "," "," "," "," "); 4375 addinformixcmds(ESqlStatementType.sstinformixGrant, TBaseType.rrw_grant," "," "," "," "," "," "); 4376 addinformixcmds(ESqlStatementType.sstinformixGrantFragment, TBaseType.rrw_grant,"fragment"," "," "," "," "," "); 4377 addinformixcmds(ESqlStatementType.sstinformixInfo, TBaseType.rrw_informix_info," "," "," "," "," "," "); 4378 addinformixcmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " "," "," "," "," "," "); 4379 addinformixcmds(ESqlStatementType.sstinformixLoad, TBaseType.rrw_load," "," "," "," "," "," "); 4380 addinformixcmds(ESqlStatementType.sstinformixLockTable, TBaseType.rrw_lock,"table"," "," "," "," "," "); 4381 addinformixcmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge," "," "," "," "," "," "); 4382 addinformixcmds(ESqlStatementType.sstinformixOpen, TBaseType.rrw_open," "," "," "," "," "," "); 4383 addinformixcmds(ESqlStatementType.sstinformixOutput, TBaseType.rrw_informix_output," "," "," "," "," "," "); 4384 addinformixcmds(ESqlStatementType.sstinformixPrepare, TBaseType.rrw_prepare," "," "," "," "," "," "); 4385 addinformixcmds(ESqlStatementType.sstinformixPut, TBaseType.rrw_informix_put," "," "," "," "," "," "); 4386 addinformixcmds(ESqlStatementType.sstinformixReleaseSavepoint, TBaseType.rrw_release,"savepoint"," "," "," "," "," "); 4387 addinformixcmds(ESqlStatementType.sstinformixRenameColumn, TBaseType.rrw_rename,"column"," "," "," "," "," "); 4388 addinformixcmds(ESqlStatementType.sstinformixRenameDatabase, TBaseType.rrw_rename,"database"," "," "," "," "," "); 4389 addinformixcmds(ESqlStatementType.sstinformixRenameIndex, TBaseType.rrw_rename,"index"," "," "," "," "," "); 4390 addinformixcmds(ESqlStatementType.sstinformixRenameSecurity, TBaseType.rrw_rename,"security"," "," "," "," "," "); 4391 addinformixcmds(ESqlStatementType.sstinformixRenameSequence, TBaseType.rrw_rename,"sequence"," "," "," "," "," "); 4392 addinformixcmds(ESqlStatementType.sstinformixRenameTable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 4393 addinformixcmds(ESqlStatementType.sstinformixRenameTrustedContext, TBaseType.rrw_rename,"trusted","context"," "," "," "," "); 4394 addinformixcmds(ESqlStatementType.sstinformixRenameUser, TBaseType.rrw_rename,"user"," "," "," "," "," "); 4395 addinformixcmds(ESqlStatementType.sstinformixRevoke, TBaseType.rrw_revoke," "," "," "," "," "," "); 4396 addinformixcmds(ESqlStatementType.sstinformixRevokeFragment, TBaseType.rrw_revoke,"fragment"," "," "," "," "," "); 4397 addinformixcmds(ESqlStatementType.sstinformixRollbackWork, TBaseType.rrw_rollback," "," "," "," "," "," "); 4398 addinformixcmds(ESqlStatementType.sstinformixRollbackWork, TBaseType.rrw_rollback,"work"," "," "," "," "," "); 4399 addinformixcmds(ESqlStatementType.sstinformixSaveExternalDirectives, TBaseType.rrw_save,"external","directives"," "," "," "," "); 4400 addinformixcmds(ESqlStatementType.sstinformixSavepoint, TBaseType.rrw_savepoint," "," "," "," "," "," "); 4401 addinformixcmds(ESqlStatementType.sstselect, TBaseType.rrw_select," "," "," "," "," "," "); 4402 addinformixcmds(ESqlStatementType.sstinformixSetAutofree, TBaseType.rrw_set,"autofree"," "," "," "," "," "); 4403 addinformixcmds(ESqlStatementType.sstinformixSetCollation, TBaseType.rrw_set,"collation"," "," "," "," "," "); 4404 addinformixcmds(ESqlStatementType.sstinformixSetConnection, TBaseType.rrw_set,"connection"," "," "," "," "," "); 4405 addinformixcmds(ESqlStatementType.sstinformixSetConstraints, TBaseType.rrw_set,"constraints"," "," "," "," "," "); 4406 addinformixcmds(ESqlStatementType.sstinformixSetDatabaseObject, TBaseType.rrw_set,"database","object"," "," "," "," "); 4407 addinformixcmds(ESqlStatementType.sstinformixSetDataskip, TBaseType.rrw_set,"dataskip"," "," "," "," "," "); 4408 addinformixcmds(ESqlStatementType.sstinformixSetDebugFile, TBaseType.rrw_set,"debug","file"," "," "," "," "); 4409 addinformixcmds(ESqlStatementType.sstinformixSetDeferred_Prepare, TBaseType.rrw_set,"defferred_prepare"," "," "," "," "," "); 4410 addinformixcmds(ESqlStatementType.sstinformixSetDescriptor, TBaseType.rrw_set,"descriptor"," "," "," "," "," "); 4411 addinformixcmds(ESqlStatementType.sstinformixSetEncryptionPassword, TBaseType.rrw_set,"encryption","password"," "," "," "," "); 4412 addinformixcmds(ESqlStatementType.sstinformixSetEnvironment, TBaseType.rrw_set,"environment"," "," "," "," "," "); 4413 addinformixcmds(ESqlStatementType.sstinformixSetExplain, TBaseType.rrw_set,"explain"," "," "," "," "," "); 4414 addinformixcmds(ESqlStatementType.sstinformixSetIndexes, TBaseType.rrw_set,"indexes"," "," "," "," "," "); 4415 addinformixcmds(ESqlStatementType.sstinformixSetIsolation, TBaseType.rrw_set,"isolation"," "," "," "," "," "); 4416 addinformixcmds(ESqlStatementType.sstinformixSetLockMode, TBaseType.rrw_set,"lock","mode"," "," "," "," "); 4417 addinformixcmds(ESqlStatementType.sstinformixSetLog, TBaseType.rrw_set,"log"," "," "," "," "," "); 4418 addinformixcmds(ESqlStatementType.sstinformixSetOptimization, TBaseType.rrw_set,"optimization"," "," "," "," "," "); 4419 addinformixcmds(ESqlStatementType.sstinformixSetPDQPriority, TBaseType.rrw_set,"pdqpriority"," "," "," "," "," "); 4420 addinformixcmds(ESqlStatementType.sstinformixSetRole, TBaseType.rrw_set,"role"," "," "," "," "," "); 4421 addinformixcmds(ESqlStatementType.sstinformixSetSessionAuthorization, TBaseType.rrw_set,"session","authorization"," "," "," "," "); 4422 addinformixcmds(ESqlStatementType.sstinformixSetStatementCache, TBaseType.rrw_set,"statement","cache"," "," "," "," "); 4423 addinformixcmds(ESqlStatementType.sstinformixSetTransaction, TBaseType.rrw_set,"transaction"," "," "," "," "," "); 4424 addinformixcmds(ESqlStatementType.sstinformixSetTransactionMode, TBaseType.rrw_set,"transaction","mode"," "," "," "," "); 4425 addinformixcmds(ESqlStatementType.sstinformixSetTriggers, TBaseType.rrw_set,"triggers"," "," "," "," "," "); 4426 addinformixcmds(ESqlStatementType.sstinformixSetUserPassword, TBaseType.rrw_set,"user","password"," "," "," "," "); 4427 addinformixcmds(ESqlStatementType.sstinformixStartViolationsTable, TBaseType.rrw_start,"violations","table"," "," "," "," "); 4428 addinformixcmds(ESqlStatementType.sstinformixStopViolationsTable, TBaseType.rrw_stop,"violations","table"," "," "," "," "); 4429 addinformixcmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate," "," "," "," "," "," "); 4430 addinformixcmds(ESqlStatementType.sstinformixUnload, TBaseType.rrw_informix_unload," "," "," "," "," "," "); 4431 addinformixcmds(ESqlStatementType.sstinformixUnlockTable, TBaseType.rrw_unlock,"table"," "," "," "," "," "); 4432 addinformixcmds(ESqlStatementType.sstupdate, TBaseType.rrw_update," "," "," "," "," "," "); 4433 addinformixcmds(ESqlStatementType.sstinformixUpdateStatistics, TBaseType.rrw_update,"statistics"," "," "," "," "," "); 4434 addinformixcmds(ESqlStatementType.sstinformixWhenever, TBaseType.rrw_informix_whenever," "," "," "," "," "," "); 4435} 4436 public void initcouchbasecmds() { 4437 addcouchbasecmds(ESqlStatementType.sstBuildIndex, TBaseType.rrw_couchbase_build, "index"," ", " ", " ", " ", " "); 4438 addcouchbasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 4439 addcouchbasecmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "primary", "index", " ", " ", " ", " "); 4440 addcouchbasecmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 4441 addcouchbasecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 4442 addcouchbasecmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "primary", "index", " ", " ", " ", " "); 4443 addcouchbasecmds(ESqlStatementType.sstExecutePreparedStmt, TBaseType.rrw_execute, " ", " ", " ", " ", " ", " "); 4444 addcouchbasecmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " ", " ", " ", " ", " "); 4445 addcouchbasecmds(ESqlStatementType.sstinfer, TBaseType.rrw_couchbase_infer, " ", " ", " ", " ", " ", " "); 4446 addcouchbasecmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4447 addcouchbasecmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " ", " ", " ", " ", " "); 4448 addcouchbasecmds(ESqlStatementType.sstprepare, TBaseType.rrw_prepare, " ", " ", " ", " ", " ", " "); 4449 addcouchbasecmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4450 addcouchbasecmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4451 addcouchbasecmds(ESqlStatementType.sstupsert, TBaseType.rrw_couchbase_upsert, " ", " ", " ", " ", " ", " "); 4452 } 4453 4454 void initverticacmds(){ 4455 4456 addverticacmds(ESqlStatementType.sstActivateDirectedQuery, TBaseType.rrw_vertica_activate, "directed", "query", " ", " ", " ", " "); 4457 4458 addverticacmds(ESqlStatementType.sstAlterAccessPolicy, TBaseType.rrw_alter, "access", "policy", " ", " ", " ", " "); 4459 addverticacmds(ESqlStatementType.sstAlterAuthentication, TBaseType.rrw_alter, "authentication", " ", " ", " ", " ", " "); 4460 addverticacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 4461 addverticacmds(ESqlStatementType.sstAlterFaultGroup, TBaseType.rrw_alter, "fault", "group", " ", " ", " ", " "); 4462 addverticacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 4463 addverticacmds(ESqlStatementType.sstAlterLibrary, TBaseType.rrw_alter, "library", " ", " ", " ", " ", " "); 4464 addverticacmds(ESqlStatementType.sstAlterNode, TBaseType.rrw_alter, "node", " ", " ", " ", " ", " "); 4465 addverticacmds(ESqlStatementType.sstAlterNetworkInterface, TBaseType.rrw_alter, "network", "interface", " ", " ", " ", " "); 4466 addverticacmds(ESqlStatementType.sstAlterProjection, TBaseType.rrw_alter, "projection", " ", " ", " ", " ", " "); 4467 addverticacmds(ESqlStatementType.sstAlterProfile, TBaseType.rrw_alter, "profile", " ", " ", " ", " ", " "); 4468 addverticacmds(ESqlStatementType.sstAlterResourcePool, TBaseType.rrw_alter, "resource", "pool", " ", " ", " ", " "); 4469 addverticacmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 4470 addverticacmds(ESqlStatementType.sstAlterSchema, TBaseType.rrw_alter, "schema", " ", " ", " ", " ", " "); 4471 addverticacmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 4472 addverticacmds(ESqlStatementType.sstaltersession, TBaseType.rrw_alter, "session", " ", " ", " ", " ", " "); 4473 addverticacmds(ESqlStatementType.sstAlterSubnet, TBaseType.rrw_alter, "subnet", " ", " ", " ", " ", " "); 4474 addverticacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 4475 addverticacmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 4476 addverticacmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 4477 4478 addverticacmds(ESqlStatementType.sstBegin, TBaseType.rrw_begin, " ", " ", " ", " ", " ", " "); 4479 addverticacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 4480 4481 addverticacmds(ESqlStatementType.sstCommentOn, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 4482 addverticacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 4483 addverticacmds(ESqlStatementType.sstconnect, TBaseType.rrw_connect, "to", " ", " ", " ", " ", " "); 4484 addverticacmds(ESqlStatementType.sstCopy, TBaseType.rrw_vertica_copy, " ", " ", " ", " ", " ", " "); 4485 4486 addverticacmds(ESqlStatementType.sstCreateAccessPolicy, TBaseType.rrw_create, "access", "policy", " ", " ", " ", " "); 4487 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "aggregate", "function", " ", " ", " ", " "); 4488 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "analytic", "function", " ", " ", " ", " "); 4489 addverticacmds(ESqlStatementType.sstCreateAuthentication, TBaseType.rrw_create, "authentication", " ", " ", " ", " ", " "); 4490 addverticacmds(ESqlStatementType.sstCreateDirectedQuery, TBaseType.rrw_create, "directed", "query", " ", " ", " ", " "); 4491 addverticacmds(ESqlStatementType.sstCreateExternalTable, TBaseType.rrw_create, "external", "table", " ", " ", " ", " "); 4492 addverticacmds(ESqlStatementType.sstCreateFaultGroup, TBaseType.rrw_create , "fault", "group", " ", " ", " ", " "); 4493 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "filter", " ", " ", " ", " ", " "); 4494 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flex", "table", " ", " ", " ", " "); 4495 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "flexible", "table", " ", " ", " ", " "); 4496 4497 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "function", " ", " ", " ", " ", " "); 4498 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "global", "temp", "table", " ", " ", " "); 4499 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "global", "temporary", "table", " ", " ", " "); 4500 addverticacmds(ESqlStatementType.sstCreateHCatalogSchema, TBaseType.rrw_create , "hcatalog", "schema", " ", " ", " ", " "); 4501 addverticacmds(ESqlStatementType.sstCreateLibrary, TBaseType.rrw_create, "library", " ", " ", " ", " ", " "); 4502 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "local", "temp", "table", " ", " ", " "); 4503 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "local", "temp", "view", " ", " ", " "); 4504 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "local", "temporary", "table", " ", " ", " "); 4505 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "local", "temporary", "view", " ", " ", " "); 4506 addverticacmds(ESqlStatementType.sstCreateLocation, TBaseType.rrw_create , "location", " ", " ", " ", " ", " "); 4507 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "managed", "external", "table", " ", " ", " "); 4508 addverticacmds(ESqlStatementType.sstCreateNetworkInterface, TBaseType.rrw_create, "network", "interface", " ", " ", " ", " "); 4509 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "or", "replace", "aggregate", "function", " ", " "); 4510 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "or", "replace", "function", " ", " ", " "); 4511 addverticacmds(ESqlStatementType.sstCreateLibrary, TBaseType.rrw_create , "or", "replace", "library", " ", " ", " "); 4512 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "local", "temp", "view", " "); 4513 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "local", "temporary", "view", " "); 4514 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "or", "replace", "view", " ", " ", " "); 4515 addverticacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create , "or", "replace", "procedure", " ", " ", " "); 4516 4517 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "parser", " ", " ", " ", " ", " "); 4518 addverticacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create , "procedure", " ", " ", " ", " ", " "); 4519 addverticacmds(ESqlStatementType.sstCreateProfile, TBaseType.rrw_create , "profile", " ", " ", " ", " ", " "); 4520 addverticacmds(ESqlStatementType.sstCreateProjection, TBaseType.rrw_create , "projection", " ", " ", " ", " ", " "); 4521 addverticacmds(ESqlStatementType.sstCreateResourcePool, TBaseType.rrw_create , "resource", "pool", " ", " ", " ", " "); 4522 addverticacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create , "role", " ", " ", " ", " ", " "); 4523 addverticacmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create , "schema", " ", " ", " ", " ", " "); 4524 addverticacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create , "sequence", " ", " ", " ", " ", " "); 4525 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "source", " ", " ", " ", " ", " "); 4526 addverticacmds(ESqlStatementType.sstCreateSubnet, TBaseType.rrw_create , "subnet", " ", " ", " ", " ", " "); 4527 4528 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "table", " ", " ", " ", " ", " "); 4529 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "temp", "table", " ", " ", " ", " "); 4530 addverticacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create , "temporary", "table", " ", " ", " ", " "); 4531 addverticacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create , "text", "index", " ", " ", " ", " "); 4532 addverticacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create , "transform", "function", " ", " ", " ", " "); 4533 addverticacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create , "user", " ", " ", " ", " ", " "); 4534 addverticacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create , "view", " ", " ", " ", " ", " "); 4535 4536 addverticacmds(ESqlStatementType.sstDeActivateDirectedQuery, TBaseType.rrw_vertica_deactivate, "directed", "query", " ", " ", " ", " "); 4537 4538 addverticacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete , " ", " ", " ", " ", " ", " "); 4539 addverticacmds(ESqlStatementType.sstDisconnect, TBaseType.rrw_disconnect , " ", " ", " ", " ", " ", " "); 4540 4541 addverticacmds(ESqlStatementType.sstDeActivateDirectedQuery, TBaseType.rrw_drop, "directed", "query", " ", " ", " ", " "); 4542 addverticacmds(ESqlStatementType.sstDropAccessPolicy, TBaseType.rrw_drop, "access","policy", " ", " ", " ", " "); 4543 addverticacmds(ESqlStatementType.sstDropAggregateFunction, TBaseType.rrw_drop, "aggregate","function", " ", " ", " ", " "); 4544 addverticacmds(ESqlStatementType.sstDropAuthentication, TBaseType.rrw_drop, "authentication"," ", " ", " ", " ", " "); 4545 4546 addverticacmds(ESqlStatementType.sstDropFaultGroup, TBaseType.rrw_drop, "fault","group", " ", " ", " ", " "); 4547 4548 addverticacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function"," ", " ", " ", " ", " "); 4549 addverticacmds(ESqlStatementType.sstDropLibrary, TBaseType.rrw_drop, "library"," ", " ", " ", " ", " "); 4550 addverticacmds(ESqlStatementType.sstDropNetworkInterface, TBaseType.rrw_drop, "network","interface", " ", " ", " ", " "); 4551 addverticacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure"," ", " ", " ", " ", " "); 4552 addverticacmds(ESqlStatementType.sstDropProfile, TBaseType.rrw_drop, "profile"," ", " ", " ", " ", " "); 4553 addverticacmds(ESqlStatementType.sstDropProjection, TBaseType.rrw_drop, "projection"," ", " ", " ", " ", " "); 4554 addverticacmds(ESqlStatementType.sstDropResourcePool, TBaseType.rrw_drop, "resource","pool", " ", " ", " ", " "); 4555 addverticacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role"," ", " ", " ", " ", " "); 4556 addverticacmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema"," ", " ", " ", " ", " "); 4557 addverticacmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop, "sequence"," ", " ", " ", " ", " "); 4558 addverticacmds(ESqlStatementType.sstDropSubnet, TBaseType.rrw_drop, "subnet"," ", " ", " ", " ", " "); 4559 addverticacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table"," ", " ", " ", " ", " "); 4560 addverticacmds(ESqlStatementType.sstDropTextIndex, TBaseType.rrw_drop, "text","index", " ", " ", " ", " "); 4561 addverticacmds(ESqlStatementType.sstDropTransformFunction, TBaseType.rrw_drop, "transform","function", " ", " ", " ", " "); 4562 addverticacmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user"," ", " ", " ", " ", " "); 4563 addverticacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view"," ", " ", " ", " ", " "); 4564 4565 addverticacmds(ESqlStatementType.sstEnd, TBaseType.rrw_end, " ", " "," ", " ", " ", " "); 4566 addverticacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, " ", " "," ", " ", " ", " "); 4567 addverticacmds(ESqlStatementType.sstExportToVertica, TBaseType.rrw_vertica_export, "to", "vertica"," ", " ", " ", " "); 4568 addverticacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " "," ", " ", " ", " "); 4569 addverticacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " "," ", " ", " ", " "); 4570 addverticacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, " ", " "," ", " ", " ", " "); 4571 addverticacmds(ESqlStatementType.sstProfile, TBaseType.rrw_vertica_profile, " ", " "," ", " ", " ", " "); 4572 addverticacmds(ESqlStatementType.sstReleaseSavepoint, TBaseType.rrw_release, " ", " "," ", " ", " ", " "); 4573 addverticacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " "," ", " ", " ", " "); 4574 addverticacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " "," ", " ", " ", " "); 4575 addverticacmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " "," ", " ", " ", " "); 4576 addverticacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " "," ", " ", " ", " "); 4577 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "datestyle", "to"," ", " ", " ", " "); 4578 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "escape_string_warning", "to"," ", " ", " ", " "); 4579 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "intervalstyle", "to"," ", " ", " ", " "); 4580 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "locale", " "," ", " ", " ", " "); 4581 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "role", " "," ", " ", " ", " "); 4582 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "search_path", " "," ", " ", " ", " "); 4583 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "session", " "," ", " ", " ", " "); 4584 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "standard_conforming_strings", " "," ", " ", " ", " "); 4585 addverticacmds(ESqlStatementType.sstset, TBaseType.rrw_set, "time", "zone"," ", " ", " ", " "); 4586 addverticacmds(ESqlStatementType.sstShow, TBaseType.rrw_show, " ", " "," ", " ", " ", " "); 4587 addverticacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, " ", " "," ", " ", " ", " "); 4588 addverticacmds(ESqlStatementType.sstTruncate, TBaseType.rrw_truncate, "table", " "," ", " ", " ", " "); 4589 addverticacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " "," ", " ", " ", " "); 4590 4591 4592 // addverticacmds(ESqlStatementType.sstGetDirectedQuery, TBaseType.rrw_get, "directed", "query", " ", " ", " ", " "); 4593 // addverticacmds(ESqlStatementType.sstSaveQuery, TBaseType.rrw_save, "query", " "," ", " ", " ", " "); 4594 4595 } 4596 4597 void inithanacmds(){ 4598//alter 4599 addhanacmds(ESqlStatementType.sstalterauditpolicy, TBaseType.rrw_alter, "audit", "policy", " ", " ", " ", " "); 4600 addhanacmds(ESqlStatementType.sstaltercredential, TBaseType.rrw_alter, "credential", " ", " ", " ", " ", " "); 4601 addhanacmds(ESqlStatementType.sstalterdatabase, TBaseType.rrw_alter, "database", " ", " ", " ", " ", " "); 4602 addhanacmds(ESqlStatementType.sstalterfulltextindex, TBaseType.rrw_alter, "fulltext", "index", " ", " ", " ", " "); 4603 addhanacmds(ESqlStatementType.sstalterfunction, TBaseType.rrw_alter, "function", " ", " ", " ", " ", " "); 4604 addhanacmds(ESqlStatementType.sstalterindex, TBaseType.rrw_alter, "index", " ", " ", " ", " ", " "); 4605 addhanacmds(ESqlStatementType.sstalterldapprovider, TBaseType.rrw_alter, "ldap", "provider", " ", " ", " ", " "); 4606 addhanacmds(ESqlStatementType.sstalterjwtprovider, TBaseType.rrw_alter, "jwt", "provider", " ", " ", " ", " "); 4607 addhanacmds(ESqlStatementType.sstalterpse, TBaseType.rrw_alter, "pse", " ", " ", " ", " ", " "); 4608 addhanacmds(ESqlStatementType.sstalterprocedure, TBaseType.rrw_alter, "procedure", " ", " ", " ", " ", " "); 4609 addhanacmds(ESqlStatementType.sstalterremotesource, TBaseType.rrw_alter, "remote", "source", " ", " ", " ", " "); 4610 addhanacmds(ESqlStatementType.sstAlterRole, TBaseType.rrw_alter, "role", " ", " ", " ", " ", " "); 4611 addhanacmds(ESqlStatementType.sstaltersamlprovider, TBaseType.rrw_alter, "saml", "provider", " ", " ", " ", " "); 4612 addhanacmds(ESqlStatementType.sstaltersequence, TBaseType.rrw_alter, "sequence", " ", " ", " ", " ", " "); 4613 addhanacmds(ESqlStatementType.sstalterstatistics, TBaseType.rrw_alter, "statistics", " ", " ", " ", " ", " "); 4614 addhanacmds(ESqlStatementType.sstalterstructuredprivilege, TBaseType.rrw_alter, "structured", "privilege", " ", " ", " ", " "); 4615 addhanacmds(ESqlStatementType.sstaltersystem, TBaseType.rrw_alter, "system", " ", " ", " ", " ", " "); 4616 addhanacmds(ESqlStatementType.sstaltertable, TBaseType.rrw_alter, "table", " ", " ", " ", " ", " "); 4617 addhanacmds(ESqlStatementType.sstalteruser, TBaseType.rrw_alter, "user", " ", " ", " ", " ", " "); 4618 addhanacmds(ESqlStatementType.sstalterusergroup, TBaseType.rrw_alter, "usergroup", " ", " ", " ", " ", " "); 4619 addhanacmds(ESqlStatementType.sstalterview, TBaseType.rrw_alter, "view", " ", " ", " ", " ", " "); 4620 addhanacmds(ESqlStatementType.sstalterviewcache, TBaseType.rrw_alter, "view", "cache", " ", " ", " ", " "); 4621 addhanacmds(ESqlStatementType.sstaltervirtualtable, TBaseType.rrw_alter, "virtual", "table", " ", " ", " ", " "); 4622 addhanacmds(ESqlStatementType.sstalterworkloadclass, TBaseType.rrw_alter, "workload", "class", " ", " ", " ", " "); 4623 addhanacmds(ESqlStatementType.sstalterworkloadmapping, TBaseType.rrw_alter, "workload", "mapping", " ", " ", " ", " "); 4624 4625//backup 4626 addhanacmds(ESqlStatementType.sstbackupcancel, TBaseType.rrw_backup,"cancel"," "," "," "," "," "); 4627 addhanacmds(ESqlStatementType.sstbackupcatalogdelete, TBaseType.rrw_backup, "catalog", "delete", " ", " ", " ", " "); 4628 addhanacmds(ESqlStatementType.sstbackupcheck, TBaseType.rrw_backup,"check"," "," "," "," "," "); 4629 addhanacmds(ESqlStatementType.sstbackupcheckaccess, TBaseType.rrw_backup, "check", "access", " ", " ", " ", " "); 4630 addhanacmds(ESqlStatementType.sstbackupdata, TBaseType.rrw_backup, "data", " ", " ", " ", " ", " "); 4631 addhanacmds(ESqlStatementType.sstbackuplistdata, TBaseType.rrw_backup, "list", "data", " ", " ", " ", " "); 4632 4633 addhanacmds(ESqlStatementType.sstcall, TBaseType.rrw_call, " ", " ", " ", " ", " ", " "); 4634 4635//commit 4636 addhanacmds(ESqlStatementType.sstcomment, TBaseType.rrw_comment, "on", " ", " ", " ", " ", " "); 4637 addhanacmds(ESqlStatementType.sstcommit, TBaseType.rrw_commit, " ", " ", " ", " ", " ", " "); 4638 addhanacmds(ESqlStatementType.sstconnect, TBaseType.rrw_connect, " ", " ", " ", " ", " ", " "); 4639 4640//create 4641 addhanacmds(ESqlStatementType.sstcreateauditpolicy, TBaseType.rrw_create, "audit", "policy", " ", " ", " ", " "); 4642 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "btree", "index", " ", " ", " ", " "); 4643 addhanacmds(ESqlStatementType.sstcreatecertificate, TBaseType.rrw_create, "certificate", " ", " ", " ", " ", " "); 4644 addhanacmds(ESqlStatementType.sstcreatecollection, TBaseType.rrw_create, "collection", " ", " ", " ", " ", " "); 4645 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "column", "table", " ", " ", " ", " "); 4646 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "cpbtree", "index", " ", " ", " ", " "); 4647 addhanacmds(ESqlStatementType.sstcreatecredential, TBaseType.rrw_create, "credential", " ", " ", " ", " ", " "); 4648 addhanacmds(ESqlStatementType.sstcreatedatabase, TBaseType.rrw_create, "database", " ", " ", " ", " ", " "); 4649 addhanacmds(ESqlStatementType.sstcreatefulltextindex, TBaseType.rrw_create, "fulltext", "index", " ", " ", " ", " "); 4650 addhanacmds(ESqlStatementType.sstcreatefunction, TBaseType.rrw_create, "function", " ", " ", " ", " ", " "); 4651 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "global", "temporary", "column", "table", " ", " "); 4652 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"global","temporary","table"," "," "," "); 4653 addhanacmds(ESqlStatementType.sstcreategraphworkspace, TBaseType.rrw_create, "graph", "workspace", " ", " ", " ", " "); 4654 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"history","column","table"," "," "," "); 4655 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "index", " ", " ", " ", " ", " "); 4656 addhanacmds(ESqlStatementType.sstcreateJWTProvider, TBaseType.rrw_create, "jwt", "provider", " ", " ", " ", " "); 4657 addhanacmds(ESqlStatementType.sstcreateLDAPProvider, TBaseType.rrw_create, "ldap", "provider", " ", " ", " ", " "); 4658 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create,"local","temporary","column","table"," "," "); 4659 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "local", "temporary", "table", " ", " ", " "); 4660 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "force", "editionable", "view", " "); 4661 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "or", "replace", "public", "synonym", " ", " "); 4662 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "or", "replace", "synonym", " ", " ", " "); 4663 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "or", "replace", "view", " ", " ", " "); 4664 addhanacmds(ESqlStatementType.sstcreateprocedure, TBaseType.rrw_create, "procedure", " ", " ", " ", " ", " "); 4665 addhanacmds(ESqlStatementType.sstcreatepse, TBaseType.rrw_create, "pse", " ", " ", " ", " ", " "); 4666 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "public", "synonym", " ", " ", " ", " "); 4667 addhanacmds(ESqlStatementType.sstcreateremotesource, TBaseType.rrw_create, "remote", "source", " ", " ", " ", " "); 4668 addhanacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "restricted", "user", " ", " ", " ", " "); 4669 addhanacmds(ESqlStatementType.sstcreaterole, TBaseType.rrw_create, "role", " ", " ", " ", " ", " "); 4670 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "row", "table", " ", " ", " ", " "); 4671 addhanacmds(ESqlStatementType.sstcreatesamlprovider, TBaseType.rrw_create, "saml", "provider", " ", " ", " ", " "); 4672 addhanacmds(ESqlStatementType.sstcreateschema, TBaseType.rrw_create, "schema", " ", " ", " ", " ", " "); 4673 addhanacmds(ESqlStatementType.sstcreatesequence, TBaseType.rrw_create, "sequence", " ", " ", " ", " ", " "); 4674 addhanacmds(ESqlStatementType.sstcreatestatistics, TBaseType.rrw_create, "statistics", " ", " ", " ", " ", " "); 4675 addhanacmds(ESqlStatementType.sstcreatestructuredprivilege, TBaseType.rrw_create, "structured", "privilege", " ", " ", " ", " "); 4676 addhanacmds(ESqlStatementType.sstcreatesynonym, TBaseType.rrw_create, "synonym", " ", " ", " ", " ", " "); 4677 addhanacmds(ESqlStatementType.sstcreatetable, TBaseType.rrw_create, "table", " ", " ", " ", " ", " "); 4678 addhanacmds(ESqlStatementType.sstcreatetrigger, TBaseType.rrw_create, "trigger", " ", " ", " ", " ", " "); 4679 addhanacmds(ESqlStatementType.sstcreatetype, TBaseType.rrw_create, "type", " ", " ", " ", " ", " "); 4680 addhanacmds(ESqlStatementType.sstcreateindex, TBaseType.rrw_create, "unique", "index", " ", " ", " ", " "); 4681 addhanacmds(ESqlStatementType.sstcreateuser, TBaseType.rrw_create, "user", " ", " ", " ", " ", " "); 4682 addhanacmds(ESqlStatementType.sstcreateusergroup, TBaseType.rrw_create, "usergroup", " ", " ", " ", " ", " "); 4683 addhanacmds(ESqlStatementType.sstcreateview, TBaseType.rrw_create, "view", " ", " ", " ", " ", " "); 4684 addhanacmds(ESqlStatementType.sstcreatevirtualfunction, TBaseType.rrw_create, "virtual", "function", " ", " ", " ", " "); 4685 addhanacmds(ESqlStatementType.sstcreatevirtualtable, TBaseType.rrw_create, "virtual", "table", " ", " ", " ", " "); 4686 addhanacmds(ESqlStatementType.sstcreateworkloadclass, TBaseType.rrw_create, "workload", "class", " ", " ", " ", " "); 4687 addhanacmds(ESqlStatementType.sstcreateworkloadmapping, TBaseType.rrw_create, "workload", "mapping", " ", " ", " ", " "); 4688 4689//DELETE 4690 addhanacmds(ESqlStatementType.sstdelete, TBaseType.rrw_delete, " ", " ", " ", " ", " ", " "); 4691 4692 addhanacmds(ESqlStatementType.sstdobeginend, TBaseType.rrw_do, "begin", " ", " ", " ", " ", " "); 4693 4694//drop 4695 addhanacmds(ESqlStatementType.sstdropauditpolicy, TBaseType.rrw_drop, "audit", "policy", " ", " ", " ", " "); 4696 addhanacmds(ESqlStatementType.sstdropcertificate, TBaseType.rrw_drop, "certificate", " ", " ", " ", " ", " "); 4697 addhanacmds(ESqlStatementType.sstdropcollection, TBaseType.rrw_drop, "collection", " ", " ", " ", " ", " "); 4698 addhanacmds(ESqlStatementType.sstdropcredential, TBaseType.rrw_drop, "credential", " ", " ", " ", " ", " "); 4699 addhanacmds(ESqlStatementType.sstdropdatabase, TBaseType.rrw_drop, "database", " ", " ", " ", " ", " "); 4700 addhanacmds(ESqlStatementType.sstdropfulltextindex, TBaseType.rrw_drop, "fulltext", "index", " ", " ", " ", " "); 4701 addhanacmds(ESqlStatementType.sstdropfunction, TBaseType.rrw_drop, "function", " ", " ", " ", " ", " "); 4702 addhanacmds(ESqlStatementType.sstdropgraphworkspace, TBaseType.rrw_drop, "graph", "workspace", " ", " ", " ", " "); 4703 addhanacmds(ESqlStatementType.sstdropindex, TBaseType.rrw_drop, "index", " ", " ", " ", " ", " "); 4704 addhanacmds(ESqlStatementType.sstdropJWTProvider, TBaseType.rrw_drop, "jwt", "provider", " ", " ", " ", " "); 4705 addhanacmds(ESqlStatementType.sstdropLDAPProvider, TBaseType.rrw_drop, "ldap", "provider", " ", " ", " ", " "); 4706 addhanacmds(ESqlStatementType.sstdropprocedure, TBaseType.rrw_drop, "procedure", " ", " ", " ", " ", " "); 4707 addhanacmds(ESqlStatementType.sstdroppse, TBaseType.rrw_drop, "pse", " ", " ", " ", " ", " "); 4708 addhanacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "public", "synonym", " ", " ", " ", " "); 4709 addhanacmds(ESqlStatementType.sstdropremotesource, TBaseType.rrw_drop, "remote", "source", " ", " ", " ", " "); 4710 addhanacmds(ESqlStatementType.sstdroprole, TBaseType.rrw_drop, "role", " ", " ", " ", " ", " "); 4711 addhanacmds(ESqlStatementType.sstdropsamlprovider, TBaseType.rrw_drop, "saml", "provider", " ", " ", " ", " "); 4712 addhanacmds(ESqlStatementType.sstdropschema, TBaseType.rrw_drop, "schema", " ", " ", " ", " ", " "); 4713 addhanacmds(ESqlStatementType.sstdropsequence, TBaseType.rrw_drop, "sequence", " ", " ", " ", " ", " "); 4714 addhanacmds(ESqlStatementType.sstdropstatistics, TBaseType.rrw_drop, "statistics", " ", " ", " ", " ", " "); 4715 addhanacmds(ESqlStatementType.sstdropstructuredprivilege, TBaseType.rrw_drop, "structured", "privilege", " ", " ", " ", " "); 4716 addhanacmds(ESqlStatementType.sstdropsynonym, TBaseType.rrw_drop, "synonym", " ", " ", " ", " ", " "); 4717 addhanacmds(ESqlStatementType.sstdroptable, TBaseType.rrw_drop, "table", " ", " ", " ", " ", " "); 4718 addhanacmds(ESqlStatementType.sstdroptrigger, TBaseType.rrw_drop, "trigger", " ", " ", " ", " ", " "); 4719 addhanacmds(ESqlStatementType.sstdroptype, TBaseType.rrw_drop, "type", " ", " ", " ", " ", " "); 4720 addhanacmds(ESqlStatementType.sstdropuser, TBaseType.rrw_drop, "user", " ", " ", " ", " ", " "); 4721 addhanacmds(ESqlStatementType.sstdropusergroup, TBaseType.rrw_drop, "usergroup", " ", " ", " ", " ", " "); 4722 addhanacmds(ESqlStatementType.sstdropview, TBaseType.rrw_drop, "view", " ", " ", " ", " ", " "); 4723 addhanacmds(ESqlStatementType.sstdropworkloadclass, TBaseType.rrw_drop, "workload", "class", " ", " ", " ", " "); 4724 addhanacmds(ESqlStatementType.sstdropworkloadmapping, TBaseType.rrw_drop, "workload", "mapping", " ", " ", " ", " "); 4725 4726 addhanacmds(ESqlStatementType.sstExplain, TBaseType.rrw_explain, "plan", " ", " ", " ", " ", " "); 4727 addhanacmds(ESqlStatementType.sstexport, TBaseType.rrw_hana_export, " ", " ", " ", " ", " ", " "); 4728 4729//GRANT 4730 addhanacmds(ESqlStatementType.sstGrant, TBaseType.rrw_grant, " ", " ", " ", " ", " ", " "); 4731 4732 addhanacmds(ESqlStatementType.sstimport, TBaseType.rrw_hana_import, " ", " ", " ", " ", " ", " "); 4733 addhanacmds(ESqlStatementType.sstimportfrom, TBaseType.rrw_hana_import, "from", " ", " ", " ", " ", " "); 4734 addhanacmds(ESqlStatementType.sstimportscan, TBaseType.rrw_hana_import, "scan", " ", " ", " ", " ", " "); 4735 4736//insert 4737 addhanacmds(ESqlStatementType.sstinsert, TBaseType.rrw_insert, " ", " ", " ", " ", " ", " "); 4738 4739// 4740 addhanacmds(ESqlStatementType.sstload, TBaseType.rrw_load, " ", " ", " ", " ", " ", " "); 4741 addhanacmds(ESqlStatementType.sstlocktable, TBaseType.rrw_lock, "table", " ", " ", " ", " ", " "); 4742 4743 addhanacmds(ESqlStatementType.sstmerge, TBaseType.rrw_merge, "into", " ", " ", " ", " ", " "); 4744 4745 addhanacmds(ESqlStatementType.sstmergedelta, TBaseType.rrw_merge, "delta", " ", " ", " ", " ", " "); 4746 addhanacmds(ESqlStatementType.sstmergedelta, TBaseType.rrw_merge,"history","delta"," "," "," "," "); 4747 4748 addhanacmds(ESqlStatementType.sstrecoverdata, TBaseType.rrw_hana_recover,"data"," "," "," "," "," "); 4749 addhanacmds(ESqlStatementType.sstrecoverdatabase, TBaseType.rrw_hana_recover, "database", " ", " ", " ", " ", " "); 4750 addhanacmds(ESqlStatementType.sstrefreshstatistics, TBaseType.rrw_refresh, "statistics", " ", " ", " ", " ", " "); 4751 addhanacmds(ESqlStatementType.sstrenamecollection, TBaseType.rrw_rename,"collection"," "," "," "," "," "); 4752 addhanacmds(ESqlStatementType.sstrenamecolumn, TBaseType.rrw_rename,"column"," "," "," "," "," "); 4753 addhanacmds(ESqlStatementType.sstrenamedatabase, TBaseType.rrw_rename,"database"," "," "," "," "," "); 4754 addhanacmds(ESqlStatementType.sstrenameindex, TBaseType.rrw_rename,"index"," "," "," "," "," "); 4755 addhanacmds(ESqlStatementType.sstrenametable, TBaseType.rrw_rename,"table"," "," "," "," "," "); 4756 addhanacmds(ESqlStatementType.sstreplace, TBaseType.rrw_replace, " ", " ", " ", " ", " ", " "); 4757 4758 addhanacmds(ESqlStatementType.sstRevoke, TBaseType.rrw_revoke, " ", " ", " ", " ", " ", " "); 4759 4760 addhanacmds(ESqlStatementType.sstrollback, TBaseType.rrw_rollback, " ", " ", " ", " ", " ", " "); 4761 4762 addhanacmds(ESqlStatementType.sstsavepoint, TBaseType.rrw_savepoint, " ", " ", " ", " ", " ", " "); 4763//SELECT 4764 addhanacmds(ESqlStatementType.sstselect, TBaseType.rrw_select, " ", " ", " ", " ", " ", " "); 4765 4766//SET 4767 addhanacmds(ESqlStatementType.sstset, TBaseType.rrw_set, " ", " ", " ", " ", " ", " "); 4768 addhanacmds(ESqlStatementType.sssethistorysession, TBaseType.rrw_set, "history", "session", " ", " ", " ", " "); 4769 addhanacmds(ESqlStatementType.sstsetpse, TBaseType.rrw_set, "pse", " ", " ", " ", " ", " "); 4770 addhanacmds(ESqlStatementType.sstsetschema, TBaseType.rrw_set, "schema", " ", " ", " ", " ", " "); 4771 addhanacmds(ESqlStatementType.sstsetsystemlicense, TBaseType.rrw_set, "system", "license", " ", " ", " ", " "); 4772 addhanacmds(ESqlStatementType.sstsettransaction, TBaseType.rrw_set, "transaction", " ", " ", " ", " ", " "); 4773 addhanacmds(ESqlStatementType.sstsettransactionautocommit, TBaseType.rrw_set, "transaction", "autocommit", " ", " ", " ", " "); 4774 4775 addhanacmds(ESqlStatementType.sstStartTransaction, TBaseType.rrw_start, "transaction", " ", " ", " ", " ", " "); 4776 4777 4778//TRUNCATE TABLE 4779 addhanacmds(ESqlStatementType.ssttruncatecollection, TBaseType.rrw_truncate, "collection", " ", " ", " ", " ", " "); 4780 addhanacmds(ESqlStatementType.ssttruncatetable, TBaseType.rrw_truncate, "table", " ", " ", " ", " ", " "); 4781 addhanacmds(ESqlStatementType.sstunload, TBaseType.rrw_hana_unload, " ", " ", " ", " ", " ", " "); 4782 addhanacmds(ESqlStatementType.sstunset, TBaseType.rrw_hana_unset, " ", " ", " ", " ", " ", " "); 4783 addhanacmds(ESqlStatementType.sstunsetpse, TBaseType.rrw_hana_unset, "pse", " ", " ", " ", " ", " "); 4784 addhanacmds(ESqlStatementType.sstunsetsystemlicense, TBaseType.rrw_hana_unset, "system", "license", " ", " ", " ", " "); 4785 4786//UPDATE 4787 addhanacmds(ESqlStatementType.sstupdate, TBaseType.rrw_update, " ", " ", " ", " ", " ", " "); 4788 4789 addhanacmds(ESqlStatementType.sstupsert, TBaseType.rrw_hana_upsert, " ", " ", " ", " ", " ", " "); 4790 addhanacmds(ESqlStatementType.sstvalidateLDAPProvider, TBaseType.rrw_hana_validate, "ldap", "provider", " ", " ", " ", " "); 4791 addhanacmds(ESqlStatementType.sstvalidateUser, TBaseType.rrw_hana_validate, "user", " ", " ", " ", " ", " "); 4792 4793 } 4794 4795ESqlStatementType findsybasecmd(TSourceToken ptoken){ 4796 if (sybasecmds.size() == 0) {initsybasecmds();} 4797 return finddbcmd(ptoken,sybasecmds); 4798} 4799 4800 ESqlStatementType findmssqlcmd(TSourceToken ptoken){ 4801 if (mssqlcmds.size() == 0) {initmssqlcmds();} 4802 return finddbcmd(ptoken,mssqlcmds); 4803 } 4804 4805 ESqlStatementType findteradatacmd(TSourceToken ptoken){ 4806 if (teradatacmds.size() == 0) {initteradatacmds();} 4807 return finddbcmd(ptoken,teradatacmds); 4808} 4809 4810ESqlStatementType findpostgresqlcmd(TSourceToken ptoken){ 4811 if (postgresqlcmds.size() == 0) {initpostgresqlcmds();} 4812 return finddbcmd(ptoken,postgresqlcmds); 4813} 4814 4815 ESqlStatementType findredshiftcmd(TSourceToken ptoken){ 4816 if (redshiftcmds.size() == 0) {initredshiftcmds();} 4817 return finddbcmd(ptoken,redshiftcmds); 4818 } 4819 4820 4821 ESqlStatementType findgreenplumcmd(TSourceToken ptoken){ 4822 if (greenplumcmds.size() == 0) {initgreenplumcmds();} 4823 return finddbcmd(ptoken,greenplumcmds); 4824} 4825 4826 4827ESqlStatementType findnetezzacmd(TSourceToken ptoken){ 4828 if (netezzacmds.size() == 0) {initnetezzacmds();} 4829 return finddbcmd(ptoken,netezzacmds); 4830} 4831 4832ESqlStatementType findsparksqlcmd(TSourceToken ptoken){ 4833 if (sparksqlcmds.size() == 0) {initsparksqlcmds();} 4834 return finddbcmd(ptoken,sparksqlcmds); 4835 } 4836 4837ESqlStatementType finddatabrickscmd(TSourceToken ptoken){ 4838 if (databrickscmds.size() == 0) {initdatabrickscmds();} 4839 return finddbcmd(ptoken,databrickscmds); 4840} 4841 ESqlStatementType findgaussdbcmd(TSourceToken ptoken){ 4842 if (gaussdbcmds.size() == 0) {initgaussdbcmds();} 4843 return finddbcmd(ptoken,gaussdbcmds); 4844 } 4845ESqlStatementType findprestocmd(TSourceToken ptoken){ 4846 if (prestocmds.size() == 0) {initprestocmds();} 4847 return finddbcmd(ptoken,prestocmds); 4848} 4849 4850ESqlStatementType findathenacmd(TSourceToken ptoken){ 4851 if (athenacmds.size() == 0) {initathenacmds();} 4852 return finddbcmd(ptoken,athenacmds); 4853} 4854 4855ESqlStatementType findmysqlcmd(TSourceToken ptoken){ 4856 if (mysqlcmds.size() == 0) {initmysqlcmds();} 4857 return finddbcmd(ptoken,mysqlcmds); 4858} 4859 4860ESqlStatementType findhivecmd(TSourceToken ptoken){ 4861 if (hivecmds.size() == 0) {inithivecmds();} 4862 return finddbcmd(ptoken,hivecmds); 4863 } 4864 4865ESqlStatementType finddb2cmd(TSourceToken ptoken){ 4866 if (db2cmds.size() == 0) {initdb2cmds();} 4867 return finddbcmd(ptoken,db2cmds); 4868 } 4869 4870 4871ESqlStatementType findoraclecmd(TSourceToken ptoken){ 4872 if (oraclecmds.size() == 0) {initoraclecmds();} 4873 return finddbcmd(ptoken,oraclecmds); 4874 } 4875 4876ESqlStatementType findmdxcmd(TSourceToken ptoken){ 4877 if (mdxcmds.size() == 0) {initmdxcmds();} 4878 return finddbcmd(ptoken,mdxcmds); 4879 } 4880 4881ESqlStatementType findinformixcmd(TSourceToken ptoken){ 4882 if (informixcmds.size() == 0) {initinformixcmds();} 4883 return finddbcmd(ptoken,informixcmds); 4884 } 4885 4886ESqlStatementType findhanacmd(TSourceToken ptoken){ 4887 if (hanacmds.size() == 0) {inithanacmds();} 4888 return finddbcmd(ptoken,hanacmds); 4889} 4890 4891ESqlStatementType findverticacmd(TSourceToken ptoken){ 4892 if (verticacmds.size() == 0) {initverticacmds();} 4893 return finddbcmd(ptoken,verticacmds); 4894} 4895 4896ESqlStatementType findcouchbasecmd(TSourceToken ptoken){ 4897 if (couchbasecmds.size() == 0) {initcouchbasecmds();} 4898 return finddbcmd(ptoken,couchbasecmds); 4899} 4900 4901ESqlStatementType findsnowflakecmd(TSourceToken ptoken){ 4902 if (snowflakecmds.size() == 0) {initsnowflakecmds();} 4903 return finddbcmd(ptoken,snowflakecmds); 4904} 4905 4906ESqlStatementType findbigquerycmd(TSourceToken ptoken){ 4907 if (bigquerycmds.size() == 0) {initbigquerycmds();} 4908 return finddbcmd(ptoken,bigquerycmds); 4909} 4910 4911TCustomSqlStatement isnetezza(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 4912 TCustomSqlStatement ret = null; 4913 4914 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 4915 4916 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 4917 || (pcst.tokencode == TBaseType.cmtslashstar) 4918 || (pcst.tokencode == TBaseType.lexspace) 4919 || (pcst.tokencode == TBaseType.lexnewline) 4920 || (pcst.tokentype == ETokenType.ttsemicolon) ) 4921 { 4922 return null; 4923 } 4924 4925 int lcpos = pcst.posinlist; 4926 TSourceTokenList lcsourcetokenlist = pcst.container; 4927 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 4928 4929 //subquery after semicolon or at first line 4930 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 4931 { 4932 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 4933 if ( k >0 ) 4934 { 4935 ret = new TSelectSqlStatement(pdbvendor); 4936 } 4937 4938 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); // ( with 4939 if ( k >0 ) 4940 { 4941 ret = new TSelectSqlStatement(pdbvendor); 4942 } 4943 4944 return ret; 4945 } 4946 4947 //cte 4948 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 4949 { 4950 ret = findcte(pcst,pdbvendor); 4951 if ( (ret != null) ) return ret; 4952 } 4953 4954 gnewsqlstatementtype = findnetezzacmd(pcst); 4955 4956 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4957 switch (gnewsqlstatementtype) { // 4958 case sstinvalid: 4959 { 4960 ret = null; 4961 4962 if ( pstate == EFindSqlStateType.stnormal ) 4963 { 4964 } 4965 break; 4966 } 4967 case sstselect: 4968 { 4969 boolean lcisnewsql = true; 4970 4971 if ( pstate != EFindSqlStateType.stnormal ) 4972 { 4973 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 4974 if ( (lcprevsolidtoken != null) ) 4975 { 4976 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 4977 lcisnewsql = false; //subqery 4978 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 4979 lcisnewsql = false; 4980 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 4981 lcisnewsql = false; 4982 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 4983 lcisnewsql = false; 4984 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 4985 lcisnewsql = false; 4986 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 4987 lcisnewsql = false; 4988 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 4989 { 4990 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 4991 lcisnewsql = false; 4992 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 4993 lcisnewsql = false; 4994 } 4995 4996 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 4997 { 4998 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 4999 if ( (lcpprevsolidtoken != null) ) 5000 { 5001 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5002 lcisnewsql = false; 5003 } 5004 } 5005 5006 } 5007 5008 5009 if ( (lccurrentsqlstatement != null) ) 5010 { 5011 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5012 lcisnewsql = false; 5013 } 5014 5015 } 5016 5017 if ( lcisnewsql ) 5018 ret = new TSelectSqlStatement(pdbvendor); 5019 5020 break; 5021 } 5022 case sstinsert: 5023 { 5024 boolean lcisnewsql = true; 5025 if ( pstate != EFindSqlStateType.stnormal ) 5026 { 5027 if ( (lccurrentsqlstatement != null) ) 5028 { 5029 5030 } 5031 } 5032 5033 if ( lcisnewsql ) 5034 ret = new TInsertSqlStatement(pdbvendor); 5035 5036 break; 5037 } 5038 case sstupdate: 5039 { 5040 boolean lcisnewsql = true; 5041 if ( pstate != EFindSqlStateType.stnormal ) 5042 { 5043 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5044 if ( (lcprevsolidtoken != null) ) 5045 { // 5046 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5047 lcisnewsql = false; 5048 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5049 lcisnewsql = false; 5050 } 5051 5052 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5053 if ( (lcnextsolidtoken != null) ) 5054 { 5055 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5056 { 5057 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5058 if ( k == 0 ) lcisnewsql = false; 5059 } 5060 } 5061 5062 5063 if ( (lccurrentsqlstatement != null) ) 5064 { 5065 } 5066 } 5067 5068 if ( lcisnewsql ) 5069 { 5070 ret = new TUpdateSqlStatement(pdbvendor); 5071 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5072 } 5073 break; 5074 } 5075 case sstdelete: 5076 { 5077 boolean lcisnewsql = true; 5078 5079 if ( pstate != EFindSqlStateType.stnormal ) 5080 { 5081 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5082 if ( (lcprevsolidtoken != null) ) 5083 { 5084 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5085 lcisnewsql = false; 5086 } 5087 5088 if ( (lccurrentsqlstatement != null) ) 5089 { 5090 } 5091 } 5092 5093 if ( lcisnewsql ) 5094 ret = new TDeleteSqlStatement(pdbvendor); 5095 5096 break; 5097 } 5098 case sstTruncate: 5099 { 5100 ret = new TTruncateStatement(pdbvendor); 5101 ret.sqlstatementtype = gnewsqlstatementtype; 5102 break; 5103 } 5104 case sstcreatetable: 5105 case sstnetezzaCreateExternalTable: 5106 { 5107 ret = new TCreateTableSqlStatement(pdbvendor); 5108 break; 5109 } 5110 case sstcreateview: 5111 { 5112 ret = new TCreateViewSqlStatement(pdbvendor); 5113 break; 5114 } 5115 case sstcreatematerializedview:{ 5116 ret = new TCreateMaterializedSqlStatement(pdbvendor); 5117 break; 5118 } 5119 case sstcreatedatabase: 5120 { 5121 ret = new TCreateDatabaseSqlStatement(pdbvendor); 5122 break; 5123 } 5124 case sstdroptable: 5125 { 5126 ret = new TDropTableSqlStatement(pdbvendor); 5127 break; 5128 } 5129 case sstdropview: 5130 { 5131 ret = new TDropViewSqlStatement(pdbvendor); 5132 break; 5133 } 5134 case sstaltertable: 5135 { 5136 ret = new TAlterTableStatement(pdbvendor); 5137 break; 5138 } 5139 case sstaltersession: 5140 { 5141 ret = new TAlterSessionStatement(pdbvendor); 5142 break; 5143 } 5144 case sstnetezzaGroomTable: 5145 { 5146 ret = new TNetezzaGroomTable(pdbvendor); 5147 break; 5148 } 5149 case sstnetezzaGenerateStatistics: 5150 { 5151 ret = new TNetezzaGenerateStatistics(pdbvendor); 5152 break; 5153 } 5154 case sstnetezzaAlterTable: 5155 { 5156 ret = new TAlterTableStatement(pdbvendor); 5157 break; 5158 } 5159 case sstnetezzaDropSchema: 5160 { 5161 ret = new TDropSchemaSqlStatement(pdbvendor); 5162 break; 5163 } 5164 case sstnetezzaCreateUser: 5165 { 5166 ret = new TCreateUserStmt(pdbvendor); 5167 break; 5168 } 5169 case sstnetezzaAlterView: 5170 { 5171 ret = new TAlterViewStatement(pdbvendor); 5172 break; 5173 } 5174 case sstnetezzaAlterDatabase: 5175 { 5176 ret = new TAlterDatabaseStmt(pdbvendor); 5177 break; 5178 } 5179 case sstAlterSchema: 5180 { 5181 ret = new TAlterSchemaStmt(pdbvendor); 5182 break; 5183 } 5184 case sstAlterSynonym: 5185 { 5186 ret = new TAlterSynonymStmt(pdbvendor); 5187 break; 5188 } 5189 case sstnetezzaDropTable: 5190 { 5191 ret = new TDropTableSqlStatement(pdbvendor); 5192 break; 5193 } 5194 case sstnetezzaDropView: 5195 { 5196 ret = new TDropViewSqlStatement(pdbvendor); 5197 break; 5198 } 5199 case sstmerge: 5200 { 5201 ret = new TMergeSqlStatement(pdbvendor); 5202 break; 5203 } 5204 case sstdropprocedure: 5205 { 5206 ret = new TDropProcedureStmt(pdbvendor); 5207 break; 5208 } 5209 case sstdropsynonym: 5210 ret = new TDropSynonymStmt(pdbvendor); 5211 break; 5212 case sstdropdatabase: 5213 ret = new TDropDatabaseStmt(pdbvendor); 5214 break; 5215 case sstcall: 5216 ret = new TCallStatement(pdbvendor); 5217 break; 5218 case sstcreatesynonym: 5219 ret = new TCreateSynonymStmt(pdbvendor); 5220 break; 5221 case sstcreatesequence: 5222 ret = new TCreateSequenceStmt(pdbvendor); 5223 break; 5224 case sstnetezzaDropSequence: 5225 ret = new TDropSequenceStmt(pdbvendor); 5226 break; 5227 case sstnetezzaGrant: 5228 ret = new TGrantStmt(pdbvendor); 5229 break; 5230 case sstexecutestmt: 5231 ret = new TExecuteSqlStatement(pdbvendor); 5232 break; 5233 case sstlocktable: 5234 ret = new TLockTableStmt(pdbvendor); 5235 break; 5236 case sstnetezzaComment: 5237 ret = new TCommentOnSqlStmt(pdbvendor); 5238 break; 5239 case sstcreateprocedure: 5240 ret = new TCreateProcedureStmt(pdbvendor); 5241 break; 5242 case sstnetezzaCopy: 5243 ret = new TCopyStmt(pdbvendor); 5244 break; 5245 case sstExplain: 5246 ret = new TExplainPlan(pdbvendor); 5247 break; 5248 case sstSetCatalog: 5249 ret = new TSetCatalogStmt(pdbvendor); 5250 break; 5251 case sstSetSchema: 5252 ret = new TSetSchemaStmt(pdbvendor); 5253 break; 5254 case sstnetezzaCommit: 5255 case sstnetezzaRollback: 5256 case sstnetezzaRevoke: 5257 default: 5258 { 5259 ret = new TUnknownSqlStatement(pdbvendor); 5260 ret.sqlstatementtype = gnewsqlstatementtype; 5261 break; 5262 } 5263 } // case 5264 5265 return ret; 5266} 5267 5268 TCustomSqlStatement isredshift(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 5269 TCustomSqlStatement ret = null; 5270 5271 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 5272 5273 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 5274 || (pcst.tokencode == TBaseType.cmtslashstar) 5275 || (pcst.tokencode == TBaseType.lexspace) 5276 || (pcst.tokencode == TBaseType.lexnewline) 5277 || (pcst.tokentype == ETokenType.ttsemicolon) ) 5278 { 5279 return null; 5280 } 5281 5282 int lcpos = pcst.posinlist; 5283 TSourceTokenList lcsourcetokenlist = pcst.container; 5284 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 5285 5286 //subquery after semicolon or at first line 5287 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 5288 { 5289 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 5290 if ( k >0 ) 5291 { 5292 ret = new TSelectSqlStatement(pdbvendor); 5293 } 5294 5295 return ret; 5296 } 5297 5298 //cte 5299 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 5300 { 5301 ret = findcte(pcst,pdbvendor); 5302 if ( (ret != null) ) return ret; 5303 } 5304 5305 gnewsqlstatementtype = findredshiftcmd(pcst); 5306 5307 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5308 switch (gnewsqlstatementtype) { // 5309 case sstinvalid: 5310 { 5311 ret = null; 5312 break; 5313 } 5314 case sstselect: 5315 { 5316 boolean lcisnewsql = true; 5317 5318 if ( pstate != EFindSqlStateType.stnormal ) 5319 { 5320 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5321 if ( (lcprevsolidtoken != null) ) 5322 { 5323 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5324 lcisnewsql = false; //subqery 5325 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 5326 lcisnewsql = false; 5327 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 5328 lcisnewsql = false; 5329 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 5330 lcisnewsql = false; 5331 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 5332 lcisnewsql = false; 5333 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 5334 lcisnewsql = false; 5335 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 5336 { 5337 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 5338 lcisnewsql = false; 5339 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 5340 lcisnewsql = false; 5341 } 5342 5343 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 5344 { 5345 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 5346 if ( (lcpprevsolidtoken != null) ) 5347 { 5348 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5349 lcisnewsql = false; 5350 } 5351 } 5352 5353 } 5354 5355 5356 if ( (lccurrentsqlstatement != null) ) 5357 { 5358 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5359 lcisnewsql = false; 5360 } 5361 5362 } 5363 5364 if ( lcisnewsql ) 5365 ret = new TSelectSqlStatement(pdbvendor); 5366 5367 break; 5368 } 5369 case sstinsert: 5370 { 5371 boolean lcisnewsql = true; 5372 if ( pstate != EFindSqlStateType.stnormal ) 5373 { 5374 if ( (lccurrentsqlstatement != null) ) 5375 { 5376 5377 } 5378 } 5379 5380 if ( lcisnewsql ) 5381 ret = new TInsertSqlStatement(pdbvendor); 5382 5383 break; 5384 } 5385 case sstupdate: 5386 { 5387 boolean lcisnewsql = true; 5388 if ( pstate != EFindSqlStateType.stnormal ) 5389 { 5390 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5391 if ( (lcprevsolidtoken != null) ) 5392 { // 5393 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5394 lcisnewsql = false; 5395 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5396 lcisnewsql = false; 5397 } 5398 5399 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5400 if ( (lcnextsolidtoken != null) ) 5401 { 5402 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5403 { 5404 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5405 if ( k == 0 ) lcisnewsql = false; 5406 } 5407 } 5408 5409 5410 if ( (lccurrentsqlstatement != null) ) 5411 { 5412 } 5413 } 5414 5415 if ( lcisnewsql ) 5416 { 5417 ret = new TUpdateSqlStatement(pdbvendor); 5418 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5419 } 5420 break; 5421 } 5422 case sstdelete: 5423 { 5424 boolean lcisnewsql = true; 5425 5426 if ( pstate != EFindSqlStateType.stnormal ) 5427 { 5428 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5429 if ( (lcprevsolidtoken != null) ) 5430 { 5431 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5432 lcisnewsql = false; 5433 } 5434 5435 if ( (lccurrentsqlstatement != null) ) 5436 { 5437 } 5438 } 5439 5440 if ( lcisnewsql ) 5441 ret = new TDeleteSqlStatement(pdbvendor); 5442 5443 break; 5444 } 5445 case sstredshiftAbort: 5446 { 5447 ret = new TRedshiftAbort(pdbvendor); 5448 ret.sqlstatementtype = gnewsqlstatementtype; 5449 break; 5450 } 5451 case sstalterdatabase: 5452 { 5453 ret = new TAlterDatabaseStmt(pdbvendor); 5454 break; 5455 } 5456 case sstredshiftAlterGroup: 5457 { 5458 ret = new TAlterGroup(pdbvendor); 5459 break; 5460 } 5461 case sstredshiftAlterSchema: 5462 { 5463 ret = new TRedshiftAlterSchema(pdbvendor); 5464 break; 5465 } 5466 case sstaltertable: 5467 { 5468 ret = new TAlterTableStatement(pdbvendor); 5469 break; 5470 } 5471 case sstredshiftAlterUser: 5472 { 5473 ret = new TRedshiftAlterUser(pdbvendor); 5474 break; 5475 } 5476 case sstredshiftAnalyze: 5477 { 5478 ret = new TRedshiftAnalyze(pdbvendor); 5479 break; 5480 } 5481 case sstredshiftAnalyzeCompression: 5482 { 5483 ret = new TRedshiftAnalyzeCompression(pdbvendor); 5484 break; 5485 } 5486 case sstredshiftBegin: 5487 { 5488 ret = new TRedshiftBegin(pdbvendor); 5489 break; 5490 } 5491 case sstredshiftCancel: 5492 { 5493 ret = new TRedshiftCancel(pdbvendor); 5494 break; 5495 } 5496 case sstredshiftClose: 5497 { 5498 ret = new TCloseStmt(pdbvendor); 5499 break; 5500 } 5501 case sstredshiftComment: 5502 { 5503 ret = new TRedshiftComment(pdbvendor); 5504 break; 5505 } 5506 case sstredshiftCommit: 5507 { 5508 ret = new TRedshiftCommit(pdbvendor); 5509 break; 5510 } 5511 case sstredshiftCopy: 5512 { 5513 ret = new TRedshiftCopy(pdbvendor); 5514 break; 5515 } 5516 case sstcreatedatabase: 5517 { 5518 ret = new TCreateDatabaseSqlStatement(pdbvendor); 5519 break; 5520 } 5521 case sstredshiftCreateGroup: 5522 { 5523 ret = new TCreateGroup(pdbvendor); 5524 break; 5525 } 5526 case sstredshiftCreateSchema: 5527 { 5528 ret = new TCreateSchemaSqlStatement(pdbvendor); 5529 break; 5530 } 5531 case sstcreatetable: 5532 { 5533 ret = new TCreateTableSqlStatement(pdbvendor); 5534 break; 5535 } 5536 case sstredshiftCreateUser: 5537 { 5538 ret = new TRedshiftCreateUser(pdbvendor); 5539 break; 5540 } 5541 case sstcreateview: 5542 { 5543 ret = new TCreateViewSqlStatement(pdbvendor); 5544 break; 5545 } 5546 case sstredshiftDeallocate: 5547 { 5548 ret = new TRedshiftDeallocate(pdbvendor); 5549 break; 5550 } 5551 case sstredshiftDeclare: 5552 { 5553 ret = new TRedshiftDeclare(pdbvendor); 5554 break; 5555 } 5556 case sstredshiftDropDatabase: 5557 { 5558 ret = new TDropDatabaseStmt(pdbvendor); 5559 break; 5560 } 5561 case sstredshiftDropGroup: 5562 { 5563 ret = new TDropGroup(pdbvendor); 5564 break; 5565 } 5566 case sstredshiftDropSchema: 5567 { 5568 ret = new TRedshiftDropSchema(pdbvendor); 5569 break; 5570 } 5571 case sstdroptable: 5572 { 5573 ret = new TDropTableSqlStatement(pdbvendor); 5574 break; 5575 } 5576 case sstredshiftDropUser: 5577 { 5578 ret = new TRedshiftDropUser(pdbvendor); 5579 break; 5580 } 5581 case sstdropview: 5582 { 5583 ret = new TDropViewSqlStatement(pdbvendor); 5584 break; 5585 } 5586 case sstredshiftEnd: 5587 { 5588 ret = new TRedshiftEnd(pdbvendor); 5589 break; 5590 } 5591 case sstExecutePreparedStmt: 5592 { 5593 ret = new TExecuteSqlStatement(pdbvendor); 5594 break; 5595 } 5596 case sstExplain: 5597 { 5598 ret = new TExplainPlan(pdbvendor); 5599 break; 5600 } 5601 case sstFetchFrom: 5602 { 5603 ret = new TFetchFromStmt(pdbvendor); 5604 break; 5605 } 5606 case sstGrant: 5607 { 5608 ret = new TGrantStmt(pdbvendor); 5609 break; 5610 } 5611 case sstredshiftLock: 5612 { 5613 ret = new TLockTableStmt(pdbvendor); 5614 break; 5615 } 5616 case sstredshiftPrepare: 5617 { 5618 ret = new TRedshiftPrepare(pdbvendor); 5619 break; 5620 } 5621 case sstredshiftReset: 5622 { 5623 ret = new TRedshiftReset(pdbvendor); 5624 break; 5625 } 5626 case sstRevoke: 5627 { 5628 ret = new TRevokeStmt(pdbvendor); 5629 break; 5630 } 5631 case sstredshiftRollback: 5632 { 5633 ret = new TRedshiftRollback(pdbvendor); 5634 break; 5635 } 5636 case sstredshiftSet: 5637 { 5638 ret = new TSetStmt(pdbvendor); 5639 break; 5640 } 5641 case sstredshiftSetSessionAuthorization: 5642 { 5643 ret = new TRedshiftSessionAuthorization(pdbvendor); 5644 break; 5645 } 5646 case sstredshiftShow: 5647 { 5648 ret = new TShowStmt(pdbvendor); 5649 break; 5650 } 5651 case sstStartTransaction: 5652 { 5653 ret = new TStartTransactionStmt(pdbvendor); 5654 break; 5655 } 5656 case sstTruncate: 5657 { 5658 ret = new TTruncateStatement(pdbvendor); 5659 break; 5660 } 5661 case sstredshiftUnload: 5662 { 5663 ret = new TUnloadStmt(pdbvendor); 5664 break; 5665 } 5666 case sstredshiftVacuum: 5667 { 5668 ret = new TRedshiftVacuum(pdbvendor); 5669 break; 5670 } 5671 case sstcreatefunction: 5672 ret = new TCreateFunctionStmt(pdbvendor); 5673 break; 5674 case sstcreateprocedure: 5675 ret = new TCreateProcedureStmt(pdbvendor); 5676 break; 5677 case sstcreatematerializedview:{ 5678 ret = new TCreateMaterializedSqlStatement(pdbvendor); 5679 break; 5680 } 5681 case sstcall: 5682 ret = new TCallStatement(pdbvendor); 5683 break; 5684 case sstmerge: 5685 { 5686 ret = new TMergeSqlStatement(pdbvendor); 5687 break; 5688 } 5689 default: 5690 { 5691 ret = new TUnknownSqlStatement(pdbvendor); 5692 ret.sqlstatementtype = gnewsqlstatementtype; 5693 break; 5694 } 5695 } // case 5696 5697 return ret; 5698 } 5699 TCustomSqlStatement isgaussdb(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 5700 TCustomSqlStatement ret = null; 5701 5702 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 5703 5704 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 5705 || (pcst.tokencode == TBaseType.cmtslashstar) 5706 || (pcst.tokencode == TBaseType.lexspace) 5707 || (pcst.tokencode == TBaseType.lexnewline) 5708 || (pcst.tokentype == ETokenType.ttsemicolon) ) 5709 { 5710 return null; 5711 } 5712 5713 int lcpos = pcst.posinlist; 5714 TSourceTokenList lcsourcetokenlist = pcst.container; 5715 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 5716 5717 //subquery after semicolon or at first line 5718 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 5719 { 5720 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 5721 if ( k >0 ) 5722 { 5723 ret = new TSelectSqlStatement(pdbvendor); 5724 }else{ 5725 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); 5726 if ( k >0 ) 5727 { // syntax like: (with ... ) 5728 ret = new TSelectSqlStatement(pdbvendor); 5729 } 5730 } 5731 5732 return ret; 5733 } 5734 5735 //cte 5736 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 5737 { 5738 ret = findcte(pcst,pdbvendor); 5739 if ( (ret != null) ) return ret; 5740 } 5741 5742 gnewsqlstatementtype = findgaussdbcmd(pcst); 5743 5744 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5745 switch (gnewsqlstatementtype) { // 5746 case sstinvalid: 5747 { 5748 ret = null; 5749 5750 if ( pstate == EFindSqlStateType.stnormal ) 5751 { 5752 if ( pcst.tokencode == TBaseType.label_begin ) 5753 { 5754 ret = new TCommonBlock(pdbvendor); 5755 gnewsqlstatementtype = ret.sqlstatementtype; 5756 5757 } 5758 else if ( pcst.tokencode == TBaseType.rrw_declare ) 5759 { 5760 ret = new TCommonBlock(pdbvendor); 5761 gnewsqlstatementtype = ret.sqlstatementtype; 5762 } 5763 else if ( pcst.tokencode == TBaseType.rrw_begin ) 5764 { 5765 // https://support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0498.html 5766 // 有两种可能 1:开启匿名块,或 2:开启事务 5767 boolean isBlock = true; 5768 TSourceToken st = pcst.nextSolidToken(); 5769 if (st != null){ 5770 if ((st.tokencode == ';') 5771 ||(st.toString().equalsIgnoreCase("work")) 5772 ||(st.toString().equalsIgnoreCase("transaction")) 5773 ){ 5774 isBlock = false; 5775 } 5776 } 5777 if (isBlock){ 5778 ret = new TCommonBlock(pdbvendor); 5779 gnewsqlstatementtype = ret.sqlstatementtype; 5780 }else{ 5781 ret = new TStartTransactionStmt(pdbvendor); 5782 gnewsqlstatementtype = ret.sqlstatementtype; 5783 pcst.tokencode = TBaseType.GAUSSDB_BEGIN_TRANSACTION; 5784 } 5785 5786 } 5787 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 5788 { 5789 ret = new TCreateProcedureStmt(pdbvendor); 5790 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 5791 gnewsqlstatementtype = ret.sqlstatementtype; 5792 } 5793 else if ( pcst.tokencode == TBaseType.rrw_function ) 5794 { 5795 ret = new TPlsqlCreateFunction(pdbvendor); 5796 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 5797 gnewsqlstatementtype = ret.sqlstatementtype; 5798 } 5799 else if ( pcst.tokencode == TBaseType.rrw_package ) 5800 { 5801 ret = new TPlsqlCreatePackage(pdbvendor); 5802 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 5803 gnewsqlstatementtype = ret.sqlstatementtype; 5804 } 5805 } 5806 break; 5807 } 5808 case sstpostgresqlDeclare:{ 5809 // https://support.huaweicloud.com/distributed-devg-v3-opengauss/gaussdb-12-0554.html 5810 // declare cursor_name [ BINARY ] [ NO SCROLL ] CURSOR ..., 这是单个的定义游标语句 5811 // 下面这种类型的定义才是开始一个 匿名块 5812 // [DECLARE [declare_statements]] 5813 //BEGIN 5814 //execution_statements 5815 //END; 5816 5817 // 判断逻辑如下: 5818 // 1. 如果 declare 后直接跟 CURSOR, 那就是开启一个 匿名块 5819 // 2. 如果 declare 后直接跟的是一个 identifier, 那再检查之后的第2或3或4个token是否为 CURSOR, 5820 // 如果是,该语句为 单个的定义游标语句,否则为 匿名块 5821 5822 boolean isBlock = true; 5823 TSourceToken st = pcst.nextSolidToken(); 5824 if (st != null){ 5825 if (st.tokencode == TBaseType.GAUSSDB_CURSOR){ 5826 isBlock = true; 5827 }else if (st.tokencode == TBaseType.ident){ 5828 st = st.nextSolidToken(); 5829 if (st != null){ 5830 if ((st.tokencode == TBaseType.GAUSSDB_CURSOR) 5831 ||(st.tokencode == TBaseType.rrw_binary) 5832 ||(st.toString().equalsIgnoreCase("no")) 5833 ){ 5834 isBlock = false; 5835 } 5836 } 5837 } 5838 } 5839 if (isBlock){ 5840 ret = new TCommonBlock(pdbvendor); 5841 gnewsqlstatementtype = ret.sqlstatementtype; 5842 }else{ 5843 ret = new TDeclareCursorStmt(pdbvendor); 5844 gnewsqlstatementtype = ret.sqlstatementtype; 5845 pcst.tokencode = TBaseType.GAUSSDB_DECLARE_SINGLE_STMT; 5846 } 5847 5848 break; 5849 } 5850 case sstmerge: 5851 { 5852 ret = new TMergeSqlStatement(pdbvendor); 5853 ret.sqlstatementtype = gnewsqlstatementtype; 5854 break; 5855 } 5856 case sstcreatesynonym: 5857 ret = new TCreateSynonymStmt(pdbvendor); 5858 break; 5859 case sstdropsynonym: 5860 ret = new TDropSynonymStmt(pdbvendor); 5861 break; 5862 case sstAlterPackage: 5863 ret = new TAlterPackageStmt(pdbvendor); 5864 break; 5865 case sstpostgresqlRefreshMaterializedView: 5866 ret = new TRefreshMaterializedViewStmt(pdbvendor); 5867 break; 5868 case sstAlterSynonym: 5869 ret = new TAlterSynonymStmt(pdbvendor); 5870 break; 5871 case sstsavepoint: 5872 { 5873 ret = new TSavepointStmt(pdbvendor); 5874 ret.sqlstatementtype = gnewsqlstatementtype; 5875 break; 5876 } 5877 case sstselect: 5878 { 5879 boolean lcisnewsql = true; 5880 5881 if ( pstate != EFindSqlStateType.stnormal ) 5882 { 5883 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5884 if ( (lcprevsolidtoken != null) ) 5885 { 5886 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5887 lcisnewsql = false; //subqery 5888 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 5889 lcisnewsql = false; 5890 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 5891 lcisnewsql = false; 5892 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 5893 lcisnewsql = false; 5894 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 5895 lcisnewsql = false; 5896 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 5897 lcisnewsql = false; 5898 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 5899 { 5900 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 5901 lcisnewsql = false; 5902 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 5903 lcisnewsql = false; 5904 } 5905 5906 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 5907 { 5908 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 5909 if ( (lcpprevsolidtoken != null) ) 5910 { 5911 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 5912 lcisnewsql = false; 5913 } 5914 } 5915 5916 } 5917 5918 5919 if ( (lccurrentsqlstatement != null) ) 5920 { 5921 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 5922 lcisnewsql = false; 5923 } 5924 5925 } 5926 5927 if ( lcisnewsql ) 5928 ret = new TSelectSqlStatement(pdbvendor); 5929 5930 break; 5931 } 5932 case sstinsert: 5933 { 5934 boolean lcisnewsql = true; 5935 if ( pstate != EFindSqlStateType.stnormal ) 5936 { 5937 if ( (lccurrentsqlstatement != null) ) 5938 { 5939 5940 } 5941 } 5942 5943 if ( lcisnewsql ) 5944 ret = new TInsertSqlStatement(pdbvendor); 5945 5946 break; 5947 } 5948 case sstupdate: 5949 { 5950 boolean lcisnewsql = true; 5951 if ( pstate != EFindSqlStateType.stnormal ) 5952 { 5953 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5954 if ( (lcprevsolidtoken != null) ) 5955 { // 5956 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5957 lcisnewsql = false; 5958 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 5959 lcisnewsql = false; 5960 } 5961 5962 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 5963 if ( (lcnextsolidtoken != null) ) 5964 { 5965 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 5966 { 5967 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 5968 if ( k == 0 ) lcisnewsql = false; 5969 } 5970 } 5971 5972 5973 if ( (lccurrentsqlstatement != null) ) 5974 { 5975 } 5976 } 5977 5978 if ( lcisnewsql ) 5979 { 5980 ret = new TUpdateSqlStatement(pdbvendor); 5981 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 5982 } 5983 break; 5984 } 5985 case sstdelete: 5986 { 5987 boolean lcisnewsql = true; 5988 5989 if ( pstate != EFindSqlStateType.stnormal ) 5990 { 5991 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 5992 if ( (lcprevsolidtoken != null) ) 5993 { 5994 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 5995 lcisnewsql = false; 5996 } 5997 5998 if ( (lccurrentsqlstatement != null) ) 5999 { 6000 } 6001 } 6002 6003 if ( lcisnewsql ) 6004 ret = new TDeleteSqlStatement(pdbvendor); 6005 6006 break; 6007 } 6008 case sstoraclecommit: 6009 { 6010 ret = new TUnknownSqlStatement(pdbvendor); 6011 ret.sqlstatementtype = gnewsqlstatementtype; 6012 break; 6013 } 6014 case sstoraclerollback: 6015 { 6016 ret = new TUnknownSqlStatement(pdbvendor); 6017 ret.sqlstatementtype = gnewsqlstatementtype; 6018 break; 6019 } 6020 case sstoraclesavepoint: 6021 { 6022 ret = new TUnknownSqlStatement(pdbvendor); 6023 ret.sqlstatementtype = gnewsqlstatementtype; 6024 break; 6025 } 6026 case sstoraclerevoke: 6027 { 6028 ret = new TUnknownSqlStatement(pdbvendor); 6029 ret.sqlstatementtype = gnewsqlstatementtype; 6030 break; 6031 } 6032 case sstoraclegrant: 6033 { 6034 ret = new TUnknownSqlStatement(pdbvendor); 6035 //ret = new TGrantStmt(pdbvendor); 6036 ret.sqlstatementtype = gnewsqlstatementtype; 6037 break; 6038 } 6039 case sstoracleanalyze: 6040 { 6041 ret = new TUnknownSqlStatement(pdbvendor); 6042 ret.sqlstatementtype = gnewsqlstatementtype; 6043 break; 6044 } 6045 case sstoracletruncate: 6046 { 6047 ret = new TUnknownSqlStatement(pdbvendor); 6048 ret.sqlstatementtype = gnewsqlstatementtype; 6049 break; 6050 } 6051 case sstcreatetable: 6052 { 6053 ret = new TCreateTableSqlStatement(pdbvendor); 6054 break; 6055 } 6056 case sstoraclecreateview: 6057 { 6058 ret = new TCreateViewSqlStatement(pdbvendor); 6059 break; 6060 } 6061 case sstcreatematerializedview:{ 6062 ret = new TCreateMaterializedSqlStatement(pdbvendor); 6063 break; 6064 } 6065 case sstoraclecreateindex: 6066 { 6067 ret = new TCreateIndexSqlStatement(pdbvendor); 6068 break; 6069 } 6070 case sstoraclecreatedatabase: 6071 { 6072 ret = new TCreateDatabaseSqlStatement(pdbvendor); 6073 break; 6074 } 6075 case sstoracledroptable: 6076 { 6077 ret = new TDropTableSqlStatement(pdbvendor); 6078 break; 6079 } 6080 case sstoracledropview: 6081 { 6082 ret = new TDropViewSqlStatement(pdbvendor); 6083 break; 6084 } 6085 case sstoracledropindex: 6086 { 6087 ret = new TDropIndexSqlStatement(pdbvendor); 6088 break; 6089 } 6090 case sstaltertable: 6091 { 6092 ret = new TAlterTableStatement(pdbvendor); 6093 break; 6094 } 6095 case sstoraclealtersession: 6096 { 6097 ret = new TAlterSessionStatement(pdbvendor); 6098 break; 6099 } 6100 case sstplsql_createprocedure: 6101 { 6102 ret = new TPlsqlCreateProcedure(pdbvendor); 6103 ret.sqlstatementtype = gnewsqlstatementtype; 6104 // System.out.println(gnewsqlstatementtype); 6105 break; 6106 } 6107 case sstplsql_createfunction: 6108 { 6109 ret = new TPlsqlCreateFunction(pdbvendor); 6110 ret.sqlstatementtype = gnewsqlstatementtype; 6111 // System.out.println(gnewsqlstatementtype); 6112 break; 6113 } 6114 case sstplsql_createpackage: 6115 { 6116 ret = new TPlsqlCreatePackage(pdbvendor); 6117 ret.sqlstatementtype = gnewsqlstatementtype; 6118 // System.out.println(gnewsqlstatementtype); 6119 break; 6120 } 6121 case sstoraclecreatepackagebody: 6122 { 6123 ret = new TPlsqlCreatePackage(pdbvendor); 6124 ret.sqlstatementtype = gnewsqlstatementtype; 6125 //ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6126 break; 6127 } 6128 case sstplsql_createtrigger: 6129 { 6130 ret = new TPlsqlCreateTrigger(pdbvendor); 6131 ret.sqlstatementtype = gnewsqlstatementtype; 6132 // System.out.println(gnewsqlstatementtype); 6133 break; 6134 } 6135 case sstplsql_execimmestmt: 6136 { 6137 ret = new TExecImmeStmt(pdbvendor); 6138 // ret.sqlstatementtype = gnewsqlstatementtype; 6139 // System.out.println(gnewsqlstatementtype); 6140 break; 6141 } 6142 case sstplsql_createtype_placeholder: 6143 { 6144 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 6145 ret.sqlstatementtype = gnewsqlstatementtype; 6146 // System.out.println(gnewsqlstatementtype); 6147 break; 6148 } 6149 case sstplsql_createtypebody: 6150 { 6151 ret = new TPlsqlCreateTypeBody(pdbvendor); 6152 ret.sqlstatementtype = gnewsqlstatementtype; 6153 break; 6154 } 6155 case sstCommentOn: 6156 { 6157 ret = new TCommentOnSqlStmt(pdbvendor); 6158 break; 6159 } 6160 case sstoraclecreatesequence: 6161 { 6162 ret = new TCreateSequenceStmt(pdbvendor); 6163 break; 6164 } 6165 case sstoraclecreatesynonym: 6166 { 6167 ret = new TCreateSynonymStmt(pdbvendor); 6168 break; 6169 } 6170 case sstoraclecreatedirectory: 6171 { 6172 ret = new TOracleCreateDirectoryStmt(pdbvendor); 6173 break; 6174 } 6175 case sstpostgresqlCreateIndex: 6176 ret = new TCreateIndexSqlStatement(pdbvendor); 6177 break; 6178 case sstpostgresqlCreateView: 6179 ret = new TCreateViewSqlStatement(pdbvendor); 6180 break; 6181 case sstpostgresqlCreateFunction: 6182 ret = new TCreateFunctionStmt(pdbvendor); 6183 break; 6184 case sstcreatetrigger: 6185 ret = new TCreateTriggerStmt(pdbvendor); 6186 break; 6187 case sstpostgresqlMove: 6188 ret = new TMoveStmt(pdbvendor); 6189 break; 6190 case sstpostgresqlTruncate: 6191 ret = new TTruncateStatement(pdbvendor); 6192 break; 6193 case sstpostgresqlExecute: 6194 ret = new TExecuteSqlStatement(pdbvendor); 6195 break; 6196 case sstpostgresqlDropTable: 6197 ret = new TDropTableSqlStatement(pdbvendor); 6198 break; 6199 case sstPostgresqlBlock: 6200 ret = new TCommonBlock(pdbvendor); 6201 break; 6202 case sstVacuum: 6203 ret = new TVacuumStmt(pdbvendor); 6204 break; 6205 case sstReindex: 6206 ret = new TReindexStmt(pdbvendor); 6207 break; 6208 case sstcreateprocedure: 6209 ret = new TCreateProcedureStmt(pdbvendor); 6210 break; 6211 case sstpostgresqlCommit: 6212 ret = new TCommitStmt(pdbvendor); 6213 break; 6214 case sstpostgresqlCreateSchema: 6215 ret = new TCreateSchemaSqlStatement(pdbvendor); 6216 break; 6217 case sstpostgresqlDropSchema: 6218 ret = new TDropSchemaSqlStatement(pdbvendor); 6219 break; 6220 case sstpostgresqlShowSearchPath: 6221 ret = new TShowSearchPathStmt(pdbvendor); 6222 break; 6223 case sstpostgresqlCopy: 6224 ret = new TCopyStmt(pdbvendor); 6225 break; 6226 case sstcall: 6227 ret = new TCallStatement(pdbvendor); 6228 break; 6229 case sstpostgresqlAlterSchema: 6230 ret = new TAlterSchemaStmt(pdbvendor); 6231 break; 6232 case sstpostgresqlAlterfunction: 6233 ret = new TAlterFunctionStmt(pdbvendor); 6234 break; 6235 case sstStartTransaction: 6236 { 6237 ret = new TStartTransactionStmt(pdbvendor); 6238 break; 6239 } 6240 case sstpostgresqlComment: 6241 ret = new TCommentOnSqlStmt(pdbvendor); 6242 break; 6243 case sstpostgresqlShow: 6244 ret = new TShowStmt(pdbvendor); 6245 break; 6246 case sstpostgresqlSetSearchPath: 6247 case sstpostgresqlSet: 6248 ret = new TSetStmt(pdbvendor); 6249 break; 6250 case sstpostgresqlDropFunction: 6251 ret = new TDropFunctionStmt(pdbvendor); 6252 break; 6253 case sstpostgresqlDropTrigger: 6254 ret = new TDropTriggerSqlStatement(pdbvendor); 6255 break; 6256 case sstpostgresqlDropProcedure: 6257 ret = new TDropProcedureStmt(pdbvendor); 6258 break; 6259 case sstdropindex: 6260 ret = new TDropIndexSqlStatement(pdbvendor); 6261 break; 6262 case sstpostgresqlDropSequence: 6263 ret = new TDropSequenceStmt(pdbvendor); 6264 break; 6265 case sstpostgresqlDropView: 6266 ret = new TDropViewSqlStatement(pdbvendor); 6267 break; 6268 case sstpostgresqlCreateSequence: 6269 ret = new TCreateSequenceStmt(pdbvendor); 6270 break; 6271 case sstpostgresqlCreateType: 6272 ret = new TCreateTypeStmt(pdbvendor); 6273 break; 6274 case sstcreateExtension: 6275 ret = new TCreateExtensionStmt(pdbvendor); 6276 break; 6277 case sstPostgresqlTable: 6278 ret = new TPostgresqlTableStmt(pdbvendor); 6279 break; 6280 case sstpostgresqlEnd: 6281 ret = new TEndTran(pdbvendor); 6282 break; 6283 case sstpostgresqlDo: 6284 boolean lcisnewsql = false; 6285 6286 if ( pstate == EFindSqlStateType.stnormal ) 6287 { 6288 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6289 if ( (lcnextsolidtoken != null) ) 6290 { 6291 if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_function_delimiter ) 6292 lcisnewsql = true; 6293 } 6294 } 6295 6296 if ( lcisnewsql ) 6297 ret = new TDoExecuteBlockStmt(pdbvendor); 6298 6299 break; 6300 default: 6301 { 6302 ret = new TUnknownSqlStatement(pdbvendor); 6303 ret.sqlstatementtype = gnewsqlstatementtype; 6304 break; 6305 } 6306 } // case 6307 6308 return ret; 6309 } 6310 TCustomSqlStatement ispostgresql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 6311 TCustomSqlStatement ret = null; 6312 6313 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 6314 6315 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 6316 || (pcst.tokencode == TBaseType.cmtslashstar) 6317 || (pcst.tokencode == TBaseType.lexspace) 6318 || (pcst.tokencode == TBaseType.lexnewline) 6319 || (pcst.tokentype == ETokenType.ttsemicolon) ) 6320 { 6321 return null; 6322 } 6323 6324 int lcpos = pcst.posinlist; 6325 TSourceTokenList lcsourcetokenlist = pcst.container; 6326 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 6327 6328 //subquery after semicolon or at first line 6329 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 6330 { 6331 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 6332 if ( k >0 ) 6333 { 6334 ret = new TSelectSqlStatement(pdbvendor); 6335 } 6336 6337 return ret; 6338 } 6339 6340 //cte 6341 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 6342 { 6343 ret = findcte(pcst,pdbvendor); 6344 if ( (ret != null) ) return ret; 6345 } 6346 6347 gnewsqlstatementtype = findpostgresqlcmd(pcst); 6348 6349 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6350 switch (gnewsqlstatementtype) { // 6351 case sstinvalid: 6352 { 6353 ret = null; 6354 6355 if ( pstate == EFindSqlStateType.stnormal ) 6356 { 6357 if ( pcst.tokencode == TBaseType.label_begin ) 6358 { 6359 ret = new TCommonBlock(pdbvendor); 6360 gnewsqlstatementtype = ret.sqlstatementtype; 6361 } 6362 else if ( pcst.tokencode == TBaseType.rrw_declare ) 6363 { 6364 ret = new TCommonBlock(pdbvendor); 6365 gnewsqlstatementtype = ret.sqlstatementtype; 6366 } 6367 else if ( pcst.tokencode == TBaseType.rrw_begin ) 6368 { 6369 ret = new TCommonBlock(pdbvendor); 6370 gnewsqlstatementtype = ret.sqlstatementtype; 6371 } 6372 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 6373 { 6374 ret = new TCreateProcedureStmt(pdbvendor); 6375 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 6376 gnewsqlstatementtype = ret.sqlstatementtype; 6377 } 6378 else if ( pcst.tokencode == TBaseType.rrw_function ) 6379 { 6380 ret = new TPlsqlCreateFunction(pdbvendor); 6381 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 6382 gnewsqlstatementtype = ret.sqlstatementtype; 6383 } 6384 else if ( pcst.tokencode == TBaseType.rrw_package ) 6385 { 6386 ret = new TPlsqlCreatePackage(pdbvendor); 6387 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6388 gnewsqlstatementtype = ret.sqlstatementtype; 6389 } 6390 } 6391 break; 6392 } 6393 case sstselect: 6394 { 6395 boolean lcisnewsql = true; 6396 6397 if ( pstate != EFindSqlStateType.stnormal ) 6398 { 6399 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6400 if ( (lcprevsolidtoken != null) ) 6401 { 6402 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6403 lcisnewsql = false; //subqery 6404 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 6405 lcisnewsql = false; 6406 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 6407 lcisnewsql = false; 6408 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 6409 lcisnewsql = false; 6410 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 6411 lcisnewsql = false; 6412 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 6413 lcisnewsql = false; 6414 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 6415 { 6416 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 6417 lcisnewsql = false; 6418 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 6419 lcisnewsql = false; 6420 } 6421 6422 6423 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 6424 { 6425 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 6426 if ( (lcpprevsolidtoken != null) ) 6427 { 6428 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 6429 lcisnewsql = false; 6430 } 6431 } 6432 6433 } 6434 6435 6436 if ( (lccurrentsqlstatement != null) ) 6437 { 6438 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 6439 lcisnewsql = false; 6440 } 6441 6442 } 6443 6444 if ( lcisnewsql ) 6445 ret = new TSelectSqlStatement(pdbvendor); 6446 6447 break; 6448 } 6449 case sstinsert: 6450 { 6451 boolean lcisnewsql = true; 6452 if ( pstate != EFindSqlStateType.stnormal ) 6453 { 6454 if ( (lccurrentsqlstatement != null) ) 6455 { 6456 6457 } 6458 } 6459 6460 if ( lcisnewsql ) 6461 ret = new TInsertSqlStatement(pdbvendor); 6462 6463 break; 6464 } 6465 case sstupdate: 6466 { 6467 boolean lcisnewsql = true; 6468 if ( pstate != EFindSqlStateType.stnormal ) 6469 { 6470 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6471 if ( (lcprevsolidtoken != null) ) 6472 { // 6473 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6474 lcisnewsql = false; 6475 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 6476 lcisnewsql = false; 6477 } 6478 6479 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6480 if ( (lcnextsolidtoken != null) ) 6481 { 6482 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6483 { 6484 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 6485 if ( k == 0 ) lcisnewsql = false; 6486 } 6487 } 6488 6489 6490 if ( (lccurrentsqlstatement != null) ) 6491 { 6492 } 6493 } 6494 6495 if ( lcisnewsql ) 6496 { 6497 ret = new TUpdateSqlStatement(pdbvendor); 6498 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 6499 } 6500 break; 6501 } 6502 case sstdelete: 6503 { 6504 boolean lcisnewsql = true; 6505 6506 if ( pstate != EFindSqlStateType.stnormal ) 6507 { 6508 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6509 if ( (lcprevsolidtoken != null) ) 6510 { 6511 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6512 lcisnewsql = false; 6513 } 6514 6515 if ( (lccurrentsqlstatement != null) ) 6516 { 6517 } 6518 } 6519 6520 if ( lcisnewsql ) 6521 ret = new TDeleteSqlStatement(pdbvendor); 6522 6523 break; 6524 } 6525 case sstmerge: 6526 { 6527 ret = new TMergeSqlStatement(pdbvendor); 6528 ret.sqlstatementtype = gnewsqlstatementtype; 6529 break; 6530 } 6531 case sstoraclecommit: 6532 { 6533 ret = new TUnknownSqlStatement(pdbvendor); 6534 ret.sqlstatementtype = gnewsqlstatementtype; 6535 break; 6536 } 6537 case sstoraclerollback: 6538 { 6539 ret = new TUnknownSqlStatement(pdbvendor); 6540 ret.sqlstatementtype = gnewsqlstatementtype; 6541 break; 6542 } 6543 case sstoraclesavepoint: 6544 { 6545 ret = new TUnknownSqlStatement(pdbvendor); 6546 ret.sqlstatementtype = gnewsqlstatementtype; 6547 break; 6548 } 6549 case sstoraclerevoke: 6550 { 6551 ret = new TUnknownSqlStatement(pdbvendor); 6552 ret.sqlstatementtype = gnewsqlstatementtype; 6553 break; 6554 } 6555 case sstoraclegrant: 6556 { 6557 ret = new TUnknownSqlStatement(pdbvendor); 6558 //ret = new TGrantStmt(pdbvendor); 6559 ret.sqlstatementtype = gnewsqlstatementtype; 6560 break; 6561 } 6562 case sstoracleanalyze: 6563 { 6564 ret = new TUnknownSqlStatement(pdbvendor); 6565 ret.sqlstatementtype = gnewsqlstatementtype; 6566 break; 6567 } 6568 case sstoracletruncate: 6569 { 6570 ret = new TUnknownSqlStatement(pdbvendor); 6571 ret.sqlstatementtype = gnewsqlstatementtype; 6572 break; 6573 } 6574 case sstcreatetable: 6575 { 6576 ret = new TCreateTableSqlStatement(pdbvendor); 6577 break; 6578 } 6579 case sstoraclecreateview: 6580 { 6581 ret = new TCreateViewSqlStatement(pdbvendor); 6582 break; 6583 } 6584 case sstcreatematerializedview:{ 6585 ret = new TCreateMaterializedSqlStatement(pdbvendor); 6586 break; 6587 } 6588 case sstoraclecreateindex: 6589 { 6590 ret = new TCreateIndexSqlStatement(pdbvendor); 6591 break; 6592 } 6593 case sstoraclecreatedatabase: 6594 { 6595 ret = new TCreateDatabaseSqlStatement(pdbvendor); 6596 break; 6597 } 6598 case sstoracledroptable: 6599 { 6600 ret = new TDropTableSqlStatement(pdbvendor); 6601 break; 6602 } 6603 case sstoracledropview: 6604 { 6605 ret = new TDropViewSqlStatement(pdbvendor); 6606 break; 6607 } 6608 case sstoracledropindex: 6609 { 6610 ret = new TDropIndexSqlStatement(pdbvendor); 6611 break; 6612 } 6613 case sstaltertable: 6614 { 6615 ret = new TAlterTableStatement(pdbvendor); 6616 break; 6617 } 6618 case sstoraclealtersession: 6619 { 6620 ret = new TAlterSessionStatement(pdbvendor); 6621 break; 6622 } 6623 case sstplsql_createprocedure: 6624 { 6625 ret = new TPlsqlCreateProcedure(pdbvendor); 6626 ret.sqlstatementtype = gnewsqlstatementtype; 6627 // System.out.println(gnewsqlstatementtype); 6628 break; 6629 } 6630 case sstplsql_createfunction: 6631 { 6632 ret = new TPlsqlCreateFunction(pdbvendor); 6633 ret.sqlstatementtype = gnewsqlstatementtype; 6634 // System.out.println(gnewsqlstatementtype); 6635 break; 6636 } 6637 case sstplsql_createpackage: 6638 { 6639 ret = new TPlsqlCreatePackage(pdbvendor); 6640 ret.sqlstatementtype = gnewsqlstatementtype; 6641 // System.out.println(gnewsqlstatementtype); 6642 break; 6643 } 6644 case sstplsql_createtrigger: 6645 { 6646 ret = new TPlsqlCreateTrigger(pdbvendor); 6647 ret.sqlstatementtype = gnewsqlstatementtype; 6648 // System.out.println(gnewsqlstatementtype); 6649 break; 6650 } 6651 case sstplsql_execimmestmt: 6652 { 6653 ret = new TExecImmeStmt(pdbvendor); 6654 // ret.sqlstatementtype = gnewsqlstatementtype; 6655 // System.out.println(gnewsqlstatementtype); 6656 break; 6657 } 6658 case sstoraclecreatepackagebody: 6659 { 6660 ret = new TPlsqlCreatePackage(pdbvendor); 6661 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 6662 break; 6663 } 6664 case sstplsql_createtype_placeholder: 6665 { 6666 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 6667 ret.sqlstatementtype = gnewsqlstatementtype; 6668 // System.out.println(gnewsqlstatementtype); 6669 break; 6670 } 6671 case sstplsql_createtypebody: 6672 { 6673 ret = new TPlsqlCreateTypeBody(pdbvendor); 6674 ret.sqlstatementtype = gnewsqlstatementtype; 6675 break; 6676 } 6677 case sstCommentOn: 6678 { 6679 ret = new TCommentOnSqlStmt(pdbvendor); 6680 break; 6681 } 6682 case sstoraclecreatesequence: 6683 { 6684 ret = new TCreateSequenceStmt(pdbvendor); 6685 break; 6686 } 6687 case sstoraclecreatesynonym: 6688 { 6689 ret = new TCreateSynonymStmt(pdbvendor); 6690 break; 6691 } 6692 case sstoraclecreatedirectory: 6693 { 6694 ret = new TOracleCreateDirectoryStmt(pdbvendor); 6695 break; 6696 } 6697 case sstpostgresqlCreateIndex: 6698 ret = new TCreateIndexSqlStatement(pdbvendor); 6699 break; 6700 case sstpostgresqlCreateView: 6701 ret = new TCreateViewSqlStatement(pdbvendor); 6702 break; 6703 case sstpostgresqlCreateFunction: 6704 ret = new TCreateFunctionStmt(pdbvendor); 6705 break; 6706 case sstcreatetrigger: 6707 ret = new TCreateTriggerStmt(pdbvendor); 6708 break; 6709 case sstpostgresqlMove: 6710 ret = new TMoveStmt(pdbvendor); 6711 break; 6712 case sstpostgresqlTruncate: 6713 ret = new TTruncateStatement(pdbvendor); 6714 break; 6715 case sstpostgresqlExecute: 6716 ret = new TExecuteSqlStatement(pdbvendor); 6717 break; 6718 case sstpostgresqlDropTable: 6719 ret = new TDropTableSqlStatement(pdbvendor); 6720 break; 6721 case sstPostgresqlBlock: 6722 ret = new TCommonBlock(pdbvendor); 6723 break; 6724 case sstVacuum: 6725 ret = new TVacuumStmt(pdbvendor); 6726 break; 6727 case sstReindex: 6728 ret = new TReindexStmt(pdbvendor); 6729 break; 6730 case sstcreateprocedure: 6731 ret = new TCreateProcedureStmt(pdbvendor); 6732 break; 6733 case sstpostgresqlCommit: 6734 ret = new TCommitStmt(pdbvendor); 6735 break; 6736 case sstpostgresqlCreateSchema: 6737 ret = new TCreateSchemaSqlStatement(pdbvendor); 6738 break; 6739 case sstpostgresqlDropSchema: 6740 ret = new TDropSchemaSqlStatement(pdbvendor); 6741 break; 6742 case sstpostgresqlShowSearchPath: 6743 ret = new TShowSearchPathStmt(pdbvendor); 6744 break; 6745 case sstpostgresqlCopy: 6746 ret = new TCopyStmt(pdbvendor); 6747 break; 6748 case sstcall: 6749 ret = new TCallStatement(pdbvendor); 6750 break; 6751 case sstpostgresqlAlterSchema: 6752 ret = new TAlterSchemaStmt(pdbvendor); 6753 break; 6754 case sstpostgresqlAlterfunction: 6755 ret = new TAlterFunctionStmt(pdbvendor); 6756 break; 6757 case sstStartTransaction: 6758 { 6759 ret = new TStartTransactionStmt(pdbvendor); 6760 break; 6761 } 6762 case sstpostgresqlComment: 6763 ret = new TCommentOnSqlStmt(pdbvendor); 6764 break; 6765 case sstpostgresqlShow: 6766 ret = new TShowStmt(pdbvendor); 6767 break; 6768 case sstpostgresqlSetSearchPath: 6769 case sstpostgresqlSet: 6770 ret = new TSetStmt(pdbvendor); 6771 break; 6772 case sstpostgresqlDropFunction: 6773 ret = new TDropFunctionStmt(pdbvendor); 6774 break; 6775 case sstpostgresqlDropTrigger: 6776 ret = new TDropTriggerSqlStatement(pdbvendor); 6777 break; 6778 case sstpostgresqlDropProcedure: 6779 ret = new TDropProcedureStmt(pdbvendor); 6780 break; 6781 case sstdropindex: 6782 ret = new TDropIndexSqlStatement(pdbvendor); 6783 break; 6784 case sstpostgresqlDropSequence: 6785 ret = new TDropSequenceStmt(pdbvendor); 6786 break; 6787 case sstpostgresqlDropView: 6788 ret = new TDropViewSqlStatement(pdbvendor); 6789 break; 6790 case sstpostgresqlCreateSequence: 6791 ret = new TCreateSequenceStmt(pdbvendor); 6792 break; 6793 case sstpostgresqlCreateType: 6794 ret = new TCreateTypeStmt(pdbvendor); 6795 break; 6796 case sstcreateExtension: 6797 ret = new TCreateExtensionStmt(pdbvendor); 6798 break; 6799 case sstPostgresqlTable: 6800 ret = new TPostgresqlTableStmt(pdbvendor); 6801 break; 6802 case sstpostgresqlDropMaterializedView: 6803 ret = new TDropMaterializedViewStmt(pdbvendor); 6804 break; 6805 case sstpostgresqlDo: 6806 boolean lcisnewsql = false; 6807 6808 if ( pstate == EFindSqlStateType.stnormal ) 6809 { 6810 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6811 if ( (lcnextsolidtoken != null) ) 6812 { 6813 if ( lcnextsolidtoken.tokencode == TBaseType.rrw_postgresql_function_delimiter ) 6814 lcisnewsql = true; 6815 } 6816 } 6817 6818 if ( lcisnewsql ) 6819 ret = new TDoExecuteBlockStmt(pdbvendor); 6820 6821 break; 6822 case sstpostgresqlDeclare: 6823 ret = new TCommonBlock(pdbvendor); 6824 gnewsqlstatementtype = ret.sqlstatementtype; 6825 break; 6826 case sstpostgresqlExplain: 6827 ret = new TExplainPlan(pdbvendor); 6828 gnewsqlstatementtype = ret.sqlstatementtype; 6829 break; 6830 default: 6831 { 6832 ret = new TUnknownSqlStatement(pdbvendor); 6833 ret.sqlstatementtype = gnewsqlstatementtype; 6834 break; 6835 } 6836 } // case 6837 6838 return ret; 6839 } 6840 6841 6842 6843TCustomSqlStatement isbigquery(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 6844 TCustomSqlStatement ret = null; 6845 6846 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 6847 6848 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 6849 || (pcst.tokencode == TBaseType.cmtslashstar) 6850 || (pcst.tokencode == TBaseType.lexspace) 6851 || (pcst.tokencode == TBaseType.lexnewline) 6852 || (pcst.tokentype == ETokenType.ttsemicolon) ) 6853 { 6854 return null; 6855 } 6856 6857 int lcpos = pcst.posinlist; 6858 TSourceTokenList lcsourcetokenlist = pcst.container; 6859 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 6860 6861 //subquery after semicolon or at first line 6862 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 6863 { 6864 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 6865 if ( k >0 ) 6866 { 6867 ret = new TSelectSqlStatement(pdbvendor); 6868 } 6869 6870 return ret; 6871 } 6872 6873 //cte 6874 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 6875 { 6876 ret = findcte(pcst,pdbvendor); 6877 if ( (ret != null) ) return ret; 6878 } 6879 6880 gnewsqlstatementtype = findbigquerycmd(pcst); 6881 6882 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6883 switch (gnewsqlstatementtype) { // 6884 case sstinvalid: 6885 { 6886 ret = null; 6887 6888 if ( pstate == EFindSqlStateType.stnormal ) 6889 { 6890 if ( pcst.tokencode == TBaseType.rrw_begin ) 6891 { 6892 6893 ret = new TCommonBlock(pdbvendor); 6894 gnewsqlstatementtype = ret.sqlstatementtype; 6895 } 6896 6897 } 6898 break; 6899 } 6900 case sstselect: 6901 { 6902 boolean lcisnewsql = true; 6903 6904 if ( pstate != EFindSqlStateType.stnormal ) 6905 { 6906 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6907 if ( (lcprevsolidtoken != null) ) 6908 { 6909 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6910 lcisnewsql = false; //subqery 6911 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 6912 lcisnewsql = false; 6913 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 6914 lcisnewsql = false; 6915 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 6916 lcisnewsql = false; 6917 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 6918 lcisnewsql = false; 6919 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 6920 lcisnewsql = false; 6921 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 6922 { 6923 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 6924 lcisnewsql = false; 6925 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 6926 lcisnewsql = false; 6927 } 6928 6929 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 6930 { 6931 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 6932 if ( (lcpprevsolidtoken != null) ) 6933 { 6934 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 6935 lcisnewsql = false; 6936 } 6937 } 6938 6939 } 6940 6941 6942 if ( (lccurrentsqlstatement != null) ) 6943 { 6944 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 6945 lcisnewsql = false; 6946 } 6947 6948 } 6949 6950 if ( lcisnewsql ) 6951 ret = new TSelectSqlStatement(pdbvendor); 6952 6953 break; 6954 } 6955 case sstinsert: 6956 { 6957 boolean lcisnewsql = true; 6958 if ( pstate != EFindSqlStateType.stnormal ) 6959 { 6960 if ( (lccurrentsqlstatement != null) ) 6961 { 6962 6963 } 6964 } 6965 6966 if ( lcisnewsql ) 6967 ret = new TInsertSqlStatement(pdbvendor); 6968 6969 break; 6970 } 6971 case sstupdate: 6972 { 6973 boolean lcisnewsql = true; 6974 if ( pstate != EFindSqlStateType.stnormal ) 6975 { 6976 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 6977 if ( (lcprevsolidtoken != null) ) 6978 { // 6979 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 6980 lcisnewsql = false; 6981 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 6982 lcisnewsql = false; 6983 } 6984 6985 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 6986 if ( (lcnextsolidtoken != null) ) 6987 { 6988 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 6989 { 6990 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 6991 if ( k == 0 ) lcisnewsql = false; 6992 } 6993 } 6994 6995 6996 if ( (lccurrentsqlstatement != null) ) 6997 { 6998 } 6999 } 7000 7001 if ( lcisnewsql ) 7002 { 7003 ret = new TUpdateSqlStatement(pdbvendor); 7004 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 7005 } 7006 break; 7007 } 7008 case sstdelete: 7009 { 7010 boolean lcisnewsql = true; 7011 7012 if ( pstate != EFindSqlStateType.stnormal ) 7013 { 7014 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7015 if ( (lcprevsolidtoken != null) ) 7016 { 7017 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7018 lcisnewsql = false; 7019 } 7020 7021 if ( (lccurrentsqlstatement != null) ) 7022 { 7023 } 7024 } 7025 7026 if ( lcisnewsql ) 7027 ret = new TDeleteSqlStatement(pdbvendor); 7028 7029 break; 7030 } 7031 case sstmerge: 7032 { 7033 ret = new TMergeSqlStatement(pdbvendor); 7034 ret.sqlstatementtype = gnewsqlstatementtype; 7035 break; 7036 } 7037 case sstcreatetable: 7038 { 7039 ret = new TCreateTableSqlStatement(pdbvendor); 7040 break; 7041 } 7042 case sstcreateview:{ 7043 ret = new TCreateViewSqlStatement(pdbvendor); 7044 break; 7045 } 7046 case sstaltertable: 7047 { 7048 ret = new TAlterTableStatement(pdbvendor); 7049 break; 7050 } 7051 case sstalterview: 7052 { 7053 ret = new TAlterViewStatement(pdbvendor); 7054 break; 7055 } 7056 case sstdroptable: 7057 { 7058 ret = new TDropTableSqlStatement(pdbvendor); 7059 break; 7060 } 7061 case sstdropview: 7062 { 7063 ret = new TDropViewSqlStatement(pdbvendor); 7064 break; 7065 } 7066 case sstcreatefunction: 7067 { 7068 ret = new TCreateFunctionStmt(pdbvendor); 7069 break; 7070 } 7071 case sstcreateprocedure: 7072 { 7073 ret = new TCreateProcedureStmt(pdbvendor); 7074 break; 7075 } 7076 case sstBigQueryDeclare: 7077 ret = new TMssqlDeclare(pdbvendor); 7078 break; 7079 case sstTruncate: 7080 { 7081 ret = new TTruncateStatement(pdbvendor); 7082 break; 7083 } 7084 case sstset: 7085 { 7086 boolean lcisnewsql = true; 7087 if ( pstate != EFindSqlStateType.stnormal ) 7088 { 7089 if ( TBaseType.assigned(lccurrentsqlstatement) ) 7090 { 7091 lcisnewsql = false; 7092 } 7093 } 7094 7095 if ( lcisnewsql ) 7096 { 7097 ret = new TSetStmt(pdbvendor); 7098 } 7099 break; 7100 } 7101 case sstcreatematerializedview:{ 7102 ret = new TCreateMaterializedSqlStatement(pdbvendor); 7103 break; 7104 } 7105 case sstdropprocedure: 7106 { 7107 ret = new TDropProcedureStmt(pdbvendor); 7108 break; 7109 } 7110 case sstdropfunction: 7111 { 7112 ret = new TDropFunctionStmt(pdbvendor); 7113 break; 7114 } 7115 case sstDropMaterializedView: 7116 ret = new TDropMaterializedViewStmt(pdbvendor); 7117 break; 7118 case sstcall: 7119 ret = new TCallStatement(pdbvendor); 7120 break; 7121 case sstBigQueryExportData: 7122 ret = new TExportDataStmt(pdbvendor); 7123 break; 7124 case sstBegin: 7125 { 7126 boolean isblock = false; 7127 int numOfSolidToken = 0; 7128 // if linebreak appears before the ;, then it a block, else it a 7129 TSourceToken st ; 7130 if (lcpos == lcsourcetokenlist.size() - 1){ 7131 // this is the last token 7132 }else{ 7133 for(int i=lcpos+1;i<lcsourcetokenlist.size();i++){ 7134 st = lcsourcetokenlist.get(i); 7135 if (st.issolidtoken()){ 7136 numOfSolidToken++; 7137 } 7138 if (st.tokencode == ';') { 7139 if (numOfSolidToken<=3){ 7140 7141 }else{ 7142 isblock = true; 7143 } 7144 break; 7145 } 7146 7147 if (numOfSolidToken > 3){ 7148 isblock = true; 7149 break; 7150 } 7151 } 7152 } 7153 7154 if (isblock){ 7155 ret = new TCommonBlock(pdbvendor); 7156 gnewsqlstatementtype = ret.sqlstatementtype; 7157 }else{ 7158 ret = new TBeginTran(pdbvendor); 7159 pcst.tokencode = TBaseType.rrw_bigquery_begin_transaction; 7160 } 7161 7162 7163 break; 7164 } 7165 case sstbegintran: 7166 { 7167 ret = new TBeginTran(pdbvendor); 7168 if (pcst.tokencode == TBaseType.rrw_begin){ 7169 pcst.tokencode = TBaseType.rrw_bigquery_begin_transaction; 7170 } 7171 7172 break; 7173 } 7174 case sstExecute: 7175 { 7176 ret = new TExecImmeStmt(pdbvendor); 7177 break; 7178 } 7179 case sst_ifstmt: 7180 ret = new TIfStmt(pdbvendor); 7181 break; 7182 case sst_loopstmt: 7183 ret = new TLoopStmt(pdbvendor); 7184 break; 7185 case sstRepeat: 7186 ret = new TRepeatStmt(pdbvendor); 7187 break; 7188 case sstWhilestmt: 7189 ret = new TWhileStmt(pdbvendor); 7190 break; 7191 case sstForStmt: 7192 ret = new TForStmt(pdbvendor); 7193 break; 7194 case sst_casestmt: 7195 ret = new TCaseStmt(pdbvendor); 7196 break; 7197 default: 7198 { 7199 ret = new TUnknownSqlStatement(pdbvendor); 7200 ret.sqlstatementtype = gnewsqlstatementtype; 7201 break; 7202 } 7203 } // case 7204 7205 return ret; 7206 } 7207 7208TCustomSqlStatement issnowflake(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 7209 TCustomSqlStatement ret = null; 7210 7211 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 7212 7213 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 7214 || (pcst.tokencode == TBaseType.cmtslashstar) 7215 || (pcst.tokencode == TBaseType.lexspace) 7216 || (pcst.tokencode == TBaseType.lexnewline) 7217 || (pcst.tokentype == ETokenType.ttsemicolon) ) 7218 { 7219 return null; 7220 } 7221 7222 int lcpos = pcst.posinlist; 7223 TSourceTokenList lcsourcetokenlist = pcst.container; 7224 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 7225 7226 //subquery after semicolon or at first line 7227 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 7228 { 7229 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 7230 if ( k >0 ) 7231 { 7232 ret = new TSelectSqlStatement(pdbvendor); 7233 } 7234 else{ 7235 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_with,1,"("); 7236 int k2 = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_as,3,"("); 7237 if (( k >0 ) && (k2 > 2)) 7238 { 7239 ret = new TSelectSqlStatement(pdbvendor); 7240 } 7241 7242 } 7243 7244 return ret; 7245 } 7246 7247 //cte 7248 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 7249 { 7250 ret = findcte(pcst,pdbvendor); 7251 if ( (ret != null) ) return ret; 7252 } 7253 7254 gnewsqlstatementtype = findsnowflakecmd(pcst); 7255 7256 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7257 switch (gnewsqlstatementtype) { // 7258 case sstinvalid: 7259 { 7260 ret = null; 7261 7262 if ( pstate == EFindSqlStateType.stnormal ) 7263 { 7264 if ( pcst.tokencode == TBaseType.label_begin ) 7265 { 7266 ret = new TCommonBlock(pdbvendor); 7267 gnewsqlstatementtype = ret.sqlstatementtype; 7268 } 7269 else if ( pcst.tokencode == TBaseType.rrw_declare ) 7270 { 7271 ret = new TCommonBlock(pdbvendor); 7272 gnewsqlstatementtype = ret.sqlstatementtype; 7273 } 7274 else if ( pcst.tokencode == TBaseType.rrw_begin ) 7275 { 7276 ret = new TCommonBlock(pdbvendor); 7277 gnewsqlstatementtype = ret.sqlstatementtype; 7278 } 7279 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 7280 { 7281 ret = new TPlsqlCreateProcedure(pdbvendor); 7282 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 7283 gnewsqlstatementtype = ret.sqlstatementtype; 7284 } 7285 else if ( pcst.tokencode == TBaseType.rrw_function ) 7286 { 7287 ret = new TPlsqlCreateFunction(pdbvendor); 7288 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 7289 gnewsqlstatementtype = ret.sqlstatementtype; 7290 } 7291 else if ( pcst.tokencode == TBaseType.rrw_package ) 7292 { 7293 ret = new TPlsqlCreatePackage(pdbvendor); 7294 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 7295 gnewsqlstatementtype = ret.sqlstatementtype; 7296 } 7297 } 7298 break; 7299 } 7300 case sstselect: 7301 { 7302 boolean lcisnewsql = true; 7303 7304 if ( pstate != EFindSqlStateType.stnormal ) 7305 { 7306 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7307 if ( (lcprevsolidtoken != null) ) 7308 { 7309 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 7310 lcisnewsql = false; //subqery 7311 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 7312 lcisnewsql = false; 7313 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 7314 lcisnewsql = false; 7315 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 7316 lcisnewsql = false; 7317 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 7318 lcisnewsql = false; 7319 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 7320 lcisnewsql = false; 7321 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 7322 { 7323 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 7324 lcisnewsql = false; 7325 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 7326 lcisnewsql = false; 7327 } 7328 7329 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 7330 { 7331 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 7332 if ( (lcpprevsolidtoken != null) ) 7333 { 7334 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 7335 lcisnewsql = false; 7336 } 7337 } 7338 7339 } 7340 7341 7342 if ( (lccurrentsqlstatement != null) ) 7343 { 7344 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 7345 lcisnewsql = false; 7346 } 7347 7348 } 7349 7350 if ( lcisnewsql ) 7351 ret = new TSelectSqlStatement(pdbvendor); 7352 7353 break; 7354 } 7355 case sstinsert: 7356 { 7357 boolean lcisnewsql = true; 7358 if ( pstate != EFindSqlStateType.stnormal ) 7359 { 7360 if ( (lccurrentsqlstatement != null) ) 7361 { 7362 7363 } 7364 } 7365 7366 if ( lcisnewsql ) 7367 ret = new TInsertSqlStatement(pdbvendor); 7368 7369 break; 7370 } 7371 case sstupdate: 7372 { 7373 boolean lcisnewsql = true; 7374 if ( pstate != EFindSqlStateType.stnormal ) 7375 { 7376 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7377 if ( (lcprevsolidtoken != null) ) 7378 { // 7379 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7380 lcisnewsql = false; 7381 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 7382 lcisnewsql = false; 7383 } 7384 7385 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 7386 if ( (lcnextsolidtoken != null) ) 7387 { 7388 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 7389 { 7390 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 7391 if ( k == 0 ) lcisnewsql = false; 7392 } 7393 } 7394 7395 7396 if ( (lccurrentsqlstatement != null) ) 7397 { 7398 } 7399 } 7400 7401 if ( lcisnewsql ) 7402 { 7403 ret = new TUpdateSqlStatement(pdbvendor); 7404 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 7405 } 7406 break; 7407 } 7408 case sstdelete: 7409 { 7410 boolean lcisnewsql = true; 7411 7412 if ( pstate != EFindSqlStateType.stnormal ) 7413 { 7414 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 7415 if ( (lcprevsolidtoken != null) ) 7416 { 7417 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 7418 lcisnewsql = false; 7419 } 7420 7421 if ( (lccurrentsqlstatement != null) ) 7422 { 7423 } 7424 } 7425 7426 if ( lcisnewsql ) 7427 ret = new TDeleteSqlStatement(pdbvendor); 7428 7429 break; 7430 } 7431 case sstmerge: 7432 { 7433 ret = new TMergeSqlStatement(pdbvendor); 7434 ret.sqlstatementtype = gnewsqlstatementtype; 7435 break; 7436 } 7437 case sstoraclecommit: 7438 { 7439 ret = new TUnknownSqlStatement(pdbvendor); 7440 ret.sqlstatementtype = gnewsqlstatementtype; 7441 break; 7442 } 7443 case sstoraclerollback: 7444 { 7445 ret = new TUnknownSqlStatement(pdbvendor); 7446 ret.sqlstatementtype = gnewsqlstatementtype; 7447 break; 7448 } 7449 case sstoraclerevoke: 7450 { 7451 ret = new TUnknownSqlStatement(pdbvendor); 7452 ret.sqlstatementtype = gnewsqlstatementtype; 7453 break; 7454 } 7455 case sstoraclegrant: 7456 { 7457 ret = new TUnknownSqlStatement(pdbvendor); 7458 ret.sqlstatementtype = gnewsqlstatementtype; 7459 break; 7460 } 7461 case sstcreatetable: 7462 { 7463 ret = new TCreateTableSqlStatement(pdbvendor); 7464 break; 7465 } 7466 case sstoraclecreateview: 7467 { 7468 ret = new TCreateViewSqlStatement(pdbvendor); 7469 break; 7470 } 7471 case sstAlterAccount: 7472 { 7473 ret = new TAlterAccountStmt(pdbvendor); 7474 break; 7475 } 7476 case sstalterdatabase: 7477 { 7478 ret = new TAlterDatabaseStmt(pdbvendor); 7479 break; 7480 } 7481 case sstAlterFileFormat: 7482 { 7483 ret = new TAlterFileFormatStmt(pdbvendor); 7484 break; 7485 } 7486 case sstalterfunction: 7487 { 7488 ret = new TAlterFunctionStmt(pdbvendor); 7489 break; 7490 } 7491 case sstAlterNetworkPolicy: 7492 { 7493 ret = new TAlterNetworkPolicyStmt(pdbvendor); 7494 break; 7495 } 7496 case sstAlterPipe: 7497 { 7498 ret = new TAlterPipeStmt(pdbvendor); 7499 break; 7500 } 7501 case sstAlterResourceMonitor: 7502 { 7503 ret = new TAlterResourceMonitorStmt(pdbvendor); 7504 break; 7505 } 7506 case sstAlterRole: 7507 { 7508 ret = new TAlterRoleStmt(pdbvendor); 7509 break; 7510 } 7511 case sstAlterSchema: 7512 { 7513 ret = new TAlterSchemaStmt(pdbvendor); 7514 break; 7515 } 7516 case sstaltersequence: 7517 { 7518 ret = new TAlterSequenceStatement(pdbvendor); 7519 break; 7520 } 7521 case sstaltersession: 7522 { 7523 ret = new TAlterSessionStatement(pdbvendor); 7524 break; 7525 } 7526 case sstAlterStage: 7527 { 7528 ret = new TAlterStageStmt(pdbvendor); 7529 break; 7530 } 7531 case sstalteruser: 7532 { 7533 ret = new TAlterUserStmt(pdbvendor); 7534 break; 7535 } 7536 case sstAlterShare: 7537 { 7538 ret = new TAlterShareStmt(pdbvendor); 7539 break; 7540 } 7541 case sstalterview: 7542 { 7543 ret = new TAlterViewStatement(pdbvendor); 7544 break; 7545 } 7546 case sstAlterWarehouse: 7547 { 7548 ret = new TAlterWarehouseStmt(pdbvendor); 7549 break; 7550 } 7551 case sstBegin: 7552 { 7553 boolean isblock = false; 7554 int numOfSolidToken = 0; 7555 // if linebreak appears before the ;, then it a block, else it a 7556 TSourceToken st ; 7557 if (lcpos == lcsourcetokenlist.size() - 1){ 7558 // this is the last token 7559 }else{ 7560 for(int i=lcpos+1;i<lcsourcetokenlist.size();i++){ 7561 st = lcsourcetokenlist.get(i); 7562 if (st.issolidtoken()){ 7563 numOfSolidToken++; 7564 } 7565 if (st.tokencode == ';') { 7566 if (numOfSolidToken<=3){ 7567 7568 }else{ 7569 isblock = true; 7570 } 7571 break; 7572 } 7573 7574 if (numOfSolidToken > 3){ 7575 isblock = true; 7576 break; 7577 } 7578 } 7579 } 7580 7581 if (isblock){ 7582 ret = new TCommonBlock(pdbvendor); 7583 gnewsqlstatementtype = ret.sqlstatementtype; 7584 }else{ 7585 ret = new TBeginTran(pdbvendor); 7586 pcst.tokencode = TBaseType.rrw_snowflake_begin_transaction; 7587 } 7588 7589 7590 break; 7591 } 7592 case sstbegintran: 7593 { 7594 ret = new TBeginTran(pdbvendor); 7595 if (pcst.tokencode == TBaseType.rrw_begin){ 7596 pcst.tokencode = TBaseType.rrw_snowflake_begin_transaction; 7597 } 7598 7599 break; 7600 } 7601 case sstcomment: 7602 { 7603 ret = new TCommentOnSqlStmt(pdbvendor); 7604 break; 7605 } 7606 case sstcommit: 7607 { 7608 ret = new TCommitStmt(pdbvendor); 7609 break; 7610 } 7611 case sstCopyInto: 7612 { 7613 ret = new TSnowflakeCopyIntoStmt(pdbvendor); 7614 break; 7615 } 7616 case sstcreatedatabase: 7617 { 7618 ret = new TCreateDatabaseSqlStatement(pdbvendor); 7619 break; 7620 } 7621 case sstCreateFileFormat: 7622 { 7623 ret = new TCreateFileFormatStmt(pdbvendor); 7624 break; 7625 } 7626 case sstcreatefunction: 7627 { 7628 ret = new TCreateFunctionStmt(pdbvendor); 7629 break; 7630 } 7631 case sstCreateNetworkPolicy: 7632 { 7633 ret = new TCreateNetworkPolicyStmt(pdbvendor); 7634 break; 7635 } 7636 case sstCreatePipe: 7637 { 7638 ret = new TCreatePipeStmt(pdbvendor); 7639 break; 7640 } 7641 case sstCreateResourceMonitor: 7642 { 7643 ret = new TCreateResourceMonitorStmt(pdbvendor); 7644 break; 7645 } 7646 case sstcreaterole: 7647 { 7648 ret = new TCreateRoleStmt(pdbvendor); 7649 break; 7650 } 7651 case sstcreateschema: 7652 { 7653 ret = new TCreateSchemaSqlStatement(pdbvendor); 7654 break; 7655 } 7656 case sstcreatesequence: 7657 { 7658 ret = new TCreateSequenceStmt(pdbvendor); 7659 break; 7660 } 7661 case sstCreateShare: 7662 { 7663 ret = new TCreateShareStmt(pdbvendor); 7664 break; 7665 } 7666 case sstCreateStage: 7667 { 7668 ret = new TCreateStageStmt(pdbvendor); 7669 break; 7670 } 7671 case sstcreateuser: 7672 { 7673 ret = new TCreateUserStmt(pdbvendor); 7674 break; 7675 } 7676 case sstCreateWarehouse: 7677 { 7678 ret = new TCreateWarehouseStmt(pdbvendor); 7679 break; 7680 } 7681 case sstDescFileFormat: 7682 case sstDescFunction: 7683 case sstDescNetworkPolicy: 7684 case sstDescPipe: 7685 case sstDescResult: 7686 case sstDescShare: 7687 case sstDescStage: 7688 case sstDescTable: 7689 case sstDescUser: 7690 case sstDescView: 7691 case sstDescStorage: 7692 { 7693 ret = new TDescribeStmt(pdbvendor); 7694 break; 7695 } 7696 case sstdropfunction: 7697 { 7698 ret = new TDropFunctionStmt(pdbvendor); 7699 break; 7700 } 7701 case sstdropdatabase: 7702 { 7703 ret = new TDropDatabaseStmt(pdbvendor); 7704 break; 7705 } 7706 case sstDropFileFormat: 7707 { 7708 ret = new TDropStmt(pdbvendor); 7709 ret.sqlstatementtype = gnewsqlstatementtype; 7710 break; 7711 } 7712 case sstDropNetworkPolicy: 7713 { 7714 ret = new TDropStmt(pdbvendor); 7715 ret.sqlstatementtype = gnewsqlstatementtype; 7716 break; 7717 } 7718 case sstDropPipe: 7719 { 7720 ret = new TDropStmt(pdbvendor); 7721 ret.sqlstatementtype = gnewsqlstatementtype; 7722 break; 7723 } 7724 case sstDropResourceMonitor: 7725 { 7726 ret = new TDropStmt(pdbvendor); 7727 ret.sqlstatementtype = gnewsqlstatementtype; 7728 break; 7729 } 7730 case sstdroprole: 7731 { 7732 ret = new TDropRoleStmt(pdbvendor); 7733 break; 7734 } 7735 case sstdropschema: 7736 { 7737 ret = new TDropSchemaSqlStatement(pdbvendor); 7738 break; 7739 } 7740 case sstDropShare: 7741 { 7742 ret = new TDropStmt(pdbvendor); 7743 ret.sqlstatementtype = gnewsqlstatementtype; 7744 break; 7745 } 7746 case sstDropStage: 7747 { 7748 ret = new TDropStmt(pdbvendor); 7749 ret.sqlstatementtype = gnewsqlstatementtype; 7750 break; 7751 } 7752 case sstdroptable: 7753 { 7754 ret = new TDropTableSqlStatement(pdbvendor); 7755 break; 7756 } 7757 case sstdropuser: 7758 { 7759 ret = new TDropUserStmt(pdbvendor); 7760 break; 7761 } 7762 case sstdropview: 7763 { 7764 ret = new TDropViewSqlStatement(pdbvendor); 7765 break; 7766 } 7767 case sstDropWarehouse: 7768 { 7769 ret = new TDropStmt(pdbvendor); 7770 ret.sqlstatementtype = gnewsqlstatementtype; 7771 break; 7772 } 7773 case sstGet: 7774 { 7775 ret = new TGetStmt(pdbvendor); 7776 break; 7777 } 7778 case sstGrant: 7779 { 7780 ret = new TGrantStmt(pdbvendor); 7781 break; 7782 } 7783 case sstList: 7784 { 7785 ret = new TListStmt(pdbvendor); 7786 break; 7787 } 7788 case sstPut: 7789 { 7790 ret = new TPutStmt(pdbvendor); 7791 break; 7792 } 7793 case sstRemove: 7794 { 7795 ret = new TRemoveStmt(pdbvendor); 7796 break; 7797 } 7798 case sstRevoke: 7799 { 7800 ret = new TRevokeStmt(pdbvendor); 7801 break; 7802 } 7803 case sstrollback: 7804 { 7805 ret = new TRollbackStmt(pdbvendor); 7806 break; 7807 } 7808 case sstset: 7809 { 7810 ret = new TSetStmt(pdbvendor); 7811 break; 7812 } 7813 case sstShowColumns: 7814 case sstShowDatabases: 7815 case sstShowFileFormats: 7816 case sstShowFunctions: 7817 case sstShowGrants: 7818 case sstShowNetworkPolicies: 7819 case sstShowObjects: 7820 case sstShowParameters: 7821 case sstShowPipes: 7822 case sstShowResourceMonitors: 7823 case sstShowRoles: 7824 case sstShowSchemas: 7825 case sstShowSequences: 7826 case sstShowShares: 7827 case sstShowStages: 7828 case sstShowTables: 7829 case sstShowTransactions: 7830 case sstShowUserFunctions: 7831 case sstShowUsers: 7832 case sstShowVariables: 7833 case sstShowViews: 7834 case sstShowWarehouses: 7835 case sstShowProcedures: 7836 case sstShowTasks: 7837 case sstShowStreams: 7838 { 7839 ret = new TShowStmt(pdbvendor); 7840 ret.sqlstatementtype = gnewsqlstatementtype; 7841 break; 7842 } 7843 case sstTruncate: 7844 { 7845 ret = new TTruncateStatement(pdbvendor); 7846 7847 break; 7848 } 7849 case sstUndropDatabase: 7850 case sstUndropSchema: 7851 case sstUndropTable: 7852 { 7853 ret = new TUndropStmt(pdbvendor); 7854 ret.sqlstatementtype = gnewsqlstatementtype; 7855 break; 7856 } 7857 case sstunset: 7858 { 7859 ret = new TUnsetStmt(pdbvendor); 7860 break; 7861 } 7862 case sstcreatematerializedview:{ 7863 ret = new TCreateMaterializedSqlStatement(pdbvendor); 7864 break; 7865 } 7866 case sstoraclecreateindex: 7867 { 7868 ret = new TCreateIndexSqlStatement(pdbvendor); 7869 break; 7870 } 7871 case sstoracledroptable: 7872 { 7873 ret = new TDropTableSqlStatement(pdbvendor); 7874 break; 7875 } 7876 case sstoracledropview: 7877 { 7878 ret = new TDropViewSqlStatement(pdbvendor); 7879 break; 7880 } 7881 case sstoracledropindex: 7882 { 7883 ret = new TDropIndexSqlStatement(pdbvendor); 7884 break; 7885 } 7886 case sstaltertable: 7887 { 7888 ret = new TAlterTableStatement(pdbvendor); 7889 break; 7890 } 7891 case sstoraclealtersession: 7892 { 7893 ret = new TAlterSessionStatement(pdbvendor); 7894 break; 7895 } 7896 case sstplsql_createfunction: 7897 { 7898 ret = new TPlsqlCreateFunction(pdbvendor); 7899 ret.sqlstatementtype = gnewsqlstatementtype; 7900 // System.out.println(gnewsqlstatementtype); 7901 break; 7902 } 7903 case sstCommentOn: 7904 { 7905 ret = new TCommentOnSqlStmt(pdbvendor); 7906 break; 7907 } 7908 case sstoraclecreatesequence: 7909 { 7910 ret = new TCreateSequenceStmt(pdbvendor); 7911 break; 7912 } 7913 case sstpostgresqlCreateIndex: 7914 ret = new TCreateIndexSqlStatement(pdbvendor); 7915 break; 7916 case sstpostgresqlCreateView: 7917 ret = new TCreateViewSqlStatement(pdbvendor); 7918 break; 7919 case sstpostgresqlCreateFunction: 7920 ret = new TCreateFunctionStmt(pdbvendor); 7921 break; 7922// case sstcreatetrigger: 7923// ret = new TCreateTriggerStmt(pdbvendor); 7924// break; 7925 case sstpostgresqlTruncate: 7926 ret = new TTruncateStatement(pdbvendor); 7927 break; 7928 case sstpostgresqlDropTable: 7929 ret = new TDropTableSqlStatement(pdbvendor); 7930 break; 7931 case sstcreateview: 7932 ret = new TCreateViewSqlStatement(pdbvendor); 7933 break; 7934 case sstcall: 7935 ret = new TCallStatement(pdbvendor); 7936 break; 7937 case sstSnowflakePseudoExprStmt: 7938 ret = new TPseudoExprStmt(pdbvendor); 7939 break; 7940 case sstcreateprocedure: 7941 ret = new TCreateProcedureStmt(pdbvendor); 7942 break; 7943 case sstCreateStream: 7944 ret = new TCreateStreamStmt(pdbvendor); 7945 break; 7946 case sstUse: 7947 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 7948 if (lcnextsolidtoken != null){ 7949 if (lcnextsolidtoken.toString().equalsIgnoreCase("database")){ 7950 ret = new TUseDatabase(pdbvendor); 7951 }else if (lcnextsolidtoken.toString().equalsIgnoreCase("role")){ 7952 ret = new TUseRole(pdbvendor); 7953 }else if (lcnextsolidtoken.toString().equalsIgnoreCase("warehouse")){ 7954 ret = new TUseWarehouse(pdbvendor); 7955 }else{ 7956 ret = new TUseSchema(pdbvendor); 7957 } 7958 7959 }else{ 7960 ret = new TUnknownSqlStatement(pdbvendor); 7961 ret.sqlstatementtype = gnewsqlstatementtype; 7962 } 7963 break; 7964 case sstExecute: 7965 { 7966 ret = new TExecuteSqlStatement(pdbvendor); 7967 break; 7968 } 7969 case sstAlterTask: 7970 ret = new TAlterTaskStmt(pdbvendor); 7971 break; 7972 case sstCreateTask: 7973 ret = new TCreateTaskStmt(pdbvendor); 7974 break; 7975 case sstAlterMaterializedView: 7976 ret = new TAlterMaterializedViewStmt(pdbvendor); 7977 break; 7978 case sstDropMaterializedView: 7979 ret = new TDropMaterializedViewStmt(pdbvendor); 7980 break; 7981 case sstdropprocedure: 7982 ret = new TDropProcedureStmt(pdbvendor); 7983 break; 7984 case sstUseSecondaryRoles: 7985 ret = new TUseSecondaryRolesStmt(pdbvendor); 7986 break; 7987 case sstDropStreamlit: 7988 ret = new TDropStmt(pdbvendor); 7989 break; 7990 case sstDropStream: 7991 ret = new TDropStreamStmt(pdbvendor); 7992 break; 7993 default: 7994 { 7995 ret = new TUnknownSqlStatement(pdbvendor); 7996 ret.sqlstatementtype = gnewsqlstatementtype; 7997 break; 7998 } 7999 } // case 8000 8001 return ret; 8002} 8003 8004TCustomSqlStatement isgreenplum(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8005 TCustomSqlStatement ret = null; 8006 8007 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8008 8009 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8010 || (pcst.tokencode == TBaseType.cmtslashstar) 8011 || (pcst.tokencode == TBaseType.lexspace) 8012 || (pcst.tokencode == TBaseType.lexnewline) 8013 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8014 { 8015 return null; 8016 } 8017 8018 int lcpos = pcst.posinlist; 8019 TSourceTokenList lcsourcetokenlist = pcst.container; 8020 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8021 8022 //subquery after semicolon or at first line 8023 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8024 { 8025 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8026 if ( k >0 ) 8027 { 8028 ret = new TSelectSqlStatement(pdbvendor); 8029 } 8030 8031 return ret; 8032 } 8033 8034 //cte 8035 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8036 { 8037 ret = findcte(pcst,pdbvendor); 8038 if ( (ret != null) ) return ret; 8039 } 8040 8041 gnewsqlstatementtype = findgreenplumcmd(pcst); 8042 8043 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8044 switch (gnewsqlstatementtype) { // 8045 case sstinvalid: 8046 { 8047 ret = null; 8048 8049 if ( pstate == EFindSqlStateType.stnormal ) 8050 { 8051 if ( pcst.tokencode == TBaseType.label_begin ) 8052 { 8053 ret = new TCommonBlock(pdbvendor); 8054 gnewsqlstatementtype = ret.sqlstatementtype; 8055 } 8056 else if ( pcst.tokencode == TBaseType.rrw_declare ) 8057 { 8058 ret = new TCommonBlock(pdbvendor); 8059 gnewsqlstatementtype = ret.sqlstatementtype; 8060 } 8061 else if ( pcst.tokencode == TBaseType.rrw_begin ) 8062 { 8063 ret = new TCommonBlock(pdbvendor); 8064 gnewsqlstatementtype = ret.sqlstatementtype; 8065 } 8066 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 8067 { 8068 ret = new TPlsqlCreateProcedure(pdbvendor); 8069 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 8070 gnewsqlstatementtype = ret.sqlstatementtype; 8071 } 8072 else if ( pcst.tokencode == TBaseType.rrw_function ) 8073 { 8074 ret = new TPlsqlCreateFunction(pdbvendor); 8075 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 8076 gnewsqlstatementtype = ret.sqlstatementtype; 8077 } 8078 else if ( pcst.tokencode == TBaseType.rrw_package ) 8079 { 8080 ret = new TPlsqlCreatePackage(pdbvendor); 8081 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8082 gnewsqlstatementtype = ret.sqlstatementtype; 8083 } 8084 } 8085 break; 8086 } 8087 case sstselect: 8088 { 8089 boolean lcisnewsql = true; 8090 8091 if ( pstate != EFindSqlStateType.stnormal ) 8092 { 8093 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8094 if ( (lcprevsolidtoken != null) ) 8095 { 8096 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8097 lcisnewsql = false; //subqery 8098 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 8099 lcisnewsql = false; 8100 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 8101 lcisnewsql = false; 8102 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 8103 lcisnewsql = false; 8104 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 8105 lcisnewsql = false; 8106 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 8107 lcisnewsql = false; 8108 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 8109 { 8110 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 8111 lcisnewsql = false; 8112 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 8113 lcisnewsql = false; 8114 } 8115 8116 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 8117 { 8118 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 8119 if ( (lcpprevsolidtoken != null) ) 8120 { 8121 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 8122 lcisnewsql = false; 8123 } 8124 } 8125 8126 } 8127 8128 8129 if ( (lccurrentsqlstatement != null) ) 8130 { 8131 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 8132 lcisnewsql = false; 8133 } 8134 8135 } 8136 8137 if ( lcisnewsql ) 8138 ret = new TSelectSqlStatement(pdbvendor); 8139 8140 break; 8141 } 8142 case sstinsert: 8143 { 8144 boolean lcisnewsql = true; 8145 if ( pstate != EFindSqlStateType.stnormal ) 8146 { 8147 if ( (lccurrentsqlstatement != null) ) 8148 { 8149 8150 } 8151 } 8152 8153 if ( lcisnewsql ) 8154 ret = new TInsertSqlStatement(pdbvendor); 8155 8156 break; 8157 } 8158 case sstupdate: 8159 { 8160 boolean lcisnewsql = true; 8161 if ( pstate != EFindSqlStateType.stnormal ) 8162 { 8163 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8164 if ( (lcprevsolidtoken != null) ) 8165 { // 8166 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8167 lcisnewsql = false; 8168 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 8169 lcisnewsql = false; 8170 } 8171 8172 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8173 if ( (lcnextsolidtoken != null) ) 8174 { 8175 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8176 { 8177 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 8178 if ( k == 0 ) lcisnewsql = false; 8179 } 8180 } 8181 8182 8183 if ( (lccurrentsqlstatement != null) ) 8184 { 8185 } 8186 } 8187 8188 if ( lcisnewsql ) 8189 { 8190 ret = new TUpdateSqlStatement(pdbvendor); 8191 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 8192 } 8193 break; 8194 } 8195 case sstdelete: 8196 { 8197 boolean lcisnewsql = true; 8198 8199 if ( pstate != EFindSqlStateType.stnormal ) 8200 { 8201 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8202 if ( (lcprevsolidtoken != null) ) 8203 { 8204 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8205 lcisnewsql = false; 8206 } 8207 8208 if ( (lccurrentsqlstatement != null) ) 8209 { 8210 } 8211 } 8212 8213 if ( lcisnewsql ) 8214 ret = new TDeleteSqlStatement(pdbvendor); 8215 8216 break; 8217 } 8218 case sstmerge: 8219 { 8220 ret = new TMergeSqlStatement(pdbvendor); 8221 ret.sqlstatementtype = gnewsqlstatementtype; 8222 break; 8223 } 8224 case sstoraclecommit: 8225 { 8226 ret = new TUnknownSqlStatement(pdbvendor); 8227 ret.sqlstatementtype = gnewsqlstatementtype; 8228 break; 8229 } 8230 case sstoraclerollback: 8231 { 8232 ret = new TUnknownSqlStatement(pdbvendor); 8233 ret.sqlstatementtype = gnewsqlstatementtype; 8234 break; 8235 } 8236 case sstoraclesavepoint: 8237 { 8238 ret = new TUnknownSqlStatement(pdbvendor); 8239 ret.sqlstatementtype = gnewsqlstatementtype; 8240 break; 8241 } 8242 case sstoraclerevoke: 8243 { 8244 ret = new TUnknownSqlStatement(pdbvendor); 8245 ret.sqlstatementtype = gnewsqlstatementtype; 8246 break; 8247 } 8248 case sstoraclegrant: 8249 { 8250 ret = new TUnknownSqlStatement(pdbvendor); 8251 ret.sqlstatementtype = gnewsqlstatementtype; 8252 break; 8253 } 8254 case sstoracleanalyze: 8255 { 8256 ret = new TUnknownSqlStatement(pdbvendor); 8257 ret.sqlstatementtype = gnewsqlstatementtype; 8258 break; 8259 } 8260 case sstoracletruncate: 8261 { 8262 ret = new TUnknownSqlStatement(pdbvendor); 8263 ret.sqlstatementtype = gnewsqlstatementtype; 8264 break; 8265 } 8266 case sstcreatetable: 8267 case sstgreenplumCreateExternalTable: 8268 { 8269 ret = new TCreateTableSqlStatement(pdbvendor); 8270 break; 8271 } 8272 case sstoraclecreateview: 8273 { 8274 ret = new TCreateViewSqlStatement(pdbvendor); 8275 break; 8276 } 8277 case sstcreatematerializedview:{ 8278 ret = new TCreateMaterializedSqlStatement(pdbvendor); 8279 break; 8280 } 8281 case sstoraclecreateindex: 8282 { 8283 ret = new TCreateIndexSqlStatement(pdbvendor); 8284 break; 8285 } 8286 case sstoraclecreatedatabase: 8287 { 8288 ret = new TCreateDatabaseSqlStatement(pdbvendor); 8289 break; 8290 } 8291 case sstoracledroptable: 8292 { 8293 ret = new TDropTableSqlStatement(pdbvendor); 8294 break; 8295 } 8296 case sstoracledropview: 8297 { 8298 ret = new TDropViewSqlStatement(pdbvendor); 8299 break; 8300 } 8301 case sstoracledropindex: 8302 { 8303 ret = new TDropIndexSqlStatement(pdbvendor); 8304 break; 8305 } 8306 case sstaltertable: 8307 { 8308 ret = new TAlterTableStatement(pdbvendor); 8309 break; 8310 } 8311 case sstoraclealtersession: 8312 { 8313 ret = new TAlterSessionStatement(pdbvendor); 8314 break; 8315 } 8316 case sstplsql_createprocedure: 8317 { 8318 ret = new TPlsqlCreateProcedure(pdbvendor); 8319 ret.sqlstatementtype = gnewsqlstatementtype; 8320 // System.out.println(gnewsqlstatementtype); 8321 break; 8322 } 8323 case sstplsql_createfunction: 8324 { 8325 ret = new TPlsqlCreateFunction(pdbvendor); 8326 ret.sqlstatementtype = gnewsqlstatementtype; 8327 // System.out.println(gnewsqlstatementtype); 8328 break; 8329 } 8330 case sstplsql_createpackage: 8331 { 8332 ret = new TPlsqlCreatePackage(pdbvendor); 8333 ret.sqlstatementtype = gnewsqlstatementtype; 8334 // System.out.println(gnewsqlstatementtype); 8335 break; 8336 } 8337 case sstplsql_createtrigger: 8338 { 8339 ret = new TPlsqlCreateTrigger(pdbvendor); 8340 ret.sqlstatementtype = gnewsqlstatementtype; 8341 // System.out.println(gnewsqlstatementtype); 8342 break; 8343 } 8344 case sstplsql_execimmestmt: 8345 { 8346 ret = new TExecImmeStmt(pdbvendor); 8347 // ret.sqlstatementtype = gnewsqlstatementtype; 8348 // System.out.println(gnewsqlstatementtype); 8349 break; 8350 } 8351 case sstoraclecreatepackagebody: 8352 { 8353 ret = new TPlsqlCreatePackage(pdbvendor); 8354 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8355 break; 8356 } 8357 case sstplsql_createtype_placeholder: 8358 { 8359 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 8360 ret.sqlstatementtype = gnewsqlstatementtype; 8361 // System.out.println(gnewsqlstatementtype); 8362 break; 8363 } 8364 case sstplsql_createtypebody: 8365 { 8366 ret = new TPlsqlCreateTypeBody(pdbvendor); 8367 ret.sqlstatementtype = gnewsqlstatementtype; 8368 break; 8369 } 8370 case sstCommentOn: 8371 { 8372 ret = new TCommentOnSqlStmt(pdbvendor); 8373 break; 8374 } 8375 case sstoraclecreatesequence: 8376 { 8377 ret = new TCreateSequenceStmt(pdbvendor); 8378 break; 8379 } 8380 case sstoraclecreatesynonym: 8381 { 8382 ret = new TCreateSynonymStmt(pdbvendor); 8383 break; 8384 } 8385 case sstoraclecreatedirectory: 8386 { 8387 ret = new TOracleCreateDirectoryStmt(pdbvendor); 8388 break; 8389 } 8390 case sstpostgresqlCreateIndex: 8391 ret = new TCreateIndexSqlStatement(pdbvendor); 8392 break; 8393 case sstpostgresqlCreateView: 8394 ret = new TCreateViewSqlStatement(pdbvendor); 8395 break; 8396 case sstpostgresqlCreateFunction: 8397 ret = new TCreateFunctionStmt(pdbvendor); 8398 break; 8399 case sstcreatetrigger: 8400 ret = new TCreateTriggerStmt(pdbvendor); 8401 break; 8402 case sstpostgresqlMove: 8403 ret = new TMoveStmt(EDbVendor.dbvgreenplum); 8404 break; 8405 case sstpostgresqlTruncate: 8406 ret = new TTruncateStatement(EDbVendor.dbvgreenplum); 8407 break; 8408 case sstpostgresqlExecute: 8409 ret = new TExecuteSqlStatement(EDbVendor.dbvgreenplum); 8410 break; 8411 case sstValues: 8412 ret = new TSelectSqlStatement(EDbVendor.dbvgreenplum); 8413 break; 8414 case sstpostgresqlDeclare: { 8415 boolean lcisnewsql = true; 8416 8417 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos, 2, false); 8418 if ((lcnextsolidtoken != null)) { 8419 if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_CURSOR) { 8420 lcisnewsql = false; 8421 } 8422 } 8423 8424 8425 if (lcisnewsql) 8426 ret = new TCommonBlock(pdbvendor); 8427 else { 8428 ret = new TUnknownSqlStatement(pdbvendor); 8429 } 8430 ret.sqlstatementtype = gnewsqlstatementtype; 8431 8432 break; 8433 } 8434 case sstpostgresqlSet: 8435 ret = new TSetStmt(pdbvendor); 8436 break; 8437 case sstcreateExtension: 8438 ret = new TCreateExtensionStmt(pdbvendor); 8439 break; 8440 case sstcall: 8441 ret = new TCallStatement(pdbvendor); 8442 break; 8443 case sstpostgresqlCreateSchema: 8444 ret = new TCreateSchemaSqlStatement(pdbvendor); 8445 break; 8446 case sstpostgresqlDo: { 8447 boolean lcisnewsql = false; 8448 8449 if (pstate == EFindSqlStateType.stnormal) { 8450 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos, 1, false); 8451 if ((lcnextsolidtoken != null)) { 8452 if (lcnextsolidtoken.tokencode == TBaseType.rrw_greenplum_function_delimiter) 8453 lcisnewsql = true; 8454 } 8455 } 8456 8457 if (lcisnewsql) 8458 ret = new TDoExecuteBlockStmt(pdbvendor); 8459 8460 break; 8461 } 8462 case sstpostgresqlComment: 8463 ret = new TCommentOnSqlStmt(pdbvendor); 8464 break; 8465 default: 8466 { 8467 ret = new TUnknownSqlStatement(pdbvendor); 8468 ret.sqlstatementtype = gnewsqlstatementtype; 8469 break; 8470 } 8471 } // case 8472 8473 return ret; 8474 } 8475 8476TCustomSqlStatement isoraclesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8477 TCustomSqlStatement ret = null; 8478 8479 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8480 8481 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8482 || (pcst.tokencode == TBaseType.cmtslashstar) 8483 || (pcst.tokencode == TBaseType.lexspace) 8484 || (pcst.tokencode == TBaseType.lexnewline) 8485 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8486 { 8487 return null; 8488 } 8489 8490 int lcpos = pcst.posinlist; 8491 TSourceTokenList lcsourcetokenlist = pcst.container; 8492 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8493 8494 //subquery after semicolon or at first line 8495 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8496 { 8497 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8498 if ( k >0 ) 8499 { 8500 ret = new TSelectSqlStatement(pdbvendor); 8501 } 8502 8503 return ret; 8504 } 8505 8506 //cte 8507 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 8508 { 8509 ret = findcte(pcst,pdbvendor); 8510 if ( (ret != null) ) return ret; 8511 } 8512 8513 gnewsqlstatementtype = findoraclecmd(pcst); 8514 8515 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8516 switch (gnewsqlstatementtype) { // 8517 case sstinvalid: 8518 { 8519 ret = null; 8520 8521 if ( pstate == EFindSqlStateType.stnormal ) 8522 { 8523 if ( pcst.tokencode == TBaseType.label_begin ) 8524 { 8525 ret = new TCommonBlock(pdbvendor); 8526 gnewsqlstatementtype = ret.sqlstatementtype; 8527 } 8528 else if ( pcst.tokencode == TBaseType.rrw_declare ) 8529 { 8530 ret = new TCommonBlock(pdbvendor); 8531 gnewsqlstatementtype = ret.sqlstatementtype; 8532 } 8533 else if ( pcst.tokencode == TBaseType.rrw_begin ) 8534 { 8535 ret = new TCommonBlock(pdbvendor); 8536 gnewsqlstatementtype = ret.sqlstatementtype; 8537 } 8538 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 8539 { 8540 ret = new TPlsqlCreateProcedure(pdbvendor); 8541 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 8542 gnewsqlstatementtype = ret.sqlstatementtype; 8543 } 8544 else if ( pcst.tokencode == TBaseType.rrw_function ) 8545 { 8546 ret = new TPlsqlCreateFunction(pdbvendor); 8547 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 8548 gnewsqlstatementtype = ret.sqlstatementtype; 8549 } 8550 else if ( pcst.tokencode == TBaseType.rrw_package ) 8551 { 8552 ret = new TPlsqlCreatePackage(pdbvendor); 8553 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8554 gnewsqlstatementtype = ret.sqlstatementtype; 8555 } 8556 } 8557 break; 8558 } 8559 case sstselect: 8560 { 8561 boolean lcisnewsql = true; 8562 8563 if ( pstate != EFindSqlStateType.stnormal ) 8564 { 8565 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8566 if ( (lcprevsolidtoken != null) ) 8567 { 8568 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8569 lcisnewsql = false; //subquery 8570 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 8571 lcisnewsql = false; 8572 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 8573 lcisnewsql = false; 8574 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 8575 lcisnewsql = false; 8576 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 8577 lcisnewsql = false; 8578 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 8579 lcisnewsql = false; 8580 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 8581 { 8582 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 8583 lcisnewsql = false; 8584 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 8585 lcisnewsql = false; 8586 } 8587 8588 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 8589 { 8590 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 8591 if ( (lcpprevsolidtoken != null) ) 8592 { 8593 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 8594 lcisnewsql = false; 8595 } 8596 } 8597 8598 } 8599 8600 8601 if ( (lccurrentsqlstatement != null) ) 8602 { 8603 switch (lccurrentsqlstatement.sqlstatementtype){ 8604 case sstinsert: 8605 lcisnewsql = false; 8606 break; 8607 case sstcreatetable: 8608 case sstcreateview: 8609 lcisnewsql = false; 8610 break; 8611 } 8612 } 8613 8614 } 8615 8616 if ( lcisnewsql ) 8617 ret = new TSelectSqlStatement(pdbvendor); 8618 8619 break; 8620 } 8621 case sstinsert: 8622 { 8623 boolean lcisnewsql = true; 8624 if ( pstate != EFindSqlStateType.stnormal ) 8625 { 8626 if ( (lccurrentsqlstatement != null) ) 8627 { 8628 8629 } 8630 } 8631 8632 if ( lcisnewsql ) 8633 ret = new TInsertSqlStatement(pdbvendor); 8634 8635 break; 8636 } 8637 case sstupdate: 8638 { 8639 boolean lcisnewsql = true; 8640 if ( pstate != EFindSqlStateType.stnormal ) 8641 { 8642 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8643 if ( (lcprevsolidtoken != null) ) 8644 { // 8645 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8646 lcisnewsql = false; 8647 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 8648 lcisnewsql = false; 8649 } 8650 8651 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8652 if ( (lcnextsolidtoken != null) ) 8653 { 8654 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 8655 { 8656 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 8657 if ( k == 0 ) lcisnewsql = false; 8658 } 8659 } 8660 8661 8662 if ( (lccurrentsqlstatement != null) ) 8663 { 8664 } 8665 } 8666 8667 if ( lcisnewsql ) 8668 { 8669 ret = new TUpdateSqlStatement(pdbvendor); 8670 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 8671 } 8672 break; 8673 } 8674 case sstdelete: 8675 { 8676 boolean lcisnewsql = true; 8677 8678 if ( pstate != EFindSqlStateType.stnormal ) 8679 { 8680 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8681 if ( (lcprevsolidtoken != null) ) 8682 { 8683 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8684 lcisnewsql = false; 8685 } 8686 8687 if ( (lccurrentsqlstatement != null) ) 8688 { 8689 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 8690 if ( (lcnextsolidtoken != null) ){ 8691 if (lcnextsolidtoken.tokencode == TBaseType.rrw_oracle_rows){ 8692 lcisnewsql = false; 8693 } 8694 } 8695 } 8696 } 8697 8698 if ( lcisnewsql ) 8699 ret = new TDeleteSqlStatement(pdbvendor); 8700 8701 break; 8702 } 8703 case sstmerge: 8704 { 8705 ret = new TMergeSqlStatement(pdbvendor); 8706 ret.sqlstatementtype = gnewsqlstatementtype; 8707 break; 8708 } 8709 case sstoraclecommit: 8710 { 8711 8712 boolean lcisnewsql = true; 8713 if ( pstate != EFindSqlStateType.stnormal ) 8714 { 8715 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 8716 if ( (lcprevsolidtoken != null) ) 8717 { // 8718 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 8719 lcisnewsql = false; 8720 } 8721 } 8722 8723 if (lcisnewsql){ 8724 ret = new TCommitStmt(pdbvendor); 8725 ret.sqlstatementtype = gnewsqlstatementtype; 8726 } 8727 8728 break; 8729 } 8730 case sstoraclerollback: 8731 { 8732 ret = new TUnknownSqlStatement(pdbvendor); 8733 ret.sqlstatementtype = gnewsqlstatementtype; 8734 break; 8735 } 8736 case sstoraclesavepoint: 8737 { 8738 ret = new TUnknownSqlStatement(pdbvendor); 8739 ret.sqlstatementtype = gnewsqlstatementtype; 8740 break; 8741 } 8742 case sstoraclerevoke: 8743 { 8744 ret = new TUnknownSqlStatement(pdbvendor); 8745 ret.sqlstatementtype = gnewsqlstatementtype; 8746 break; 8747 } 8748 case sstoraclegrant: 8749 { 8750 ret = new TUnknownSqlStatement(pdbvendor); 8751 ret.sqlstatementtype = gnewsqlstatementtype; 8752 break; 8753 } 8754 case sstoracleanalyze: 8755 { 8756 ret = new TUnknownSqlStatement(pdbvendor); 8757 ret.sqlstatementtype = gnewsqlstatementtype; 8758 break; 8759 } 8760 case sstTruncate: 8761 { 8762 ret = new TTruncateStatement(pdbvendor); 8763 ret.sqlstatementtype = gnewsqlstatementtype; 8764 break; 8765 } 8766 case sstcreatetable: 8767 { 8768 ret = new TCreateTableSqlStatement(pdbvendor); 8769 break; 8770 } 8771 case sstoraclecreateview: 8772 { 8773 ret = new TCreateViewSqlStatement(pdbvendor); 8774 break; 8775 } 8776 case sstcreatematerializedview:{ 8777 ret = new TCreateMaterializedSqlStatement(pdbvendor); 8778 break; 8779 } 8780 case sstoraclecreatematerializedviewlog:{ 8781 ret = new TCreateMaterializedViewLogSqlStatement(pdbvendor); 8782 break; 8783 } 8784 case sstoraclecreateindex: 8785 { 8786 ret = new TCreateIndexSqlStatement(pdbvendor); 8787 break; 8788 } 8789 case sstoraclecreatedatabase: 8790 { 8791 ret = new TCreateDatabaseSqlStatement(pdbvendor); 8792 break; 8793 } 8794 case sstoracledroptable: 8795 { 8796 ret = new TDropTableSqlStatement(pdbvendor); 8797 break; 8798 } 8799 case sstoracledropview: 8800 { 8801 ret = new TDropViewSqlStatement(pdbvendor); 8802 break; 8803 } 8804 case sstoracledropindex: 8805 { 8806 ret = new TDropIndexSqlStatement(pdbvendor); 8807 break; 8808 } 8809 case sstaltertable: 8810 { 8811 ret = new TAlterTableStatement(pdbvendor); 8812 break; 8813 } 8814 case sstoraclealtersession: 8815 { 8816 ret = new TAlterSessionStatement(pdbvendor); 8817 break; 8818 } 8819 case sstplsql_createprocedure: 8820 { 8821 ret = new TPlsqlCreateProcedure(pdbvendor); 8822 ret.sqlstatementtype = gnewsqlstatementtype; 8823 // System.out.println(gnewsqlstatementtype); 8824 break; 8825 } 8826 case sstplsql_createfunction: 8827 { 8828 ret = new TPlsqlCreateFunction(pdbvendor); 8829 ret.sqlstatementtype = gnewsqlstatementtype; 8830 // System.out.println(gnewsqlstatementtype); 8831 break; 8832 } 8833 case sstplsql_createpackage: 8834 { 8835 ret = new TPlsqlCreatePackage(pdbvendor); 8836 ret.sqlstatementtype = gnewsqlstatementtype; 8837 // System.out.println(gnewsqlstatementtype); 8838 break; 8839 } 8840 case sstplsql_createtrigger: 8841 { 8842 ret = new TPlsqlCreateTrigger(pdbvendor); 8843 ret.sqlstatementtype = gnewsqlstatementtype; 8844 // System.out.println(gnewsqlstatementtype); 8845 break; 8846 } 8847 case sstplsql_execimmestmt: 8848 { 8849 ret = new TExecImmeStmt(pdbvendor); 8850 // ret.sqlstatementtype = gnewsqlstatementtype; 8851 // System.out.println(gnewsqlstatementtype); 8852 break; 8853 } 8854 case sstoraclecreatepackagebody: 8855 { 8856 ret = new TPlsqlCreatePackage(pdbvendor); 8857 ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 8858 break; 8859 } 8860 case sstplsql_createtype_placeholder: 8861 { 8862 ret = new TPlsqlCreateType_Placeholder(pdbvendor); 8863 ret.sqlstatementtype = gnewsqlstatementtype; 8864 // System.out.println(gnewsqlstatementtype); 8865 break; 8866 } 8867 case sstplsql_createtypebody: 8868 { 8869 ret = new TPlsqlCreateTypeBody(pdbvendor); 8870 ret.sqlstatementtype = gnewsqlstatementtype; 8871 break; 8872 } 8873 case sstCommentOn: 8874 { 8875 ret = new TCommentOnSqlStmt(pdbvendor); 8876 break; 8877 } 8878 case sstoraclecreatesequence: 8879 { 8880 ret = new TCreateSequenceStmt(pdbvendor); 8881 break; 8882 } 8883 case sstoraclecreatesynonym: 8884 { 8885 ret = new TCreateSynonymStmt(pdbvendor); 8886 break; 8887 } 8888 case sstoraclecreatedirectory: 8889 { 8890 ret = new TOracleCreateDirectoryStmt(pdbvendor); 8891 break; 8892 } 8893 case sstoracleexecuteprocedure: 8894 { 8895 ret = new TOracleExecuteProcedure(pdbvendor); 8896 break; 8897 } 8898 case sstExplain: 8899 { 8900 ret = new TExplainPlan(pdbvendor); 8901 break; 8902 } 8903 case sstoraclecreatelibrary: 8904 ret = new TOracleCreateLibraryStmt(pdbvendor); 8905 break; 8906 case sstaltertrigger: 8907 ret = new TAlterTriggerStmt(pdbvendor); 8908 break; 8909 case sstoracledropsequence: 8910 ret = new TDropSequenceStmt(pdbvendor); 8911 break; 8912 case sstoraclecall: 8913 ret = new TCallStatement(pdbvendor); 8914 break; 8915 case sstoraclealterview: 8916 ret = new TAlterViewStatement(pdbvendor); 8917 break; 8918 case sstoracledropsynonym: 8919 ret = new TDropSynonymStmt(pdbvendor); 8920 break; 8921 case sstoracledropdatabaselink: 8922 ret = new TDropDatabaseLinkStmt(pdbvendor); 8923 break; 8924 case sstoraclecreatedatabaselink: 8925 ret = new TCreateDatabaseLinkStmt(pdbvendor); 8926 break; 8927 case sstoracledropmaterializedview: 8928 ret = new TDropMaterializedViewStmt(pdbvendor); 8929 break; 8930 case sstoracledropmaterializedviewlog: 8931 ret = new TDropMaterializedViewLogStmt(pdbvendor); 8932 break; 8933 case sstoraclerename: 8934 ret = new TRenameStmt(pdbvendor); 8935 break; 8936 case sstoracledropprocedure: 8937 ret = new TDropProcedureStmt(pdbvendor); 8938 break; 8939 case sstAlterMaterializedView: 8940 ret = new TAlterMaterializedViewStmt(pdbvendor); 8941 break; 8942 case sstoracledroptrigger: 8943 ret = new TDropTriggerSqlStatement(pdbvendor); 8944 break; 8945 case sstoracledropfunction: 8946 ret = new TDropFunctionStmt(pdbvendor); 8947 break; 8948 case sstoraclealterindex: 8949 ret = new TAlterIndexStmt(pdbvendor); 8950 break; 8951 case sstoraclealtersequence: 8952 ret = new TAlterSequenceStatement(pdbvendor); 8953 break; 8954 case sstoraclealtertype: 8955 ret = new TAlterTypeStatement(pdbvendor); 8956 break; 8957 default: 8958 { 8959 ret = new TUnknownSqlStatement(pdbvendor); 8960 ret.sqlstatementtype = gnewsqlstatementtype; 8961 break; 8962 } 8963 } // case 8964 8965 return ret; 8966} 8967 8968TCustomSqlStatement isinformixsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 8969 TCustomSqlStatement ret = null; 8970 8971 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 8972 8973 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 8974 || (pcst.tokencode == TBaseType.cmtslashstar) 8975 || (pcst.tokencode == TBaseType.lexspace) 8976 || (pcst.tokencode == TBaseType.lexnewline) 8977 || (pcst.tokentype == ETokenType.ttsemicolon) ) 8978 { 8979 return null; 8980 } 8981 8982 int lcpos = pcst.posinlist; 8983 TSourceTokenList lcsourcetokenlist = pcst.container; 8984 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 8985 8986 //subquery after semicolon or at first line 8987 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 8988 { 8989 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 8990 if ( k >0 ) 8991 { 8992 ret = new TSelectSqlStatement(pdbvendor); 8993 } 8994 8995 return ret; 8996 } 8997 8998 //cte 8999 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 9000 { 9001 ret = findcte(pcst,pdbvendor); 9002 if ( (ret != null) ) return ret; 9003 } 9004 9005 gnewsqlstatementtype = findinformixcmd(pcst); 9006 9007 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9008 switch (gnewsqlstatementtype) { // 9009 case sstinvalid: 9010 { 9011 ret = null; 9012 9013 if ( pstate == EFindSqlStateType.stnormal ) 9014 { 9015 if ( pcst.tokencode == TBaseType.label_begin ) 9016 { 9017 ret = new TCommonBlock(pdbvendor); 9018 gnewsqlstatementtype = ret.sqlstatementtype; 9019 } 9020 else if ( pcst.tokencode == TBaseType.rrw_declare ) 9021 { 9022 ret = new TCommonBlock(pdbvendor); 9023 gnewsqlstatementtype = ret.sqlstatementtype; 9024 } 9025 else if ( pcst.tokencode == TBaseType.rrw_begin ) 9026 { 9027 ret = new TCommonBlock(pdbvendor); 9028 gnewsqlstatementtype = ret.sqlstatementtype; 9029 } 9030 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 9031 { 9032 ret = new TPlsqlCreateProcedure(pdbvendor); 9033 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 9034 gnewsqlstatementtype = ret.sqlstatementtype; 9035 } 9036 else if ( pcst.tokencode == TBaseType.rrw_function ) 9037 { 9038 ret = new TPlsqlCreateFunction(pdbvendor); 9039 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 9040 gnewsqlstatementtype = ret.sqlstatementtype; 9041 } 9042 else if ( pcst.tokencode == TBaseType.rrw_package ) 9043 { 9044 ret = new TPlsqlCreatePackage(pdbvendor); 9045 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 9046 gnewsqlstatementtype = ret.sqlstatementtype; 9047 } 9048 } 9049 break; 9050 } 9051 case sstselect: 9052 { 9053 boolean lcisnewsql = true; 9054 9055 if ( pstate != EFindSqlStateType.stnormal ) 9056 { 9057 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9058 if ( (lcprevsolidtoken != null) ) 9059 { 9060 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9061 lcisnewsql = false; //subqery 9062 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 9063 lcisnewsql = false; 9064 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 9065 lcisnewsql = false; 9066 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 9067 lcisnewsql = false; 9068 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 9069 lcisnewsql = false; 9070 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 9071 lcisnewsql = false; 9072 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 9073 { 9074 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 9075 lcisnewsql = false; 9076 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 9077 lcisnewsql = false; 9078 } 9079 9080 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 9081 { 9082 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 9083 if ( (lcpprevsolidtoken != null) ) 9084 { 9085 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 9086 lcisnewsql = false; 9087 } 9088 } 9089 9090 } 9091 9092 9093 if ( (lccurrentsqlstatement != null) ) 9094 { 9095 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 9096 lcisnewsql = false; 9097 } 9098 9099 } 9100 9101 if ( lcisnewsql ) 9102 ret = new TSelectSqlStatement(pdbvendor); 9103 9104 break; 9105 } 9106 case sstinsert: 9107 { 9108 boolean lcisnewsql = true; 9109 if ( pstate != EFindSqlStateType.stnormal ) 9110 { 9111 if ( (lccurrentsqlstatement != null) ) 9112 { 9113 // merge 9114 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9115 { 9116 if (lcprevsolidtoken != null) 9117 { 9118 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9119 {lcisnewsql = false;} 9120 } 9121 } 9122 9123 } 9124 } 9125 9126 if ( lcisnewsql ) 9127 ret = new TInsertSqlStatement(pdbvendor); 9128 9129 break; 9130 } 9131 case sstupdate: 9132 { 9133 boolean lcisnewsql = true; 9134 if ( pstate != EFindSqlStateType.stnormal ) 9135 { 9136 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9137 if ( (lcprevsolidtoken != null) ) 9138 { // 9139 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9140 lcisnewsql = false; 9141 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9142 lcisnewsql = false; 9143 } 9144 9145 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 9146 if ( (lcnextsolidtoken != null) ) 9147 { 9148 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9149 { 9150 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 9151 if ( k == 0 ) lcisnewsql = false; 9152 } 9153 } 9154 9155 9156 if ( (lccurrentsqlstatement != null) ) 9157 { 9158 // merge 9159 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9160 { 9161 if (lcprevsolidtoken != null) 9162 { 9163 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9164 {lcisnewsql = false;} 9165 } 9166 } 9167 } 9168 } 9169 9170 if ( lcisnewsql ) 9171 { 9172 ret = new TUpdateSqlStatement(pdbvendor); 9173 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 9174 } 9175 break; 9176 } 9177 case sstdelete: 9178 { 9179 boolean lcisnewsql = true; 9180 9181 if ( pstate != EFindSqlStateType.stnormal ) 9182 { 9183 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9184 if ( (lcprevsolidtoken != null) ) 9185 { 9186 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9187 lcisnewsql = false; 9188 } 9189 9190 if ( (lccurrentsqlstatement != null) ) 9191 { 9192 // merge 9193 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9194 { 9195 if (lcprevsolidtoken != null) 9196 { 9197 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9198 {lcisnewsql = false;} 9199 } 9200 } 9201 } 9202 } 9203 9204 if ( lcisnewsql ) 9205 ret = new TDeleteSqlStatement(pdbvendor); 9206 9207 break; 9208 } 9209 case sstmerge: 9210 { 9211 ret = new TMergeSqlStatement(pdbvendor); 9212 ret.sqlstatementtype = gnewsqlstatementtype; 9213 break; 9214 } 9215 case sstinformixCommit: 9216 { 9217 ret = new TUnknownSqlStatement(pdbvendor); 9218 ret.sqlstatementtype = gnewsqlstatementtype; 9219 break; 9220 } 9221 case sstinformixSavepoint: 9222 { 9223 ret = new TUnknownSqlStatement(pdbvendor); 9224 ret.sqlstatementtype = gnewsqlstatementtype; 9225 break; 9226 } 9227 case sstinformixRevoke: 9228 { 9229 ret = new TUnknownSqlStatement(pdbvendor); 9230 ret.sqlstatementtype = gnewsqlstatementtype; 9231 break; 9232 } 9233 case sstinformixGrant: 9234 { 9235 ret = new TUnknownSqlStatement(pdbvendor); 9236 ret.sqlstatementtype = gnewsqlstatementtype; 9237 break; 9238 } 9239 case sstTruncate: 9240 { 9241 ret = new TTruncateStatement(pdbvendor); 9242 ret.sqlstatementtype = gnewsqlstatementtype; 9243 break; 9244 } 9245 case sstcreatetable: 9246 case sstinformixCreateTempTable: 9247 { 9248 ret = new TCreateTableSqlStatement(pdbvendor); 9249 break; 9250 } 9251 case sstinformixCreateView: 9252 { 9253 ret = new TCreateViewSqlStatement(pdbvendor); 9254 break; 9255 } 9256 case sstinformixCreateIndex: 9257 { 9258 ret = new TCreateIndexSqlStatement(pdbvendor); 9259 break; 9260 } 9261 case sstinformixCreateDatabase: 9262 { 9263 ret = new TCreateDatabaseSqlStatement(pdbvendor); 9264 break; 9265 } 9266 case sstinformixDropTable: 9267 { 9268 ret = new TDropTableSqlStatement(pdbvendor); 9269 break; 9270 } 9271 case sstinformixDropView: 9272 { 9273 ret = new TDropViewSqlStatement(pdbvendor); 9274 break; 9275 } 9276 case sstinformixDropIndex: 9277 { 9278 ret = new TDropIndexSqlStatement(pdbvendor); 9279 break; 9280 } 9281 case sstinformixDropRowType: 9282 { 9283 ret = new TInformixDropRowTypeStmt(pdbvendor); 9284 break; 9285 } 9286 case sstinformixDropSequence: 9287 { 9288 ret = new TDropSequenceStmt(pdbvendor); 9289 break; 9290 } 9291 case sstinformixDropSynonym: 9292 { 9293 ret = new TDropSynonymStmt(pdbvendor); 9294 break; 9295 } 9296 case sstinformixAlterTable: 9297 { 9298 ret = new TAlterTableStatement(pdbvendor); 9299 break; 9300 } 9301 case sstinformixCreateProcedure: 9302 { 9303 ret = new TInformixCreateProcedure(pdbvendor); 9304 ret.sqlstatementtype = gnewsqlstatementtype; 9305 break; 9306 } 9307 case sstinformixCreateFunction: 9308 { 9309 ret = new TInformixCreateFunction(pdbvendor); 9310 ret.sqlstatementtype = gnewsqlstatementtype; 9311 break; 9312 } 9313 case sstcreatetrigger: 9314 { 9315 ret = new TCreateTriggerStmt(pdbvendor); 9316 break; 9317 } 9318 case sstinformixExecuteImmediate: 9319 { 9320 ret = new TInformixExecuteImmediate(pdbvendor); 9321 break; 9322 } 9323 case sstinformixCreateSequence: 9324 case sstinformixAlterSequence: 9325 { 9326 ret = new TCreateSequenceStmt(pdbvendor); 9327 break; 9328 } 9329 case sstinformixCreateSynonym: 9330 { 9331 ret = new TCreateSynonymStmt(pdbvendor); 9332 break; 9333 } 9334 case sstinformixExecuteFunction: 9335 { 9336 ret = new TInformixExecuteFunction(pdbvendor); 9337 break; 9338 } 9339 case sstinformixExecuteProcedure: 9340 { 9341 ret = new TInformixExecuteProcedure(pdbvendor); 9342 break; 9343 } 9344 case sstinformixCreateRowType: 9345 { 9346 ret = new TInformixCreateRowTypeStmt(pdbvendor); 9347 break; 9348 } 9349 case sstinformixPut: 9350 case sstinformixInfo: 9351 { 9352 ret = null; 9353 9354 if ( pstate == EFindSqlStateType.stnormal ) 9355 { 9356 ret = new TUnknownSqlStatement(pdbvendor); 9357 ret.sqlstatementtype = gnewsqlstatementtype; 9358 } 9359 break; 9360 } 9361 case sstinformixAlterIndex: 9362 { 9363 ret = new TAlterIndexStmt(pdbvendor); 9364 break; 9365 } 9366 case sstinformixRenameColumn: 9367 case sstinformixRenameTable: 9368 case sstinformixRenameSequence: 9369 case sstinformixRenameIndex: 9370 { 9371 ret = new TRenameStmt(pdbvendor); 9372 break; 9373 } 9374 case sstdropdatabase: 9375 ret = new TDropDatabaseStmt(pdbvendor); 9376 break; 9377 case sstinformixRollbackWork: 9378 { 9379 ret = new TMssqlRollback(pdbvendor); 9380 break; 9381 } 9382 default: 9383 { 9384 ret = new TUnknownSqlStatement(pdbvendor); 9385 ret.sqlstatementtype = gnewsqlstatementtype; 9386 break; 9387 } 9388 } // case 9389 9390 return ret; 9391} 9392 9393 9394 TCustomSqlStatement issybasesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 9395 TCustomSqlStatement ret = null; 9396 int k; 9397 boolean lcisnewsql; 9398 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 9399 9400 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 9401 9402 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 9403 || (pcst.tokencode == TBaseType.cmtslashstar) 9404 || (pcst.tokencode == TBaseType.lexspace) 9405 || (pcst.tokencode == TBaseType.lexnewline) 9406 || (pcst.tokentype == ETokenType.ttsemicolon) ) 9407 { 9408 return ret; 9409 } 9410 9411 int lcpos = pcst.posinlist; 9412 TSourceTokenList lcsourcetokenlist = pcst.container; 9413 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 9414 9415 //subquery after semicolon || at first line 9416 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 9417 { 9418 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 9419 if ( k >0 ) 9420 { 9421 ret = new TSelectSqlStatement(pdbvendor); 9422 } 9423 9424 return ret; 9425 } 9426 9427 //cte 9428 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 9429 { 9430 ret = findcte(pcst,pdbvendor); 9431 if ( (ret != null) ) return ret; 9432 } 9433 9434 gnewsqlstatementtype = findsybasecmd(pcst); 9435 9436 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9437 switch(gnewsqlstatementtype ) { // 9438 case sstinvalid: 9439 { 9440 if ( pcst.tokencode == TBaseType.mslabel ) 9441 { 9442 ret = new TMssqlLabel(pdbvendor); 9443 } 9444 else 9445 ret = null; 9446 9447 break; 9448 } 9449 case sstselect: 9450 { 9451 lcisnewsql = true; 9452 9453 if ( pstate != EFindSqlStateType.stnormal ) 9454 { 9455 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9456 if ( (lcprevsolidtoken != null) ) 9457 { 9458 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9459 lcisnewsql = false; //subqery 9460 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 9461 lcisnewsql = false; 9462 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 9463 lcisnewsql = false; 9464 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 9465 lcisnewsql = false; 9466 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 9467 lcisnewsql = false; 9468 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 9469 lcisnewsql = false; 9470 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 9471 { 9472 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 9473 lcisnewsql = false; 9474 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 9475 lcisnewsql = false; 9476 } 9477 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9478 { 9479 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 9480 lcisnewsql = false; 9481 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare ) 9482 lcisnewsql = false; 9483 } 9484 9485 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 9486 { 9487 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 9488 if ( (lcpprevsolidtoken != null) ) 9489 { 9490 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 9491 lcisnewsql = false; 9492 } 9493 } 9494 9495 } 9496 9497 if ( (lccurrentsqlstatement != null) ) 9498 { 9499 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 9500 { 9501 } 9502 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9503 { 9504 if ( (lcprevsolidtoken != null) ) 9505 { 9506 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9507 lcisnewsql = false; 9508 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9509 lcisnewsql = false; 9510 } 9511 } else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9512 { 9513 if ( (lcprevsolidtoken != null) ) 9514 { 9515 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9516 lcisnewsql = false; 9517 } 9518 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 9519 lcisnewsql = false; 9520 } 9521 } 9522 9523 } 9524 9525 if ( lcisnewsql ) 9526 ret = new TSelectSqlStatement(pdbvendor); 9527 9528 break; 9529 9530 } 9531 case sstinsert: 9532 { 9533 lcisnewsql = true; 9534 if ( pstate != EFindSqlStateType.stnormal ) 9535 { 9536 if ( (lccurrentsqlstatement != null) ) 9537 { 9538 // merge 9539 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9540 { 9541 if (lcprevsolidtoken != null) 9542 { 9543 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9544 {lcisnewsql = false;} 9545 } 9546 } 9547 9548 // bulk insert 9549 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert ) 9550 { 9551 if ( (lcprevsolidtoken != null) ) 9552 { 9553 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_bulk ) 9554 lcisnewsql = false; 9555 } 9556 } 9557 9558 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9559 { 9560 if ( (lcprevsolidtoken != null) ) 9561 { 9562 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9563 lcisnewsql = false; 9564 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9565 lcisnewsql = false; 9566 } 9567 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) { 9568 if ( (lcprevsolidtoken != null) ) 9569 { 9570 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9571 lcisnewsql = false; 9572 } 9573 } 9574 9575 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9576 { 9577 if ( (lcprevsolidtoken != null) ) 9578 { 9579 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9580 lcisnewsql = false; 9581 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9582 lcisnewsql = false; 9583 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 9584 lcisnewsql = false; 9585 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 9586 lcisnewsql = false; 9587 } 9588 } 9589 9590 9591 } 9592 } 9593 9594 if ( lcisnewsql ) 9595 { 9596 ret = new TInsertSqlStatement(pdbvendor); 9597 ret.dummytag = 1; // select stmt in insert is permitted 9598 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 9599 { 9600 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 9601 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 9602 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 9603 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 9604 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 9605 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 9606 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 9607 } // for ( 9608 if ( k > lcsourcetokenlist.size() - 1 ) 9609 k = lcsourcetokenlist.size() - 1; 9610 9611 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 9612 { 9613 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 9614 } // for ( 9615 9616 } 9617 9618 break; 9619 } 9620 case sstsybaseInsertBulk: 9621 { 9622 ret = new TInsertBulk(pdbvendor); 9623 break; 9624 } 9625 case sstupdate: 9626 { 9627 lcisnewsql = true; 9628 if ( pstate != EFindSqlStateType.stnormal ) 9629 { 9630 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9631 if ( (lcprevsolidtoken != null) ) 9632 { // 9633 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9634 lcisnewsql = false; 9635 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9636 lcisnewsql = false; 9637 } 9638 9639 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 9640 if ( TBaseType.assigned(lcnextsolidtoken) ) 9641 { 9642 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 9643 { 9644 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 9645 if ( k == 0 ) lcisnewsql = false; 9646 } 9647 } 9648 9649 9650 if ( TBaseType.assigned(lccurrentsqlstatement) ) 9651 { 9652 // merge 9653 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9654 { 9655 if (lcprevsolidtoken != null) 9656 { 9657 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9658 {lcisnewsql = false;} 9659 } 9660 } 9661 9662 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9663 { 9664 if ( TBaseType.assigned(lcprevsolidtoken) ) 9665 { 9666 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9667 lcisnewsql = false; 9668 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9669 lcisnewsql = false; 9670 } 9671 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9672 { 9673 if ( TBaseType.assigned(lcprevsolidtoken) ) 9674 { 9675 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9676 lcisnewsql = false; 9677 } 9678 } 9679 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9680 { 9681 if ( TBaseType.assigned(lcprevsolidtoken) ) 9682 { 9683 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9684 lcisnewsql = false; 9685 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9686 lcisnewsql = false; 9687 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 9688 lcisnewsql = false; 9689 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 9690 lcisnewsql = false; 9691 } 9692 } 9693 9694 } 9695 } 9696 9697 if ( lcisnewsql ) 9698 { 9699 ret = new TUpdateSqlStatement(pdbvendor); 9700 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 9701 } 9702 9703 break; 9704 } 9705 case sstdelete: 9706 { 9707 lcisnewsql = true; 9708 9709 if ( pstate != EFindSqlStateType.stnormal ) 9710 { 9711 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 9712 if ( TBaseType.assigned(lcprevsolidtoken) ) 9713 { 9714 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 9715 lcisnewsql = false; 9716 } 9717 9718 if ( TBaseType.assigned(lccurrentsqlstatement) ) 9719 { 9720 // merge 9721 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 9722 { 9723 if (lcprevsolidtoken != null) 9724 { 9725 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 9726 {lcisnewsql = false;} 9727 } 9728 } 9729 9730 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 9731 { 9732 if ( TBaseType.assigned(lcprevsolidtoken) ) 9733 { 9734 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 9735 lcisnewsql = false; 9736 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9737 lcisnewsql = false; 9738 } 9739 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ) 9740 { 9741 if ( TBaseType.assigned(lcprevsolidtoken) ) 9742 { 9743 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 9744 lcisnewsql = false; 9745 } 9746 } 9747 9748 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 9749 { 9750 if ( TBaseType.assigned(lcprevsolidtoken) ) 9751 { 9752 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 9753 lcisnewsql = false; 9754 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 9755 lcisnewsql = false; 9756 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 9757 lcisnewsql = false; 9758 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 9759 lcisnewsql = false; 9760 } 9761 } 9762 9763 } 9764 } 9765 9766 if ( lcisnewsql ) 9767 ret = new TDeleteSqlStatement(pdbvendor); 9768 9769 break; 9770 } 9771 case sstcreatetable: 9772 { 9773 ret = new TCreateTableSqlStatement(pdbvendor); 9774 break; 9775 } 9776 case sstcreateview: 9777 { 9778 ret = new TCreateViewSqlStatement(pdbvendor); 9779 break; 9780 } 9781 case sstaltertable: 9782 { 9783 ret = new TAlterTableStatement(pdbvendor); 9784 break; 9785 } 9786 case sstmssqlfetch: 9787 { 9788 ret = new TMssqlFetch(pdbvendor); 9789 break; 9790 } 9791 case sstmssqlif : 9792 { 9793 lcisnewsql = true; 9794 if ((lccurrentsqlstatement != null) && ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldropprocedure )) 9795 {lcisnewsql = false;} 9796 if (lcisnewsql){ 9797 ret = new TMssqlIfElse(pdbvendor); 9798 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 9799 } 9800 9801 break; 9802 } 9803 case sstmssqlwhile: 9804 { 9805 ret = new TMssqlIfElse(pdbvendor); 9806 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 9807 break; 9808 } 9809 case sstmssqlcreateprocedure : 9810 case sstmssqlalterprocedure: 9811 { 9812 ret = new TMssqlCreateProcedure(pdbvendor); 9813 break; 9814 } 9815 case sstmssqlcreatefunction : 9816 case sstmssqlalterfunction: 9817 { 9818 ret = new TMssqlCreateFunction(pdbvendor); 9819 break; 9820 } 9821 case sstcreatetrigger : 9822 case sstmssqlaltertrigger: 9823 { 9824 ret = new TCreateTriggerStmt(pdbvendor); 9825 break; 9826 } 9827 case sstmssqlreturn: 9828 { 9829 ret = new TMssqlReturn(pdbvendor); 9830 break; 9831 } 9832 case sstmssqlprint: 9833 { 9834 ret = new TMssqlPrint(pdbvendor); 9835 break; 9836 } 9837 case sstmssqluse: 9838 { 9839 ret = new TUseDatabase(pdbvendor); 9840 break; 9841 } 9842 case sstmssqlgo: 9843 { 9844 ret = new TMssqlGo(pdbvendor); 9845 break; 9846 } 9847 case sstmssqlrevert: 9848 { 9849 ret = new TMssqlRevert(pdbvendor); 9850 break; 9851 } 9852 case sstmssqlgrant: 9853 { 9854 lcisnewsql = true; 9855 // prev tokentext can't be with 9856 if ( pstate != EFindSqlStateType.stnormal ) 9857 { 9858 if ( TBaseType.assigned(lcprevsolidtoken) ) 9859 { 9860 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 9861 { 9862 ret = null; 9863 lcisnewsql = false; 9864 } 9865 } 9866 } 9867 if ( lcisnewsql ) 9868 { 9869 ret = new TGrantStmt(pdbvendor); 9870 //ret.sqlstatementtype = gnewsqlstatementtype; 9871 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 9872 { 9873 lctoken = lcsourcetokenlist.get(k); 9874 if (lctoken.isnonsolidtoken() ) continue; 9875 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 9876 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 9877 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 9878 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 9879 } 9880 } 9881 break; 9882 } 9883 case sstmssqldeclare: 9884 { 9885 ret = new TMssqlDeclare(pdbvendor); 9886 break; 9887 } 9888 case sstmssqlcontinue: 9889 { 9890 lcisnewsql = true; 9891 if ((lccurrentsqlstatement != null) && ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstload )) 9892 {lcisnewsql = false;} 9893 if (lcisnewsql){ 9894 ret = new TMssqlContinue(pdbvendor); 9895 } 9896 9897 break; 9898 } 9899 case sstbreak: 9900 { 9901 ret = new TBreakStmt(pdbvendor); 9902 break; 9903 } 9904 case sstmssqlopen: 9905 { 9906 ret = new TMssqlOpen(pdbvendor); 9907 break; 9908 } 9909 case sstmssqlclose: 9910 { 9911 ret = new TMssqlClose(pdbvendor); 9912 break; 9913 } 9914 case sstmssqlbulkinsert: 9915 { 9916 ret = new TMssqlBulkInsert(pdbvendor); 9917 break; 9918 } 9919 case sstmssqldeallocate: 9920 { 9921 ret = new TMssqlDeallocate(pdbvendor); 9922 break; 9923 } 9924 case sstmssqlraiserror: 9925 { 9926 ret = new TMssqlRaiserror(pdbvendor); 9927 break; 9928 } 9929 case sstmssqlgoto: 9930 { 9931 ret = new TMssqlGoTo(pdbvendor); 9932 break; 9933 } 9934 case sstmssqldropview: 9935 { 9936 ret = new TDropViewSqlStatement(pdbvendor); 9937 break; 9938 } 9939 case sstmssqldroptable: 9940 { 9941 ret = new TDropTableSqlStatement(pdbvendor); 9942 break; 9943 } 9944 case sstmssqldropindex: 9945 { 9946 ret = new TDropIndexSqlStatement(pdbvendor); 9947 break; 9948 } 9949 case sstmssqldroppartitionscheme : 9950 ret = new TDropPartitionSchemeStmt(pdbvendor); 9951 break; 9952 9953 case sstmssqldropaggregate : 9954 case sstmssqldropapplicationrole : 9955 case sstmssqldropassembly : 9956 case sstmssqldropasymmetrickey : 9957 case sstmssqldropcertificate : 9958 case sstmssqldropcontract : 9959 case sstmssqldropcredential : 9960 case sstmssqldropdefault : 9961 case sstmssqldropendpoint : 9962 case sstmssqldropeventnotification : 9963 case sstmssqldropfulltextcatalog : 9964 case sstmssqldropfulltextindex : 9965 case sstmssqldropfunction : 9966 case sstmssqldroplogin : 9967 case sstmssqldropmasterkey : 9968 case sstmssqldropmessagetype : 9969 case sstmssqldroppartitionfunction : 9970 case sstmssqldropprocedure : 9971 case sstmssqldropqueue : 9972 case sstmssqldropremoteservicebinding : 9973 case sstmssqldroprole : 9974 case sstmssqldroproute : 9975 case sstmssqldroprule : 9976 case sstmssqldropschema : 9977 case sstmssqldropservice : 9978 case sstmssqldropsignature: 9979 case sstmssqldropstatistics : 9980 case sstmssqldropsymmetrickey : 9981 case sstmssqldroptrigger : 9982 case sstmssqldroptype : 9983 case sstmssqldropuser : 9984 case sstmssqldropxmlschemacollection: 9985 case sstmssqldropdatabase : 9986 { 9987 ret = new TMssqlDropDbObject(EDbVendor.dbvsybase); 9988 ret.sqlstatementtype = gnewsqlstatementtype; 9989 break; 9990 } 9991 case sstmssqldropsynonym : 9992 { 9993 ret = new TDropSynonymStmt(pdbvendor); 9994 break; 9995 } 9996 case sstmssqltruncatetable: 9997 { 9998 ret = new TTruncateStatement(pdbvendor); 9999 break; 10000 } 10001 case sstmssqlbegintran: 10002 { 10003 ret = new TBeginTran(pdbvendor); 10004 break; 10005 } 10006 case sstmssqlsavetran: 10007 { 10008 ret = new TMssqlSaveTran(pdbvendor); 10009 break; 10010 } 10011 case sstmssqlcommit: 10012 { 10013 lcisnewsql = true; 10014 10015 if ( TBaseType.assigned(lcprevsolidtoken) ) 10016 { 10017 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10018 { 10019 10020 lcisnewsql = false; 10021 } 10022 } 10023 10024 if (lcisnewsql){ 10025 ret = new TMssqlCommit(pdbvendor); 10026 } 10027 10028 break; 10029 } 10030 case sstmssqlrollback: 10031 { 10032 ret = new TMssqlRollback(pdbvendor); 10033 break; 10034 } 10035 case sstmssqlreadtext : 10036 case sstmssqldbcc : 10037 case sstmssqlrestore : 10038 case sstmssqlbackup : 10039 { 10040 ret = new TMssqlDummyStmt(pdbvendor); 10041 ret.sqlstatementtype = gnewsqlstatementtype; 10042 break; 10043 } 10044 case sstcreateindex: 10045 { 10046 ret = new TCreateIndexSqlStatement(pdbvendor); 10047 break; 10048 } 10049 case sstmssqlwaitfor: 10050 { 10051 ret = new TMssqlWaitFor(pdbvendor); 10052 break; 10053 } 10054 case sstmerge: 10055 { 10056 lcisnewsql = true; 10057 10058 if (pstate != EFindSqlStateType.stnormal) 10059 { 10060 10061 if (lccurrentsqlstatement != null) 10062 { 10063 // merge union, merge join 10064 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 10065 { 10066 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10067 if (lcnextsolidtoken != null) 10068 { 10069 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 10070 { 10071 lcisnewsql = false; 10072 } 10073 } 10074 } 10075 10076 } 10077 10078 TSourceToken lcnexttoken = lcsourcetokenlist.nextsolidtoken(lcpos, 1, false); 10079 if ( (lcnexttoken != null) ) 10080 { 10081 if ( lcnexttoken.tokencode == TBaseType.rrw_sybase_partition ) 10082 lcisnewsql = false; 10083 } 10084 10085 } 10086 10087 if (lcisnewsql) 10088 { 10089 ret = new TMergeSqlStatement(pdbvendor); 10090 ret.sqlstatementtype = gnewsqlstatementtype; 10091 } 10092 10093 break; 10094 } 10095 case sstmssqlbegintry : 10096 case sstmssqlbegincatch: 10097 { 10098 ret = new TMssqlBlock(pdbvendor); 10099 ret.sqlstatementtype = gnewsqlstatementtype; 10100 break; 10101 } 10102 case sstmssqlexec: 10103 { 10104 lcisnewsql = true; 10105 // prev tokentext can't be with 10106 if ( pstate != EFindSqlStateType.stnormal ) 10107 { 10108 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10109 { 10110 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 10111 { 10112 if ( lccurrentsqlstatement.dummytag == 1 ) 10113 { 10114 lcisnewsql = false; 10115 lccurrentsqlstatement.dummytag = 0; // no select is permited after it 10116 } 10117 } 10118 10119 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10120 { 10121 if ( TBaseType.assigned(lcprevsolidtoken) ) 10122 { 10123 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10124 lcisnewsql = false; 10125 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10126 lcisnewsql = false; 10127 } 10128 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke ){ 10129 if ( TBaseType.assigned(lcprevsolidtoken) ) 10130 { 10131 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_revoke ) 10132 lcisnewsql = false; 10133 } 10134 } 10135 10136 10137 10138 if ( 10139 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 10140 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 10141 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 10142 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 10143 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 10144 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 10145 ) 10146 { 10147 if ( TBaseType.assigned(lcprevsolidtoken) ) 10148 { 10149 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10150 lcisnewsql = false; 10151 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10152 lcisnewsql = false; 10153 } 10154 } 10155 } 10156 } 10157 if ( lcisnewsql ) 10158 { 10159 ret = new TMssqlExecute(pdbvendor); 10160 } 10161 break; 10162 } 10163 case sstmssqlexecuteas: 10164 { 10165 lcisnewsql = true; 10166 // prev tokentext can't be with 10167 if ( pstate != EFindSqlStateType.stnormal ) 10168 { 10169 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10170 { 10171 if ( 10172 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 10173 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 10174 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 10175 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 10176 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 10177 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 10178 ) 10179 { 10180 if ( TBaseType.assigned(lcprevsolidtoken) ) 10181 { 10182 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10183 lcisnewsql = false; 10184 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10185 lcisnewsql = false; 10186 } 10187 } 10188 } 10189 } 10190 if ( lcisnewsql ) 10191 { 10192 ret = new TMssqlExecuteAs(pdbvendor); 10193 ret.sqlstatementtype = gnewsqlstatementtype; 10194 } 10195 break; 10196 } 10197 case sstmssqlset: 10198 { 10199 lcisnewsql = true; 10200 if ( pstate != EFindSqlStateType.stnormal ) 10201 { 10202 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10203 { 10204 10205 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif) 10206 { 10207 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_update,"",pcst,-10); 10208 if (TBaseType.assigned(lcPPToken)) 10209 { 10210 lcisnewsql = false; 10211 } 10212 } 10213 10214 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10215 { 10216 if (lcprevsolidtoken != null) 10217 { 10218 if (lcprevsolidtoken.tokencode == TBaseType.rrw_update){ 10219 lcisnewsql = false;} 10220 } 10221 } 10222 10223 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupdate ) 10224 { 10225 if ( lccurrentsqlstatement.dummytag == 1 ) 10226 { 10227 //update statement still find set clause yet, so this is setclause in update statement 10228 lccurrentsqlstatement.dummytag = 0; 10229 lcisnewsql = false; 10230 } 10231 } 10232 } 10233 10234 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10235 if ( TBaseType.assigned(lcnextsolidtoken) ) 10236 { //set null, set default 10237 if ( (TBaseType.mycomparetext(lcnextsolidtoken.astext,"null")==0) 10238 || (TBaseType.mycomparetext(lcnextsolidtoken.astext, "default")==0) ) 10239 { 10240 lcisnewsql = false; 10241 } 10242 } 10243 10244 } 10245 10246 if ( lcisnewsql ) 10247 { 10248 ret = new TMssqlSet(pdbvendor); 10249 } 10250 10251 break; 10252 } 10253 case sstmssqlupdatetext: 10254 { 10255 ret = new TMssqlUpdateText(pdbvendor); 10256 break; 10257 } 10258 case sstmssqlendconversation: 10259 { 10260 ret = new TMssqlEndConversation(pdbvendor); 10261 break; 10262 } 10263 case sstmssqlbegindialog: 10264 { 10265 ret = new TMssqlBeginDialog(pdbvendor); 10266 break; 10267 } 10268 case sstmssqlsendonconversation: 10269 { 10270 ret = new TMssqlSendOnConversation(pdbvendor); 10271 break; 10272 } 10273 case sstmssqldisabletrigger : 10274 case sstmssqlenabletrigger: 10275 { 10276 lcisnewsql = true; 10277 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10278 { 10279 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 10280 lcisnewsql = false; 10281 } 10282 10283 if ( lcisnewsql ) 10284 { 10285 ret = new TDisableEnableTriggerStmt(pdbvendor); 10286 ret.sqlstatementtype = gnewsqlstatementtype; 10287 } 10288 break; 10289 } 10290 case sstsybaseWritetext: 10291 { 10292 ret = new TSybaseWritetext(pdbvendor); 10293 break; 10294 } 10295 case sstsybaseDeleteStatistics: 10296 { 10297 ret = new TSybaseDeleteStatistics(pdbvendor); 10298 break; 10299 } 10300 case sstcall: 10301 { 10302 ret = new TCallStatement(pdbvendor); 10303 break; 10304 } 10305 default: 10306 { 10307 ret = new TUnknownSqlStatement(pdbvendor); 10308 ret.sqlstatementtype = gnewsqlstatementtype; 10309 break; 10310 } 10311 } // case 10312 10313 return ret; 10314 } 10315 10316 TCustomSqlStatement ismssqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 10317 TCustomSqlStatement ret = null; 10318 int k; 10319 boolean lcisnewsql; 10320 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 10321 10322 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 10323 10324 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 10325 || (pcst.tokencode == TBaseType.cmtslashstar) 10326 || (pcst.tokencode == TBaseType.lexspace) 10327 || (pcst.tokencode == TBaseType.lexnewline) 10328 || (pcst.tokentype == ETokenType.ttsemicolon) ) 10329 { 10330 return ret; 10331 } 10332 10333 int lcpos = pcst.posinlist; 10334 TSourceTokenList lcsourcetokenlist = pcst.container; 10335 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 10336 10337 //subquery after semicolon or at first line 10338 if ( pcst.tokentype == ETokenType.ttleftparenthesis) // ( 10339 { 10340 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 10341 if ( k >0 ) 10342 { 10343 if (pstate == EFindSqlStateType.stnormal){ 10344 ret = new TSelectSqlStatement(pdbvendor); 10345 return ret; 10346 } 10347// if (((lccurrentsqlstatement != null) )&&(lccurrentsqlstatement.sqlstatementtype != ESqlStatementType.sstselect)&&(lcsourcetokenlist.returnbeforecurtoken(true))){ 10348// ret = new TSelectSqlStatement(pdbvendor); 10349// return ret; 10350// } 10351 } 10352 } 10353 10354 //cte 10355 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 10356 { 10357 ret = findcte(pcst,pdbvendor); 10358 if ( (ret != null) ) return ret; 10359 } 10360 10361 if ( (lccurrentsqlstatement != null) && (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 10362 && (pcst.tokencode == TBaseType.rrw_with) ) 10363 { 10364 TSourceToken lcPrevToken = pcst.prevSolidToken(); 10365 if ((lcPrevToken != null) && (lcPrevToken.tokencode == TBaseType.rrw_as)) 10366 { // mantisbt/view.php?id=3900, create table with as select, ignore tokens from with to select (including the select token) 10367 ret = findcte(pcst,pdbvendor); 10368 if ( (ret != null) ) { 10369 ret = null; 10370 } 10371 } 10372 } 10373 10374 //odbc 10375 if ( (pstate == EFindSqlStateType.stnormal) && ((pcst.tokencode == '{')||(pcst.tokencode == TBaseType.odbc_esc_prefix)) && (pcst.getLinkToken() != null) ) 10376 { 10377 ret = new TCallStatement(pdbvendor); 10378 return ret; 10379 } 10380 10381 gnewsqlstatementtype = findmssqlcmd(pcst); 10382 10383 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10384 switch(gnewsqlstatementtype ) { // 10385 case sstinvalid: 10386 { 10387 if ( pcst.tokencode == TBaseType.mslabel ) 10388 { 10389 ret = new TMssqlLabel(pdbvendor); 10390 } 10391 else 10392 ret = null; 10393 10394 break; 10395 } 10396 case sstselect: 10397 { 10398 lcisnewsql = true; 10399 10400 if ( pstate != EFindSqlStateType.stnormal ) 10401 { 10402 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10403 if ( (lcprevsolidtoken != null) ) 10404 { 10405 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 10406 lcisnewsql = false; //subqery 10407 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 10408 lcisnewsql = false; 10409 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 10410 lcisnewsql = false; 10411 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 10412 lcisnewsql = false; 10413 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 10414 lcisnewsql = false; 10415 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 10416 lcisnewsql = false; 10417 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 10418 { 10419 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 10420 lcisnewsql = false; 10421 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 10422 lcisnewsql = false; 10423 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterview ) 10424 lcisnewsql = false; 10425 } 10426 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10427 { 10428 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 10429 lcisnewsql = false; 10430 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare ) 10431 lcisnewsql = false; 10432 } 10433 10434 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 10435 { 10436 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 10437 if ( (lcpprevsolidtoken != null) ) 10438 { 10439 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 10440 lcisnewsql = false; 10441 } 10442 } 10443 10444 } 10445 10446 if ( (lccurrentsqlstatement != null) ) 10447 { 10448 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 10449 { 10450 } 10451 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10452 { 10453 if ( (lcprevsolidtoken != null) ) 10454 { 10455 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10456 lcisnewsql = false; 10457 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10458 lcisnewsql = false; 10459 } 10460 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 10461 lcisnewsql = false; 10462 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatematerializedview ){ 10463 lcisnewsql = false; 10464 } 10465 } 10466 10467 } 10468 10469 if ( lcisnewsql ) 10470 ret = new TSelectSqlStatement(pdbvendor); 10471 10472 break; 10473 10474 } 10475 case sstinsert: 10476 { 10477 lcisnewsql = true; 10478 if ( pstate != EFindSqlStateType.stnormal ) 10479 { 10480 if ( (lccurrentsqlstatement != null) ) 10481 { 10482 // merge 10483 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10484 { 10485 if (lcprevsolidtoken != null) 10486 { 10487 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10488 {lcisnewsql = false;} 10489 } 10490 } 10491 10492 // bulk insert 10493 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert ) 10494 { 10495 if ( (lcprevsolidtoken != null) ) 10496 { 10497 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_bulk ) 10498 lcisnewsql = false; 10499 } 10500 } 10501 10502 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10503 { 10504 if ( (lcprevsolidtoken != null) ) 10505 { 10506 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10507 lcisnewsql = false; 10508 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10509 lcisnewsql = false; 10510 } 10511 } 10512 10513 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10514 { 10515 if ( (lcprevsolidtoken != null) ) 10516 { 10517 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10518 lcisnewsql = false; 10519 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10520 lcisnewsql = false; 10521 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 10522 lcisnewsql = false; 10523 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 10524 lcisnewsql = false; 10525 } 10526 } 10527 10528 10529 } 10530 } 10531 10532 if ( lcisnewsql ) 10533 { 10534 ret = new TInsertSqlStatement(pdbvendor); 10535 ret.dummytag = 1; // select stmt in insert is permitted 10536 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 10537 { 10538 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 10539 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 10540 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 10541 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 10542 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ){ 10543 ret.dummytag = 0; 10544 break; 10545 } 10546 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 10547 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 10548 } // for ( 10549 if ( k > lcsourcetokenlist.size() - 1 ) 10550 k = lcsourcetokenlist.size() - 1; 10551 10552 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 10553 { 10554 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10555 } // for ( 10556 10557 } 10558 10559 break; 10560 } 10561 case sstupdate: 10562 { 10563 lcisnewsql = true; 10564 if ( pstate != EFindSqlStateType.stnormal ) 10565 { 10566 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10567 if ( (lcprevsolidtoken != null) ) 10568 { // 10569 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10570 lcisnewsql = false; 10571 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10572 lcisnewsql = false; 10573 } 10574 10575 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10576 if ( TBaseType.assigned(lcnextsolidtoken) ) 10577 { 10578 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 10579 { 10580 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 10581 if ( k == 0 ) lcisnewsql = false; 10582 } 10583 } 10584 10585 10586 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10587 { 10588 // merge 10589 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10590 { 10591 if (lcprevsolidtoken != null) 10592 { 10593 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10594 {lcisnewsql = false;} 10595 } 10596 } 10597 10598 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10599 { 10600 if ( TBaseType.assigned(lcprevsolidtoken) ) 10601 { 10602 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10603 lcisnewsql = false; 10604 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10605 lcisnewsql = false; 10606 } 10607 } 10608 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10609 { 10610 if ( TBaseType.assigned(lcprevsolidtoken) ) 10611 { 10612 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10613 lcisnewsql = false; 10614 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10615 lcisnewsql = false; 10616 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 10617 lcisnewsql = false; 10618 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 10619 lcisnewsql = false; 10620 } 10621 } 10622 10623 } 10624 } 10625 10626 if ( lcisnewsql ) 10627 { 10628 ret = new TUpdateSqlStatement(pdbvendor); 10629 ret.dummytag = 1; // means set clause in update is not found yet, used to separate set clause from set statement 10630 } 10631 10632 break; 10633 } 10634 case sstdelete: 10635 { 10636 lcisnewsql = true; 10637 10638 if ( pstate != EFindSqlStateType.stnormal ) 10639 { 10640 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 10641 if ( TBaseType.assigned(lcprevsolidtoken) ) 10642 { 10643 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 10644 lcisnewsql = false; 10645 } 10646 10647 if ( TBaseType.assigned(lccurrentsqlstatement) ) 10648 { 10649 // merge 10650 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 10651 { 10652 if (lcprevsolidtoken != null) 10653 { 10654 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 10655 {lcisnewsql = false;} 10656 } 10657 } 10658 10659 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 10660 { 10661 if ( TBaseType.assigned(lcprevsolidtoken) ) 10662 { 10663 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 10664 lcisnewsql = false; 10665 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10666 lcisnewsql = false; 10667 } 10668 } 10669 10670 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 10671 { 10672 if ( TBaseType.assigned(lcprevsolidtoken) ) 10673 { 10674 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 10675 lcisnewsql = false; 10676 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 10677 lcisnewsql = false; 10678 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 10679 lcisnewsql = false; 10680 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 10681 lcisnewsql = false; 10682 } 10683 } 10684 10685 } 10686 } 10687 10688 if ( lcisnewsql ) 10689 ret = new TDeleteSqlStatement(pdbvendor); 10690 10691 break; 10692 } 10693 case sstcreatetable: 10694 { 10695 lcisnewsql = true; 10696 if ( pstate != EFindSqlStateType.stnormal ) { 10697 10698 if (TBaseType.assigned(lccurrentsqlstatement)) { 10699 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10700 ) 10701 { 10702 lcisnewsql = false; 10703 } 10704 } 10705 } 10706 10707 if (lcisnewsql) { 10708 ret = new TCreateTableSqlStatement(pdbvendor); 10709 10710 } 10711 break; 10712 } 10713 case sstcreateview: 10714 { 10715 10716 lcisnewsql = true; 10717 if ( pstate != EFindSqlStateType.stnormal ) { 10718 10719 if (TBaseType.assigned(lccurrentsqlstatement)) { 10720 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10721 ) 10722 { 10723 lcisnewsql = false; 10724 } 10725 } 10726 } 10727 if (lcisnewsql) { 10728 ret = new TCreateViewSqlStatement(pdbvendor); 10729 } 10730 break; 10731 } 10732 case sstcreatesequence: 10733 { 10734 ret = new TCreateSequenceStmt(pdbvendor); 10735 break; 10736 } 10737 case sstaltertable: 10738 { 10739 ret = new TAlterTableStatement(pdbvendor); 10740 break; 10741 } 10742 case sstmssqlfetch: 10743 { 10744 ret = new TMssqlFetch(pdbvendor); 10745 break; 10746 } 10747 case sstmssqlif : 10748 { 10749 lcisnewsql = true; 10750 if ( pstate != EFindSqlStateType.stnormal ) { 10751 10752 if (TBaseType.assigned(lccurrentsqlstatement)) { 10753 // merge 10754 if ( 10755 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropprocedure) 10756 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropdatabase) 10757 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropfunction) 10758 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlDropSecurityPolicy) 10759 ) 10760 { 10761 lcisnewsql = false; 10762 }else if ( (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdroptable) 10763 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropindex) 10764 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 10765 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropsynonym) 10766 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropview) 10767 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstdropsequence) 10768 ){ 10769 // DROP TABLE IF EXISTS T1; 10770 TSourceToken st = lcsourcetokenlist.solidtokenbefore(lcpos); 10771 if ((st.tokencode == TBaseType.rrw_table)||(st.tokencode == TBaseType.rrw_index) 10772 ||(st.tokencode == TBaseType.rrw_sqlserver_synonym)||(st.tokencode == TBaseType.rrw_view) 10773 ||(st.tokencode == TBaseType.rrw_sqlserver_sequence) 10774 ){ 10775 lcisnewsql = false; 10776 } 10777 }else if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable)){ 10778 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 10779 if (lcnextsolidtoken != null){ 10780 if (lcnextsolidtoken.tokencode == TBaseType.rrw_sqlserver_exists){ 10781 lcisnewsql = false; 10782 } 10783 } 10784 } 10785 } 10786 } 10787 10788 10789 if (lcisnewsql) { 10790 ret = new TMssqlIfElse(pdbvendor); 10791 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 10792 } 10793 break; 10794 } 10795 case sstmssqlwhile: 10796 { 10797 ret = new TMssqlIfElse(pdbvendor); 10798 ret.dummytag = 1;// reduce to 0 while stmt find in 'if ( condtion stmt' || 'else stmt' 10799 break; 10800 } 10801 case sstmssqlcreateprocedure : 10802 case sstmssqlalterprocedure: 10803 { 10804 ret = new TMssqlCreateProcedure(pdbvendor); 10805 break; 10806 } 10807 case sstmssqlcreatefunction : 10808 case sstmssqlalterfunction: 10809 { 10810 ret = new TMssqlCreateFunction(pdbvendor); 10811 break; 10812 } 10813 case sstcreatetrigger : 10814 case sstmssqlaltertrigger: 10815 { 10816 ret = new TCreateTriggerStmt(pdbvendor); //TMssqlCreateTrigger(pdbvendor); 10817 break; 10818 } 10819 case sstmssqlreturn: 10820 { 10821 ret = new TMssqlReturn(pdbvendor); 10822 break; 10823 } 10824 case sstmssqlprint: 10825 { 10826 if (pdbvendor == EDbVendor.dbvodbc){ 10827 10828 }else if (pdbvendor == EDbVendor.dbvmssql){ 10829 ret = new TMssqlPrint(pdbvendor); 10830 } 10831 10832 break; 10833 } 10834 case sstmssqluse: 10835 { 10836 ret = new TUseDatabase(pdbvendor); 10837 break; 10838 } 10839 case sstmssqlgo: 10840 { 10841 ret = new TMssqlGo(pdbvendor); 10842 break; 10843 } 10844 case sstmssqlrevert: 10845 { 10846 lcisnewsql = true; 10847 // prev tokentext can't be with 10848 if ( pstate != EFindSqlStateType.stnormal ) { 10849 if (TBaseType.assigned(lcprevsolidtoken)) { 10850 if (lcprevsolidtoken.toString().equalsIgnoreCase("no")) { 10851 ret = null; 10852 lcisnewsql = false; 10853 } 10854 } 10855 } 10856 if (lcisnewsql){ 10857 ret = new TMssqlRevert(pdbvendor); 10858 } 10859 10860 break; 10861 } 10862 case sstmssqlgrant: 10863 { 10864 lcisnewsql = true; 10865 // prev tokentext can't be with 10866 if ( pstate != EFindSqlStateType.stnormal ) 10867 { 10868 if ( TBaseType.assigned(lcprevsolidtoken) ) 10869 { 10870 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 10871 { 10872 ret = null; 10873 lcisnewsql = false; 10874 } 10875 } 10876 10877 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10878 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10879 ) 10880 { 10881 lcisnewsql = false; 10882 } 10883 } 10884 } 10885 if ( lcisnewsql ) 10886 { 10887 ret = new TGrantStmt(pdbvendor); 10888 //ret.sqlstatementtype = gnewsqlstatementtype; 10889 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10890 { 10891 lctoken = lcsourcetokenlist.get(k); 10892 if (lctoken.isnonsolidtoken() ) continue; 10893 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10894 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10895 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10896 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10897 } 10898 } 10899 break; 10900 } 10901 case sstmssqlrevoke:{ 10902 lcisnewsql = true; 10903 if ( pstate != EFindSqlStateType.stnormal ) 10904 { 10905 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10906 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10907 ) 10908 { 10909 lcisnewsql = false; 10910 } 10911 } 10912 } 10913 if ( lcisnewsql ) 10914 { 10915 ret = new TRevokeStmt(pdbvendor); 10916 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10917 { 10918 lctoken = lcsourcetokenlist.get(k); 10919 if (lctoken.isnonsolidtoken() ) continue; 10920 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10921 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10922 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10923 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10924 } 10925 } 10926 break; 10927 10928 } 10929 case sstmssqldeny: 10930 { 10931 lcisnewsql = true; 10932 if ( pstate != EFindSqlStateType.stnormal ) 10933 { 10934 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 10935 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema) 10936 ) 10937 { 10938 lcisnewsql = false; 10939 } 10940 } 10941 } 10942 if ( lcisnewsql ) 10943 { 10944 ret = new TDenyStmt(pdbvendor); 10945 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 10946 { 10947 lctoken = lcsourcetokenlist.get(k); 10948 if (lctoken.isnonsolidtoken() ) continue; 10949 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 10950 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 10951 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 10952 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 10953 } 10954 } 10955 break; 10956 } 10957 case sstmssqldeclare: 10958 { 10959 ret = new TMssqlDeclare(pdbvendor); 10960 break; 10961 } 10962 case sstmssqlcontinue: 10963 { 10964 ret = new TMssqlContinue(pdbvendor); 10965 break; 10966 } 10967 case sstbreak: 10968 { 10969 ret = new TBreakStmt(pdbvendor); 10970 break; 10971 } 10972 case sstmssqlopen: 10973 { 10974 ret = new TMssqlOpen(pdbvendor); 10975 break; 10976 } 10977 case sstmssqlclose: 10978 { 10979 ret = new TMssqlClose(pdbvendor); 10980 break; 10981 } 10982 case sstmssqlbulkinsert: 10983 { 10984 ret = new TMssqlBulkInsert(pdbvendor); 10985 break; 10986 } 10987 case sstmssqldeallocate: 10988 { 10989 ret = new TMssqlDeallocate(pdbvendor); 10990 break; 10991 } 10992 case sstmssqlraiserror: 10993 { 10994 ret = new TMssqlRaiserror(pdbvendor); 10995 break; 10996 } 10997 case sstmssqlgoto: 10998 { 10999 ret = new TMssqlGoTo(pdbvendor); 11000 break; 11001 } 11002 case sstmssqldropview: 11003 { 11004 ret = new TDropViewSqlStatement(pdbvendor); 11005 break; 11006 } 11007 case sstmssqldroptable: 11008 { 11009 ret = new TDropTableSqlStatement(pdbvendor); 11010 break; 11011 } 11012 case sstmssqldropindex: 11013 { 11014 ret = new TDropIndexSqlStatement(pdbvendor); 11015 break; 11016 } 11017 case sstmssqldroppartitionscheme : 11018 ret = new TDropPartitionSchemeStmt(pdbvendor); 11019 break; 11020 case sstmssqldropaggregate : 11021 case sstmssqldropapplicationrole : 11022 case sstmssqldropassembly : 11023 case sstmssqldropasymmetrickey : 11024 case sstmssqldropcertificate : 11025 case sstmssqldropcontract : 11026 case sstmssqldropcredential : 11027 case sstmssqldropdefault : 11028 case sstmssqldropendpoint : 11029 case sstmssqldropeventnotification : 11030 case sstmssqldropfulltextcatalog : 11031 case sstmssqldropfulltextindex : 11032 case sstmssqldroplogin : 11033 case sstmssqldropmasterkey : 11034 case sstmssqldropmessagetype : 11035 case sstmssqldroppartitionfunction : 11036 case sstmssqldropqueue : 11037 case sstmssqldropremoteservicebinding : 11038 case sstmssqldroprole : 11039 case sstmssqldroproute : 11040 case sstmssqldroprule : 11041 case sstmssqldropservice : 11042 case sstmssqldropsignature: 11043 case sstmssqldropstatistics : 11044 case sstmssqldropsymmetrickey : 11045 case sstmssqldroptrigger : 11046 case sstmssqldroptype : 11047 case sstmssqldropuser : 11048 case sstmssqldropxmlschemacollection: 11049 case sstmssqldropeventsession: 11050 { 11051 ret = new TMssqlDropDbObject(EDbVendor.dbvmssql); 11052 ret.sqlstatementtype = gnewsqlstatementtype; 11053 break; 11054 } 11055 case sstmssqldropsynonym : 11056 { 11057 ret = new TDropSynonymStmt(pdbvendor); 11058 break; 11059 } 11060 case sstmssqldropprocedure : 11061 { 11062 ret = new TDropProcedureStmt(EDbVendor.dbvmssql); 11063 break; 11064 } 11065 case sstmssqldropdatabase : 11066 { 11067 ret = new TDropDatabaseStmt(EDbVendor.dbvmssql); 11068 break; 11069 } 11070 case sstmssqldropschema : 11071 { 11072 ret = new TDropSchemaSqlStatement(EDbVendor.dbvmssql); 11073 break; 11074 } 11075 case sstmssqltruncatetable: 11076 { 11077 ret = new TTruncateStatement(pdbvendor); 11078 break; 11079 } 11080 case sstmssqlbegintran: 11081 { 11082 ret = new TBeginTran(pdbvendor); 11083 break; 11084 } 11085 case sstmssqlsavetran: 11086 { 11087 if (pdbvendor == EDbVendor.dbvodbc){ 11088 11089 }else if (pdbvendor == EDbVendor.dbvmssql) { 11090 ret = new TMssqlSaveTran(pdbvendor); 11091 } 11092 break; 11093 } 11094 case sstmssqlcommit: 11095 { 11096 ret = new TMssqlCommit(pdbvendor); 11097 break; 11098 } 11099 case sstmssqlrollback: 11100 { 11101 ret = new TMssqlRollback(pdbvendor); 11102 break; 11103 } 11104 case sstmssqlreadtext : 11105 case sstmssqldbcc : 11106 case sstmssqlrestore : 11107 case sstmssqlbackup : 11108 { 11109 ret = new TMssqlDummyStmt(pdbvendor); 11110 ret.sqlstatementtype = gnewsqlstatementtype; 11111 break; 11112 } 11113 11114 case sstmssqlreceive: 11115 { 11116 lcisnewsql = true; 11117 if ( pstate != EFindSqlStateType.stnormal ) 11118 { 11119 if((lcisnewsql)&&(TBaseType.assigned(lccurrentsqlstatement))) { 11120 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11121 ) 11122 { 11123 lcisnewsql = false; 11124 } 11125 } 11126 } 11127 if ( lcisnewsql ) 11128 { 11129 ret = new TMssqlDummyStmt(pdbvendor); 11130 ret.sqlstatementtype = gnewsqlstatementtype; 11131 } 11132 break; 11133 } 11134 case sstcreateindex: 11135 { 11136 ret = new TCreateIndexSqlStatement(pdbvendor); 11137 break; 11138 } 11139 case sstmssqlwaitfor: 11140 { 11141 ret = new TMssqlWaitFor(pdbvendor); 11142 break; 11143 } 11144 case sstmerge: 11145 { 11146 lcisnewsql = true; 11147 11148 if (pstate != EFindSqlStateType.stnormal) 11149 { 11150 11151 if (lccurrentsqlstatement != null) 11152 { 11153 // merge union, merge join 11154 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11155 { 11156 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11157 if (lcnextsolidtoken != null) 11158 { 11159 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 11160 { 11161 lcisnewsql = false; 11162 } 11163 } 11164 } 11165 11166// if ( TBaseType.assigned(lcprevsolidtoken) ) 11167// { 11168// if ( lcprevsolidtoken.tokencode == '(' ) 11169// lcisnewsql = false; 11170// } 11171 11172 } 11173 if (lcisnewsql){ 11174 TSourceToken nextSt = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11175 if (nextSt != null){ 11176 if (nextSt.tokencode == TBaseType.rrw_join){ 11177 lcisnewsql = false; 11178 } 11179 } 11180 } 11181 } 11182 11183 if (lcisnewsql) 11184 { 11185 ret = new TMergeSqlStatement(pdbvendor); 11186 ret.sqlstatementtype = gnewsqlstatementtype; 11187 } 11188 11189 break; 11190 } 11191 case sstmssqlbegintry : 11192 case sstmssqlbegincatch: 11193 { 11194 ret = new TMssqlBlock(pdbvendor); 11195 ret.sqlstatementtype = gnewsqlstatementtype; 11196 break; 11197 } 11198 case sstmssqlexec: 11199 { 11200 lcisnewsql = true; 11201 // prev tokentext can't be with 11202 if ( pstate != EFindSqlStateType.stnormal ) 11203 { 11204 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11205 { 11206 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 11207 { 11208 if ( lccurrentsqlstatement.dummytag == 1 ) 11209 { 11210 lcisnewsql = false; 11211 lccurrentsqlstatement.dummytag = 0; // no select is permitted after it 11212 } 11213 11214 TSourceToken valuesToken = pcst.searchToken(TBaseType.rrw_values,-pcst.posinlist); 11215 if (valuesToken != null){ 11216 // https://www.sqlparser.com/bugs/mantisbt/view.php?id=3153 11217 // INSERT INTO @tempTbl VALUES ('Test5') 11218 // 11219 //EXEC sp_execute @handle, 1 11220 // 如果 EXEC 在 insert 语句的 values 后面,则这个 EXEC 为独立的 sql 语句, 11221 // 而不是属于insert 语句 11222 TSourceToken insertToken = lccurrentsqlstatement.sourcetokenlist.get(0); 11223 if (valuesToken.posinlist > insertToken.posinlist){ 11224 lcisnewsql = true; 11225 } 11226 } 11227 } 11228 11229 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant ) 11230 { 11231 if ( TBaseType.assigned(lcprevsolidtoken) ) 11232 { 11233 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 11234 lcisnewsql = false; 11235 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11236 lcisnewsql = false; 11237 } 11238 } 11239 11240 if ( 11241 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 11242 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 11243 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 11244 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 11245 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 11246 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 11247 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatequeue) 11248 ) 11249 { 11250 if ( TBaseType.assigned(lcprevsolidtoken) ) 11251 { 11252 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11253 lcisnewsql = false; 11254 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11255 lcisnewsql = false; 11256 } 11257 } 11258 } 11259 } 11260 if ( lcisnewsql ) 11261 { 11262 ret = new TMssqlExecute(pdbvendor); 11263 } 11264 break; 11265 } 11266 case sstmssqlexecuteas: 11267 { 11268 lcisnewsql = true; 11269 // prev tokentext can't be with 11270 if ( pstate != EFindSqlStateType.stnormal ) 11271 { 11272 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11273 { 11274 if ( 11275 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure) 11276 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger) 11277 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction) 11278 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure) 11279 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger) 11280 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) 11281 ) 11282 { 11283 if ( TBaseType.assigned(lcprevsolidtoken) ) 11284 { 11285 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11286 lcisnewsql = false; 11287 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11288 lcisnewsql = false; 11289 } 11290 } 11291 } 11292 } 11293 if ( lcisnewsql ) 11294 { 11295 ret = new TMssqlExecuteAs(pdbvendor); 11296 ret.sqlstatementtype = gnewsqlstatementtype; 11297 } 11298 break; 11299 } 11300 case sstmssqlset: 11301 { 11302 lcisnewsql = true; 11303 if ( pstate != EFindSqlStateType.stnormal ) 11304 { 11305 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11306 { 11307 11308 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif) 11309 { 11310 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_update,"",pcst,-10); 11311 if (TBaseType.assigned(lcPPToken)) 11312 { 11313 lcisnewsql = false; 11314 } 11315 } 11316 11317 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterdatabase) 11318 { 11319 TSourceToken lcPPToken = lcsourcetokenlist.searchToken(TBaseType.rrw_alter,"",pcst,-10); 11320 if (TBaseType.assigned(lcPPToken)) 11321 { 11322 lcisnewsql = false; 11323 } 11324 } 11325 11326 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11327 { 11328 if (lcprevsolidtoken != null) 11329 { 11330 if (lcprevsolidtoken.tokencode == TBaseType.rrw_update){ 11331 lcisnewsql = false;} 11332 } 11333 } 11334 11335 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupdate ) 11336 { 11337 if ( lccurrentsqlstatement.dummytag == 1 ) 11338 { 11339 //update statement still find set clause yet, so this is set clause in update statement 11340 lccurrentsqlstatement.dummytag = 0; 11341 lcisnewsql = false; 11342 } 11343 } 11344 11345 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateeventsession ) 11346 { 11347 lcisnewsql = false; 11348 } 11349 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 11350 { 11351 lcisnewsql = false; 11352 } 11353 } 11354 11355 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11356 if ( TBaseType.assigned(lcnextsolidtoken) ) 11357 { //set null, set default 11358 if ( (TBaseType.mycomparetext(lcnextsolidtoken.astext,"null")==0) 11359 || (TBaseType.mycomparetext(lcnextsolidtoken.astext, "default")==0) ) 11360 { 11361 lcisnewsql = false; 11362 } 11363 } 11364 11365 } 11366 11367 if ( lcisnewsql ) 11368 { 11369 ret = new TMssqlSet(pdbvendor); 11370 } 11371 11372 break; 11373 } 11374 case sstmssqlsetrowcount: 11375 { 11376 ret = new TMssqlSetRowCount(pdbvendor); 11377 break; 11378 } 11379 case sstmssqlupdatetext: 11380 { 11381 ret = new TMssqlUpdateText(pdbvendor); 11382 break; 11383 } 11384 case sstmssqlendconversation: 11385 { 11386 ret = new TMssqlEndConversation(pdbvendor); 11387 break; 11388 } 11389 case sstmssqlbegindialog: 11390 { 11391 ret = new TMssqlBeginDialog(pdbvendor); 11392 break; 11393 } 11394 case sstmssqlsendonconversation: 11395 { 11396 ret = new TMssqlSendOnConversation(pdbvendor); 11397 break; 11398 } 11399 case sstdropsequence: 11400 ret = new TDropSequenceStmt(pdbvendor); 11401 break; 11402 case sstmssqldisabletrigger : 11403 case sstmssqlenabletrigger: 11404 { 11405 lcisnewsql = true; 11406 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11407 { 11408 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable ) 11409 lcisnewsql = false; 11410 } 11411 11412 if ( lcisnewsql ) 11413 { 11414 ret = new TUnknownSqlStatement(pdbvendor); 11415 ret.sqlstatementtype = gnewsqlstatementtype; 11416 } 11417 break; 11418 } 11419 case sstmssqlthrow: 11420 ret = new TMssqlThrow(pdbvendor); 11421 break; 11422 case sstmssqlalterdatabase: 11423 ret = new TAlterDatabaseStmt(pdbvendor); 11424 break; 11425 case sstmssqlreconfigure: 11426 ret = new TReconfigure(pdbvendor); 11427 break; 11428 case sstcreatedatabase: 11429 { 11430 ret = new TCreateDatabaseSqlStatement(pdbvendor); 11431 break; 11432 } 11433 case sstmssqlcreateschema: 11434 { 11435 ret = new TCreateSchemaSqlStatement(pdbvendor); 11436 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 11437 { 11438 lctoken = lcsourcetokenlist.get(k); 11439 if (lctoken.isnonsolidtoken() ) continue; 11440 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 11441 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 11442 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11443 } 11444 break; 11445 } 11446 case sstmssqlcreatesynonym: 11447 { 11448 ret = new TCreateSynonymStmt(pdbvendor); 11449 break; 11450 } 11451 case sstmssqlcreatetype: 11452 ret = new TMssqlCreateType(pdbvendor); 11453 break; 11454 case sstmssqlcreatexmlschemacollection: 11455 ret = new TMssqlCreateXmlSchemaCollectionStmt(pdbvendor); 11456 break; 11457 case sstmssqlalterindex: 11458 ret = new TAlterIndexStmt(pdbvendor); 11459 break; 11460 case sstmssqlcreateevexternalDataSource: 11461 ret = new TCreateExternalDataSourceStmt(pdbvendor); 11462 break; 11463 case sstmssqlcreateeventsession: 11464 ret = new TCreateEventSession(pdbvendor); 11465 break; 11466 case sstmssqldropfunction : 11467 ret = new TDropFunctionStmt(pdbvendor); 11468 break; 11469 case sstmssqlcreateevexternalLanguage: 11470 ret = new TCreateExternalLanguage(pdbvendor); 11471 break; 11472 case sstmssqlalterview: 11473 { 11474 lcisnewsql = true; 11475 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11476 { 11477 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 11478 lcisnewsql = false; 11479 } 11480 11481 if ( lcisnewsql ) 11482 { 11483 ret = new TAlterViewStatement(pdbvendor); 11484 //ret.sqlstatementtype = gnewsqlstatementtype; 11485 } 11486 break; 11487 } 11488 case sstCreateFileFormat: 11489 { 11490 ret = new TCreateFileFormatStmt(pdbvendor); 11491 break; 11492 } 11493 case sstmssqlcreatemasterkey: 11494 ret = new TCreateMasterKeyStmt(pdbvendor); 11495 break; 11496 case sstcreatecredential: 11497 ret = new TCreateCredentialStmt(pdbvendor); 11498 break; 11499 case sstCopyInto: 11500 { 11501 ret = new TMssqlCopyIntoStmt(pdbvendor); 11502 break; 11503 } 11504 case sstcreatematerializedview:{ 11505 ret = new TCreateMaterializedSqlStatement(pdbvendor); 11506 break; 11507 } 11508 case sstmssqlCreateSecurityPolicy: 11509 ret = new TMssqlCreateSecurityPolicy(pdbvendor); 11510 break; 11511 case sstmssqlAlterSecurityPolicy: 11512 ret = new TMssqlAlterSecurityPolicy(pdbvendor); 11513 break; 11514 case sstmssqlDropSecurityPolicy: 11515 ret = new TMssqlDropSecurityPolicy(pdbvendor); 11516 break; 11517 case sstmssqlalterpartitionfunction: 11518 ret = new TAlterPartitionFunctionStmt(pdbvendor); 11519 break; 11520 case sstmssqlcreatepartitionfunction: 11521 ret = new TCreatePartitionFunctionStmt(pdbvendor); 11522 break; 11523 case sstmssqlalterpartitionscheme: 11524 ret = new TAlterPartitionSchemeSqlStatement(pdbvendor); 11525 break; 11526 case sstmssqlcreatepartitionscheme: 11527 ret = new TCreatePartitionSchemeSqlStatement(pdbvendor); 11528 break; 11529 default: 11530 { 11531 ret = new TUnknownSqlStatement(pdbvendor); 11532 ret.sqlstatementtype = gnewsqlstatementtype; 11533 break; 11534 } 11535 } // case 11536 11537 return ret; 11538 } 11539 11540 TCustomSqlStatement isteradatasql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 11541 TCustomSqlStatement ret = null; 11542 int k; 11543 boolean lcisnewsql; 11544 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 11545 11546 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 11547 11548 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 11549 || (pcst.tokencode == TBaseType.cmtslashstar) 11550 || (pcst.tokencode == TBaseType.lexspace) 11551 || (pcst.tokencode == TBaseType.lexnewline) 11552 || (pcst.tokentype == ETokenType.ttsemicolon) ) 11553 { 11554 return ret; 11555 } 11556 11557 int lcpos = pcst.posinlist; 11558 TSourceTokenList lcsourcetokenlist = pcst.container; 11559 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 11560 11561 //subquery after semicolon || at first line 11562 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) 11563 { 11564 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 11565 if ( k >0 ) 11566 { 11567 ret = new TSelectSqlStatement(pdbvendor); 11568 }else{ 11569 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_teradata_sel,1,"("); 11570 if ( k >0 ) 11571 { 11572 ret = new TSelectSqlStatement(pdbvendor); 11573 } 11574 } 11575 11576 return ret; 11577 } 11578 11579 //cte 11580 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 11581 { 11582 ret = findcte(pcst,pdbvendor); 11583 if ( (ret != null) ) return ret; 11584 } 11585 11586 // using 11587 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_teradata_using) ){ 11588 //return mapTeradataUsing(pcst); 11589 return new TTeradataUsing(pdbvendor); 11590 } 11591 11592 if ( (pstate == EFindSqlStateType.stnormal) && 11593 ((pcst.tokencode == TBaseType.rrw_lock)||(pcst.tokencode == TBaseType.rrw_teradata_locking)) ){ 11594 return new TTeradataLock(pdbvendor); 11595 } 11596 11597 gnewsqlstatementtype = findteradatacmd(pcst); 11598 11599 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11600 switch(gnewsqlstatementtype ) { // 11601 case sstinvalid: 11602 { 11603 ret = null; 11604 break; 11605 } 11606 case sstselect: 11607 { 11608 lcisnewsql = true; 11609 11610 if ( pstate != EFindSqlStateType.stnormal ) 11611 { 11612 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11613 if ( (lcprevsolidtoken != null) ) 11614 { 11615 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 11616 lcisnewsql = false; //subqery 11617 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 11618 lcisnewsql = false; 11619 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 11620 lcisnewsql = false; 11621 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 11622 lcisnewsql = false; 11623 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 11624 lcisnewsql = false; 11625 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 11626 lcisnewsql = false; 11627 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 11628 { 11629 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 11630 lcisnewsql = false; 11631 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 11632 lcisnewsql = false; 11633 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatareplaceview ) 11634 lcisnewsql = false; 11635 } 11636 11637 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 11638 { 11639 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 11640 if ( (lcpprevsolidtoken != null) ) 11641 { 11642 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 11643 lcisnewsql = false; 11644 } 11645 } 11646 11647 } 11648 11649 if ( (lccurrentsqlstatement != null) ) 11650 { 11651 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 11652 { 11653 } 11654 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 11655 lcisnewsql = false; 11656 } 11657 } 11658 11659 } 11660 11661 if ( lcisnewsql ) 11662 ret = new TSelectSqlStatement(pdbvendor); 11663 11664 break; 11665 11666 } 11667 case sstinsert: 11668 { 11669 lcisnewsql = true; 11670 if ( pstate != EFindSqlStateType.stnormal ) 11671 { 11672 if ( (lccurrentsqlstatement != null) ) 11673 { 11674 // merge 11675 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11676 { 11677 if (lcprevsolidtoken != null) 11678 { 11679 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11680 {lcisnewsql = false;} 11681 } 11682 } 11683 11684 11685 11686 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11687 { 11688 if ( (lcprevsolidtoken != null) ) 11689 { 11690 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11691 lcisnewsql = false; 11692 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 11693 lcisnewsql = false; 11694 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"before") == 0 ) 11695 lcisnewsql = false; 11696 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 11697 lcisnewsql = false; 11698 } 11699 } 11700 11701 11702 } 11703 } 11704 11705 if ( lcisnewsql ) 11706 { 11707 ret = new TInsertSqlStatement(pdbvendor); 11708 ret.dummytag = 1; // select stmt in insert is permitted 11709 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 11710 { 11711 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 11712 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 11713 // if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 11714 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 11715 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 11716 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 11717 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 11718 } // for ( 11719 if ( k > lcsourcetokenlist.size() - 1 ) 11720 k = lcsourcetokenlist.size() - 1; 11721 11722 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 11723 { 11724 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11725 } // for ( 11726 11727 } 11728 11729 break; 11730 } 11731 case sstupdate: 11732 { 11733 lcisnewsql = true; 11734 if ( pstate != EFindSqlStateType.stnormal ) 11735 { 11736 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11737 if ( (lcprevsolidtoken != null) ) 11738 { // 11739 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 11740 lcisnewsql = false; 11741 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 11742 lcisnewsql = false; 11743 } 11744 11745 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11746 if ( TBaseType.assigned(lcnextsolidtoken) ) 11747 { 11748 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 11749 { 11750 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 11751 if ( k == 0 ) lcisnewsql = false; 11752 } 11753 } 11754 11755 11756 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11757 { 11758 // merge 11759 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11760 { 11761 if (lcprevsolidtoken != null) 11762 { 11763 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11764 {lcisnewsql = false;} 11765 } 11766 } 11767 11768 11769 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11770 { 11771 if ( TBaseType.assigned(lcprevsolidtoken) ) 11772 { 11773 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11774 lcisnewsql = false; 11775 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 11776 lcisnewsql = false; 11777 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"before") == 0 ) 11778 lcisnewsql = false; 11779 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 11780 lcisnewsql = false; 11781 } 11782 } 11783 11784 } 11785 } 11786 11787 if ( lcisnewsql ) 11788 { 11789 ret = new TUpdateSqlStatement(pdbvendor); 11790 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 11791 } 11792 11793 break; 11794 } 11795 case sstdelete: 11796 { 11797 lcisnewsql = true; 11798 11799 if ( pstate != EFindSqlStateType.stnormal ) 11800 { 11801 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 11802 if ( TBaseType.assigned(lcprevsolidtoken) ) 11803 { 11804 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 11805 lcisnewsql = false; 11806 } 11807 11808 if ( TBaseType.assigned(lccurrentsqlstatement) ) 11809 { 11810 // merge 11811 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 11812 { 11813 if (lcprevsolidtoken != null) 11814 { 11815 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 11816 {lcisnewsql = false;} 11817 } 11818 } 11819 11820 11821 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger ) 11822 { 11823 if ( TBaseType.assigned(lcprevsolidtoken) ) 11824 { 11825 if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 11826 lcisnewsql = false; 11827 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 11828 lcisnewsql = false; 11829 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"before") == 0 ) 11830 lcisnewsql = false; 11831 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 11832 lcisnewsql = false; 11833 } 11834 } 11835 11836 } 11837 } 11838 11839 if ( lcisnewsql ) 11840 ret = new TDeleteSqlStatement(pdbvendor); 11841 11842 break; 11843 } 11844 case sstcreatetable: 11845 { 11846 ret = new TCreateTableSqlStatement(pdbvendor); 11847 break; 11848 } 11849 case sstaltertable: 11850 case sstteradataaltertable: 11851 { 11852 ret = new TAlterTableStatement(pdbvendor); 11853 break; 11854 } 11855 case sstteradatafetch: 11856 { 11857 ret = new TMssqlFetch(pdbvendor); 11858 break; 11859 } 11860 case sstcreateprocedure : 11861 case sstteradatareplaceprocedure: 11862 { 11863 ret = new TCreateProcedureStmt(pdbvendor); 11864 break; 11865 } 11866 case sstteradataalterprocedure: 11867 ret = new TAlterProcedureStmt(pdbvendor); 11868 break; 11869 case sstteradatacreatefunction : 11870 case sstteradatareplacefunction: 11871 { 11872 ret = new TTeradataCreateFunction(pdbvendor); 11873 break; 11874 } 11875 case sstteradataalterfunction: 11876 ret = new TAlterFunctionStmt(pdbvendor); 11877 break; 11878 case sstteradatacreatetrigger : 11879 case sstteradataaltertrigger: 11880 case sstteradatareplacetrigger: 11881 { 11882 ret = new TCreateTriggerStmt(pdbvendor); 11883 break; 11884 } 11885 case sstteradatagrant: 11886 { 11887 lcisnewsql = true; 11888 // prev tokentext can't be with 11889 if ( pstate != EFindSqlStateType.stnormal ) 11890 { 11891 if ( TBaseType.assigned(lcprevsolidtoken) ) 11892 { 11893 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 11894 { 11895 ret = null; 11896 lcisnewsql = false; 11897 } 11898 } 11899 } 11900 if ( lcisnewsql ) 11901 { 11902 ret = new TTeradataGrant(pdbvendor); 11903 ret.sqlstatementtype = gnewsqlstatementtype; 11904 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 11905 { 11906 lctoken = lcsourcetokenlist.get(k); 11907 if (lctoken.isnonsolidtoken() ) continue; 11908 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 11909 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 11910 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 11911 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 11912 } 11913 } 11914 break; 11915 } 11916 case sstdropindex: 11917 { 11918 ret = new TDropIndexSqlStatement(pdbvendor); 11919 break; 11920 } 11921 case sstdroptable: 11922 { 11923 ret = new TDropTableSqlStatement(pdbvendor); 11924 break; 11925 } 11926 case sstdropview: 11927 { 11928 ret = new TDropViewSqlStatement(pdbvendor); 11929 break; 11930 } 11931 case sstteradatadropprocedure: 11932 ret = new TDropProcedureStmt(pdbvendor); 11933 break; 11934 case sstteradatadropauthorization: 11935 case sstteradatadropcast: 11936 case sstteradatadropdatabase: 11937 case sstteradatadropfunction: 11938 case sstteradatadroptrigger: 11939 case sstteradatadropordering: 11940 case sstteradatadropprofile: 11941 case sstteradatadropreplicationgroup: 11942 case sstteradatadroprole: 11943 case sstteradatadroptransform: 11944 case sstteradatadroptype: 11945 case sstteradatadropuser: 11946 case sstteradatadropzone: 11947 { 11948 ret = new TTeradataDropDbObject(EDbVendor.dbvteradata); 11949 ret.sqlstatementtype = gnewsqlstatementtype; 11950 break; 11951 } 11952 case sstteradatadropmacro: 11953 ret = new TDropMacro(EDbVendor.dbvteradata); 11954 break; 11955 case sstteradatadropconstraint: 11956 ret = new TDropConstraintStmt(EDbVendor.dbvteradata); 11957 break; 11958 case sstteradatabegintransaction: 11959 { 11960 ret = new TBeginTran(pdbvendor); 11961 break; 11962 } 11963 case sstteradataendtransaction: 11964 { 11965 ret = new TEndTran(pdbvendor); 11966 break; 11967 } 11968 case sstteradatacommit: 11969 { 11970 ret = new TTeradataCommit(pdbvendor); 11971 break; 11972 } 11973 case sstteradatarollback: 11974 { 11975 ret = new TTeradataRollback(pdbvendor); 11976 break; 11977 } 11978 case sstcreateindex: 11979 { 11980 ret = new TCreateIndexSqlStatement(pdbvendor); 11981 break; 11982 } 11983 case sstmerge: 11984 { 11985 lcisnewsql = true; 11986 11987 if (pstate != EFindSqlStateType.stnormal) 11988 { 11989 11990 if (lccurrentsqlstatement != null) 11991 { 11992 // merge union, merge join 11993 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect) 11994 { 11995 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 11996 if (lcnextsolidtoken != null) 11997 { 11998 if ((lcnextsolidtoken.tokencode == TBaseType.rrw_union) || (lcnextsolidtoken.tokencode == TBaseType.rrw_join)) 11999 { 12000 lcisnewsql = false; 12001 } 12002 } 12003 } 12004 12005 } 12006 } 12007 12008 if (lcisnewsql) 12009 { 12010 ret = new TMergeSqlStatement(pdbvendor); 12011 ret.sqlstatementtype = gnewsqlstatementtype; 12012 } 12013 12014 break; 12015 } 12016 case sstteradataexecute: 12017 { 12018 lcisnewsql = true; 12019 // prev tokentext can't be with 12020 if ( pstate != EFindSqlStateType.stnormal ) 12021 { 12022 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12023 { 12024 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 12025 { 12026 if ( lccurrentsqlstatement.dummytag == 1 ) 12027 { 12028 lcisnewsql = false; 12029 lccurrentsqlstatement.dummytag = 0; // no select is permited after it 12030 } 12031 } 12032 12033 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatagrant ) 12034 { 12035 if ( TBaseType.assigned(lcprevsolidtoken) ) 12036 { 12037 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12038 lcisnewsql = false; 12039 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12040 lcisnewsql = false; 12041 } 12042 } 12043 12044 if ( 12045 (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateprocedure) 12046 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger) 12047 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatefunction) 12048 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterprocedure) 12049 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataaltertrigger) 12050 ||( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterfunction) 12051 ) 12052 { 12053 if ( TBaseType.assigned(lcprevsolidtoken) ) 12054 { 12055 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_with ) 12056 lcisnewsql = false; 12057 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12058 lcisnewsql = false; 12059 } 12060 } 12061 } 12062 } 12063 if ( lcisnewsql ) 12064 { 12065 ret = new TTeradataExecute(pdbvendor); 12066 } 12067 break; 12068 } 12069 case sstteradatasetsession: 12070 { 12071 ret = new TTeradataSetSession(pdbvendor); 12072 break; 12073 } 12074 case sstteradatadatabase: 12075 if (pcst.isFirstTokenOfLine()){ 12076 ret = new TTeradataSetSession(pdbvendor); 12077 } 12078 12079 break; 12080 case sstteradatasettimezone: 12081 { 12082 ret = new TTeradataSetTimezone(pdbvendor); 12083 break; 12084 } 12085 case sstteradatasetrole: 12086 { 12087 ret = new TTeradataSetRole(pdbvendor); 12088 break; 12089 } 12090 case sstteradataendlogging: 12091 { 12092 ret = new TTeradataEndLogging(pdbvendor); 12093 break; 12094 } 12095 case sstteradatabeginlogging: 12096 { 12097 ret = new TTeradataBeginLogging(pdbvendor); 12098 break; 12099 } 12100 case sstteradataabort: 12101 { 12102 ret = new TTeradataAbort(pdbvendor); 12103 break; 12104 } 12105 case sstteradatareplaceview: 12106 case sstcreateview: 12107 { 12108 ret = new TCreateViewSqlStatement(pdbvendor); 12109 ret.sqlstatementtype = ESqlStatementType.sstcreateview; 12110 break; 12111 } 12112 case sstteradatacollectstatistics: 12113 { 12114 ret = new TTeradataCollectStatistics(pdbvendor); 12115 break; 12116 } 12117 case sstteradatagive: 12118 { 12119 ret = new TTeradataGive(pdbvendor); 12120 break; 12121 } 12122 case sstteradatacall: 12123 ret = new TCallStatement(pdbvendor); 12124 break; 12125 case sstteradatacreatemacro: 12126 case sstteradatareplacemacro: 12127 ret = new TCreateMacro(pdbvendor); 12128 break; 12129 case sstteradatarenametable: 12130 ret = new TRenameStmt(pdbvendor); 12131 break; 12132 case sstteradatacomment: 12133 ret = new TCommentOnSqlStmt(pdbvendor); 12134 break; 12135 case sstteradatacheckworkload: 12136 ret = new TCheckWorkload(pdbvendor); 12137 break; 12138 case sstgetdiagnostics: 12139 ret = new TGetDiagStmt(pdbvendor); 12140 break; 12141 case sstteradatacreaterole: 12142 ret = new TCreateRoleStmt(pdbvendor); 12143 break; 12144 case sstteradatarevoke: 12145 ret = new TRevokeStmt(pdbvendor); 12146 break; 12147 case sstteradataalterzone: 12148 ret = new TAlterZoneStmt(pdbvendor); 12149 break; 12150 case sstcreatezone: 12151 ret = new TCreateZoneStmt(pdbvendor); 12152 break; 12153 case sstteradataalterconstraint: 12154 ret = new TAlterConstraintStmt(pdbvendor); 12155 break; 12156 case sstExplain: 12157 ret = new TExplainPlan(pdbvendor); 12158 break; 12159 case sstteradatareleaseLock: 12160 ret = new TTeradataReleaseLockStmt(pdbvendor); 12161 break; 12162 default: 12163 { 12164 ret = new TTeradataNotImplement(pdbvendor); 12165 ret.sqlstatementtype = gnewsqlstatementtype; 12166 break; 12167 } 12168 } // case 12169 12170 return ret; 12171 } 12172 12173 12174 TCustomSqlStatement ishana(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 12175 TCustomSqlStatement ret = null; 12176 int k; 12177 boolean lcisnewsql; 12178 TSourceToken lcpprevsolidtoken,lcnextsolidtoken,lctoken; 12179 12180 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 12181 12182 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 12183 || (pcst.tokencode == TBaseType.cmtslashstar) 12184 || (pcst.tokencode == TBaseType.lexspace) 12185 || (pcst.tokencode == TBaseType.lexnewline) 12186 || (pcst.tokentype == ETokenType.ttsemicolon) ) 12187 { 12188 return ret; 12189 } 12190 12191 int lcpos = pcst.posinlist; 12192 TSourceTokenList lcsourcetokenlist = pcst.container; 12193 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 12194 12195 //subquery after semicolon || at first line 12196 if ( pcst.tokentype == ETokenType.ttleftparenthesis) // ( 12197 { 12198 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 12199 if ( k >0 ) 12200 { 12201 if (pstate == EFindSqlStateType.stnormal){ 12202 ret = new TSelectSqlStatement(pdbvendor); 12203 return ret; 12204 } 12205 } 12206 } 12207 12208 //cte 12209 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 12210 { 12211 ret = findcte(pcst,pdbvendor); 12212 if ( (ret != null) ) return ret; 12213 } 12214 12215 gnewsqlstatementtype = findhanacmd(pcst); 12216 12217 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12218 switch(gnewsqlstatementtype ) { // 12219 case sstinvalid: 12220 { 12221 if ( pcst.tokencode == TBaseType.mslabel ) 12222 { 12223 ret = new TMssqlLabel(pdbvendor); 12224 } 12225 else 12226 ret = null; 12227 12228 break; 12229 } 12230 case sstselect: 12231 { 12232 lcisnewsql = true; 12233 12234 if ( pstate != EFindSqlStateType.stnormal ) 12235 { 12236 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12237 if ( (lcprevsolidtoken != null) ) 12238 { 12239 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 12240 lcisnewsql = false; //subqery 12241 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 12242 lcisnewsql = false; 12243 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 12244 lcisnewsql = false; 12245 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 12246 lcisnewsql = false; 12247 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 12248 lcisnewsql = false; 12249 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 12250 lcisnewsql = false; 12251 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 12252 { 12253 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 12254 lcisnewsql = false; 12255 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 12256 lcisnewsql = false; 12257 } 12258 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12259 { 12260 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset ) 12261 lcisnewsql = false; 12262 } 12263 else if (lcprevsolidtoken.tokentype == ETokenType.ttrightparenthesis){ 12264 if ((lccurrentsqlstatement != null) && (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)){ 12265 lcisnewsql = false; 12266 } 12267 } 12268 12269 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 12270 { 12271 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 12272 if ( (lcpprevsolidtoken != null) ) 12273 { 12274 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 12275 lcisnewsql = false; 12276 } 12277 } 12278 12279 } 12280 12281 if ( (lccurrentsqlstatement != null) ) 12282 { 12283 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 12284 { 12285 lcisnewsql = false; 12286 } 12287 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12288 { 12289 if ( (lcprevsolidtoken != null) ) 12290 { 12291 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12292 lcisnewsql = false; 12293 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12294 lcisnewsql = false; 12295 } 12296 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ){ 12297 lcisnewsql = false; 12298 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstaltersequence ){ 12299 lcisnewsql = false; 12300 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstExplain ){ 12301 lcisnewsql = false; 12302 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstRevoke ){ 12303 lcisnewsql = false; 12304 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstupsert ){ 12305 lcisnewsql = false; 12306 }else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstalterview ){ 12307 lcisnewsql = false; 12308 } 12309 } 12310 12311 } 12312 12313 if ( lcisnewsql ) 12314 ret = new TSelectSqlStatement(pdbvendor); 12315 12316 break; 12317 12318 } 12319 case sstinsert: 12320 { 12321 lcisnewsql = true; 12322 if ( pstate != EFindSqlStateType.stnormal ) 12323 { 12324 if ( (lccurrentsqlstatement != null) ) 12325 { 12326 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateauditpolicy) 12327 { 12328 lcisnewsql = false; 12329 } 12330 // merge 12331 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12332 { 12333 if (lcprevsolidtoken != null) 12334 { 12335 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12336 {lcisnewsql = false;} 12337 } 12338 } 12339 12340 12341 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12342 { 12343 if ( (lcprevsolidtoken != null) ) 12344 { 12345 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12346 lcisnewsql = false; 12347 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12348 lcisnewsql = false; 12349 } 12350 }else if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12351 { 12352 lcisnewsql = false; 12353 } 12354 12355 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12356 { 12357 if ( (lcprevsolidtoken != null) ) 12358 { 12359 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12360 lcisnewsql = false; 12361 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12362 lcisnewsql = false; 12363 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 12364 lcisnewsql = false; 12365 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 12366 lcisnewsql = false; 12367 } 12368 } 12369 12370 12371 } 12372 } 12373 12374 if ( lcisnewsql ) 12375 { 12376 ret = new TInsertSqlStatement(pdbvendor); 12377 ret.dummytag = 1; // select stmt in insert is permitted 12378 for ( k = lcpos + 1; k < lcsourcetokenlist.size();k++ ) // iterate 12379 { 12380 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 12381 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 12382 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 12383 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ){ 12384 ret.dummytag = 0; 12385 break; 12386 } 12387 } // for ( 12388 if ( k > lcsourcetokenlist.size() - 1 ) 12389 k = lcsourcetokenlist.size() - 1; 12390 12391 for ( int i = lcpos + 1; i <= k; i++ ) // iterate 12392 { 12393 lcsourcetokenlist.get(i).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 12394 } // for ( 12395 12396 } 12397 12398 break; 12399 } 12400 case sstupdate: 12401 { 12402 lcisnewsql = true; 12403 if ( pstate != EFindSqlStateType.stnormal ) 12404 { 12405 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12406 if ( (lcprevsolidtoken != null) ) 12407 { // 12408 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 12409 lcisnewsql = false; 12410 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12411 lcisnewsql = false; 12412 } 12413 12414 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 12415 if ( TBaseType.assigned(lcnextsolidtoken) ) 12416 { 12417 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 12418 { 12419 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 12420 if ( k == 0 ) lcisnewsql = false; 12421 } 12422 } 12423 12424 12425 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12426 { 12427 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateauditpolicy) 12428 { 12429 lcisnewsql = false; 12430 }else if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12431 { 12432 lcisnewsql = false; 12433 } 12434 // merge 12435 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12436 { 12437 if (lcprevsolidtoken != null) 12438 { 12439 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12440 {lcisnewsql = false;} 12441 } 12442 } 12443 12444 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12445 { 12446 if ( TBaseType.assigned(lcprevsolidtoken) ) 12447 { 12448 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12449 lcisnewsql = false; 12450 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12451 lcisnewsql = false; 12452 } 12453 } 12454 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12455 { 12456 if ( TBaseType.assigned(lcprevsolidtoken) ) 12457 { 12458 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12459 lcisnewsql = false; 12460 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12461 lcisnewsql = false; 12462 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 12463 lcisnewsql = false; 12464 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 12465 lcisnewsql = false; 12466 } 12467 } 12468 12469 } 12470 } 12471 12472 if ( lcisnewsql ) 12473 { 12474 ret = new TUpdateSqlStatement(pdbvendor); 12475 ret.dummytag = 1; // means set clause in update is not found yet, used to separate set clause from set statement 12476 } 12477 12478 break; 12479 } 12480 case sstdelete: 12481 { 12482 lcisnewsql = true; 12483 12484 if ( pstate != EFindSqlStateType.stnormal ) 12485 { 12486 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 12487 if ( TBaseType.assigned(lcprevsolidtoken) ) 12488 { 12489 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 12490 lcisnewsql = false; 12491 } 12492 12493 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12494 { 12495 // merge 12496 if (lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstmerge) 12497 { 12498 if (lcprevsolidtoken != null) 12499 { 12500 if (lcprevsolidtoken.tokencode == TBaseType.rrw_then) 12501 {lcisnewsql = false;} 12502 } 12503 } 12504 12505 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstGrant ) 12506 { 12507 if ( TBaseType.assigned(lcprevsolidtoken) ) 12508 { 12509 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_grant ) 12510 lcisnewsql = false; 12511 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12512 lcisnewsql = false; 12513 } 12514 } 12515 12516 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetrigger ) 12517 { 12518 if ( TBaseType.assigned(lcprevsolidtoken) ) 12519 { 12520 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 12521 lcisnewsql = false; 12522 else if ( lcprevsolidtoken.tokentype == ETokenType.ttcomma ) 12523 lcisnewsql = false; 12524 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext,"after") == 0 ) 12525 lcisnewsql = false; 12526 else if ( TBaseType.mycomparetext(lcprevsolidtoken.astext , "of") == 0 ) 12527 lcisnewsql = false; 12528 } 12529 } 12530 12531 if ((lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstbackupcatalogdelete) 12532 ||(lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable) 12533 ) 12534 { 12535 lcisnewsql = false; 12536 } 12537 12538 } 12539 } 12540 12541 if ( lcisnewsql ) 12542 ret = new TDeleteSqlStatement(pdbvendor); 12543 12544 break; 12545 } 12546 case sstcreatetable: 12547 { 12548 ret = new TCreateTableSqlStatement(pdbvendor); 12549 break; 12550 } 12551 case sstcreateview: 12552 { 12553 ret = new TCreateViewSqlStatement(pdbvendor); 12554 break; 12555 } 12556 case sstcreatesequence: 12557 { 12558 ret = new TCreateSequenceStmt(pdbvendor); 12559 break; 12560 } 12561 case sstaltertable: 12562 { 12563 lcisnewsql = true; 12564 if ( pstate != EFindSqlStateType.stnormal ) 12565 { 12566 lcisnewsql = false; 12567 } 12568 if ( lcisnewsql ) { 12569 ret = new TAlterTableStatement(pdbvendor); 12570 } 12571 break; 12572 } 12573 case sstcreateprocedure : 12574 { 12575 ret = new TCreateProcedureStmt(pdbvendor); 12576 break; 12577 } 12578 case sstalterprocedure: 12579 { 12580 boolean isAlter = false; 12581 // hana alter and create procedure 语法混在一起,无法区分 12582 // c:\prg\gsp_java\gsp_java_core\gsp_sqlfiles\TestCases\public\allversions\hana\create_procedure.sql 12583 if (pcst.tokencode == TBaseType.rrw_alter){ 12584 12585 TSourceToken st = pcst.nextSolidToken(3); 12586 if (st != null){ 12587 switch (st.toString().toUpperCase()) { 12588 case "RECOMPILE": 12589 isAlter = true; 12590 break; 12591 case "ENCRYPTION": 12592 isAlter = true; 12593 break; 12594 case "ADD": 12595 isAlter = true; 12596 break; 12597 default: 12598 break; 12599 } 12600 } 12601 12602 // TSourceToken st = pcst.searchToken("recompile",4); 12603 // if (st != null){ 12604 // isAlter = true; 12605 // }else{ 12606 // st = pcst.searchToken("encryption",4); 12607 // if (st != null){ 12608 // isAlter = true; 12609 // } 12610 // } 12611 } 12612 if (isAlter){ 12613 ret = new TAlterProcedureStmt (pdbvendor); 12614 }else{ 12615 ret = new TCreateProcedureStmt (pdbvendor); 12616 } 12617 12618 break; 12619 } 12620 case sstcreatefunction : 12621 { 12622 ret = new TCreateFunctionStmt(pdbvendor); 12623 break; 12624 } 12625 case sstalterfunction: 12626 { 12627 boolean isAlter = false; 12628 // hana alter and create function 语法混在一起,无法区分 12629 12630 if (pcst.tokencode == TBaseType.rrw_alter){ 12631 TSourceToken stAdd = pcst.searchToken("add",4); 12632 TSourceToken stAlter = pcst.searchToken("alter",4); 12633 TSourceToken stDrop = pcst.searchToken("drop",4); 12634 if ((stAdd != null)||(stAlter != null)||(stDrop != null)){ 12635 isAlter = true; 12636 }else{ 12637 TSourceToken st = pcst.searchToken("encryption",4); 12638 if (st != null){ 12639 isAlter = true; 12640 } 12641 } 12642 } 12643 12644 if (isAlter){ 12645 ret = new TAlterFunctionStmt (pdbvendor); 12646 }else{ 12647 ret = new TCreateFunctionStmt (pdbvendor); 12648 } 12649 12650 12651 break; 12652 } 12653 case sstcreatetrigger : 12654 case sstaltertrigger: 12655 { 12656 ret = new TCreateTriggerStmt(pdbvendor); 12657 break; 12658 } 12659 case sstGrant: 12660 { 12661 lcisnewsql = true; 12662 12663 if ( pstate != EFindSqlStateType.stnormal ) 12664 { 12665 lcisnewsql = false; 12666 12667 } 12668 if ( lcisnewsql ) 12669 { 12670 ret = new TGrantStmt(pdbvendor); 12671 //ret.sqlstatementtype = gnewsqlstatementtype; 12672 for ( k = lcpos + 1; k< lcsourcetokenlist.size();k++ ) // iterate 12673 { 12674 lctoken = lcsourcetokenlist.get(k); 12675 if (lctoken.isnonsolidtoken() ) continue; 12676 if ( lctoken.tokencode == TBaseType.rrw_go ) break; 12677 if ( lctoken.tokentype == ETokenType.ttsemicolon ) break; 12678 if ( lctoken.tokencode == TBaseType.rrw_to ) break; 12679 lctoken.tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 12680 } 12681 } 12682 break; 12683 } 12684 case sstdropview: 12685 { 12686 ret = new TDropViewSqlStatement(pdbvendor); 12687 break; 12688 } 12689 case sstdroptable: 12690 { 12691 ret = new TDropTableSqlStatement(pdbvendor); 12692 break; 12693 } 12694 case sstdropindex: 12695 { 12696 ret = new TDropIndexSqlStatement(pdbvendor); 12697 break; 12698 } 12699 case ssttruncatetable: 12700 { 12701 ret = new TTruncateStatement(pdbvendor); 12702 break; 12703 } 12704 case sstcommit: 12705 { 12706 lcisnewsql = true; 12707 TSourceToken lcPrev = pcst.prevSolidToken(); 12708 if ((lcPrev != null) && (lcPrev.tokencode == TBaseType.rrw_hana_of)){ 12709 lcisnewsql = false; 12710 } 12711 if ( pstate != EFindSqlStateType.stnormal ) 12712 { 12713 lcisnewsql = false; 12714 12715 } 12716 if (lcisnewsql){ 12717 ret = new TCommitStmt(pdbvendor); 12718 } 12719 12720 break; 12721 } 12722 case sstrollback: 12723 { 12724 ret = new TRollbackStmt(pdbvendor); 12725 break; 12726 } 12727 case sstRevoke: 12728 { 12729 lcisnewsql = true; 12730 12731 if ( pstate != EFindSqlStateType.stnormal ) 12732 { 12733 lcisnewsql = false; 12734 12735 } 12736 if (lcisnewsql){ 12737 ret = new TRevokeStmt(pdbvendor); 12738 } 12739 break; 12740 } 12741 case sstcreateindex: 12742 { 12743 ret = new TCreateIndexSqlStatement(pdbvendor); 12744 break; 12745 } 12746 case sstset: 12747 { 12748 lcisnewsql = true; 12749 if ( pstate != EFindSqlStateType.stnormal ) 12750 { 12751 if ( TBaseType.assigned(lccurrentsqlstatement) ) 12752 { 12753 lcisnewsql = false; 12754 } 12755 } 12756 12757 if ( lcisnewsql ) 12758 { 12759 ret = new TMssqlSet(pdbvendor); 12760 } 12761 12762 break; 12763 } 12764 case sstdropsequence: 12765 ret = new TDropSequenceStmt(pdbvendor); 12766 break; 12767 case sstalterdatabase: 12768 ret = new TAlterDatabaseStmt(pdbvendor); 12769 break; 12770 case sstcreatedatabase: 12771 { 12772 ret = new TCreateDatabaseSqlStatement(pdbvendor); 12773 break; 12774 } 12775 case sstcreateschema: 12776 { 12777 ret = new TCreateSchemaSqlStatement(pdbvendor); 12778 break; 12779 } 12780 case sstcreatesynonym: 12781 { 12782 ret = new TCreateSynonymStmt(pdbvendor); 12783 break; 12784 } 12785 case sstcreatetype: 12786 ret = new TMssqlCreateType(pdbvendor); 12787 break; 12788 case sstreplace: 12789 lcisnewsql = true; 12790 TSourceToken lcNext = pcst.nextSolidToken(); 12791 if ((lcNext != null) && (lcNext.tokencode == '(')){ 12792 lcisnewsql = false; 12793 } 12794 if ( pstate != EFindSqlStateType.stnormal ) 12795 { 12796 lcisnewsql = false; 12797 } 12798 if (lcisnewsql) { 12799 ret = new TUpsertStmt(pdbvendor); 12800 //ret.sqlstatementtype = gnewsqlstatementtype; 12801 } 12802 break; 12803 case sstalterauditpolicy: 12804 ret = new TAlterAuditPolicyStmt(pdbvendor); 12805 break; 12806 case sstaltercredential: 12807 ret = new TAlterCredentialStmt(pdbvendor); 12808 break; 12809 case sstalterfulltextindex: 12810 ret = new TAlterFulltextIndexStmt(pdbvendor); 12811 break; 12812 case sstalterindex: 12813 ret = new TAlterIndexStmt(pdbvendor); 12814 break; 12815 case sstalterldapprovider: 12816 ret = new TAlterLDAPProviderStmt(pdbvendor); 12817 break; 12818 case sstalterjwtprovider: 12819 ret = new TAlterJWTProviderStmt(pdbvendor); 12820 break; 12821 case sstalterpse: 12822 ret = new TAlterPSEStmt(pdbvendor); 12823 break; 12824 case sstalterremotesource: 12825 ret = new TAlterRemoteSourceStmt(pdbvendor); 12826 break; 12827 case sstAlterRole: 12828 ret = new TAlterRoleStmt(pdbvendor); 12829 break; 12830 case sstaltersamlprovider: 12831 ret = new TAlterSAMLProviderStmt(pdbvendor); 12832 break; 12833 case sstaltersequence: 12834 ret = new TAlterSequenceStatement(pdbvendor); 12835 break; 12836 case sstalterstatistics: 12837 ret = new TAlterStatisticsStmt(pdbvendor); 12838 break; 12839 case sstaltersystem: 12840 ret = new TAlterSystemStmt(pdbvendor); 12841 break; 12842 case sstunload: 12843 lcisnewsql = true; 12844 if ( pstate != EFindSqlStateType.stnormal ) 12845 { 12846 lcisnewsql = false; 12847 } 12848 if ( lcisnewsql ) { 12849 ret = new TUnloadStmt(pdbvendor); 12850 ret.sqlstatementtype = gnewsqlstatementtype; 12851 } 12852 break; 12853 case sstunset: 12854 case sstunsetpse: 12855 case sstunsetsystemlicense: 12856 lcisnewsql = true; 12857 if ( pstate != EFindSqlStateType.stnormal ) 12858 { 12859 lcisnewsql = false; 12860 } 12861 if ( lcisnewsql ) { 12862 ret = new TUnsetStmt(pdbvendor); 12863 ret.sqlstatementtype = gnewsqlstatementtype; 12864 } 12865 break; 12866 case sstalteruser: 12867 ret = new TAlterUserStmt(pdbvendor); 12868 break; 12869 case sstconnect: 12870 lcisnewsql = true; 12871 if ( pstate != EFindSqlStateType.stnormal ) 12872 { 12873 lcisnewsql = false; 12874 } 12875 if ( lcisnewsql ) { 12876 ret = new TConnectStmt(pdbvendor); 12877 ret.sqlstatementtype = gnewsqlstatementtype; 12878 } 12879 break; 12880 case sstalterusergroup: 12881 ret = new TAlterUserGroupStmt(pdbvendor); 12882 break; 12883 case sstalterview: 12884 case sstalterviewcache: 12885 ret = new TAlterViewStatement(pdbvendor); 12886 break; 12887 case sstaltervirtualtable: 12888 ret = new TAlterVirtualTableStmt(pdbvendor); 12889 break; 12890 case sstalterworkloadclass: 12891 ret = new TAlterWorkloadClassStmt(pdbvendor); 12892 break; 12893 case sstalterworkloadmapping: 12894 ret = new TAlterWorkloadMappingStmt(pdbvendor); 12895 break; 12896 case sstbackupcancel: 12897 ret = new TBackupCancelStmt(pdbvendor); 12898 break; 12899 case sstbackupcatalogdelete: 12900 ret = new TBackupCatalogDeleteStmt(pdbvendor); 12901 break; 12902 case sstbackupcheck: 12903 case sstbackupcheckaccess: 12904 ret = new TBackupCheckStmt(pdbvendor); 12905 break; 12906 case sstbackupdata: 12907 ret = new TBackupDataStmt(pdbvendor); 12908 break; 12909 case sstbackuplistdata: 12910 ret = new TBackupListDataStmt(pdbvendor); 12911 break; 12912 case sstcall: 12913 ret = new TCallStatement(pdbvendor); 12914 break; 12915 case sstcomment: 12916 ret = new TCommentOnSqlStmt(pdbvendor); 12917 break; 12918 case sstcreateauditpolicy: 12919 ret = new TCreateAuditPolicyStmt(pdbvendor); 12920 break; 12921 case sstcreatecertificate: 12922 ret = new TCreateCertificateStmt(pdbvendor); 12923 break; 12924 case sstcreatecollection: 12925 ret = new TCreateCollectionStmt(pdbvendor); 12926 break; 12927 case sstcreatecredential: 12928 ret = new TCreateCredentialStmt(pdbvendor); 12929 break; 12930 case sstcreatefulltextindex: 12931 ret = new TCreateFulltextIndexStmt(pdbvendor); 12932 break; 12933 case sstcreategraphworkspace: 12934 ret = new TCreateGraphWorkspaceStmt(pdbvendor); 12935 break; 12936 case sstcreateJWTProvider: 12937 ret = new TCreateJWTProviderStmt(pdbvendor); 12938 break; 12939 case sstcreateLDAPProvider: 12940 ret = new TCreateLDAPProviderStmt(pdbvendor); 12941 break; 12942 case sstcreatepse: 12943 ret = new TCreatePSEStmt(pdbvendor); 12944 break; 12945 case sstcreateremotesource: 12946 ret = new TCreateRemoteSourceStmt(pdbvendor); 12947 break; 12948 case sstcreaterole: 12949 ret = new TCreateRoleStmt(pdbvendor); 12950 break; 12951 case sstcreatesamlprovider: 12952 ret = new TCreateSAMLProviderStmt(pdbvendor); 12953 break; 12954 case sstcreatestatistics: 12955 ret = new TCreateStatistics(pdbvendor); 12956 break; 12957 case sstcreatestructuredprivilege: 12958 ret = new TCreateStructuredPrivilegeStmt(pdbvendor); 12959 break; 12960 case sstcreateuser: 12961 ret = new TCreateUserStmt(pdbvendor); 12962 break; 12963 case sstcreateusergroup: 12964 ret = new TCreateUserGroupStmt(pdbvendor); 12965 break; 12966 case sstcreatevirtualfunction: 12967 ret = new TCreateVirtualFunctionStmt(pdbvendor); 12968 break; 12969 case sstcreatevirtualtable: 12970 ret = new TCreateVirtualTableStmt(pdbvendor); 12971 break; 12972 case sstcreateworkloadclass: 12973 ret = new TCreateWorkloadClassStmt(pdbvendor); 12974 break; 12975 case sstcreateworkloadmapping: 12976 ret = new TCreateWorkloadMappingStmt(pdbvendor); 12977 break; 12978 case sstdropauditpolicy: 12979 case sstdropcertificate: 12980 case sstdropcollection: 12981 case sstdropcredential: 12982 case sstdropfulltextindex: 12983 case sstdropJWTProvider: 12984 case sstdropLDAPProvider: 12985 case sstdroppse: 12986 case sstdropremotesource: 12987 case sstdropsamlprovider: 12988 case sstdropstatistics: 12989 case sstdropgraphworkspace: 12990 case sstdropstructuredprivilege: 12991 case sstdroptype: 12992 case sstdropusergroup: 12993 case sstdropworkloadclass: 12994 case sstdropworkloadmapping: 12995 lcisnewsql = true; 12996 if ( pstate != EFindSqlStateType.stnormal ) 12997 { 12998 lcisnewsql = false; 12999 } 13000 if ( lcisnewsql ) { 13001 ret = new TDropStmt(pdbvendor); 13002 } 13003 13004 break; 13005 case sstdropdatabase: 13006 ret = new TDropDatabaseStmt(pdbvendor); 13007 break; 13008 case sstdropfunction: 13009 ret = new TDropFunctionStmt(pdbvendor); 13010 break; 13011 case sstdropprocedure: 13012 ret = new TDropProcedureStmt(pdbvendor); 13013 break; 13014 case sstdroprole: 13015 ret = new TDropRoleStmt(pdbvendor); 13016 break; 13017 case sstdropschema: 13018 ret = new TDropSchemaSqlStatement(pdbvendor); 13019 break; 13020 case sstdropsynonym: 13021 ret = new TDropSynonymStmt(pdbvendor); 13022 break; 13023 case sstdroptrigger: 13024 ret = new TDropTriggerSqlStatement(pdbvendor); 13025 break; 13026 case sstdropuser: 13027 ret = new TDropUserStmt(pdbvendor); 13028 break; 13029 case sstExplain: 13030 ret = new TExplainPlan(pdbvendor); 13031 break; 13032 case sstexport: 13033 ret = new TExportStmt(pdbvendor); 13034 break; 13035 case sstimport: 13036// case sstimportfrom: 13037// case sstimportscan: 13038 ret = new TImportStmt(pdbvendor); 13039 break; 13040 case sstload: 13041 lcisnewsql = true; 13042 if ( pstate != EFindSqlStateType.stnormal ) 13043 { 13044 lcisnewsql = false; 13045 } 13046 if ( lcisnewsql ) { 13047 ret = new TLoadStmt(pdbvendor); 13048 } 13049 13050 break; 13051 case sstlocktable: 13052 ret = new TLockTableStmt(pdbvendor); 13053 break; 13054 case sstmergedelta: 13055 ret = new TMergeDeltaStmt(pdbvendor); 13056 break; 13057 case sstmerge: 13058 ret = new TMergeSqlStatement(pdbvendor); 13059 break; 13060 case sstrecoverdata: 13061 ret = new TRecoverDataStmt(pdbvendor); 13062 break; 13063 case sstrecoverdatabase: 13064 ret = new TRecoverDatabaseStmt(pdbvendor); 13065 break; 13066 case sstrefreshstatistics: 13067 ret = new TRefreshStatisticsStmt(pdbvendor); 13068 break; 13069 case sstrenamecollection: 13070 case sstrenamecolumn: 13071 case sstrenamedatabase: 13072 case sstrenameindex: 13073 case sstrenametable: 13074 ret = new TRenameStmt(pdbvendor); 13075 break; 13076 case sssethistorysession: 13077 case sstsetpse: 13078 case sstsetschema: 13079 case sstsetsystemlicense: 13080 case sstsettransaction: 13081 case sstsettransactionautocommit: 13082 ret = new TSetDatabaseObjectStmt(pdbvendor); 13083 break; 13084 case ssttruncatecollection: 13085 ret = new TTruncateCollectionStmt(pdbvendor); 13086 break; 13087 case sstvalidateLDAPProvider: 13088 ret = new TValidateLDAPProviderStmt(pdbvendor); 13089 break; 13090 case sstvalidateUser: 13091 ret = new TValidateUserStmt(pdbvendor); 13092 break; 13093 case sstupsert: 13094 ret = new TUpsertStmt(pdbvendor); 13095 break; 13096 case sstsavepoint: 13097 { 13098 lcisnewsql = true; 13099 13100 if ( pstate != EFindSqlStateType.stnormal ) 13101 { 13102 lcisnewsql = false; 13103 13104 } 13105 if (lcisnewsql){ 13106 ret = new TSavepointStmt(pdbvendor); 13107 ret.sqlstatementtype = gnewsqlstatementtype; 13108 } 13109 break; 13110 } 13111 default: 13112 { 13113 ret = new TUnknownSqlStatement(pdbvendor); 13114 ret.sqlstatementtype = gnewsqlstatementtype; 13115 break; 13116 } 13117 } // case 13118 13119 return ret; 13120 } 13121 13122 TCustomSqlStatement mapTeradataUsing(TSourceToken ptoken){ 13123 TCustomSqlStatement ret = null; 13124 TSourceToken lctoken = null; 13125 int lcnested = 0,k,j; 13126 13127 //using ... insert/select/delete/update/begin transaction 13128 int lcpos = ptoken.posinlist; 13129 TSourceTokenList lcsourcetokenlist = ptoken.container; 13130 13131 for (int i = lcpos + 1; i < lcsourcetokenlist.size();i++) // iterate 13132 { 13133 lctoken = lcsourcetokenlist.get(i); 13134 if ( (lctoken.tokencode == TBaseType.rrw_delete) ) 13135 { 13136 ret = new TDeleteSqlStatement(EDbVendor.dbvteradata); 13137 gnewsqlstatementtype = ESqlStatementType.sstdelete; 13138 break; 13139 } 13140 else if ( (lctoken.tokencode == TBaseType.rrw_insert) ) 13141 { 13142 ret = new TInsertSqlStatement(EDbVendor.dbvteradata); 13143 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13144 break; 13145 } 13146 else if ( (lctoken.tokencode == TBaseType.rrw_select) ) 13147 { 13148 ret = new TSelectSqlStatement(EDbVendor.dbvteradata); 13149 gnewsqlstatementtype = ESqlStatementType.sstselect; 13150 break; 13151 } 13152 else if ( (lctoken.tokencode == TBaseType.rrw_update) ) 13153 { 13154 ret = new TUpdateSqlStatement(EDbVendor.dbvteradata); 13155 gnewsqlstatementtype = ESqlStatementType.sstupdate; 13156 break; 13157 } 13158 else if ( (lctoken.tokencode == TBaseType.rrw_begin) || (lctoken.tokencode == TBaseType.rrw_bt) ) 13159 { 13160 ret = new TTeradataBeginTransaction(EDbVendor.dbvteradata); 13161 gnewsqlstatementtype = ESqlStatementType.sstteradatabegintransaction; 13162 break; 13163 } 13164 } 13165 return ret; 13166 } 13167 13168/** 13169 * Analyzes a SQL token to determine if it starts a Common Table Expression (CTE) 13170 * and returns the appropriate SQL statement object. 13171 * 13172 * This function handles CTEs that begin with "WITH" and can contain: 13173 * - SELECT statements 13174 * - INSERT statements 13175 * - UPDATE statements 13176 * - DELETE statements 13177 * - MERGE statements 13178 * - VALUES clauses (PostgreSQL) 13179 * 13180 * Side Effects: 13181 * When a CTE is found, this function marks tokens as "ignored" to prevent them from being 13182 * processed again during raw statement parsing: 13183 * 1. All tokens from after WITH up to and including the main statement keyword (SELECT/INSERT/etc.) 13184 * are marked with ETokenStatus.tsignoredbygetrawstatement 13185 * 2. For INSERT statements, additional tokens after INSERT up to VALUES/SELECT/EXECUTE/semicolon 13186 * are also marked as ignored 13187 * 13188 * Example of ignored tokens: 13189 * WITH cte AS (SELECT * FROM t1) -- these tokens marked as ignored 13190 * SELECT * FROM cte; -- SELECT is also marked as ignored 13191 * -- parsing continues after SELECT 13192 * 13193 * @param ptoken The source token to analyze, expected to be a "WITH" keyword 13194 * @param pdbvendor The database vendor type (e.g. Oracle, SQL Server, etc.) 13195 * @return A TCustomSqlStatement object representing the CTE statement type found, 13196 * or null if no valid CTE statement is detected 13197 */ 13198TCustomSqlStatement findcte(TSourceToken ptoken, EDbVendor pdbvendor){ 13199 TCustomSqlStatement ret = null; 13200 TSourceToken lctoken = null; 13201 int lcnested = 0,k,j; 13202 boolean inXmlNamespaces = false; 13203 boolean isXmlNamespaces = false; 13204 13205 int lcpos = ptoken.posinlist; 13206 TSourceTokenList lcsourcetokenlist = ptoken.container; 13207 13208 for (int i = lcpos + 1; i < lcsourcetokenlist.size();i++) // iterate 13209 { 13210 lctoken = lcsourcetokenlist.get(i); 13211// if (lctoken.tokencode == TBaseType.rrw_postgresql_recursive){ 13212// continue; 13213// } 13214 if (lctoken.tokencode == TBaseType.rrw_xmlnamespaces){ 13215 inXmlNamespaces = true; 13216 lcnested = 0; 13217 continue; 13218 } 13219 if (inXmlNamespaces) { 13220 if ( lctoken.tokentype == ETokenType.ttleftparenthesis) lcnested++; 13221 if ( lctoken.tokentype == ETokenType.ttrightparenthesis) { 13222 lcnested--; 13223 if (lcnested == 0) { 13224 inXmlNamespaces = false; 13225 isXmlNamespaces = true; 13226 } 13227 } 13228 continue; 13229 } 13230 if (( lctoken.tokencode == TBaseType.rrw_as ) || isXmlNamespaces) 13231 { 13232 lcnested = 0; 13233 int startPos = i+1; 13234 if (isXmlNamespaces) startPos = i; 13235 for ( j = startPos; j < lcsourcetokenlist.size();j++) 13236 { 13237 lctoken = lcsourcetokenlist.get(j); 13238 if (lctoken.isnonsolidtoken() ) continue; 13239 if ( lctoken.tokentype == ETokenType.ttleftparenthesis) lcnested++; 13240 if ( lctoken.tokentype == ETokenType.ttrightparenthesis) lcnested--; 13241 13242 13243 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_delete) ) 13244 { 13245 ret = new TDeleteSqlStatement(pdbvendor); 13246 ret.isctequery = true; 13247 gnewsqlstatementtype = ESqlStatementType.sstdelete; 13248 break; 13249 } 13250 13251 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_merge) ) 13252 { 13253 ret = new TMergeSqlStatement(pdbvendor); 13254 ret.isctequery = true; 13255 gnewsqlstatementtype = ESqlStatementType.sstmerge; 13256 break; 13257 } 13258 13259 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_insert) ) 13260 { 13261 ret = new TInsertSqlStatement(pdbvendor); 13262 ret.isctequery = true; 13263 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13264 ret.dummytag = 1; // select stmt in insert is permitted 13265 13266 for ( k = lctoken.posinlist + 1; k < lcsourcetokenlist.size();k++) // iterate 13267 { 13268 if ( lcsourcetokenlist.get(k).isnonsolidtoken() ) continue; 13269 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_values ) break; 13270 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_go ) break; 13271 if ( lcsourcetokenlist.get(k).tokentype == ETokenType.ttsemicolon ) break; 13272 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_select ) break; 13273 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_execute ) break; 13274 if ( lcsourcetokenlist.get(k).tokencode == TBaseType.rrw_exec ) break; 13275 } // for 13276 if ( k > lcsourcetokenlist.size() - 1 ) 13277 k = lcsourcetokenlist.size() - 1; 13278 13279 for (int m = lctoken.posinlist + 1; m <= k; m++) // iterate 13280 { 13281 lcsourcetokenlist.get(m).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 13282 } // for 13283 13284 break; 13285 } 13286 13287 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_values) &&(pdbvendor == EDbVendor.dbvpostgresql) ) 13288 { 13289 ret = new TSelectSqlStatement(pdbvendor); 13290 ret.isctequery = true; 13291 gnewsqlstatementtype = ESqlStatementType.sstselect; 13292 break; 13293 } 13294 13295 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_select) ) 13296 { 13297 ret = new TSelectSqlStatement(pdbvendor); 13298 ret.isctequery = true; 13299 gnewsqlstatementtype = ESqlStatementType.sstselect; 13300 break; 13301 } 13302 13303 if ( (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_update) ) 13304 { 13305 ret = new TUpdateSqlStatement(pdbvendor); 13306 ret.isctequery = true; 13307 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 13308 gnewsqlstatementtype = ESqlStatementType.sstupdate; 13309 break; 13310 } 13311 13312 if ( (pdbvendor == EDbVendor.dbvhive) && (lcnested == 0) && (lctoken.tokencode == TBaseType.rrw_from) ) 13313 { 13314 TSourceToken cmdToken = lctoken.searchToken(TBaseType.rrw_insert,3); 13315 if (cmdToken != null){ 13316 ret = new TInsertSqlStatement(pdbvendor); 13317 ret.isctequery = true; 13318 gnewsqlstatementtype = ESqlStatementType.sstinsert; 13319 13320 }else{ 13321 ret = new TSelectSqlStatement(pdbvendor); 13322 ret.isctequery = true; 13323 gnewsqlstatementtype = ESqlStatementType.ssthiveFromQuery; 13324 } 13325 break; 13326 } 13327 13328 13329 } // for 13330 13331 if ( (ret != null) ) 13332 { 13333 for (k = lcpos + 1; k <= j;k++) // iterate 13334 { 13335 lcsourcetokenlist.get(k).tokenstatus = ETokenStatus.tsignoredbygetrawstatement; 13336 } // for 13337 break; 13338 } 13339 13340 } 13341 } 13342 13343 return ret; 13344} 13345 13346 TCustomSqlStatement findMdxStmtBeginWithClause(TSourceToken ptoken, EDbVendor pdbvendor){ 13347 TCustomSqlStatement ret = null; 13348 ret = new TMdxSelect(pdbvendor); 13349 ret.isctequery = true; 13350 gnewsqlstatementtype = ESqlStatementType.sstmdxselect; 13351 return ret; 13352 } 13353 13354 TCustomSqlStatement isdb2sql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13355 TCustomSqlStatement ret = null; 13356 int k; 13357 boolean lcisnewsql; 13358 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 13359 13360 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 13361 13362 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 13363 || (pcst.tokencode == TBaseType.cmtslashstar) 13364 || (pcst.tokencode == TBaseType.lexspace) 13365 || (pcst.tokencode == TBaseType.lexnewline) 13366 || (pcst.tokentype == ETokenType.ttsemicolon) ) 13367 { 13368 return ret; 13369 } 13370 13371 int lcpos = pcst.posinlist; 13372 TSourceTokenList lcsourcetokenlist = pcst.container; 13373 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 13374 13375 //subquery after semicolon || at first line 13376 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 13377 { 13378 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 13379 if ( k >0 ) 13380 { 13381 ret = new TSelectSqlStatement(pdbvendor); 13382 } 13383 13384 return ret; 13385 } 13386 13387 //cte 13388 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 13389 { 13390 ret = findcte(pcst,pdbvendor); 13391 if ( TBaseType.assigned(ret) ) return ret; 13392 } 13393 13394 //values 13395 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_values) ) 13396 { 13397 ret = new TSelectSqlStatement(pdbvendor); 13398 return ret; 13399 } 13400 13401 // db2 scriptoptions 13402 if ( pcst.tokencode == TBaseType.scriptoptions ) 13403 { 13404 ret = new TDb2ScriptOptionStmt(pdbvendor); 13405 return ret; 13406 } 13407 13408 gnewsqlstatementtype = finddb2cmd(pcst); 13409 13410 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13411 switch(gnewsqlstatementtype) { // 13412 case sstinvalid: 13413 { 13414 ret = null; 13415 if ( pcst.tokencode == TBaseType.rrw_begin ) 13416 { 13417 ret = new TCommonBlock(pdbvendor); 13418 gnewsqlstatementtype = ret.sqlstatementtype; 13419 } 13420 break; 13421 } 13422 case sstselect: 13423 { 13424 lcisnewsql = true; 13425 13426 if ( pstate != EFindSqlStateType.stnormal ) 13427 { 13428 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13429 if ( TBaseType.assigned(lcprevsolidtoken) ) 13430 { 13431 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13432 lcisnewsql = false; //subqery 13433 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 13434 lcisnewsql = false; 13435 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 13436 lcisnewsql = false; 13437 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 13438 lcisnewsql = false; 13439 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 13440 lcisnewsql = false; 13441 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 13442 lcisnewsql = false; 13443 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 13444 { 13445 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 13446 lcisnewsql = false; 13447 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 13448 lcisnewsql = false; 13449 } 13450 13451 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 13452 { 13453 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 13454 if ( TBaseType.assigned(lcpprevsolidtoken) ) 13455 { 13456 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 13457 lcisnewsql = false; 13458 } 13459 } 13460 13461 } 13462 13463 13464 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13465 { 13466 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 13467 { 13468 lcisnewsql = false; 13469 } 13470 else if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect ) 13471 { 13472 if ( lccurrentsqlstatement.isctequery ) 13473 lcisnewsql = false; 13474 } 13475 } 13476 13477 } 13478 13479 if ( lcisnewsql ) 13480 ret = new TSelectSqlStatement(pdbvendor); 13481 break; 13482 } 13483 case sstinsert: 13484 { 13485 lcisnewsql = true; 13486 if ( pstate != EFindSqlStateType.stnormal ) 13487 { 13488 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13489 { 13490 13491 } 13492 } 13493 13494 if ( lcisnewsql ) 13495 ret = new TInsertSqlStatement(pdbvendor); 13496 break; 13497 } 13498 case sstupdate: 13499 { 13500 lcisnewsql = true; 13501 if ( pstate != EFindSqlStateType.stnormal ) 13502 { 13503 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13504 if ( TBaseType.assigned(lcprevsolidtoken) ) 13505 { // 13506 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13507 lcisnewsql = false; 13508 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 13509 lcisnewsql = false; 13510 } 13511 13512 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 13513 if ( TBaseType.assigned(lcnextsolidtoken) ) 13514 { 13515 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13516 { 13517 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 13518 if ( k == 0 ) lcisnewsql = false; 13519 } 13520 } 13521 13522 13523 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13524 { 13525 } 13526 } 13527 13528 if ( lcisnewsql ) 13529 { 13530 ret = new TUpdateSqlStatement(pdbvendor); 13531 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 13532 } 13533 break; 13534 } 13535 case sstdelete: 13536 { 13537 lcisnewsql = true; 13538 13539 if ( pstate != EFindSqlStateType.stnormal ) 13540 { 13541 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13542 if ( TBaseType.assigned(lcprevsolidtoken) ) 13543 { 13544 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13545 lcisnewsql = false; 13546 } 13547 13548 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13549 { 13550 } 13551 } 13552 13553 if ( lcisnewsql ) 13554 ret = new TDeleteSqlStatement(pdbvendor); 13555 break; 13556 } 13557 case sstmerge: 13558 { 13559 ret = new TMergeSqlStatement(pdbvendor); 13560 ret.sqlstatementtype = gnewsqlstatementtype; 13561 break; 13562 } 13563 case sstcommit: 13564 { 13565 ret = new TUnknownSqlStatement(pdbvendor); 13566 ret.sqlstatementtype = gnewsqlstatementtype; 13567 break; 13568 } 13569 case sstrollback: 13570 { 13571 ret = new TUnknownSqlStatement(pdbvendor); 13572 ret.sqlstatementtype = gnewsqlstatementtype; 13573 break; 13574 } 13575 case sstsavepoint: 13576 { 13577 ret = new TUnknownSqlStatement(pdbvendor); 13578 ret.sqlstatementtype = gnewsqlstatementtype; 13579 break; 13580 } 13581 case sstRevoke: 13582 { 13583 ret = new TUnknownSqlStatement(pdbvendor); 13584 ret.sqlstatementtype = gnewsqlstatementtype; 13585 break; 13586 } 13587 case sstcreatetable: 13588 { 13589 ret = new TCreateTableSqlStatement(pdbvendor); 13590 break; 13591 } 13592 case sstcreateview: 13593 { 13594 ret = new TCreateViewSqlStatement(pdbvendor); 13595 break; 13596 } 13597 case sstcreateindex: 13598 { 13599 ret = new TCreateIndexSqlStatement(pdbvendor); 13600 break; 13601 } 13602 case sstcreatedatabase: 13603 { 13604 ret = new TCreateDatabaseSqlStatement(pdbvendor); 13605 break; 13606 } 13607 case sstdroptable: 13608 { 13609 ret = new TDropTableSqlStatement(pdbvendor); 13610 break; 13611 } 13612 case sstdropview: 13613 { 13614 ret = new TDropViewSqlStatement(pdbvendor); 13615 break; 13616 } 13617 case sstdropindex: 13618 { 13619 ret = new TDropIndexSqlStatement(pdbvendor); 13620 break; 13621 } 13622 case sstaltertable: 13623 { 13624 ret = new TAlterTableStatement(pdbvendor); 13625 break; 13626 } 13627 case sstaltersession: 13628 { 13629 ret = new TAlterSessionStatement(pdbvendor); 13630 break; 13631 } 13632 case sstdb2set: 13633 { 13634 ret = new TDb2SetVariableStmt(pdbvendor); 13635 break; 13636 } 13637 case sstdb2setschema: 13638 { 13639 ret = new TSetDatabaseObjectStmt(pdbvendor); 13640 break; 13641 } 13642 case sstdb2call: 13643 { 13644 ret = new TDb2CallStmt(pdbvendor); 13645 break; 13646 } 13647 case sstdb2declarecursor: 13648 { 13649 ret = new TDb2DeclareCursorStatement(pdbvendor); 13650 break; 13651 } 13652 case sstcreateprocedure: 13653 { 13654 ret = new TCreateProcedureStmt(pdbvendor); 13655 break; 13656 } 13657 case sstcreatefunction: 13658 { 13659 ret = new TCreateFunctionStmt(pdbvendor); 13660 break; 13661 } 13662 case sstdb2createtrigger: 13663 { 13664 ret = new TCreateTriggerStmt(pdbvendor); 13665 break; 13666 } 13667 case sstdb2return: 13668 { 13669 ret = new TDb2ReturnStmt(pdbvendor); 13670 break; 13671 } 13672 case sstdb2refreshtable: 13673 case sstdb2connect: 13674 case sstdb2terminate: 13675 case sstdb2execute: 13676 { 13677 ret = new TDb2DummyStmt(pdbvendor); 13678 break; 13679 } 13680 case sstdb2createalias: 13681 { 13682 ret = new TCreateAliasStmt(pdbvendor); 13683 break; 13684 } 13685 case sstcreateauditpolicy: 13686 ret = new TCreateAuditPolicyStmt(pdbvendor); 13687 break; 13688 case sstdb2comment: 13689 ret = new TCommentOnSqlStmt(pdbvendor); 13690 break; 13691 case sstdb2createvariable: 13692 ret = new TCreateVariableStmt(pdbvendor); 13693 break; 13694 case sstcreaterole: 13695 ret = new TCreateRoleStmt(pdbvendor); 13696 break; 13697 case sstcreateTablespace: 13698 ret = new TCreateTablespaceStmt(pdbvendor); 13699 break; 13700 case sstRunStats: 13701 ret = new TRunStats(pdbvendor); 13702 break; 13703 case ssttruncatetable: 13704 { 13705 ret = new TTruncateStatement(pdbvendor); 13706 break; 13707 } 13708 case sstcreatesynonym: 13709 ret = new TCreateSynonymStmt(pdbvendor); 13710 break; 13711 default: 13712 { 13713 // ret = tdb2dummystmt.create(pdbvendor); 13714 ret = new TUnknownSqlStatement(pdbvendor); 13715 ret.sqlstatementtype = gnewsqlstatementtype; 13716 break; 13717 } 13718 } // case 13719 13720 return ret; 13721} 13722 13723 public TCustomSqlStatement issql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13724 TCustomSqlStatement ret = null; 13725 if (pcst == null) return null; 13726 13727 switch (pdbvendor){ 13728 case dbvoracle: { 13729 ret = isoraclesql(pcst,pdbvendor,pstate,psqlstatement); 13730 break; 13731 } 13732 case dbvmssql: { 13733 ret = ismssqlsql(pcst, pdbvendor, pstate, psqlstatement); 13734 break; 13735 } 13736 case dbvdb2: { 13737 ret = isdb2sql(pcst, pdbvendor, pstate, psqlstatement); 13738 break; 13739 } 13740 case dbvmysql: { 13741 ret = ismysqlsql(pcst, pdbvendor, pstate, psqlstatement); 13742 break; 13743 } 13744 case dbvaccess: { 13745 ret = ismssqlsql(pcst, pdbvendor, pstate, psqlstatement); 13746 break; 13747 } 13748 case dbvteradata: { 13749 ret = isteradatasql(pcst, pdbvendor, pstate, psqlstatement); 13750 break; 13751 } 13752 case dbvpostgresql: { 13753 ret = ispostgresql(pcst, pdbvendor, pstate, psqlstatement); 13754 break; 13755 } 13756 case dbvredshift: { 13757 ret = isredshift(pcst, pdbvendor, pstate, psqlstatement); 13758 break; 13759 } 13760 case dbvgreenplum: { 13761 ret = isgreenplum(pcst,pdbvendor,pstate,psqlstatement); 13762 break; 13763 } 13764 case dbvmdx:{ 13765 ret = ismdxsql(pcst, pdbvendor, pstate, psqlstatement); 13766 break; 13767 } 13768 case dbvnetezza:{ 13769 ret = isnetezza(pcst, pdbvendor, pstate, psqlstatement); 13770 break; 13771 } 13772 case dbvsybase:{ 13773 ret = issybasesql(pcst, pdbvendor, pstate, psqlstatement); 13774 break; 13775 } 13776 case dbvinformix:{ 13777 ret = isinformixsql(pcst, pdbvendor, pstate, psqlstatement); 13778 break; 13779 } 13780 case dbvhive:{ 13781 ret = ishive(pcst, pdbvendor, pstate, psqlstatement); 13782 break; 13783 } 13784 case dbvimpala:{ 13785 ret = ishive(pcst, pdbvendor, pstate, psqlstatement); 13786 break; 13787 } 13788 case dbvhana:{ 13789 ret = ishana(pcst, pdbvendor, pstate, psqlstatement); 13790 break; 13791 } 13792 case dbvvertica:{ 13793 ret = isvertica(pcst, pdbvendor, pstate, psqlstatement); 13794 break; 13795 } 13796 case dbvcouchbase:{ 13797 ret = iscouchbase(pcst, pdbvendor, pstate, psqlstatement); 13798 break; 13799 } 13800 case dbvsnowflake:{ 13801 ret = issnowflake(pcst, pdbvendor, pstate, psqlstatement); 13802 break; 13803 } 13804 case dbvbigquery:{ 13805 ret = isbigquery(pcst, pdbvendor, pstate, psqlstatement); 13806 break; 13807 } 13808 case dbvsoql:{ 13809 ret = ismssqlsql(pcst,pdbvendor,pstate,psqlstatement); 13810 break; 13811 } 13812 case dbvsparksql:{ 13813 ret = issparksql(pcst,pdbvendor,pstate,psqlstatement); 13814 break; 13815 } 13816 case dbvpresto:{ 13817 ret = ispresto(pcst,pdbvendor,pstate,psqlstatement); 13818 break; 13819 } 13820 case dbvathena:{ 13821 ret = isathena(pcst,pdbvendor,pstate,psqlstatement); 13822 break; 13823 } 13824 case dbvdatabricks:{ 13825 ret = isdatabricks(pcst,pdbvendor,pstate,psqlstatement); 13826 break; 13827 } 13828 case dbvgaussdb:{ 13829 ret = isgaussdb(pcst,pdbvendor,pstate,psqlstatement); 13830 break; 13831 } 13832 default: 13833 { 13834 ret = ismssqlsql(pcst,pdbvendor,pstate,psqlstatement); 13835 } 13836 } // case 13837 return ret; 13838 } 13839 TCustomSqlStatement isdatabricks(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 13840 13841 TCustomSqlStatement ret = null; 13842 int k; 13843 boolean lcisnewsql; 13844 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 13845 13846 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 13847 13848 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 13849 || (pcst.tokencode == TBaseType.cmtslashstar) 13850 || (pcst.tokencode == TBaseType.lexspace) 13851 || (pcst.tokencode == TBaseType.lexnewline) 13852 || (pcst.tokentype == ETokenType.ttsemicolon) ) 13853 { 13854 return ret; 13855 } 13856 13857 int lcpos = pcst.posinlist; 13858 TSourceTokenList lcsourcetokenlist = pcst.container; 13859 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 13860 13861 //subquery after semicolon || at first line 13862 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 13863 { 13864 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 13865 if ( k >0 ) 13866 { 13867 ret = new TSelectSqlStatement(pdbvendor); 13868 } 13869 13870 return ret; 13871 } 13872 13873 //cte 13874 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 13875 { 13876 ret = findcte(pcst,pdbvendor); 13877 if ( (ret != null) ) return ret; 13878 } 13879 13880 13881 gnewsqlstatementtype = finddatabrickscmd(pcst); 13882 13883 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13884 13885 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 13886 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 13887 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 13888 if (viewToken != null){ 13889 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 13890 } 13891 } 13892 switch (gnewsqlstatementtype){ 13893 case sstinvalid: 13894 { 13895 ret = null; 13896 break; 13897 } 13898 case sstselect: 13899 { 13900 lcisnewsql = true; 13901 13902 if ( pstate != EFindSqlStateType.stnormal ) 13903 { 13904 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13905 if ( TBaseType.assigned(lcprevsolidtoken) ) 13906 { 13907 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 13908 lcisnewsql = false; //subqery 13909 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 13910 lcisnewsql = false; 13911 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 13912 lcisnewsql = false; 13913 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 13914 lcisnewsql = false; 13915 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 13916 lcisnewsql = false; 13917 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 13918 lcisnewsql = false; 13919 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 13920 { 13921 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 13922 lcisnewsql = false; 13923 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 13924 lcisnewsql = false; 13925 } 13926 13927 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 13928 { 13929 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 13930 if ( TBaseType.assigned(lcpprevsolidtoken) ) 13931 { 13932 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 13933 lcisnewsql = false; 13934 } 13935 } 13936 13937 } 13938 13939 13940 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13941 { 13942 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 13943 lcisnewsql = false; 13944 } 13945 13946 } 13947 13948 if ( lcisnewsql ) 13949 ret = new TSelectSqlStatement(pdbvendor); 13950 break; 13951 } 13952 case sstinsert: 13953 { 13954 lcisnewsql = true; 13955 if ( pstate != EFindSqlStateType.stnormal ) 13956 { 13957 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13958 { 13959 13960 } 13961 } 13962 13963 if ( lcisnewsql ) 13964 ret = new TInsertSqlStatement(pdbvendor); 13965 ret.sqlstatementtype = gnewsqlstatementtype; 13966 break; 13967 } 13968 case sstdelete: 13969 { 13970 lcisnewsql = true; 13971 13972 if ( pstate != EFindSqlStateType.stnormal ) 13973 { 13974 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 13975 if ( TBaseType.assigned(lcprevsolidtoken) ) 13976 { 13977 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 13978 lcisnewsql = false; 13979 } 13980 13981 if ( TBaseType.assigned(lccurrentsqlstatement) ) 13982 { 13983 } 13984 } 13985 13986 if ( lcisnewsql ) 13987 ret = new TDeleteSqlStatement(pdbvendor); 13988 break; 13989 } 13990 case sstaltertable: 13991 { 13992 ret = new TAlterTableStatement(pdbvendor); 13993 break; 13994 } 13995 case sstalterfunction: 13996 { 13997 ret = new TAlterFunctionStmt(pdbvendor); 13998 break; 13999 } 14000 case sstAlterSchema: 14001 { 14002 ret = new TAlterSchemaStmt(pdbvendor); 14003 break; 14004 } 14005 case sstanalyzeTable: 14006 { 14007 ret = new TAnalyzeStmt(pdbvendor); 14008 break; 14009 } 14010 case sstcall: 14011 { 14012 ret = new TCallStatement(pdbvendor); 14013 break; 14014 } 14015 case sstcommit: 14016 { 14017 ret = new TCommitStmt(pdbvendor); 14018 break; 14019 } 14020 case sstcreatefunction: 14021 { 14022 ret = new TCreateFunctionStmt(pdbvendor); 14023 break; 14024 } 14025 case sstcreaterole: 14026 { 14027 ret = new TCreateRoleStmt(pdbvendor); 14028 break; 14029 } 14030 case sstcreateschema: 14031 { 14032 ret = new TCreateSchemaSqlStatement(pdbvendor); 14033 break; 14034 } 14035 case sstcreatetable: 14036 { 14037 ret = new TCreateTableSqlStatement(pdbvendor); 14038 break; 14039 } 14040 case sstcreateview: 14041 { 14042 ret = new TCreateViewSqlStatement(pdbvendor); 14043 break; 14044 } 14045 case sstpostgresqlDeallocate: 14046 { 14047 ret = new TUnknownSqlStatement(pdbvendor); 14048 ret.sqlstatementtype = gnewsqlstatementtype; 14049 break; 14050 } 14051 case sstdropfunction: 14052 { 14053 ret = new TDropFunctionStmt(pdbvendor); 14054 break; 14055 } 14056 case sstdroprole: 14057 { 14058 ret = new TDropRoleStmt(pdbvendor); 14059 break; 14060 } 14061 case sstdropschema: 14062 { 14063 ret = new TDropSchemaSqlStatement(pdbvendor); 14064 break; 14065 } 14066 case sstdroptable: 14067 { 14068 ret = new TDropTableSqlStatement(pdbvendor); 14069 break; 14070 } 14071 case sstdropview: 14072 { 14073 ret = new TDropViewSqlStatement(pdbvendor); 14074 break; 14075 } 14076 case sstExecute: 14077 { 14078 ret = new TExecuteSqlStatement(pdbvendor); 14079 break; 14080 } 14081 case sstExplain: 14082 { 14083 ret = new TExplainPlan(pdbvendor); 14084 break; 14085 } 14086 case sstGrant: 14087 { 14088 ret = new TGrantStmt(pdbvendor); 14089 break; 14090 } 14091 case sstprepare: 14092 { 14093 ret = new TPrepareStmt(pdbvendor); 14094 break; 14095 } 14096 case sstset: 14097 case sstReset: 14098 { 14099 lcisnewsql = true; 14100 if ( pstate != EFindSqlStateType.stnormal ) 14101 { 14102 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14103 { 14104 lcisnewsql = false; 14105 } 14106 } 14107 14108 if ( lcisnewsql ) 14109 { 14110 ret = new TSetStmt(pdbvendor); 14111 } 14112 break; 14113 } 14114 case sstShow: 14115 { 14116 ret = new TShowStmt(pdbvendor); 14117 ret.sqlstatementtype = gnewsqlstatementtype; 14118 break; 14119 } 14120 case sstStartTransaction: 14121 { 14122 ret = new TStartTransactionStmt(pdbvendor); 14123 break; 14124 } 14125 case sstValues: 14126 { 14127 ret = new TSelectSqlStatement(pdbvendor); 14128 break; 14129 } 14130 case sstResetSession: 14131 { 14132 ret = new TResetSessionStmt(pdbvendor); 14133 break; 14134 } 14135 case sstCreateExternallocation: 14136 ret = new TCreateExternalLocationStmt(pdbvendor); 14137 break; 14138 case sstList: 14139 { 14140 ret = new TListStmt(pdbvendor); 14141 break; 14142 } 14143 case sstRevoke: 14144 ret = new TRevokeStmt(pdbvendor); 14145 break; 14146 case sstaltercredental: 14147 ret = new TAlterCredentialStmt(pdbvendor); 14148 break; 14149 case sstdescribeCatalog: 14150 case sstdescribeFunction: 14151 case sstdescribeProvider: 14152 case sstdescribeQuery: 14153 case sstdescribeRecipient: 14154 case sstdescribeSchema: 14155 case sstdescribeShare: 14156 case sstdescribeTable: 14157 case sstdescribeDatabase: 14158 case sstdescribeLocation: 14159 case sstdescribeCredential: 14160 case sstdescribe: 14161 ret = new TDescribeStmt(pdbvendor); 14162 break; 14163 case sstUseCatalog: 14164 case sstUseSchema: 14165 case sstUseDatabase: 14166 case sstUse: 14167 ret = new TUseDatabase(pdbvendor); 14168 break; 14169 case sstAnalyzeTable: 14170 ret = new TAnalyzeStmt(pdbvendor); 14171 break; 14172 case sstCreategroup: 14173 ret = new TCreateGroup(pdbvendor); 14174 break; 14175 case sstAlterGroup: 14176 ret = new TAlterGroup(pdbvendor); 14177 break; 14178 case sstDeny: 14179 ret = new TDenyStmt(pdbvendor); 14180 break; 14181 case sstDropGroup: 14182 ret = new TDropGroup(pdbvendor); 14183 break; 14184 case sstmsckrepairtable: 14185 ret = new TMSCKStmt(pdbvendor); 14186 break; 14187 case sstcreatecatalog: 14188 ret = new TCreateCatalogStmt(pdbvendor); 14189 break; 14190 case sstConvertToDelta: 14191 ret = new TConvertToDeltaStmt(pdbvendor); 14192 break; 14193 case sstOptimize: 14194 ret = new TOptimizeStmt(pdbvendor); 14195 break; 14196 case sstRestoreTable: 14197 ret = new TRestoreTableStmt(pdbvendor); 14198 break; 14199 case sstReorgTable: 14200 ret = new TReorgTableStmt(pdbvendor); 14201 break; 14202 case sstVacuum: 14203 ret = new TVacuumStmt(pdbvendor); 14204 break; 14205 case sstmerge: 14206 ret = new TMergeSqlStatement(pdbvendor); 14207 break; 14208 default: 14209 { 14210 ret = new TUnknownSqlStatement(pdbvendor); 14211 ret.sqlstatementtype = gnewsqlstatementtype; 14212 break; 14213 } 14214 } // case 14215 14216 return ret; 14217 14218 } 14219 TCustomSqlStatement ispresto(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14220 14221 TCustomSqlStatement ret = null; 14222 int k; 14223 boolean lcisnewsql; 14224 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14225 14226 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14227 14228 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14229 || (pcst.tokencode == TBaseType.cmtslashstar) 14230 || (pcst.tokencode == TBaseType.lexspace) 14231 || (pcst.tokencode == TBaseType.lexnewline) 14232 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14233 { 14234 return ret; 14235 } 14236 14237 int lcpos = pcst.posinlist; 14238 TSourceTokenList lcsourcetokenlist = pcst.container; 14239 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14240 14241 //subquery after semicolon || at first line 14242 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14243 { 14244 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14245 if ( k >0 ) 14246 { 14247 ret = new TSelectSqlStatement(pdbvendor); 14248 } 14249 14250 return ret; 14251 } 14252 14253 //cte 14254 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14255 { 14256 ret = findcte(pcst,pdbvendor); 14257 if ( (ret != null) ) return ret; 14258 } 14259 14260 14261 gnewsqlstatementtype = findprestocmd(pcst); 14262 14263 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14264 14265 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14266 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14267 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14268 if (viewToken != null){ 14269 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14270 } 14271 } 14272 switch (gnewsqlstatementtype){ 14273 case sstinvalid: 14274 { 14275 ret = null; 14276 break; 14277 } 14278 case sstselect: 14279 { 14280 lcisnewsql = true; 14281 14282 if ( pstate != EFindSqlStateType.stnormal ) 14283 { 14284 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14285 if ( TBaseType.assigned(lcprevsolidtoken) ) 14286 { 14287 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14288 lcisnewsql = false; //subqery 14289 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14290 lcisnewsql = false; 14291 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14292 lcisnewsql = false; 14293 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14294 lcisnewsql = false; 14295 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14296 lcisnewsql = false; 14297 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14298 lcisnewsql = false; 14299 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14300 { 14301 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14302 lcisnewsql = false; 14303 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14304 lcisnewsql = false; 14305 } 14306 14307 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14308 { 14309 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14310 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14311 { 14312 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14313 lcisnewsql = false; 14314 } 14315 } 14316 14317 } 14318 14319 14320 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14321 { 14322 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14323 lcisnewsql = false; 14324 } 14325 14326 } 14327 14328 if ( lcisnewsql ) 14329 ret = new TSelectSqlStatement(pdbvendor); 14330 break; 14331 } 14332 case sstinsert: 14333 { 14334 lcisnewsql = true; 14335 if ( pstate != EFindSqlStateType.stnormal ) 14336 { 14337 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14338 { 14339 14340 } 14341 } 14342 14343 if ( lcisnewsql ) 14344 ret = new TInsertSqlStatement(pdbvendor); 14345 ret.sqlstatementtype = gnewsqlstatementtype; 14346 break; 14347 } 14348 case sstdelete: 14349 { 14350 lcisnewsql = true; 14351 14352 if ( pstate != EFindSqlStateType.stnormal ) 14353 { 14354 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14355 if ( TBaseType.assigned(lcprevsolidtoken) ) 14356 { 14357 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14358 lcisnewsql = false; 14359 } 14360 14361 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14362 { 14363 } 14364 } 14365 14366 if ( lcisnewsql ) 14367 ret = new TDeleteSqlStatement(pdbvendor); 14368 break; 14369 } 14370 case sstaltertable: 14371 { 14372 ret = new TAlterTableStatement(pdbvendor); 14373 break; 14374 } 14375 case sstalterfunction: 14376 { 14377 ret = new TAlterFunctionStmt(pdbvendor); 14378 break; 14379 } 14380 case sstAlterSchema: 14381 { 14382 ret = new TAlterSchemaStmt(pdbvendor); 14383 break; 14384 } 14385 case sstanalyzeTable: 14386 { 14387 ret = new TAnalyzeStmt(pdbvendor); 14388 break; 14389 } 14390 case sstcall: 14391 { 14392 ret = new TCallStatement(pdbvendor); 14393 break; 14394 } 14395 case sstcommit: 14396 { 14397 ret = new TCommitStmt(pdbvendor); 14398 break; 14399 } 14400 case sstcreatefunction: 14401 { 14402 ret = new TCreateFunctionStmt(pdbvendor); 14403 break; 14404 } 14405 case sstcreaterole: 14406 { 14407 ret = new TCreateRoleStmt(pdbvendor); 14408 break; 14409 } 14410 case sstcreateschema: 14411 { 14412 ret = new TCreateSchemaSqlStatement(pdbvendor); 14413 break; 14414 } 14415 case sstcreatetable: 14416 { 14417 ret = new TCreateTableSqlStatement(pdbvendor); 14418 break; 14419 } 14420 case sstcreateview: 14421 { 14422 ret = new TCreateViewSqlStatement(pdbvendor); 14423 break; 14424 } 14425 case sstpostgresqlDeallocate: 14426 { 14427 ret = new TUnknownSqlStatement(pdbvendor); 14428 ret.sqlstatementtype = gnewsqlstatementtype; 14429 break; 14430 } 14431 case sstdescribe: 14432 { 14433 ret = new TDescribeStmt(pdbvendor); 14434 break; 14435 } 14436 case sstdropfunction: 14437 { 14438 ret = new TDropFunctionStmt(pdbvendor); 14439 break; 14440 } 14441 case sstdroprole: 14442 { 14443 ret = new TDropRoleStmt(pdbvendor); 14444 break; 14445 } 14446 case sstdropschema: 14447 { 14448 ret = new TDropSchemaSqlStatement(pdbvendor); 14449 break; 14450 } 14451 case sstdroptable: 14452 { 14453 ret = new TDropTableSqlStatement(pdbvendor); 14454 break; 14455 } 14456 case sstdropview: 14457 { 14458 ret = new TDropViewSqlStatement(pdbvendor); 14459 break; 14460 } 14461 case sstExecute: 14462 { 14463 ret = new TExecuteSqlStatement(pdbvendor); 14464 break; 14465 } 14466 case sstExplain: 14467 { 14468 ret = new TExplainPlan(pdbvendor); 14469 break; 14470 } 14471 case sstGrant: 14472 { 14473 ret = new TGrantStmt(pdbvendor); 14474 break; 14475 } 14476 case sstprepare: 14477 { 14478 ret = new TPrepareStmt(pdbvendor); 14479 break; 14480 } 14481 case sstset: 14482 case sstReset: 14483 { 14484 lcisnewsql = true; 14485 if ( pstate != EFindSqlStateType.stnormal ) 14486 { 14487 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14488 { 14489 lcisnewsql = false; 14490 } 14491 } 14492 14493 if ( lcisnewsql ) 14494 { 14495 ret = new TSetStmt(pdbvendor); 14496 } 14497 break; 14498 } 14499 case sstShow: 14500 { 14501 ret = new TShowStmt(pdbvendor); 14502 ret.sqlstatementtype = gnewsqlstatementtype; 14503 break; 14504 } 14505 case sstStartTransaction: 14506 { 14507 ret = new TStartTransactionStmt(pdbvendor); 14508 break; 14509 } 14510 case sstUse: 14511 { 14512 ret = new TUseDatabase(pdbvendor); 14513 break; 14514 } 14515 case sstValues: 14516 { 14517 ret = new TSelectSqlStatement(pdbvendor); 14518 break; 14519 } 14520 case sstResetSession: 14521 { 14522 ret = new TResetSessionStmt(pdbvendor); 14523 break; 14524 } 14525 default: 14526 { 14527 ret = new TUnknownSqlStatement(pdbvendor); 14528 ret.sqlstatementtype = gnewsqlstatementtype; 14529 break; 14530 } 14531 } // case 14532 14533 return ret; 14534 14535 } 14536 TCustomSqlStatement isathena(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14537 14538 TCustomSqlStatement ret = null; 14539 int k; 14540 boolean lcisnewsql; 14541 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14542 14543 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14544 14545 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14546 || (pcst.tokencode == TBaseType.cmtslashstar) 14547 || (pcst.tokencode == TBaseType.lexspace) 14548 || (pcst.tokencode == TBaseType.lexnewline) 14549 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14550 { 14551 return ret; 14552 } 14553 14554 int lcpos = pcst.posinlist; 14555 TSourceTokenList lcsourcetokenlist = pcst.container; 14556 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14557 14558 //subquery after semicolon || at first line 14559 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14560 { 14561 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14562 if ( k >0 ) 14563 { 14564 ret = new TSelectSqlStatement(pdbvendor); 14565 } 14566 14567 return ret; 14568 } 14569 14570 //cte 14571 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14572 { 14573 ret = findcte(pcst,pdbvendor); 14574 if ( (ret != null) ) return ret; 14575 } 14576 14577 14578 gnewsqlstatementtype = findathenacmd(pcst); 14579 14580 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14581 14582 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14583 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14584 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14585 if (viewToken != null){ 14586 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14587 } 14588 } 14589 switch (gnewsqlstatementtype){ 14590 case sstinvalid: 14591 { 14592 ret = null; 14593 break; 14594 } 14595 case sstselect: 14596 { 14597 lcisnewsql = true; 14598 14599 if ( pstate != EFindSqlStateType.stnormal ) 14600 { 14601 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14602 if ( TBaseType.assigned(lcprevsolidtoken) ) 14603 { 14604 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14605 lcisnewsql = false; //subqery 14606 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14607 lcisnewsql = false; 14608 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14609 lcisnewsql = false; 14610 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14611 lcisnewsql = false; 14612 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14613 lcisnewsql = false; 14614 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14615 lcisnewsql = false; 14616 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14617 { 14618 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14619 lcisnewsql = false; 14620 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14621 lcisnewsql = false; 14622 } 14623 14624 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14625 { 14626 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14627 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14628 { 14629 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14630 lcisnewsql = false; 14631 } 14632 } 14633 14634 } 14635 14636 14637 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14638 { 14639 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14640 lcisnewsql = false; 14641 } 14642 14643 } 14644 14645 if ( lcisnewsql ) 14646 ret = new TSelectSqlStatement(pdbvendor); 14647 break; 14648 } 14649 case sstinsert: 14650 { 14651 lcisnewsql = true; 14652 if ( pstate != EFindSqlStateType.stnormal ) 14653 { 14654 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14655 { 14656 14657 } 14658 } 14659 14660 if ( lcisnewsql ) 14661 ret = new TInsertSqlStatement(pdbvendor); 14662 ret.sqlstatementtype = gnewsqlstatementtype; 14663 break; 14664 } 14665 case sstdelete: 14666 { 14667 lcisnewsql = true; 14668 14669 if ( pstate != EFindSqlStateType.stnormal ) 14670 { 14671 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14672 if ( TBaseType.assigned(lcprevsolidtoken) ) 14673 { 14674 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 14675 lcisnewsql = false; 14676 } 14677 14678 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14679 { 14680 } 14681 } 14682 14683 if ( lcisnewsql ) 14684 ret = new TDeleteSqlStatement(pdbvendor); 14685 break; 14686 } 14687 case sstaltertable: 14688 { 14689 ret = new TAlterTableStatement(pdbvendor); 14690 break; 14691 } 14692 case sstalterfunction: 14693 { 14694 ret = new TAlterFunctionStmt(pdbvendor); 14695 break; 14696 } 14697 case sstAlterSchema: 14698 { 14699 ret = new TAlterSchemaStmt(pdbvendor); 14700 break; 14701 } 14702 case sstanalyzeTable: 14703 { 14704 ret = new TAnalyzeStmt(pdbvendor); 14705 break; 14706 } 14707 case sstcall: 14708 { 14709 ret = new TCallStatement(pdbvendor); 14710 break; 14711 } 14712 case sstcommit: 14713 { 14714 ret = new TCommitStmt(pdbvendor); 14715 break; 14716 } 14717 case sstcreatefunction: 14718 { 14719 ret = new TCreateFunctionStmt(pdbvendor); 14720 break; 14721 } 14722 case sstcreaterole: 14723 { 14724 ret = new TCreateRoleStmt(pdbvendor); 14725 break; 14726 } 14727 case sstcreateschema: 14728 { 14729 ret = new TCreateSchemaSqlStatement(pdbvendor); 14730 break; 14731 } 14732 case sstcreatetable: 14733 { 14734 ret = new TCreateTableSqlStatement(pdbvendor); 14735 break; 14736 } 14737 case sstcreateview: 14738 { 14739 ret = new TCreateViewSqlStatement(pdbvendor); 14740 break; 14741 } 14742 case sstpostgresqlDeallocate: 14743 { 14744 ret = new TUnknownSqlStatement(pdbvendor); 14745 ret.sqlstatementtype = gnewsqlstatementtype; 14746 break; 14747 } 14748 case sstdescribe: 14749 { 14750 ret = new TDescribeStmt(pdbvendor); 14751 break; 14752 } 14753 case sstdropfunction: 14754 { 14755 ret = new TDropFunctionStmt(pdbvendor); 14756 break; 14757 } 14758 case sstdroprole: 14759 { 14760 ret = new TDropRoleStmt(pdbvendor); 14761 break; 14762 } 14763 case sstdropschema: 14764 { 14765 ret = new TDropSchemaSqlStatement(pdbvendor); 14766 break; 14767 } 14768 case sstdroptable: 14769 { 14770 ret = new TDropTableSqlStatement(pdbvendor); 14771 break; 14772 } 14773 case sstdropview: 14774 { 14775 ret = new TDropViewSqlStatement(pdbvendor); 14776 break; 14777 } 14778 case sstExecute: 14779 { 14780 ret = new TExecuteSqlStatement(pdbvendor); 14781 break; 14782 } 14783 case sstExplain: 14784 { 14785 ret = new TExplainPlan(pdbvendor); 14786 break; 14787 } 14788 case sstGrant: 14789 { 14790 ret = new TGrantStmt(pdbvendor); 14791 break; 14792 } 14793 case sstprepare: 14794 { 14795 ret = new TPrepareStmt(pdbvendor); 14796 break; 14797 } 14798 case sstset: 14799 case sstReset: 14800 { 14801 lcisnewsql = true; 14802 if ( pstate != EFindSqlStateType.stnormal ) 14803 { 14804 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14805 { 14806 lcisnewsql = false; 14807 } 14808 } 14809 14810 if ( lcisnewsql ) 14811 { 14812 ret = new TSetStmt(pdbvendor); 14813 } 14814 break; 14815 } 14816 case sstShow: 14817 { 14818 ret = new TShowStmt(pdbvendor); 14819 ret.sqlstatementtype = gnewsqlstatementtype; 14820 break; 14821 } 14822 case sstStartTransaction: 14823 { 14824 ret = new TStartTransactionStmt(pdbvendor); 14825 break; 14826 } 14827 case sstUse: 14828 { 14829 ret = new TUseDatabase(pdbvendor); 14830 break; 14831 } 14832 case sstValues: 14833 { 14834 ret = new TSelectSqlStatement(pdbvendor); 14835 break; 14836 } 14837 case sstResetSession: 14838 { 14839 ret = new TResetSessionStmt(pdbvendor); 14840 break; 14841 } 14842 case sstunload: 14843 lcisnewsql = true; 14844 if ( pstate != EFindSqlStateType.stnormal ) 14845 { 14846 lcisnewsql = false; 14847 } 14848 if ( lcisnewsql ) { 14849 ret = new TUnloadStmt(pdbvendor); 14850 ret.sqlstatementtype = gnewsqlstatementtype; 14851 } 14852 break; 14853 case sstmsck: 14854 { 14855 ret = new TMSCKStmt(pdbvendor); 14856 break; 14857 } 14858 case sstcreatedatabase: 14859 { 14860 ret = new TCreateDatabaseSqlStatement(pdbvendor); 14861 break; 14862 } 14863 case sstalterdatabase: 14864 { 14865 ret = new TAlterDatabaseStmt(pdbvendor); 14866 break; 14867 } 14868 case sstdropdatabase: 14869 ret = new TDropDatabaseStmt(pdbvendor); 14870 break; 14871 default: 14872 { 14873 ret = new TUnknownSqlStatement(pdbvendor); 14874 ret.sqlstatementtype = gnewsqlstatementtype; 14875 break; 14876 } 14877 } // case 14878 14879 return ret; 14880 14881 } 14882 14883 TCustomSqlStatement issparksql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 14884 14885 TCustomSqlStatement ret = null; 14886 int k; 14887 boolean lcisnewsql; 14888 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 14889 14890 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 14891 14892 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 14893 || (pcst.tokencode == TBaseType.cmtslashstar) 14894 || (pcst.tokencode == TBaseType.lexspace) 14895 || (pcst.tokencode == TBaseType.lexnewline) 14896 || (pcst.tokentype == ETokenType.ttsemicolon) ) 14897 { 14898 return ret; 14899 } 14900 14901 int lcpos = pcst.posinlist; 14902 TSourceTokenList lcsourcetokenlist = pcst.container; 14903 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 14904 14905 //subquery after semicolon || at first line 14906 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 14907 { 14908 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 14909 if ( k >0 ) 14910 { 14911 ret = new TSelectSqlStatement(pdbvendor); 14912 } 14913 14914 return ret; 14915 } 14916 14917 //cte 14918 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 14919 { 14920 ret = findcte(pcst,pdbvendor); 14921 if ( (ret != null) ) return ret; 14922 } 14923 14924 14925 gnewsqlstatementtype = findsparksqlcmd(pcst); 14926 14927 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14928 14929 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 14930 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 14931 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 14932 if (viewToken != null){ 14933 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 14934 } 14935 } 14936 switch (gnewsqlstatementtype){ 14937 case sstinvalid: 14938 { 14939 ret = null; 14940 break; 14941 } 14942 case sstselect: 14943 { 14944 lcisnewsql = true; 14945 14946 if ( pstate != EFindSqlStateType.stnormal ) 14947 { 14948 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 14949 if ( TBaseType.assigned(lcprevsolidtoken) ) 14950 { 14951 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 14952 lcisnewsql = false; //subqery 14953 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 14954 lcisnewsql = false; 14955 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 14956 lcisnewsql = false; 14957 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 14958 lcisnewsql = false; 14959 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 14960 lcisnewsql = false; 14961 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 14962 lcisnewsql = false; 14963 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 14964 { 14965 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 14966 lcisnewsql = false; 14967 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 14968 lcisnewsql = false; 14969 } 14970 14971 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 14972 { 14973 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 14974 if ( TBaseType.assigned(lcpprevsolidtoken) ) 14975 { 14976 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 14977 lcisnewsql = false; 14978 } 14979 } 14980 14981 } 14982 14983 14984 if ( TBaseType.assigned(lccurrentsqlstatement) ) 14985 { 14986 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 14987 lcisnewsql = false; 14988 } 14989 14990 } 14991 14992 if ( lcisnewsql ) 14993 ret = new TSelectSqlStatement(pdbvendor); 14994 break; 14995 } 14996 case sstinsert: 14997 { 14998 lcisnewsql = true; 14999 if ( pstate != EFindSqlStateType.stnormal ) 15000 { 15001 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15002 { 15003 15004 } 15005 } 15006 15007 if ( lcisnewsql ) 15008 ret = new TInsertSqlStatement(pdbvendor); 15009 ret.sqlstatementtype = gnewsqlstatementtype; 15010 break; 15011 } 15012 case sstupdate: 15013 { 15014 lcisnewsql = true; 15015 if ( pstate != EFindSqlStateType.stnormal ) 15016 { 15017 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15018 if ( TBaseType.assigned(lcprevsolidtoken) ) 15019 { // 15020 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15021 lcisnewsql = false; 15022 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 15023 lcisnewsql = false; 15024 } 15025 15026 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15027 if ( TBaseType.assigned(lcnextsolidtoken) ) 15028 { 15029 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15030 { 15031 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 15032 if ( k == 0 ) lcisnewsql = false; 15033 } 15034 } 15035 15036 15037 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15038 { 15039 } 15040 } 15041 15042 if ( lcisnewsql ) 15043 { 15044 ret = new TUpdateSqlStatement(pdbvendor); 15045 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 15046 } 15047 break; 15048 } 15049 case sstdelete: 15050 { 15051 lcisnewsql = true; 15052 15053 if ( pstate != EFindSqlStateType.stnormal ) 15054 { 15055 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15056 if ( TBaseType.assigned(lcprevsolidtoken) ) 15057 { 15058 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15059 lcisnewsql = false; 15060 } 15061 15062 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15063 { 15064 } 15065 } 15066 15067 if ( lcisnewsql ) 15068 ret = new TDeleteSqlStatement(pdbvendor); 15069 break; 15070 } 15071 case sstcreatetable: 15072 { 15073 ret = new TCreateTableSqlStatement(pdbvendor); 15074 break; 15075 } 15076 case sstcreateview: 15077 { 15078 ret = new TCreateViewSqlStatement(pdbvendor); 15079 break; 15080 } 15081 case sstcreatedatabase: 15082 { 15083 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15084 break; 15085 } 15086 case sstdroptable: 15087 { 15088 ret = new TDropTableSqlStatement(pdbvendor); 15089 break; 15090 } 15091 case sstdropview: 15092 { 15093 ret = new TDropViewSqlStatement(pdbvendor); 15094 break; 15095 } 15096 case sstaltertable: 15097 { 15098 ret = new TAlterTableStatement(pdbvendor); 15099 break; 15100 } 15101 case sstset: 15102 case sstReset: 15103 case sstSetTimeZone: 15104 { 15105 lcisnewsql = true; 15106 if ( pstate != EFindSqlStateType.stnormal ) 15107 { 15108 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15109 { 15110 lcisnewsql = false; 15111 } 15112 } 15113 15114 if ( lcisnewsql ) 15115 { 15116 ret = new TSetStmt(pdbvendor); 15117 } 15118 break; 15119 } 15120 case sstcreatefunction: 15121 { 15122 ret = new TCreateFunctionStmt(pdbvendor); 15123 break; 15124 } 15125 case sstTruncate: 15126 { 15127 ret = new TTruncateStatement(pdbvendor); 15128 break; 15129 } 15130 case sstdescribe: 15131 { 15132 ret = new TDescribeStmt(pdbvendor); 15133 break; 15134 } 15135 case sstExplain: 15136 { 15137 ret = new TExplainPlan(pdbvendor); 15138 break; 15139 } 15140 case sstUse: 15141 { 15142 ret = new TUseDatabase(pdbvendor); 15143 break; 15144 } 15145 case sstLoadData: 15146 { 15147 ret = new TLoadDataStmt(pdbvendor); 15148 break; 15149 } 15150 case sstShowColumns: 15151 case sstShowCreateTable: 15152 case sstShowDatabases: 15153 case sstShowFunctions: 15154 case sstShowPartitions: 15155 case sstShowTableExtended: 15156 case sstShowTables: 15157 case sstShowTblProperties: 15158 case sstShowViews: 15159 case sstShowUser: 15160 ret = new TShowStmt(pdbvendor); 15161 ret.sqlstatementtype = gnewsqlstatementtype; 15162 break; 15163 case sstalterdatabase: 15164 ret = new TAlterDatabaseStmt(pdbvendor); 15165 break; 15166 case sstdescribeDatabase: 15167 case sstdescribeTable: 15168 case sstdescribeFunction: 15169 ret = new TDescribeStmt(pdbvendor); 15170 break; 15171 case sstalterview: 15172 ret = new TAlterViewStatement(pdbvendor); 15173 break; 15174 case sstAddFile: 15175 case sstAddJar: 15176 case sstListFile: 15177 case sstListJar: 15178 ret = new TResourceManagement(pdbvendor); 15179 ret.sqlstatementtype = gnewsqlstatementtype; 15180 break; 15181 case sstdropdatabase: 15182 ret = new TDropDatabaseStmt(pdbvendor); 15183 break; 15184 case sstdropfunction: 15185 ret = new TDropFunctionStmt(pdbvendor); 15186 break; 15187 case ssttruncatetable: 15188 ret = new TTruncateStatement(pdbvendor); 15189 break; 15190 case sstmsck: 15191 { 15192 ret = new TMSCKStmt(pdbvendor); 15193 break; 15194 } 15195 case sstanalyzeTable: 15196 { 15197 ret = new TAnalyzeStmt(pdbvendor); 15198 break; 15199 } 15200 case sstCacheTable: 15201 case sstUnCacheTable: 15202 case sstClearCache: 15203 ret = new TCacheTable(pdbvendor); 15204 break; 15205 case sstRefreshTable: 15206 case sstRefreshFunction: 15207 case sstRefresh: 15208 ret = new TRefresh(pdbvendor); 15209 break; 15210 default: 15211 { 15212 ret = new TUnknownSqlStatement(pdbvendor); 15213 ret.sqlstatementtype = gnewsqlstatementtype; 15214 break; 15215 } 15216 } // case 15217 15218 return ret; 15219 15220 } 15221 15222 TCustomSqlStatement ismysqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15223 TCustomSqlStatement ret = null; 15224 int k; 15225 boolean lcisnewsql; 15226 TSourceToken lcpprevsolidtoken,lcnextsolidtoken; 15227 15228 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15229 15230 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15231 || (pcst.tokencode == TBaseType.cmtslashstar) 15232 || (pcst.tokencode == TBaseType.lexspace) 15233 || (pcst.tokencode == TBaseType.lexnewline) 15234 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15235 { 15236 return ret; 15237 } 15238 15239 int lcpos = pcst.posinlist; 15240 TSourceTokenList lcsourcetokenlist = pcst.container; 15241 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15242 15243 //subquery after semicolon || at first line 15244 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15245 { 15246 k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15247 if ( k >0 ) 15248 { 15249 ret = new TSelectSqlStatement(pdbvendor); 15250 } 15251 15252 return ret; 15253 } 15254 15255 //cte 15256 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15257 { 15258 ret = findcte(pcst,pdbvendor); 15259 if ( (ret != null) ) return ret; 15260 } 15261 15262 15263 //cte 15264// if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == rrw_with) ) 15265// { 15266// ret = tselectsqlstatement.create(pdbvendor); 15267// tselectsqlstatement(ret).isctequery = true; 15268// exit; 15269// } 15270// 15271 15272 gnewsqlstatementtype = findmysqlcmd(pcst); 15273 15274 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15275 15276 if ((gnewsqlstatementtype == ESqlStatementType.sstinvalid)&&(pcst.tokencode == TBaseType.rrw_create)){ 15277 //if (pcst.container.nextsolidtoken(pcst.posinlist,15,)) 15278 TSourceToken viewToken = pcst.container.searchToken(TBaseType.rrw_view,"",pcst,15); 15279 if (viewToken != null){ 15280 gnewsqlstatementtype = ESqlStatementType.sstcreateview; 15281 } 15282 } 15283 switch (gnewsqlstatementtype){ 15284 case sstinvalid: 15285 { 15286 ret = null; 15287 break; 15288 } 15289 case sstselect: 15290 { 15291 lcisnewsql = true; 15292 15293 if ( pstate != EFindSqlStateType.stnormal ) 15294 { 15295 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15296 if ( TBaseType.assigned(lcprevsolidtoken) ) 15297 { 15298 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15299 lcisnewsql = false; //subqery 15300 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 15301 lcisnewsql = false; 15302 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 15303 lcisnewsql = false; 15304 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 15305 lcisnewsql = false; 15306 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 15307 lcisnewsql = false; 15308 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 15309 lcisnewsql = false; 15310 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 15311 { 15312 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 15313 lcisnewsql = false; 15314 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 15315 lcisnewsql = false; 15316 } 15317 15318 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 15319 { 15320 lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 15321 if ( TBaseType.assigned(lcpprevsolidtoken) ) 15322 { 15323 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 15324 lcisnewsql = false; 15325 } 15326 } 15327 15328 } 15329 15330 15331 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15332 { 15333 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 15334 lcisnewsql = false; 15335 } 15336 15337 } 15338 15339 if ( lcisnewsql ) 15340 ret = new TSelectSqlStatement(pdbvendor); 15341 break; 15342 } 15343 case sstinsert: 15344 case sstmysqlreplace: 15345 { 15346 lcisnewsql = true; 15347 if ( pstate != EFindSqlStateType.stnormal ) 15348 { 15349 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15350 { 15351 15352 } 15353 } 15354 15355 if ( lcisnewsql ) 15356 ret = new TInsertSqlStatement(pdbvendor); 15357 ret.sqlstatementtype = gnewsqlstatementtype; 15358 break; 15359 } 15360 case sstupdate: 15361 { 15362 lcisnewsql = true; 15363 if ( pstate != EFindSqlStateType.stnormal ) 15364 { 15365 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15366 if ( TBaseType.assigned(lcprevsolidtoken) ) 15367 { // 15368 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15369 lcisnewsql = false; 15370 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 15371 lcisnewsql = false; 15372 } 15373 15374 lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15375 if ( TBaseType.assigned(lcnextsolidtoken) ) 15376 { 15377 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 15378 { 15379 k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 15380 if ( k == 0 ) lcisnewsql = false; 15381 } 15382 } 15383 15384 15385 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15386 { 15387 } 15388 } 15389 15390 if ( lcisnewsql ) 15391 { 15392 ret = new TUpdateSqlStatement(pdbvendor); 15393 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 15394 } 15395 break; 15396 } 15397 case sstdelete: 15398 { 15399 lcisnewsql = true; 15400 15401 if ( pstate != EFindSqlStateType.stnormal ) 15402 { 15403 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15404 if ( TBaseType.assigned(lcprevsolidtoken) ) 15405 { 15406 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 15407 lcisnewsql = false; 15408 } 15409 15410 if ( TBaseType.assigned(lccurrentsqlstatement) ) 15411 { 15412 } 15413 } 15414 15415 if ( lcisnewsql ) 15416 ret = new TDeleteSqlStatement(pdbvendor); 15417 break; 15418 } 15419 case sstmerge: 15420 { 15421 ret = new TMergeSqlStatement(pdbvendor); 15422 ret.sqlstatementtype = gnewsqlstatementtype; 15423 break; 15424 } 15425 case sstcommit: 15426 { 15427 ret = new TUnknownSqlStatement(pdbvendor); 15428 ret.sqlstatementtype = gnewsqlstatementtype; 15429 break; 15430 } 15431 case sstrollback: 15432 { 15433 ret = new TUnknownSqlStatement(pdbvendor); 15434 ret.sqlstatementtype = gnewsqlstatementtype; 15435 break; 15436 } 15437 case sstsavepoint: 15438 { 15439 ret = new TUnknownSqlStatement(pdbvendor); 15440 ret.sqlstatementtype = gnewsqlstatementtype; 15441 break; 15442 } 15443 case sstRevoke: 15444 { 15445 ret = new TUnknownSqlStatement(pdbvendor); 15446 ret.sqlstatementtype = gnewsqlstatementtype; 15447 break; 15448 } 15449 case sstcreatetable: 15450 { 15451 ret = new TCreateTableSqlStatement(pdbvendor); 15452 break; 15453 } 15454 case sstcreateview: 15455 { 15456 ret = new TCreateViewSqlStatement(pdbvendor); 15457 break; 15458 } 15459 case sstmysqlcreateindex: 15460 { 15461 ret = new TCreateIndexSqlStatement(pdbvendor); 15462 break; 15463 } 15464 case sstcreatedatabase: 15465 { 15466 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15467 break; 15468 } 15469 case sstmysqldroptable: 15470 case sstdroptable: 15471 { 15472 ret = new TDropTableSqlStatement(pdbvendor); 15473 break; 15474 } 15475 case sstdropview: 15476 { 15477 ret = new TDropViewSqlStatement(pdbvendor); 15478 break; 15479 } 15480 case sstdropindex: 15481 { 15482 ret = new TDropIndexSqlStatement(pdbvendor); 15483 break; 15484 } 15485 case sstaltertable: 15486 { 15487 ret = new TAlterTableStatement(pdbvendor); 15488 break; 15489 } 15490 case sstaltersession: 15491 { 15492 ret = new TAlterSessionStatement(pdbvendor); 15493 break; 15494 } 15495 case sstmysqlset: 15496 { 15497 ret = new TSetStmt(pdbvendor); 15498 break; 15499 } 15500 case sstmysqlcreateprocedure: 15501 { 15502 ret = new TCreateProcedureStmt(pdbvendor); 15503 break; 15504 } 15505 case sstmysqlcreatefunction: 15506 { 15507 ret = new TCreateFunctionStmt(pdbvendor); 15508 break; 15509 } 15510 case sstcreatetrigger: 15511 { 15512 ret = new TCreateTriggerStmt(pdbvendor); 15513 break; 15514 } 15515 case sstmysqlcall: 15516 { 15517 ret = new TCallStatement(pdbvendor); 15518 break; 15519 } 15520 case sstmysqltruncate: 15521 { 15522 ret = new TTruncateStatement(pdbvendor); 15523 break; 15524 } 15525 case sstmysqlprepare: 15526 { 15527 ret = new TPrepareStmt(pdbvendor); 15528 break; 15529 } 15530 case sstdescribe: 15531 { 15532 ret = new TDescribeStmt(pdbvendor); 15533 break; 15534 } 15535 case sstExplain: 15536 { 15537 ret = new TExplainPlan(pdbvendor); 15538 break; 15539 } 15540 case sstmysqldropindex: 15541 { 15542 ret = new TDropIndexSqlStatement(pdbvendor); 15543 break; 15544 } 15545 case sstmysqldropprocedure: 15546 { 15547 ret = new TDropProcedureStmt(pdbvendor); 15548 break; 15549 } 15550 case sstmysqlsignal: 15551 { 15552 ret = new TMySQLSignal(pdbvendor); 15553 break; 15554 } 15555 case sstmysqlstarttransaction: 15556 { 15557 if ( pstate == EFindSqlStateType.stnormal ) 15558 { 15559 ret = new TUnknownSqlStatement(pdbvendor); 15560 ret.sqlstatementtype = gnewsqlstatementtype; 15561 } 15562 break; 15563 } 15564 case sstmysqluse: 15565 { 15566 ret = new TUseDatabase(pdbvendor); 15567 break; 15568 } 15569 case sstmysqlexecute: 15570 { 15571 ret = new TExecuteSqlStatement(pdbvendor); 15572 ret.sqlstatementtype = gnewsqlstatementtype; 15573 break; 15574 } 15575 case sstmysqlcreatedatabase: 15576 { 15577 ret = new TCreateDatabaseSqlStatement(pdbvendor); 15578 break; 15579 } 15580 case sstmysqlrenametable: 15581 { 15582 ret = new TRenameStmt(pdbvendor); 15583 break; 15584 } 15585 case sstmysqlshowindex: 15586 ret = new TShowIndexStmt(pdbvendor); 15587 break; 15588 case sstmysqlloaddatainfile: 15589 ret = new TLoadDataStmt(pdbvendor); 15590 break; 15591 case sstmysqlshowlogs: 15592 case sstmysqlshowbinlogevents: 15593 case sstmysqlshowcharacterset: 15594 case sstmysqlshowcollation: 15595 case sstmysqlshowcolumns: 15596 case sstmysqlshowwarnings: 15597 case sstmysqlshowcreatedatabase: 15598 case sstmysqlshowcreatefunction: 15599 case sstmysqlshowcreateprocedure: 15600 case sstmysqlshowcreatetable: 15601 case sstmysqlshowcreateview: 15602 case sstmysqlshowdatabases: 15603 case sstmysqlshowerrors: 15604 case sstmysqlshowfields: 15605 case sstmysqlshowprocesslist: 15606 case sstmysqlshowtables: 15607 case sstmysqlshowfunctionstatus: 15608 case sstmysqlshowstatus: 15609 case sstmysqlshowvariables: 15610 case sstmysqlshowgrants: 15611 case sstmysqlshowinnodbstatus: 15612 case sstmysqlshowmasterlogs: 15613 case sstmysqlshowplugins: 15614 case sstmysqlshowprivileges: 15615 case sstmysqlshowprofile: 15616 case sstmysqlshowprofiles: 15617 case sstmysqlshowslavehosts: 15618 case sstmysqlshowslavestatus: 15619 case sstmysqlshowtablestatus: 15620 case sstmysqlshowtriggers: 15621 case sstmysqlshowcreateschema: 15622 case sstmysqlshowengines: 15623 ret = new TMySQLShowStmt(pdbvendor); 15624 ret.sqlstatementtype = gnewsqlstatementtype; 15625 break; 15626 case sstmysqlshowengine: 15627 ret = new TShowEngineStmt(pdbvendor); 15628 break; 15629 case sstmysqlshowreplicaStatus: 15630 ret = new TShowStmt(pdbvendor); 15631 ret.sqlstatementtype = gnewsqlstatementtype; 15632 break; 15633 case sstmysqlalterfunction: 15634 ret = new TAlterFunctionStmt(pdbvendor); 15635 break; 15636 case sstmysqlalterprocedure: 15637 ret = new TAlterProcedureStmt(pdbvendor); 15638 break; 15639 case sstmysqldropfunction: 15640 ret = new TDropFunctionStmt(pdbvendor); 15641 break; 15642 case sstmysqldroptrigger: 15643 ret = new TDropTriggerSqlStatement(pdbvendor); 15644 break; 15645 case sstmysqloptimizetable: 15646 ret = new TMySQLOptimizeTableStmt(pdbvendor); 15647 break; 15648 case sstmysqlalterview: 15649 ret = new TAlterViewStatement(pdbvendor); 15650 break; 15651 default: 15652 { 15653 ret = new TUnknownSqlStatement(pdbvendor); 15654 ret.sqlstatementtype = gnewsqlstatementtype; 15655 break; 15656 } 15657 } // case 15658 15659 return ret; 15660} 15661 15662TCustomSqlStatement ismdxsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15663 TCustomSqlStatement ret = null; 15664 15665 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15666 15667 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15668 || (pcst.tokencode == TBaseType.cmtslashstar) 15669 || (pcst.tokencode == TBaseType.lexspace) 15670 || (pcst.tokencode == TBaseType.lexnewline) 15671 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15672 { 15673 return null; 15674 } 15675 15676 int lcpos = pcst.posinlist; 15677 TSourceTokenList lcsourcetokenlist = pcst.container; 15678 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15679 15680 15681 //with clause before statement 15682 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15683 { 15684 ret = findMdxStmtBeginWithClause(pcst,pdbvendor); 15685 if ( (ret != null) ) return ret; 15686 } 15687 15688 gnewsqlstatementtype = findmdxcmd(pcst); 15689 15690 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15691 switch (gnewsqlstatementtype) { // 15692 case sstinvalid: 15693 { 15694 ret = null; 15695 if ( pstate == EFindSqlStateType.stnormal ) 15696 { 15697 //treat all unregonized statement as an expression 15698 ret = new TMdxExpression(EDbVendor.dbvmdx); 15699 } 15700 break; 15701 } 15702 case sstmdxselect: 15703 { 15704 boolean lcisnewsql = true; 15705 15706 if ( pstate != EFindSqlStateType.stnormal ) 15707 { 15708 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstselect ) 15709 { 15710 if ( lccurrentsqlstatement.isctequery ) 15711 lcisnewsql = false; 15712 } 15713 } 15714 15715 if ( lcisnewsql ) 15716 ret = new TMdxSelect(pdbvendor); 15717 15718 break; 15719 } 15720 case sstmdxupdate: 15721 { 15722 boolean lcisnewsql = true; 15723 if ( pstate != EFindSqlStateType.stnormal ) 15724 { 15725 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15726 if ( (lcprevsolidtoken != null) ) 15727 { // 15728 } 15729 15730 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 15731 if ( (lcnextsolidtoken != null) ) 15732 { 15733 } 15734 15735 if ( (lccurrentsqlstatement != null) ) 15736 { 15737 } 15738 } 15739 15740 if ( lcisnewsql ) 15741 { 15742 ret = new TMdxUpdate(pdbvendor); 15743 } 15744 break; 15745 } 15746 case sstmdxaltercube: 15747 { 15748 ret = new TMdxAlterCube(pdbvendor); 15749 break; 15750 } 15751 case sstmdxcalculate: 15752 { 15753 ret = new TMdxCalculate(pdbvendor); 15754 break; 15755 } 15756 case sstmdxcall: 15757 { 15758 ret = new TMdxCall(pdbvendor); 15759 break; 15760 } 15761 case sstmdxcase: 15762 { 15763 ret = new TMdxCase(pdbvendor); 15764 break; 15765 } 15766 case sstmdxclearcalculations: 15767 { 15768 ret = new TMdxClearCalculations(pdbvendor); 15769 break; 15770 } 15771 case sstmdxcreateaction: 15772 { 15773 ret = new TMdxCreateAction(pdbvendor); 15774 break; 15775 } 15776 case sstmdxcreatemember: 15777 { 15778 ret = new TMdxCreateMember(pdbvendor); 15779 break; 15780 } 15781 case sstmdxcreatecellcalculation: 15782 { 15783 ret = new TMdxCreateCellCalculation(pdbvendor); 15784 break; 15785 } 15786 case sstmdxcreateglobalcube: 15787 { 15788 ret = new TMdxCreateGlobalCube(pdbvendor); 15789 break; 15790 } 15791 case sstmdxcreateset: 15792 { 15793 ret = new TMdxCreateSet(pdbvendor); 15794 break; 15795 } 15796 case sstmdxcreatesessioncube: 15797 { 15798 ret = new TMdxCreateSessionCube(pdbvendor); 15799 break; 15800 } 15801 case sstmdxcreatesubcube: 15802 { 15803 ret = new TMdxCreateSubCube(pdbvendor); 15804 break; 15805 } 15806 case sstmdxdrillthrough: 15807 { 15808 ret = new TMdxDrillthrough(pdbvendor); 15809 break; 15810 } 15811 case sstmdxdropaction: 15812 { 15813 ret = new TMdxDropAction(pdbvendor); 15814 break; 15815 } 15816 case sstmdxdropmember: 15817 { 15818 ret = new TMdxDropMember(pdbvendor);//ret = new TMdxCreateSessionCube(pdbvendor); 15819 break; 15820 } 15821 case sstmdxdropcellcalculation: 15822 { 15823 ret = new TMdxDropCellCalculation(pdbvendor); 15824 break; 15825 } 15826 case sstmdxdropset: 15827 { 15828 ret = new TMdxDropSet(pdbvendor); 15829 break; 15830 } 15831 case sstmdxdropsubcube: 15832 { 15833 ret = new TMdxDropSubcube(pdbvendor); 15834 break; 15835 } 15836 case sstmdxfreeze: 15837 { 15838 ret = new TMdxFreeze(pdbvendor); 15839 break; 15840 } 15841 case sstmdxif: 15842 { 15843 ret = new TMdxIf(pdbvendor); 15844 break; 15845 } 15846 case sstmdxrefreshcube: 15847 { 15848 ret = new TMdxRefreshCube(pdbvendor); 15849 break; 15850 } 15851 case sstmdxscope: 15852 { 15853 ret = new TMdxScope(pdbvendor); 15854 break; 15855 } 15856 case sstmdxcreatemeasure: 15857 { 15858 ret = new TMdxCreateMeasure(pdbvendor); 15859 break; 15860 } 15861 case sstmdxexisting: 15862 default: 15863 { 15864 ret = new TUnknownSqlStatement(pdbvendor); 15865 ret.sqlstatementtype = gnewsqlstatementtype; 15866 break; 15867 } 15868 } // case 15869 15870 return ret; 15871} 15872 15873 15874public ESqlStatementType findsybasecmdusedbyyacc(TSourceToken pcst){ 15875 ESqlStatementType ret = ESqlStatementType.sstinvalid; 15876 15877 int lcpos = pcst.posinlist; 15878 TSourceTokenList lcsourcetokenlist = pcst.container; 15879 15880 //subquery after semicolon or at first line 15881 if ( (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15882 { 15883 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15884 if ( k >0 ) 15885 { 15886 ret = ESqlStatementType.sstselect; 15887 } 15888 15889 return ret; 15890 } 15891 15892 15893 ret = findsybasecmd(pcst); 15894 // execute can't be used to delimite other sql 15895 if ( ret == ESqlStatementType.sstmssqlexec ) 15896 ret = ESqlStatementType.sstinvalid; 15897 15898 return ret; 15899} 15900 15901public ESqlStatementType findmssqlcmdusedbyyacc(TSourceToken pcst){ 15902 ESqlStatementType ret = ESqlStatementType.sstinvalid; 15903 15904 int lcpos = pcst.posinlist; 15905 TSourceTokenList lcsourcetokenlist = pcst.container; 15906 15907 //subquery after semicolon or at first line 15908 if ( (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 15909 { 15910 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 15911 if ( k >0 ) 15912 { 15913 ret = ESqlStatementType.sstselect; 15914 } 15915 15916 return ret; 15917 } 15918 15919 15920 ret = findmssqlcmd(pcst); 15921 // execute can't be used to delimite other sql 15922 if ( ret == ESqlStatementType.sstmssqlexec ) 15923 ret = ESqlStatementType.sstinvalid; 15924 15925 return ret; 15926} 15927 15928 15929TCustomSqlStatement ishive(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 15930 TCustomSqlStatement ret = null; 15931 15932 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 15933 15934 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 15935 || (pcst.tokencode == TBaseType.cmtslashstar) 15936 || (pcst.tokencode == TBaseType.lexspace) 15937 || (pcst.tokencode == TBaseType.lexnewline) 15938 || (pcst.tokentype == ETokenType.ttsemicolon) ) 15939 { 15940 return null; 15941 } 15942 15943 int lcpos = pcst.posinlist; 15944 TSourceTokenList lcsourcetokenlist = pcst.container; 15945 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 15946 15947 15948 //from query 15949 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_from) ) 15950 { 15951 if (pcst.container == null){ 15952 return new TSelectSqlStatement(pdbvendor); 15953 } 15954 15955 // search select or insert who comes first, 15956 int lcpos1 = pcst.posinlist; 15957 TSourceTokenList lcsourcetokenlist1 = pcst.container; 15958 TSourceToken tmpSt; 15959 int parenthesisCnt = 0; 15960 for(int k=lcpos1+1;k<lcsourcetokenlist1.size();k++){ 15961 tmpSt = lcsourcetokenlist1.get(k); 15962 if (tmpSt.tokencode == ';') break; 15963 if (tmpSt.tokencode == '(') parenthesisCnt++; 15964 if (tmpSt.tokencode == ')') parenthesisCnt--; 15965 if (parenthesisCnt == 0){ 15966 if (tmpSt.tokencode == TBaseType.rrw_select){ 15967 ret = new TSelectSqlStatement(pdbvendor); 15968 break; 15969 }else if (tmpSt.tokencode == TBaseType.rrw_insert){ 15970 ret = new TInsertSqlStatement(pdbvendor); 15971 break; 15972 } 15973 } 15974 } 15975 15976 if (ret == null){ 15977 ret = new TSelectSqlStatement(pdbvendor); 15978// FROM ( 15979// FROM pv_users 15980// MAP pv_users.userid, pv_users.date 15981// USING 'map_script' 15982// AS dt, uid 15983// CLUSTER BY dt) map_output; 15984 } 15985 15986 return ret; 15987 } 15988 15989 //cte 15990 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 15991 { 15992 ret = findcte(pcst,pdbvendor); 15993 if ( (ret != null) ) return ret; 15994 } 15995 15996 gnewsqlstatementtype = findhivecmd(pcst); 15997 15998 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 15999 switch (gnewsqlstatementtype) { // 16000 case sstinvalid: 16001 { 16002 ret = null; 16003 break; 16004 } 16005 case sstselect: 16006 { 16007 boolean lcisnewsql = true; 16008 16009 if ( pstate != EFindSqlStateType.stnormal ) 16010 { 16011 16012 if ( (lccurrentsqlstatement != null) ) 16013 { 16014 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery ) 16015 //if (((TSelectSqlStatement)lccurrentsqlstatement).getSelectToken().tokencode == TBaseType.rrw_from) 16016 lcisnewsql = false; 16017 } 16018 16019 } 16020 16021 if ( lcisnewsql ) 16022 ret = new TSelectSqlStatement(pdbvendor); 16023 16024 break; 16025 } 16026 case sstinsert: 16027 { 16028 boolean lcisnewsql = true; 16029 if ( pstate != EFindSqlStateType.stnormal ) 16030 { 16031 if ( (lccurrentsqlstatement != null) ) 16032 { 16033 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery ) 16034 // if (((TSelectSqlStatement)lccurrentsqlstatement).getSelectToken().tokencode == TBaseType.rrw_from) 16035 lcisnewsql = false; 16036 } 16037 } 16038 16039 if ( lcisnewsql ) 16040 ret = new TInsertSqlStatement(pdbvendor); 16041 16042 break; 16043 } 16044 case sstTruncate: 16045 { 16046 ret = new TTruncateStatement(pdbvendor); 16047 break; 16048 } 16049 case sstalterdatabase: 16050 { 16051 ret = new TAlterDatabaseStmt(pdbvendor); 16052 break; 16053 } 16054 case sstalterindex: 16055 { 16056 ret = new TAlterIndexStmt(pdbvendor); 16057 break; 16058 } 16059 case sstaltertable: 16060 { 16061 ret = new TAlterTableStatement(pdbvendor); 16062 break; 16063 } 16064 case sstalterview: 16065 { 16066 ret = new TAlterViewStatement(pdbvendor); 16067 break; 16068 } 16069 case sstanalyzeTable: 16070 { 16071 ret = new TAnalyzeStmt(pdbvendor); 16072 break; 16073 } 16074 case sstcreatedatabase: 16075 { 16076 ret = new TCreateDatabaseSqlStatement(pdbvendor); 16077 break; 16078 } 16079 case sstcreatetable: 16080 { 16081 ret = new TCreateTableSqlStatement(pdbvendor); 16082 break; 16083 } 16084 case sstcreateindex: 16085 { 16086 ret = new TCreateIndexSqlStatement(pdbvendor); 16087 break; 16088 } 16089 case sstcreateview: 16090 { 16091 ret = new TCreateViewSqlStatement(pdbvendor); 16092 break; 16093 } 16094 case ssthiveCreateRole: 16095 { 16096 ret = new THiveCreateRole(pdbvendor); 16097 break; 16098 } 16099 case ssthiveCreateFunction: 16100 { 16101 ret = new THiveCreateFunction(pdbvendor); 16102 break; 16103 } 16104 case ssthiveDesc: 16105 { 16106 ret = new THiveDescribe(pdbvendor); 16107 break; 16108 } 16109 case ssthiveDropDatabase: 16110 { 16111 ret = new THiveDropDatabase(pdbvendor); 16112 break; 16113 } 16114 case sstdropindex: 16115 { 16116 ret = new TDropIndexSqlStatement(pdbvendor); 16117 break; 16118 } 16119 case ssthiveDropRole: 16120 { 16121 ret = new THiveDropRole(pdbvendor); 16122 break; 16123 } 16124 case sstdroptable: 16125 { 16126 ret = new TDropTableSqlStatement(pdbvendor); 16127 break; 16128 } 16129 case ssthiveDropFunciton: 16130 { 16131 ret = new THiveDropFunction(pdbvendor); 16132 break; 16133 } 16134 case sstdropview: 16135 { 16136 ret = new TDropViewSqlStatement(pdbvendor); 16137 break; 16138 } 16139 case ssthiveExplain: 16140 { 16141 ret = new THiveExplain(pdbvendor); 16142 break; 16143 } 16144 case ssthiveExportTable: 16145 { 16146 ret = new THiveExportTable(pdbvendor); 16147 break; 16148 } 16149 case ssthiveGrant: 16150 { 16151 ret = new THiveGrant(pdbvendor); 16152 break; 16153 } 16154 case ssthiveGrantRole: 16155 { 16156 ret = new THiveGrantRole(pdbvendor); 16157 break; 16158 } 16159 case ssthiveImportTable: 16160 { 16161 ret = new THiveImportTable(pdbvendor); 16162 break; 16163 } 16164 case ssthiveLoad: 16165 { 16166 ret = new THiveLoad(pdbvendor); 16167 break; 16168 } 16169 case ssthiveLockTable: 16170 { 16171 ret = new TLockTableStmt(pdbvendor); 16172 break; 16173 } 16174 case sstmsck: 16175 { 16176 ret = new TMSCKStmt(pdbvendor); 16177 break; 16178 } 16179 case ssthiveRevoke: 16180 { 16181 ret = new THiveRevoke(pdbvendor); 16182 break; 16183 } 16184 case ssthiveRevokeRole: 16185 { 16186 ret = new THiveRevokeRole(pdbvendor); 16187 break; 16188 } 16189 case ssthiveSet: 16190 { 16191 ret = new THiveSet(pdbvendor); 16192 break; 16193 } 16194 case ssthiveShow: 16195 { 16196 ret = new THiveShow(pdbvendor); 16197 break; 16198 } 16199 case ssthiveShowGrants: 16200 { 16201 ret = new THiveShowGrant(pdbvendor); 16202 break; 16203 } 16204 case ssthiveShowRoleGrants: 16205 { 16206 ret = new THiveShowRoleGrant(pdbvendor); 16207 break; 16208 } 16209 case ssthiveUnlockTable: 16210 { 16211 ret = new THiveUnlockTable(pdbvendor); 16212 break; 16213 } 16214 case ssthiveSwitchDatabase: 16215 { 16216 ret = new TUseDatabase(pdbvendor); 16217 break; 16218 } 16219 case sstmerge: 16220 { 16221 ret = new TMergeSqlStatement(pdbvendor); 16222 break; 16223 } 16224 case sstupdate: 16225 { 16226 ret = new TUpdateSqlStatement(pdbvendor); 16227 break; 16228 } 16229 case sstdelete: 16230 { 16231 ret = new TDeleteSqlStatement(pdbvendor); 16232 break; 16233 } 16234 case sstCreateMacro: 16235 ret = new TCreateMacro(pdbvendor); 16236 break; 16237 case sstDropMacro: 16238 ret = new TDropMacro(pdbvendor); 16239 break; 16240 case sstcreatematerializedview: 16241 ret = new TCreateMaterializedSqlStatement(pdbvendor); 16242 break; 16243 case sstupsert: 16244 ret = new TUpsertStmt(pdbvendor); 16245 break; 16246 default: 16247 { 16248 ret = new TUnknownSqlStatement(pdbvendor); 16249 ret.sqlstatementtype = gnewsqlstatementtype; 16250 break; 16251 } 16252 } // case 16253 16254 return ret; 16255} 16256 16257 TCustomSqlStatement isvertica(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 16258 TCustomSqlStatement ret = null; 16259 16260 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 16261 16262 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 16263 || (pcst.tokencode == TBaseType.cmtslashstar) 16264 || (pcst.tokencode == TBaseType.lexspace) 16265 || (pcst.tokencode == TBaseType.lexnewline) 16266 || (pcst.tokentype == ETokenType.ttsemicolon) ) 16267 { 16268 return null; 16269 } 16270 16271 int lcpos = pcst.posinlist; 16272 TSourceTokenList lcsourcetokenlist = pcst.container; 16273 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 16274 16275 //subquery after semicolon or at first line 16276 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 16277 { 16278 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 16279 if ( k >0 ) 16280 { 16281 ret = new TSelectSqlStatement(pdbvendor); 16282 } 16283 16284 return ret; 16285 } 16286 16287 //cte 16288 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16289 { 16290 ret = findcte(pcst,pdbvendor); 16291 if ( (ret != null) ) return ret; 16292 } 16293 16294 gnewsqlstatementtype = findverticacmd(pcst); 16295 16296 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16297 switch (gnewsqlstatementtype) { // 16298 case sstinvalid: 16299 { 16300 ret = null; 16301 16302 if ( pstate == EFindSqlStateType.stnormal ) 16303 { 16304 if ( pcst.tokencode == TBaseType.label_begin ) 16305 { 16306 ret = new TCommonBlock(pdbvendor); 16307 gnewsqlstatementtype = ret.sqlstatementtype; 16308 } 16309 else if ( pcst.tokencode == TBaseType.rrw_declare ) 16310 { 16311 ret = new TCommonBlock(pdbvendor); 16312 gnewsqlstatementtype = ret.sqlstatementtype; 16313 } 16314 else if ( pcst.tokencode == TBaseType.rrw_begin ) 16315 { 16316 ret = new TCommonBlock(pdbvendor); 16317 gnewsqlstatementtype = ret.sqlstatementtype; 16318 } 16319 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 16320 { 16321 ret = new TPlsqlCreateProcedure(pdbvendor); 16322 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 16323 gnewsqlstatementtype = ret.sqlstatementtype; 16324 } 16325 else if ( pcst.tokencode == TBaseType.rrw_function ) 16326 { 16327 ret = new TPlsqlCreateFunction(pdbvendor); 16328 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 16329 gnewsqlstatementtype = ret.sqlstatementtype; 16330 } 16331 else if ( pcst.tokencode == TBaseType.rrw_package ) 16332 { 16333 ret = new TPlsqlCreatePackage(pdbvendor); 16334 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 16335 gnewsqlstatementtype = ret.sqlstatementtype; 16336 } 16337 } 16338 break; 16339 } 16340 case sstselect: 16341 { 16342 boolean lcisnewsql = true; 16343 16344 if ( pstate != EFindSqlStateType.stnormal ) 16345 { 16346 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16347 if ( (lcprevsolidtoken != null) ) 16348 { 16349 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16350 lcisnewsql = false; //subqery 16351 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 16352 lcisnewsql = false; 16353 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 16354 lcisnewsql = false; 16355 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 16356 lcisnewsql = false; 16357 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 16358 lcisnewsql = false; 16359 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 16360 lcisnewsql = false; 16361 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 16362 { 16363 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 16364 lcisnewsql = false; 16365 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 16366 lcisnewsql = false; 16367 } 16368 16369 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 16370 { 16371 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 16372 if ( (lcpprevsolidtoken != null) ) 16373 { 16374 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 16375 lcisnewsql = false; 16376 } 16377 } 16378 16379 } 16380 16381 16382 if ( (lccurrentsqlstatement != null) ) 16383 { 16384 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 16385 lcisnewsql = false; 16386 } 16387 16388 } 16389 16390 if ( lcisnewsql ) 16391 ret = new TSelectSqlStatement(pdbvendor); 16392 16393 break; 16394 } 16395 case sstinsert: 16396 { 16397 boolean lcisnewsql = true; 16398 if ( pstate != EFindSqlStateType.stnormal ) 16399 { 16400 if ( (lccurrentsqlstatement != null) ) 16401 { 16402 16403 } 16404 } 16405 16406 if ( lcisnewsql ) 16407 ret = new TInsertSqlStatement(pdbvendor); 16408 16409 break; 16410 } 16411 case sstupdate: 16412 { 16413 boolean lcisnewsql = true; 16414 if ( pstate != EFindSqlStateType.stnormal ) 16415 { 16416 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16417 if ( (lcprevsolidtoken != null) ) 16418 { // 16419 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16420 lcisnewsql = false; 16421 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 16422 lcisnewsql = false; 16423 } 16424 16425 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 16426 if ( (lcnextsolidtoken != null) ) 16427 { 16428 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16429 { 16430 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 16431 if ( k == 0 ) lcisnewsql = false; 16432 } 16433 } 16434 16435 16436 if ( (lccurrentsqlstatement != null) ) 16437 { 16438 } 16439 } 16440 16441 if ( lcisnewsql ) 16442 { 16443 ret = new TUpdateSqlStatement(pdbvendor); 16444 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 16445 } 16446 break; 16447 } 16448 case sstdelete: 16449 { 16450 boolean lcisnewsql = true; 16451 16452 if ( pstate != EFindSqlStateType.stnormal ) 16453 { 16454 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16455 if ( (lcprevsolidtoken != null) ) 16456 { 16457 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16458 lcisnewsql = false; 16459 } 16460 16461 if ( (lccurrentsqlstatement != null) ) 16462 { 16463 } 16464 } 16465 16466 if ( lcisnewsql ) 16467 ret = new TDeleteSqlStatement(pdbvendor); 16468 16469 break; 16470 } 16471 case sstmerge: 16472 { 16473 ret = new TMergeSqlStatement(pdbvendor); 16474 ret.sqlstatementtype = gnewsqlstatementtype; 16475 break; 16476 } 16477 case sstcommit: 16478 case sstEnd: 16479 { 16480 ret = new TCommitStmt(pdbvendor); 16481 ret.sqlstatementtype = gnewsqlstatementtype; 16482 break; 16483 } 16484 case sstrollback: 16485 { 16486 ret = new TRollbackStmt(pdbvendor); 16487 ret.sqlstatementtype = gnewsqlstatementtype; 16488 break; 16489 } 16490 case sstsavepoint: 16491 { 16492 ret = new TSavepointStmt(pdbvendor); 16493 ret.sqlstatementtype = gnewsqlstatementtype; 16494 break; 16495 } 16496 case sstRevoke: 16497 { 16498 ret = new TRevokeStmt(pdbvendor); 16499 ret.sqlstatementtype = gnewsqlstatementtype; 16500 break; 16501 } 16502 case sstGrant: 16503 { 16504 ret = new TGrantStmt(pdbvendor); 16505 ret.sqlstatementtype = gnewsqlstatementtype; 16506 break; 16507 } 16508 case sstTruncate: 16509 { 16510 ret = new TTruncateStatement(pdbvendor); 16511 ret.sqlstatementtype = gnewsqlstatementtype; 16512 break; 16513 } 16514 case sstcreatetable: 16515 { 16516 ret = new TCreateTableSqlStatement(pdbvendor); 16517 break; 16518 } 16519 case sstcreateview: 16520 { 16521 ret = new TCreateViewSqlStatement(pdbvendor); 16522 break; 16523 } 16524 case sstcreateindex: 16525 { 16526 ret = new TCreateIndexSqlStatement(pdbvendor); 16527 break; 16528 } 16529 case sstcreatedatabase: 16530 { 16531 ret = new TCreateDatabaseSqlStatement(pdbvendor); 16532 break; 16533 } 16534 case sstdroptable: 16535 { 16536 ret = new TDropTableSqlStatement(pdbvendor); 16537 break; 16538 } 16539 case sstdropview: 16540 { 16541 ret = new TDropViewSqlStatement(pdbvendor); 16542 break; 16543 } 16544 case sstdropindex: 16545 { 16546 ret = new TDropIndexSqlStatement(pdbvendor); 16547 break; 16548 } 16549 case sstaltertable: 16550 { 16551 ret = new TAlterTableStatement(pdbvendor); 16552 break; 16553 } 16554 case sstaltersession: 16555 { 16556 ret = new TAlterSessionStatement(pdbvendor); 16557 break; 16558 } 16559 case sstcreateprocedure: 16560 { 16561 ret = new TCreateProcedureStmt(pdbvendor); 16562 break; 16563 } 16564 case sstCommentOn: 16565 { 16566 ret = new TCommentOnSqlStmt(pdbvendor); 16567 break; 16568 } 16569 case sstcreatesequence: 16570 { 16571 ret = new TCreateSequenceStmt(pdbvendor); 16572 break; 16573 } 16574 case sstcreatefunction: 16575 ret = new TVerticaCreateFunction(pdbvendor); 16576 break; 16577 case sstaltersequence: 16578 ret = new TAlterSequenceStatement(pdbvendor); 16579 break; 16580 case sstAlterAccessPolicy: 16581 ret = new TAlterAccessPolicy(pdbvendor); 16582 break; 16583 case sstAlterAuthentication: 16584 ret = new TAlterAuthentication(pdbvendor); 16585 break; 16586 case sstalterdatabase: 16587 ret = new TAlterDatabaseStmt(pdbvendor); 16588 break; 16589 case sstAlterFaultGroup: 16590 ret = new TAlterFaultGroup(pdbvendor); 16591 break; 16592 case sstalterfunction: 16593 ret = new TAlterFunctionStmt(pdbvendor); 16594 break; 16595 case sstAlterLibrary: 16596 ret = new TAlterLibraryStmt(pdbvendor); 16597 break; 16598 case sstAlterNode: 16599 ret = new TAlterNode(pdbvendor); 16600 break; 16601 case sstAlterNetworkInterface: 16602 ret = new TAlterNetworkInterface(pdbvendor); 16603 break; 16604 case sstAlterProjection: 16605 ret = new TAlterProjectionRename(pdbvendor); 16606 break; 16607 case sstAlterProfile: 16608 ret = new TAlterProfile(pdbvendor); 16609 break; 16610 case sstAlterResourcePool: 16611 ret = new TAlterResourcePool(pdbvendor); 16612 break; 16613 case sstAlterRole: 16614 ret = new TAlterRoleStmt(pdbvendor); 16615 break; 16616 case sstAlterSchema: 16617 ret = new TAlterSchemaStmt(pdbvendor); 16618 break; 16619 case sstAlterSubnet: 16620 ret = new TAlterSubnet(pdbvendor); 16621 break; 16622 case sstBegin: 16623 case sstStartTransaction: 16624 ret = new TBeginTran(pdbvendor); 16625 break; 16626 case sstReleaseSavepoint: 16627 ret = new TReleaseSavepointStmt(pdbvendor); 16628 break; 16629 case sstconnect: 16630 ret = new TConnectStmt(pdbvendor); 16631 break; 16632 case sstCreateAccessPolicy: 16633 ret = new TCreateAccessPolicy(pdbvendor); 16634 break; 16635 case sstCreateAuthentication: 16636 ret = new TCreateAuthentication(pdbvendor); 16637 break; 16638 case sstCreateFaultGroup: 16639 ret = new TCreateFaultGroup(pdbvendor); 16640 break; 16641 case sstCreateHCatalogSchema: 16642 ret = new TCreateHCatalogSchema(pdbvendor); 16643 break; 16644 case sstCreateSubnet: 16645 ret = new TCreateSubnet(pdbvendor); 16646 break; 16647 case sstcreateuser: 16648 ret = new TCreateUserStmt(pdbvendor); 16649 break; 16650 case sstDisconnect: 16651 ret = new TDisconnectStmt(pdbvendor); 16652 break; 16653 case sstDropAccessPolicy: 16654 ret = new TDropAccessPolicy(pdbvendor); 16655 break; 16656 case sstDropAggregateFunction: 16657 ret = new TDropAggregateFunction(pdbvendor); 16658 break; 16659 case sstDropAuthentication: 16660 ret = new TDropAuthentication(pdbvendor); 16661 break; 16662 case sstDropFaultGroup: 16663 ret = new TDropFaultGroup(pdbvendor); 16664 break; 16665 case sstdropfunction: 16666 ret = new TDropFunctionStmt(pdbvendor); 16667 break; 16668 case sstDropLibrary: 16669 ret = new TDropLibraryStmt(pdbvendor); 16670 break; 16671 case sstDropNetworkInterface: 16672 ret = new TDropNetworkInterface(pdbvendor); 16673 break; 16674 case sstdropprocedure: 16675 ret = new TDropProcedureStmt(pdbvendor); 16676 break; 16677 case sstDropProjection: 16678 ret = new TDropProjectionStmt(pdbvendor); 16679 break; 16680 case sstDropResourcePool: 16681 ret = new TDropResourcePool(pdbvendor); 16682 break; 16683 case sstdroprole: 16684 ret = new TDropRoleStmt(pdbvendor); 16685 break; 16686 case sstdropschema: 16687 ret = new TDropSchemaSqlStatement(pdbvendor); 16688 break; 16689 case sstdropsequence: 16690 ret = new TDropSequenceStmt(pdbvendor); 16691 break; 16692 case sstDropSubnet: 16693 ret = new TDropSubnet(pdbvendor); 16694 break; 16695 case sstDropTextIndex: 16696 ret = new TDropTextIndex(pdbvendor); 16697 break; 16698 case sstDropTransformFunction: 16699 ret = new TDropTransformFunction(pdbvendor); 16700 break; 16701 case sstdropuser: 16702 ret = new TDropUserStmt(pdbvendor); 16703 break; 16704 case sstExplain: 16705 { 16706 ret = new TExplainPlan(pdbvendor); 16707 break; 16708 } 16709 case sstExportToVertica: 16710 ret = new TExportToVertica(pdbvendor); 16711 break; 16712 case sstProfile: 16713 ret = new TProfileStmt(pdbvendor); 16714 break; 16715 case sstset: 16716 ret = new TVerticaSetStmt(pdbvendor); 16717 break; 16718 case sstShow: 16719 ret = new TVerticaShow(pdbvendor); 16720 break; 16721 case sstcall: 16722 ret = new TCallStatement(pdbvendor); 16723 break; 16724 default: 16725 { 16726 ret = new TUnknownSqlStatement(pdbvendor); 16727 ret.sqlstatementtype = gnewsqlstatementtype; 16728 break; 16729 } 16730 } // case 16731 16732 return ret; 16733 } 16734 16735 16736 TCustomSqlStatement iscouchbase(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement ){ 16737 TCustomSqlStatement ret = null; 16738 16739 gnewsqlstatementtype = ESqlStatementType.sstinvalid; 16740 16741 if ( (pcst.tokencode == TBaseType.cmtdoublehyphen) 16742 || (pcst.tokencode == TBaseType.cmtslashstar) 16743 || (pcst.tokencode == TBaseType.lexspace) 16744 || (pcst.tokencode == TBaseType.lexnewline) 16745 || (pcst.tokentype == ETokenType.ttsemicolon) ) 16746 { 16747 return null; 16748 } 16749 16750 int lcpos = pcst.posinlist; 16751 TSourceTokenList lcsourcetokenlist = pcst.container; 16752 TCustomSqlStatement lccurrentsqlstatement = psqlstatement; 16753 16754 //subquery after semicolon or at first line 16755 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokentype == ETokenType.ttleftparenthesis) ) // ( 16756 { 16757 int k = lcsourcetokenlist.solidtokenafterpos(lcpos,TBaseType.rrw_select,1,"("); 16758 if ( k >0 ) 16759 { 16760 ret = new TSelectSqlStatement(pdbvendor); 16761 } 16762 16763 return ret; 16764 } 16765 16766 //cte 16767 if ( (pstate == EFindSqlStateType.stnormal) && (pcst.tokencode == TBaseType.rrw_with) ) 16768 { 16769 ret = findcte(pcst,pdbvendor); 16770 if ( (ret != null) ) return ret; 16771 } 16772 16773 gnewsqlstatementtype = findcouchbasecmd(pcst); 16774 16775 TSourceToken lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16776 switch (gnewsqlstatementtype) { // 16777 case sstinvalid: 16778 { 16779 ret = null; 16780 16781 if ( pstate == EFindSqlStateType.stnormal ) 16782 { 16783 if ( pcst.tokencode == TBaseType.label_begin ) 16784 { 16785 ret = new TCommonBlock(pdbvendor); 16786 gnewsqlstatementtype = ret.sqlstatementtype; 16787 } 16788 else if ( pcst.tokencode == TBaseType.rrw_declare ) 16789 { 16790 ret = new TCommonBlock(pdbvendor); 16791 gnewsqlstatementtype = ret.sqlstatementtype; 16792 } 16793 else if ( pcst.tokencode == TBaseType.rrw_begin ) 16794 { 16795 ret = new TCommonBlock(pdbvendor); 16796 gnewsqlstatementtype = ret.sqlstatementtype; 16797 } 16798 else if ( pcst.tokencode == TBaseType.rrw_procedure ) 16799 { 16800 ret = new TPlsqlCreateProcedure(pdbvendor); 16801 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createprocedure; 16802 gnewsqlstatementtype = ret.sqlstatementtype; 16803 } 16804 else if ( pcst.tokencode == TBaseType.rrw_function ) 16805 { 16806 ret = new TPlsqlCreateFunction(pdbvendor); 16807 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createfunction; 16808 gnewsqlstatementtype = ret.sqlstatementtype; 16809 } 16810 else if ( pcst.tokencode == TBaseType.rrw_package ) 16811 { 16812 ret = new TPlsqlCreatePackage(pdbvendor); 16813 // ret.sqlstatementtype = ESqlStatementType.sstplsql_createpackage; 16814 gnewsqlstatementtype = ret.sqlstatementtype; 16815 } 16816 } 16817 break; 16818 } 16819 case sstselect: 16820 { 16821 boolean lcisnewsql = true; 16822 16823 if ( pstate != EFindSqlStateType.stnormal ) 16824 { 16825 // lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16826 if ( (lcprevsolidtoken != null) ) 16827 { 16828 if ( lcprevsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16829 lcisnewsql = false; //subqery 16830 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_union ) 16831 lcisnewsql = false; 16832 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_intersect ) 16833 lcisnewsql = false; 16834 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_minus ) 16835 lcisnewsql = false; 16836 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_except ) 16837 lcisnewsql = false; 16838 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_return ) 16839 lcisnewsql = false; 16840 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_as ) 16841 { 16842 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable ) 16843 lcisnewsql = false; 16844 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview ) 16845 lcisnewsql = false; 16846 } 16847 16848 if ( lcisnewsql && ( lcprevsolidtoken.tokencode == TBaseType.rrw_all) ) 16849 { 16850 TSourceToken lcpprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcprevsolidtoken.posinlist); 16851 if ( (lcpprevsolidtoken != null) ) 16852 { 16853 if ( lcpprevsolidtoken.tokencode == TBaseType.rrw_union ) 16854 lcisnewsql = false; 16855 } 16856 } 16857 16858 } 16859 16860 16861 if ( (lccurrentsqlstatement != null) ) 16862 { 16863 if ( lccurrentsqlstatement.sqlstatementtype == ESqlStatementType.sstinsert ) 16864 lcisnewsql = false; 16865 } 16866 16867 } 16868 16869 if ( lcisnewsql ) 16870 ret = new TSelectSqlStatement(pdbvendor); 16871 16872 break; 16873 } 16874 case sstinsert: 16875 { 16876 boolean lcisnewsql = true; 16877 if ( pstate != EFindSqlStateType.stnormal ) 16878 { 16879 if ( (lccurrentsqlstatement != null) ) 16880 { 16881 16882 } 16883 } 16884 16885 if ( lcisnewsql ) 16886 ret = new TInsertSqlStatement(pdbvendor); 16887 16888 break; 16889 } 16890 case sstupdate: 16891 { 16892 boolean lcisnewsql = true; 16893 if ( pstate != EFindSqlStateType.stnormal ) 16894 { 16895 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16896 if ( (lcprevsolidtoken != null) ) 16897 { // 16898 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16899 lcisnewsql = false; 16900 else if ( lcprevsolidtoken.tokencode == TBaseType.rrw_for ) 16901 lcisnewsql = false; 16902 } 16903 16904 TSourceToken lcnextsolidtoken = lcsourcetokenlist.nextsolidtoken(lcpos,1,false); 16905 if ( (lcnextsolidtoken != null) ) 16906 { 16907 if ( lcnextsolidtoken.tokentype == ETokenType.ttleftparenthesis) 16908 { 16909 int k = lcsourcetokenlist.solidtokenafterpos(lcnextsolidtoken.posinlist,TBaseType.rrw_select,1,"("); 16910 if ( k == 0 ) lcisnewsql = false; 16911 } 16912 } 16913 16914 16915 if ( (lccurrentsqlstatement != null) ) 16916 { 16917 } 16918 } 16919 16920 if ( lcisnewsql ) 16921 { 16922 ret = new TUpdateSqlStatement(pdbvendor); 16923 ret.dummytag = 1; // means set clause in update is not found yet, used to seperate set clause from set statement 16924 } 16925 break; 16926 } 16927 case sstdelete: 16928 { 16929 boolean lcisnewsql = true; 16930 16931 if ( pstate != EFindSqlStateType.stnormal ) 16932 { 16933 lcprevsolidtoken = lcsourcetokenlist.solidtokenbefore(lcpos); 16934 if ( (lcprevsolidtoken != null) ) 16935 { 16936 if ( lcprevsolidtoken.tokencode == TBaseType.rrw_on ) 16937 lcisnewsql = false; 16938 } 16939 16940 if ( (lccurrentsqlstatement != null) ) 16941 { 16942 } 16943 } 16944 16945 if ( lcisnewsql ) 16946 ret = new TDeleteSqlStatement(pdbvendor); 16947 16948 break; 16949 } 16950 case sstmerge: 16951 { 16952 ret = new TMergeSqlStatement(pdbvendor); 16953 ret.sqlstatementtype = gnewsqlstatementtype; 16954 break; 16955 } 16956 case sstcreateindex: 16957 { 16958 ret = new TCreateIndexSqlStatement(pdbvendor); 16959 break; 16960 } 16961 case sstdropindex: 16962 { 16963 ret = new TDropIndexSqlStatement(pdbvendor); 16964 break; 16965 } 16966 case sstBuildIndex: 16967 ret = new TTBuildIndexesStmt(pdbvendor); 16968 break; 16969 case sstinfer: 16970 ret = new TInferKeyspaceStmt(pdbvendor); 16971 break; 16972 case sstupsert: 16973 ret = new TUpsertStmt(pdbvendor); 16974 break; 16975 case sstExplain: 16976 { 16977 ret = new TExplainPlan(pdbvendor); 16978 break; 16979 } 16980 case sstprepare: 16981 { 16982 ret = new TExplainPlan(pdbvendor); 16983 ret.sqlstatementtype = ESqlStatementType.sstprepare; 16984 break; 16985 } 16986 case sstExecutePreparedStmt: 16987 ret = new TExecuteSqlStatement(pdbvendor); 16988 break; 16989 default: 16990 { 16991 ret = new TUnknownSqlStatement(pdbvendor); 16992 ret.sqlstatementtype = gnewsqlstatementtype; 16993 break; 16994 } 16995 } // case 16996 16997 return ret; 16998 } 16999 17000}