@@ -510,6 +510,13 @@ public enum Feature {
510510 executeStatementImmediate ,
511511
512512 executeUsing ,
513+ /**
514+ * "PREPARE" and "DEALLOCATE" of a prepared statement are allowed
515+ *
516+ * @see net.sf.jsqlparser.statement.PrepareStatement
517+ * @see net.sf.jsqlparser.statement.DeallocateStatement
518+ */
519+ prepare , deallocate ,
513520 /**
514521 * SQL "REPLACE" statement is allowed
515522 */
@@ -521,6 +528,12 @@ public enum Feature {
521528 * @see Drop
522529 */
523530 drop , dropTable , dropIndex , dropView , dropSchema , dropSequence , dropTableIfExists , dropIndexIfExists , dropViewIfExists , dropSchemaIfExists , dropSequenceIfExists ,
531+ /**
532+ * Oracle "PURGE" statement is allowed
533+ *
534+ * @see net.sf.jsqlparser.statement.PurgeStatement
535+ */
536+ purge ,
524537 /**
525538 * PostgreSQL "REASSIGN OWNED BY ... TO ..." statement is allowed
526539 *
@@ -540,6 +553,13 @@ public enum Feature {
540553 * @see net.sf.jsqlparser.statement.alter.database.AlterDatabase
541554 */
542555 alterDatabase ,
556+ /**
557+ * "ALTER SESSION" and "ALTER SYSTEM" statements are allowed
558+ *
559+ * @see net.sf.jsqlparser.statement.alter.AlterSession
560+ * @see net.sf.jsqlparser.statement.alter.AlterSystemStatement
561+ */
562+ alterSession , alterSystem ,
543563 /**
544564 * SQL "CREATE SCHEMA" statement is allowed
545565 *
@@ -628,6 +648,11 @@ public enum Feature {
628648 * Structured type, domain and extension statements.
629649 */
630650 createType , alterType , createDomain , alterDomain , createExtension , alterExtension ,
651+ /**
652+ * PostgreSQL "CREATE POLICY", "ALTER POLICY", "CREATE STATISTICS" and "ALTER STATISTICS"
653+ * statements are allowed
654+ */
655+ createPolicy , alterPolicy , createStatistics , alterStatistics ,
631656 /**
632657 * SQL "CREATE SYNONYM" statement is allowed
633658 *
@@ -638,6 +663,13 @@ public enum Feature {
638663 * SQL "CREATE TRIGGER" statement is allowed
639664 */
640665 createTrigger ,
666+ /**
667+ * MySQL/MariaDB "CREATE EVENT" and "ALTER EVENT" statements are allowed
668+ *
669+ * @see net.sf.jsqlparser.statement.create.event.CreateEvent
670+ * @see net.sf.jsqlparser.statement.create.event.AlterEvent
671+ */
672+ createEvent , alterEvent ,
641673 /**
642674 * PostgreSQL "CREATE EVENT TRIGGER" and "ALTER EVENT TRIGGER" statements are allowed
643675 *
@@ -664,8 +696,12 @@ public enum Feature {
664696 * @see Commit
665697 */
666698 commit ,
699+ /** SQL "ROLLBACK" statement is allowed */
700+ rollback ,
667701 /** START TRANSACTION and dialect-specific BEGIN transaction statements. */
668702 startTransaction ,
703+ /** SAVEPOINT statements. */
704+ savepoint ,
669705 /** RELEASE [SAVEPOINT] statements. */
670706 releaseSavepoint ,
671707 /** Explicit AND [NO] CHAIN transaction completion. */
@@ -676,6 +712,12 @@ public enum Feature {
676712 transactionDeferrable ,
677713 /** MySQL WITH CONSISTENT SNAPSHOT transaction characteristic. */
678714 transactionConsistentSnapshot ,
715+ /**
716+ * SQL "LOCK TABLE" statement is allowed
717+ *
718+ * @see net.sf.jsqlparser.statement.lock.LockStatement
719+ */
720+ lock ,
679721 /**
680722 * SQL "COMMENT ON" statement is allowed
681723 *
@@ -784,16 +826,17 @@ public enum Feature {
784826 */
785827 grant , revoke , createRole , alterRole , alterDefaultPrivileges ,
786828 /**
787- * MySQL/MariaDB account management: "ALTER USER", "RENAME USER", "SET ROLE ", "SET DEFAULT ROLE"
788- * and "SET PASSWORD"
829+ * MySQL/MariaDB account management: "CREATE USER", "ALTER USER", "RENAME USER ", "SET ROLE",
830+ * "SET DEFAULT ROLE" and "SET PASSWORD"
789831 *
832+ * @see net.sf.jsqlparser.statement.create.user.CreateUser
790833 * @see net.sf.jsqlparser.statement.alter.AlterUser
791834 * @see net.sf.jsqlparser.statement.alter.RenameUser
792835 * @see net.sf.jsqlparser.statement.SetRoleStatement
793836 * @see net.sf.jsqlparser.statement.SetDefaultRoleStatement
794837 * @see net.sf.jsqlparser.statement.SetPasswordStatement
795838 */
796- alterUser , renameUser , setRole , setDefaultRole , setPassword ,
839+ createUser , alterUser , renameUser , setRole , setDefaultRole , setPassword ,
797840 /**
798841 * @see Function
799842 */
@@ -1041,10 +1084,38 @@ public enum Feature {
10411084 imprt ,
10421085
10431086 /**
1044- * "EXPORT"
1087+ * "EXPORT" and BigQuery "EXPORT DATA"
10451088 */
10461089 export ,
10471090
1091+ /**
1092+ * PostgreSQL and DuckDB "COPY" and BigQuery "LOAD DATA" statements are allowed
1093+ *
1094+ * @see net.sf.jsqlparser.statement.CopyStatement
1095+ * @see net.sf.jsqlparser.statement.load.LoadDataStatement
1096+ */
1097+ copy , loadData ,
1098+
1099+ /**
1100+ * DuckDB "ATTACH", "DETACH", "CONNECT", "DISCONNECT", "PRAGMA", "INSTALL", "LOAD", "CREATE
1101+ * MACRO" and "CREATE EXTENSION REPOSITORY" statements are allowed
1102+ */
1103+ attach , detach , connect , disconnect , pragma , installExtension , loadExtension , createMacro , createExtensionRepository ,
1104+
1105+ /**
1106+ * BigQuery "ASSERT" statement is allowed
1107+ *
1108+ * @see net.sf.jsqlparser.statement.AssertStatement
1109+ */
1110+ assertStatement ,
1111+
1112+ /**
1113+ * "SESSION" statement is allowed
1114+ *
1115+ * @see net.sf.jsqlparser.statement.SessionStatement
1116+ */
1117+ session ,
1118+
10481119 /**
10491120 * MySQL allows a ',' as a separator between key and value entries. We allow that by default,
10501121 * but it can be disabled here
0 commit comments