@Parameters
  public static Collection<Object[]> data() {
    return Arrays.asList(
      new Object[][]{
          {"SELECT current_timestamp()", TxnType.READ_ONLY},
          {"SELECT count(*) FROM a", TxnType.READ_ONLY},
          {"SELECT count(*) FROM a JOIN b ON a.id = b.id", TxnType.READ_ONLY},

          {"WITH a AS (SELECT current_timestamp()) " +
             "  SELECT * FROM a", TxnType.READ_ONLY},

          {"INSERT INTO a VALUES (1, 2)", TxnType.DEFAULT},
          {"INSERT INTO a SELECT * FROM b", TxnType.DEFAULT},
          {"INSERT OVERWRITE TABLE a SELECT * FROM b", TxnType.DEFAULT},

          {"FROM b INSERT OVERWRITE TABLE a SELECT *", TxnType.DEFAULT},

          {"WITH a AS (SELECT current_timestamp()) " +
             "  INSERT INTO b SELECT * FROM a", TxnType.DEFAULT},

          {"UPDATE a SET col_b = 1", TxnType.DEFAULT},
          {"DELETE FROM a WHERE col_b = 1", TxnType.DEFAULT},

          {"CREATE TABLE a (col_b int)", TxnType.DEFAULT},
          {"CREATE TABLE a AS SELECT * FROM b", TxnType.DEFAULT},
          {"DROP TABLE a", TxnType.DEFAULT},

          {"LOAD DATA LOCAL INPATH './examples/files/kv.txt' " +
             "  OVERWRITE INTO TABLE a", TxnType.DEFAULT},

          {"REPL LOAD a INTO a", TxnType.DEFAULT},
          {"REPL DUMP a", TxnType.DEFAULT},
          {"REPL STATUS a", TxnType.DEFAULT},

          {"MERGE INTO a trg using b src " +
             "  ON src.col_a = trg.col_a " +
             "WHEN MATCHED THEN " +
             "  UPDATE SET col_b = src.col_b " +
             "WHEN NOT MATCHED THEN " +
             "  INSERT VALUES (src.col_a, src.col_b)",
           TxnType.DEFAULT},

          {"CREATE MATERIALIZED VIEW matview AS SELECT * FROM b", TxnType.DEFAULT},
          {"ALTER MATERIALIZED VIEW matview REBUILD", TxnType.MATER_VIEW_REBUILD},
          {"ALTER MATERIALIZED VIEW matview DISABLE REWRITE", TxnType.DEFAULT},

          {"DROP DATABASE dummy CASCADE", TxnType.SOFT_DELETE},
          {"DROP TABLE a", TxnType.SOFT_DELETE},
          {"DROP MATERIALIZED VIEW matview", TxnType.SOFT_DELETE},
          {"ALTER TABLE TAB_ACID DROP PARTITION (P='FOO')", TxnType.SOFT_DELETE},
          {"ALTER TABLE a RENAME TO b", TxnType.DEFAULT},
          {"ALTER TABLE a PARTITION (p='foo') RENAME TO PARTITION (p='baz')", TxnType.SOFT_DELETE}
      });
  }
Transaction type derived from the original query test.
ql/src/test/org/apache/hadoop/hive/ql/parse/TestParseUtils.java