Skip to content

Commit dfbdc3d

Browse files
committed
Add tests for EXPLAIN, CALL, DO, LOAD DATA parsers
57 new tests covering: - EXPLAIN SELECT/INSERT/UPDATE/DELETE, EXPLAIN ANALYZE, FORMAT=JSON/TREE - DESCRIBE/DESC table, EXPLAIN table shorthand - PostgreSQL EXPLAIN (ANALYZE, VERBOSE, FORMAT JSON) - CALL with no args, with args, qualified schema.proc - DO literal, function, multiple expressions - LOAD DATA basic, LOCAL, REPLACE, FIELDS TERMINATED BY - Round-trip emission tests for all statement types - Bulk data-driven parameterized tests (20 cases) - Updates classifier test: EXPLAIN now correctly classifies as EXPLAIN
1 parent 7c47ad5 commit dfbdc3d

3 files changed

Lines changed: 511 additions & 2 deletions

File tree

Makefile.new

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ TEST_SRCS = $(TEST_DIR)/test_main.cpp \
3232
$(TEST_DIR)/test_update.cpp \
3333
$(TEST_DIR)/test_delete.cpp \
3434
$(TEST_DIR)/test_compound.cpp \
35-
$(TEST_DIR)/test_digest.cpp
35+
$(TEST_DIR)/test_digest.cpp \
36+
$(TEST_DIR)/test_misc_stmts.cpp
3637
TEST_OBJS = $(TEST_SRCS:.cpp=.o)
3738
TEST_TARGET = $(PROJECT_ROOT)/run_tests
3839

tests/test_classifier.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,13 @@ TEST_F(MySQLClassifierTest, ClassifyDeallocate) {
131131
EXPECT_EQ(r.stmt_type, StmtType::DEALLOCATE);
132132
}
133133

134-
TEST_F(MySQLClassifierTest, ClassifyUnknown) {
134+
TEST_F(MySQLClassifierTest, ClassifyExplain) {
135135
auto r = parser.parse("EXPLAIN SELECT 1", 16);
136+
EXPECT_EQ(r.stmt_type, StmtType::EXPLAIN);
137+
}
138+
139+
TEST_F(MySQLClassifierTest, ClassifyUnknown) {
140+
auto r = parser.parse("HANDLER t1 OPEN", 15);
136141
EXPECT_EQ(r.stmt_type, StmtType::UNKNOWN);
137142
}
138143

0 commit comments

Comments
 (0)