diff --git a/go.sum b/go.sum new file mode 100644 index 0000000000..e69de29bb2 diff --git a/parser/expression.go b/parser/expression.go index f7df361680..4b8cee4fa2 100644 --- a/parser/expression.go +++ b/parser/expression.go @@ -1,6 +1,7 @@ package parser import ( + "fmt" "strconv" "strings" @@ -163,7 +164,11 @@ func (p *Parser) parseInfixExpression(left ast.Expression) ast.Expression { if ident, ok := left.(*ast.Identifier); ok { return p.parseFunctionCall(ident.Name(), ident.Position) } - return left + // Parametric function call like quantile(0.9)(number) - not yet supported + // Return nil to signal error and prevent infinite loop + p.errors = append(p.errors, fmt.Errorf("parametric function calls like func(params)(args) are not yet supported at line %d, column %d", + p.current.Pos.Line, p.current.Pos.Column)) + return nil case token.LBRACKET: return p.parseArrayAccess(left) case token.DOT: diff --git a/parser/parser_test.go b/parser/parser_test.go index 2749dc58fe..9f5f8ac084 100644 --- a/parser/parser_test.go +++ b/parser/parser_test.go @@ -1,528 +1,104 @@ package parser_test import ( - "bytes" "context" "encoding/json" - "fmt" - "net/http" - "net/url" - "os/exec" + "os" + "path/filepath" "strings" "testing" "time" - "github.com/kyleconroy/doubleclick/ast" "github.com/kyleconroy/doubleclick/parser" ) -// clickhouseAvailable checks if ClickHouse server is running -func clickhouseAvailable() bool { - resp, err := http.Get("http://127.0.0.1:8123/ping") - if err != nil { - return false - } - defer resp.Body.Close() - return resp.StatusCode == 200 +// testMetadata holds optional metadata for a test case +type testMetadata struct { + Todo bool `json:"todo,omitempty"` + Source string `json:"source,omitempty"` } -// getClickHouseAST runs EXPLAIN AST on ClickHouse and returns the output -func getClickHouseAST(query string) (string, error) { - explainQuery := fmt.Sprintf("EXPLAIN AST %s", query) - resp, err := http.Get("http://127.0.0.1:8123/?query=" + url.QueryEscape(explainQuery)) +// TestParser tests the parser using test cases from the testdata directory. +// Each subdirectory in testdata represents a test case with: +// - query.sql: The SQL query to parse +// - metadata.json (optional): Metadata including: +// - todo: true if the test is not yet expected to pass +// - source: URL to the source file in ClickHouse repository +func TestParser(t *testing.T) { + testdataDir := "testdata" + + entries, err := os.ReadDir(testdataDir) if err != nil { - return "", err + t.Fatalf("Failed to read testdata directory: %v", err) } - defer resp.Body.Close() - buf := new(bytes.Buffer) - buf.ReadFrom(resp.Body) - return buf.String(), nil -} + for _, entry := range entries { + if !entry.IsDir() { + continue + } -// TestParserBasicSelect tests basic SELECT parsing -func TestParserBasicSelect(t *testing.T) { - tests := []struct { - name string - query string - }{ - {"simple select", "SELECT 1"}, - {"select columns", "SELECT id, name FROM users"}, - {"select with where", "SELECT * FROM users WHERE id = 1"}, - {"select with alias", "SELECT id AS user_id FROM users"}, - {"select distinct", "SELECT DISTINCT name FROM users"}, - {"select with limit", "SELECT * FROM users LIMIT 10"}, - {"select with offset", "SELECT * FROM users LIMIT 10 OFFSET 5"}, - {"select with order", "SELECT * FROM users ORDER BY name ASC"}, - {"select with order desc", "SELECT * FROM users ORDER BY id DESC"}, - } + testName := entry.Name() + testDir := filepath.Join(testdataDir, testName) - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) - if err != nil { - t.Fatalf("Parse error: %v", err) - } - if len(stmts) != 1 { - t.Fatalf("Expected 1 statement, got %d", len(stmts)) - } - if _, ok := stmts[0].(*ast.SelectWithUnionQuery); !ok { - t.Fatalf("Expected SelectWithUnionQuery, got %T", stmts[0]) - } - }) - } -} + t.Run(testName, func(t *testing.T) { + // Create context with 1 second timeout + ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second) + defer cancel() -// TestParserComplexSelect tests complex SELECT parsing -func TestParserComplexSelect(t *testing.T) { - tests := []struct { - name string - query string - }{ - {"group by", "SELECT count(*) FROM users GROUP BY status"}, - {"group by having", "SELECT count(*) FROM users GROUP BY status HAVING count(*) > 1"}, - {"multiple tables", "SELECT * FROM users, orders"}, - {"inner join", "SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id"}, - {"left join", "SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id"}, - {"subquery in where", "SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)"}, - {"subquery in from", "SELECT * FROM (SELECT id FROM users) AS t"}, - {"union all", "SELECT 1 UNION ALL SELECT 2"}, - {"case expression", "SELECT CASE WHEN id > 1 THEN 'big' ELSE 'small' END FROM users"}, - {"between", "SELECT * FROM users WHERE id BETWEEN 1 AND 10"}, - {"like", "SELECT * FROM users WHERE name LIKE '%test%'"}, - {"is null", "SELECT * FROM users WHERE name IS NULL"}, - {"is not null", "SELECT * FROM users WHERE name IS NOT NULL"}, - {"in list", "SELECT * FROM users WHERE id IN (1, 2, 3)"}, - {"not in", "SELECT * FROM users WHERE id NOT IN (1, 2, 3)"}, - } - - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) + // Read the query + queryPath := filepath.Join(testDir, "query.sql") + queryBytes, err := os.ReadFile(queryPath) if err != nil { - t.Fatalf("Parse error: %v", err) - } - if len(stmts) != 1 { - t.Fatalf("Expected 1 statement, got %d", len(stmts)) + t.Fatalf("Failed to read query.sql: %v", err) } - }) - } -} - -// TestParserFunctions tests function parsing -func TestParserFunctions(t *testing.T) { - tests := []struct { - name string - query string - }{ - {"count", "SELECT count(*) FROM users"}, - {"sum", "SELECT sum(amount) FROM orders"}, - {"avg", "SELECT avg(price) FROM products"}, - {"min max", "SELECT min(id), max(id) FROM users"}, - {"nested functions", "SELECT toDate(now()) FROM users"}, - {"function with multiple args", "SELECT substring(name, 1, 5) FROM users"}, - {"distinct in function", "SELECT count(DISTINCT id) FROM users"}, - } - - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) - if err != nil { - t.Fatalf("Parse error: %v", err) - } - if len(stmts) != 1 { - t.Fatalf("Expected 1 statement, got %d", len(stmts)) - } - }) - } -} + query := strings.TrimSpace(string(queryBytes)) -// TestParserExpressions tests expression parsing -func TestParserExpressions(t *testing.T) { - tests := []struct { - name string - query string - }{ - {"arithmetic", "SELECT 1 + 2 * 3"}, - {"comparison", "SELECT 1 < 2"}, - {"logical and", "SELECT 1 AND 2"}, - {"logical or", "SELECT 1 OR 2"}, - {"logical not", "SELECT NOT 1"}, - {"unary minus", "SELECT -5"}, - {"parentheses", "SELECT (1 + 2) * 3"}, - {"string literal", "SELECT 'hello'"}, - {"integer literal", "SELECT 42"}, - {"float literal", "SELECT 3.14"}, - {"null literal", "SELECT NULL"}, - {"boolean true", "SELECT true"}, - {"boolean false", "SELECT false"}, - {"array literal", "SELECT [1, 2, 3]"}, - {"tuple literal", "SELECT (1, 'a')"}, - } - - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) - if err != nil { - t.Fatalf("Parse error: %v", err) - } - if len(stmts) != 1 { - t.Fatalf("Expected 1 statement, got %d", len(stmts)) + // Read optional metadata + var metadata testMetadata + metadataPath := filepath.Join(testDir, "metadata.json") + if metadataBytes, err := os.ReadFile(metadataPath); err == nil { + if err := json.Unmarshal(metadataBytes, &metadata); err != nil { + t.Fatalf("Failed to parse metadata.json: %v", err) + } } - }) - } -} - -// TestParserDDL tests DDL statement parsing -func TestParserDDL(t *testing.T) { - tests := []struct { - name string - query string - stmtType interface{} - }{ - {"create table", "CREATE TABLE test (id UInt64, name String) ENGINE = MergeTree() ORDER BY id", &ast.CreateQuery{}}, - {"create table if not exists", "CREATE TABLE IF NOT EXISTS test (id UInt64) ENGINE = MergeTree() ORDER BY id", &ast.CreateQuery{}}, - {"drop table", "DROP TABLE test", &ast.DropQuery{}}, - {"drop table if exists", "DROP TABLE IF EXISTS test", &ast.DropQuery{}}, - {"truncate table", "TRUNCATE TABLE test", &ast.TruncateQuery{}}, - {"alter add column", "ALTER TABLE test ADD COLUMN age UInt32", &ast.AlterQuery{}}, - {"alter drop column", "ALTER TABLE test DROP COLUMN age", &ast.AlterQuery{}}, - } - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) - if err != nil { - t.Fatalf("Parse error: %v", err) + // Log source if available + if metadata.Source != "" { + t.Logf("Source: %s", metadata.Source) } - if len(stmts) != 1 { - t.Fatalf("Expected 1 statement, got %d", len(stmts)) - } - }) - } -} -// TestParserOtherStatements tests other statement types -func TestParserOtherStatements(t *testing.T) { - tests := []struct { - name string - query string - }{ - {"use database", "USE mydb"}, - {"describe table", "DESCRIBE TABLE users"}, - {"show tables", "SHOW TABLES"}, - {"show databases", "SHOW DATABASES"}, - {"insert into", "INSERT INTO users (id, name) VALUES"}, - {"insert select", "INSERT INTO users SELECT * FROM old_users"}, - {"set setting", "SET max_threads = 4"}, - {"explain", "EXPLAIN SELECT 1"}, - {"explain ast", "EXPLAIN AST SELECT 1"}, - } - - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) + // Parse the query + stmts, err := parser.Parse(ctx, strings.NewReader(query)) if err != nil { - t.Fatalf("Parse error: %v", err) - } - if len(stmts) != 1 { - t.Fatalf("Expected 1 statement, got %d", len(stmts)) + if metadata.Todo { + t.Skipf("TODO: Parser does not yet support: %s (error: %v)", query, err) + return + } + t.Fatalf("Parse error: %v\nQuery: %s", err, query) } - }) - } -} - -// TestParserWithClickHouse compares parsing with ClickHouse's EXPLAIN AST -func TestParserWithClickHouse(t *testing.T) { - if !clickhouseAvailable() { - t.Skip("ClickHouse not available") - } - - tests := []struct { - name string - query string - }{ - {"simple select", "SELECT 1"}, - {"select from table", "SELECT id, name FROM users"}, - {"select with where", "SELECT * FROM users WHERE id = 1"}, - {"select with and", "SELECT * FROM users WHERE id = 1 AND status = 'active'"}, - {"select with order limit", "SELECT * FROM users ORDER BY name LIMIT 10"}, - {"select with join", "SELECT a.id FROM users a JOIN orders b ON a.id = b.user_id"}, - {"select with group by", "SELECT count(*) FROM orders GROUP BY user_id"}, - {"select with having", "SELECT count(*) FROM orders GROUP BY user_id HAVING count(*) > 1"}, - {"select with subquery", "SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)"}, - {"select with case", "SELECT CASE WHEN id > 1 THEN 'big' ELSE 'small' END FROM users"}, - {"select with functions", "SELECT toDate(now()), count(*) FROM users"}, - {"select with between", "SELECT * FROM users WHERE id BETWEEN 1 AND 10"}, - {"select with like", "SELECT * FROM users WHERE name LIKE '%test%'"}, - {"union all", "SELECT 1 UNION ALL SELECT 2"}, - } - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - // Parse with our parser - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) - if err != nil { - t.Fatalf("Our parser error: %v", err) - } if len(stmts) == 0 { - t.Fatal("Our parser returned no statements") - } - - // Get ClickHouse's AST - chAST, err := getClickHouseAST(tt.query) - if err != nil { - t.Fatalf("ClickHouse error: %v", err) - } - - // Verify ClickHouse accepted the query (no error in response) - if strings.Contains(chAST, "Code:") || strings.Contains(chAST, "Exception:") { - t.Fatalf("ClickHouse rejected query: %s", chAST) - } - - // Log both ASTs for comparison - t.Logf("Query: %s", tt.query) - t.Logf("ClickHouse AST:\n%s", chAST) - - // Verify our AST can be serialized to JSON - jsonBytes, err := json.MarshalIndent(stmts[0], "", " ") - if err != nil { - t.Fatalf("JSON marshal error: %v", err) - } - t.Logf("Our AST (JSON):\n%s", string(jsonBytes)) - }) - } -} - -// TestParserJSONSerialization tests that all AST nodes can be serialized to JSON -func TestParserJSONSerialization(t *testing.T) { - tests := []struct { - name string - query string - }{ - {"select", "SELECT id, name AS n FROM users WHERE id > 1 ORDER BY name LIMIT 10"}, - {"create table", "CREATE TABLE test (id UInt64, name String) ENGINE = MergeTree() ORDER BY id"}, - {"insert", "INSERT INTO users (id, name) SELECT id, name FROM old_users"}, - {"alter", "ALTER TABLE users ADD COLUMN age UInt32"}, - {"complex select", ` - SELECT - u.id, - u.name, - count(*) AS order_count, - sum(o.amount) AS total - FROM users u - LEFT JOIN orders o ON u.id = o.user_id - WHERE u.status = 'active' - GROUP BY u.id, u.name - HAVING count(*) > 0 - ORDER BY total DESC - LIMIT 100 - `}, - } - - ctx := context.Background() - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - stmts, err := parser.Parse(ctx, strings.NewReader(tt.query)) - if err != nil { - t.Fatalf("Parse error: %v", err) - } - - for i, stmt := range stmts { - jsonBytes, err := json.MarshalIndent(stmt, "", " ") - if err != nil { - t.Fatalf("JSON marshal error for statement %d: %v", i, err) + if metadata.Todo { + t.Skipf("TODO: Parser returned no statements for: %s", query) + return } + t.Fatalf("Expected at least 1 statement, got 0\nQuery: %s", query) + } - // Verify it's valid JSON by unmarshaling - var m map[string]interface{} - if err := json.Unmarshal(jsonBytes, &m); err != nil { - t.Fatalf("JSON unmarshal error for statement %d: %v", i, err) + // Verify we can serialize to JSON + _, jsonErr := json.Marshal(stmts[0]) + if jsonErr != nil { + if metadata.Todo { + t.Skipf("TODO: JSON serialization failed: %v", jsonErr) + return } - - t.Logf("Statement %d JSON:\n%s", i, string(jsonBytes)) + t.Fatalf("JSON marshal error: %v\nQuery: %s", jsonErr, query) } }) } } -// TestParserMultipleStatements tests parsing multiple statements -func TestParserMultipleStatements(t *testing.T) { - query := ` - SELECT 1; - SELECT 2; - SELECT 3 - ` - - ctx := context.Background() - stmts, err := parser.Parse(ctx, strings.NewReader(query)) - if err != nil { - t.Fatalf("Parse error: %v", err) - } - if len(stmts) != 3 { - t.Fatalf("Expected 3 statements, got %d", len(stmts)) - } -} - -// TestParserContextCancellation tests that parsing respects context cancellation -func TestParserContextCancellation(t *testing.T) { - ctx, cancel := context.WithTimeout(context.Background(), 1*time.Millisecond) - defer cancel() - - // Give some time for cancellation - time.Sleep(5 * time.Millisecond) - - _, err := parser.Parse(ctx, strings.NewReader("SELECT 1")) - if err == nil { - // Context might not have been checked yet for simple queries - // This is acceptable behavior - t.Log("Context cancellation not triggered for simple query (acceptable)") - } -} - -// TestClickHouseASTComparison runs a detailed comparison with ClickHouse AST -func TestClickHouseASTComparison(t *testing.T) { - if !clickhouseAvailable() { - t.Skip("ClickHouse not available") - } - - // Test queries that exercise different AST node types - queries := []string{ - // Basic SELECT - "SELECT 1", - "SELECT id FROM users", - "SELECT id, name FROM users", - - // Expressions - "SELECT 1 + 2", - "SELECT 1 + 2 * 3", - "SELECT (1 + 2) * 3", - "SELECT -5", - "SELECT NOT true", - - // Literals - "SELECT 'hello'", - "SELECT 3.14", - "SELECT NULL", - "SELECT [1, 2, 3]", - - // Functions - "SELECT count(*)", - "SELECT sum(amount) FROM orders", - "SELECT toDate('2023-01-01')", - - // WHERE clause - "SELECT * FROM users WHERE id = 1", - "SELECT * FROM users WHERE id > 1 AND status = 'active'", - "SELECT * FROM users WHERE id IN (1, 2, 3)", - "SELECT * FROM users WHERE name LIKE '%test%'", - "SELECT * FROM users WHERE id BETWEEN 1 AND 10", - "SELECT * FROM users WHERE name IS NULL", - - // JOINs - "SELECT * FROM users u JOIN orders o ON u.id = o.user_id", - "SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id", - - // GROUP BY / ORDER BY - "SELECT count(*) FROM users GROUP BY status", - "SELECT * FROM users ORDER BY id", - "SELECT * FROM users ORDER BY id DESC", - "SELECT * FROM users ORDER BY id LIMIT 10", - - // Subqueries - "SELECT * FROM (SELECT 1) AS t", - "SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)", - - // UNION - "SELECT 1 UNION ALL SELECT 2", - - // CASE - "SELECT CASE WHEN id > 1 THEN 'big' ELSE 'small' END FROM users", - - // CREATE TABLE - "CREATE TABLE test (id UInt64, name String) ENGINE = MergeTree() ORDER BY id", - - // DROP - "DROP TABLE IF EXISTS test", - - // INSERT - "INSERT INTO users (id, name) VALUES", - - // ALTER - "ALTER TABLE users ADD COLUMN age UInt32", - - // USE - "USE mydb", - - // TRUNCATE - "TRUNCATE TABLE users", - - // DESCRIBE - "DESCRIBE TABLE users", - - // SHOW - "SHOW TABLES", - } - - ctx := context.Background() - passed := 0 - failed := 0 - - for _, query := range queries { - // Parse with our parser - stmts, err := parser.Parse(ctx, strings.NewReader(query)) - if err != nil { - t.Logf("FAIL [parse error]: %s\n Error: %v", query, err) - failed++ - continue - } - - if len(stmts) == 0 { - t.Logf("FAIL [no statements]: %s", query) - failed++ - continue - } - - // Get ClickHouse's AST - chAST, err := getClickHouseAST(query) - if err != nil { - t.Logf("SKIP [clickhouse error]: %s\n Error: %v", query, err) - continue - } - - // Check if ClickHouse accepted the query - if strings.Contains(chAST, "Code:") || strings.Contains(chAST, "Exception:") { - t.Logf("SKIP [clickhouse rejected]: %s\n Response: %s", query, strings.TrimSpace(chAST)) - continue - } - - // Verify we can serialize to JSON - _, jsonErr := json.Marshal(stmts[0]) - if jsonErr != nil { - t.Logf("FAIL [json error]: %s\n Error: %v", query, jsonErr) - failed++ - continue - } - - t.Logf("PASS: %s", query) - passed++ - } - - t.Logf("\nSummary: %d passed, %d failed", passed, failed) - - if failed > 0 { - t.Errorf("%d queries failed to parse", failed) - } -} - -// BenchmarkParser benchmarks the parser performance +// BenchmarkParser benchmarks the parser performance using a complex query func BenchmarkParser(b *testing.B) { query := ` SELECT @@ -549,10 +125,3 @@ func BenchmarkParser(b *testing.B) { } } } - -// Helper to run clickhouse client command -func runClickHouseClient(query string) (string, error) { - cmd := exec.Command("./clickhouse", "client", "--query", query) - out, err := cmd.CombinedOutput() - return string(out), err -} diff --git a/parser/testdata/accuratecast/query.sql b/parser/testdata/accuratecast/query.sql new file mode 100644 index 0000000000..3262123241 --- /dev/null +++ b/parser/testdata/accuratecast/query.sql @@ -0,0 +1 @@ +SELECT accurateCast(123.456, 'Int32') diff --git a/parser/testdata/add_column/query.sql b/parser/testdata/add_column/query.sql new file mode 100644 index 0000000000..a3db8fa735 --- /dev/null +++ b/parser/testdata/add_column/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table ADD COLUMN new_col UInt64 diff --git a/parser/testdata/add_column_after/query.sql b/parser/testdata/add_column_after/query.sql new file mode 100644 index 0000000000..005533b7ed --- /dev/null +++ b/parser/testdata/add_column_after/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table ADD COLUMN new_col UInt64 AFTER id diff --git a/parser/testdata/add_column_if_not_exists/metadata.json b/parser/testdata/add_column_if_not_exists/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/add_column_if_not_exists/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/add_column_if_not_exists/query.sql b/parser/testdata/add_column_if_not_exists/query.sql new file mode 100644 index 0000000000..eb65b909fb --- /dev/null +++ b/parser/testdata/add_column_if_not_exists/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table ADD COLUMN IF NOT EXISTS new_col UInt64 diff --git a/parser/testdata/add_constraint/metadata.json b/parser/testdata/add_constraint/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/add_constraint/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/add_constraint/query.sql b/parser/testdata/add_constraint/query.sql new file mode 100644 index 0000000000..e4e8da8efc --- /dev/null +++ b/parser/testdata/add_constraint/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table ADD CONSTRAINT c CHECK col > 0 diff --git a/parser/testdata/add_index/metadata.json b/parser/testdata/add_index/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/add_index/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/add_index/query.sql b/parser/testdata/add_index/query.sql new file mode 100644 index 0000000000..1cde3c91e0 --- /dev/null +++ b/parser/testdata/add_index/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table ADD INDEX idx (col) TYPE minmax GRANULARITY 4 diff --git a/parser/testdata/adddays/query.sql b/parser/testdata/adddays/query.sql new file mode 100644 index 0000000000..b1867323b0 --- /dev/null +++ b/parser/testdata/adddays/query.sql @@ -0,0 +1 @@ +SELECT addDays(toDate('2023-01-01'), 5) diff --git a/parser/testdata/addition/query.sql b/parser/testdata/addition/query.sql new file mode 100644 index 0000000000..39517a1a84 --- /dev/null +++ b/parser/testdata/addition/query.sql @@ -0,0 +1 @@ +SELECT 1 + 2 diff --git a/parser/testdata/aggregate_array_combinator/query.sql b/parser/testdata/aggregate_array_combinator/query.sql new file mode 100644 index 0000000000..3ac6cd5fed --- /dev/null +++ b/parser/testdata/aggregate_array_combinator/query.sql @@ -0,0 +1 @@ +SELECT sumArray([1, 2, 3]) diff --git a/parser/testdata/aggregate_merge_combinator/query.sql b/parser/testdata/aggregate_merge_combinator/query.sql new file mode 100644 index 0000000000..d8de99bd02 --- /dev/null +++ b/parser/testdata/aggregate_merge_combinator/query.sql @@ -0,0 +1 @@ +SELECT sumMerge(sum_state) FROM states_table diff --git a/parser/testdata/aggregate_state_combinator/query.sql b/parser/testdata/aggregate_state_combinator/query.sql new file mode 100644 index 0000000000..4af1692cd3 --- /dev/null +++ b/parser/testdata/aggregate_state_combinator/query.sql @@ -0,0 +1 @@ +SELECT sumState(number) FROM numbers(10) diff --git a/parser/testdata/all_join/query.sql b/parser/testdata/all_join/query.sql new file mode 100644 index 0000000000..b07472b01e --- /dev/null +++ b/parser/testdata/all_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a ALL JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/alter_add_column/query.sql b/parser/testdata/alter_add_column/query.sql new file mode 100644 index 0000000000..e9d71cb74a --- /dev/null +++ b/parser/testdata/alter_add_column/query.sql @@ -0,0 +1 @@ +ALTER TABLE test ADD COLUMN age UInt32 diff --git a/parser/testdata/alter_drop_column/query.sql b/parser/testdata/alter_drop_column/query.sql new file mode 100644 index 0000000000..2ffc7afccf --- /dev/null +++ b/parser/testdata/alter_drop_column/query.sql @@ -0,0 +1 @@ +ALTER TABLE test DROP COLUMN age diff --git a/parser/testdata/anti_join/query.sql b/parser/testdata/anti_join/query.sql new file mode 100644 index 0000000000..e24d181167 --- /dev/null +++ b/parser/testdata/anti_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a ANTI JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/any_join/query.sql b/parser/testdata/any_join/query.sql new file mode 100644 index 0000000000..951577542f --- /dev/null +++ b/parser/testdata/any_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a ANY JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/arithmetic/query.sql b/parser/testdata/arithmetic/query.sql new file mode 100644 index 0000000000..33cbb51576 --- /dev/null +++ b/parser/testdata/arithmetic/query.sql @@ -0,0 +1 @@ +SELECT 1 + 2 * 3 diff --git a/parser/testdata/array_constructor/metadata.json b/parser/testdata/array_constructor/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/array_constructor/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/array_constructor/query.sql b/parser/testdata/array_constructor/query.sql new file mode 100644 index 0000000000..ed06884345 --- /dev/null +++ b/parser/testdata/array_constructor/query.sql @@ -0,0 +1 @@ +SELECT array(1, 2, 3) diff --git a/parser/testdata/array_join_basic/metadata.json b/parser/testdata/array_join_basic/metadata.json new file mode 100644 index 0000000000..04010ce9a0 --- /dev/null +++ b/parser/testdata/array_join_basic/metadata.json @@ -0,0 +1 @@ +{"source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00008_array_join.sql"} diff --git a/parser/testdata/array_join_basic/query.sql b/parser/testdata/array_join_basic/query.sql new file mode 100644 index 0000000000..abb35cbbfc --- /dev/null +++ b/parser/testdata/array_join_basic/query.sql @@ -0,0 +1 @@ +SELECT arrayJoin(['Hello', 'Goodbye']) diff --git a/parser/testdata/array_join_nested/metadata.json b/parser/testdata/array_join_nested/metadata.json new file mode 100644 index 0000000000..ef8a62da37 --- /dev/null +++ b/parser/testdata/array_join_nested/metadata.json @@ -0,0 +1 @@ +{"source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00020_sorting_arrays.sql"} diff --git a/parser/testdata/array_join_nested/query.sql b/parser/testdata/array_join_nested/query.sql new file mode 100644 index 0000000000..69ddf6c2b0 --- /dev/null +++ b/parser/testdata/array_join_nested/query.sql @@ -0,0 +1 @@ +SELECT arrayJoin([[3,4,5], [6,7], [2], [1,1]]) AS x ORDER BY x diff --git a/parser/testdata/array_join_stmt/metadata.json b/parser/testdata/array_join_stmt/metadata.json new file mode 100644 index 0000000000..cdfa105d9f --- /dev/null +++ b/parser/testdata/array_join_stmt/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00013_create_table_with_arrays.sql"} diff --git a/parser/testdata/array_join_stmt/query.sql b/parser/testdata/array_join_stmt/query.sql new file mode 100644 index 0000000000..238f888202 --- /dev/null +++ b/parser/testdata/array_join_stmt/query.sql @@ -0,0 +1 @@ +SELECT s, arr FROM arrays_test ARRAY JOIN arr diff --git a/parser/testdata/array_join_with_alias/metadata.json b/parser/testdata/array_join_with_alias/metadata.json new file mode 100644 index 0000000000..cdfa105d9f --- /dev/null +++ b/parser/testdata/array_join_with_alias/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00013_create_table_with_arrays.sql"} diff --git a/parser/testdata/array_join_with_alias/query.sql b/parser/testdata/array_join_with_alias/query.sql new file mode 100644 index 0000000000..a523fa0f27 --- /dev/null +++ b/parser/testdata/array_join_with_alias/query.sql @@ -0,0 +1 @@ +SELECT s, arr, a FROM arrays_test ARRAY JOIN arr AS a diff --git a/parser/testdata/array_join_with_enumerate/metadata.json b/parser/testdata/array_join_with_enumerate/metadata.json new file mode 100644 index 0000000000..cdfa105d9f --- /dev/null +++ b/parser/testdata/array_join_with_enumerate/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00013_create_table_with_arrays.sql"} diff --git a/parser/testdata/array_join_with_enumerate/query.sql b/parser/testdata/array_join_with_enumerate/query.sql new file mode 100644 index 0000000000..878f0952e7 --- /dev/null +++ b/parser/testdata/array_join_with_enumerate/query.sql @@ -0,0 +1 @@ +SELECT s, arr, a, num FROM arrays_test ARRAY JOIN arr AS a, arrayEnumerate(arr) AS num diff --git a/parser/testdata/array_join_with_map/metadata.json b/parser/testdata/array_join_with_map/metadata.json new file mode 100644 index 0000000000..cdfa105d9f --- /dev/null +++ b/parser/testdata/array_join_with_map/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00013_create_table_with_arrays.sql"} diff --git a/parser/testdata/array_join_with_map/query.sql b/parser/testdata/array_join_with_map/query.sql new file mode 100644 index 0000000000..010faea3d7 --- /dev/null +++ b/parser/testdata/array_join_with_map/query.sql @@ -0,0 +1 @@ +SELECT s, arr, a, mapped FROM arrays_test ARRAY JOIN arr AS a, arrayMap(x -> x + 1, arr) AS mapped diff --git a/parser/testdata/array_literal/query.sql b/parser/testdata/array_literal/query.sql new file mode 100644 index 0000000000..a6cbb72f76 --- /dev/null +++ b/parser/testdata/array_literal/query.sql @@ -0,0 +1 @@ +SELECT [1, 2, 3] diff --git a/parser/testdata/array_literal_hello_goodbye/metadata.json b/parser/testdata/array_literal_hello_goodbye/metadata.json new file mode 100644 index 0000000000..b155a6a590 --- /dev/null +++ b/parser/testdata/array_literal_hello_goodbye/metadata.json @@ -0,0 +1 @@ +{"source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00007_array.sql"} diff --git a/parser/testdata/array_literal_hello_goodbye/query.sql b/parser/testdata/array_literal_hello_goodbye/query.sql new file mode 100644 index 0000000000..7c1f27f197 --- /dev/null +++ b/parser/testdata/array_literal_hello_goodbye/query.sql @@ -0,0 +1 @@ +SELECT ['Hello', 'Goodbye'] diff --git a/parser/testdata/array_subscript/query.sql b/parser/testdata/array_subscript/query.sql new file mode 100644 index 0000000000..a4c7c14838 --- /dev/null +++ b/parser/testdata/array_subscript/query.sql @@ -0,0 +1 @@ +SELECT [1, 2, 3][1] diff --git a/parser/testdata/arrayall_lambda/metadata.json b/parser/testdata/arrayall_lambda/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/arrayall_lambda/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/arrayall_lambda/query.sql b/parser/testdata/arrayall_lambda/query.sql new file mode 100644 index 0000000000..b4f89a1b96 --- /dev/null +++ b/parser/testdata/arrayall_lambda/query.sql @@ -0,0 +1 @@ +SELECT arrayAll(x -> x > 0, [1, 2, 3]) diff --git a/parser/testdata/arraycompact/query.sql b/parser/testdata/arraycompact/query.sql new file mode 100644 index 0000000000..af9b185024 --- /dev/null +++ b/parser/testdata/arraycompact/query.sql @@ -0,0 +1 @@ +SELECT arrayCompact([1, 1, 2, 2, 3, 3]) diff --git a/parser/testdata/arrayconcat/query.sql b/parser/testdata/arrayconcat/query.sql new file mode 100644 index 0000000000..5d7703d956 --- /dev/null +++ b/parser/testdata/arrayconcat/query.sql @@ -0,0 +1 @@ +SELECT arrayConcat([1, 2], [3, 4]) diff --git a/parser/testdata/arraydistinct/query.sql b/parser/testdata/arraydistinct/query.sql new file mode 100644 index 0000000000..623c55cfa1 --- /dev/null +++ b/parser/testdata/arraydistinct/query.sql @@ -0,0 +1 @@ +SELECT arrayDistinct([1, 1, 2, 2, 3, 3]) diff --git a/parser/testdata/arrayelement/query.sql b/parser/testdata/arrayelement/query.sql new file mode 100644 index 0000000000..05056393ef --- /dev/null +++ b/parser/testdata/arrayelement/query.sql @@ -0,0 +1 @@ +SELECT arrayElement([1, 2, 3], 1) diff --git a/parser/testdata/arrayenumerate/query.sql b/parser/testdata/arrayenumerate/query.sql new file mode 100644 index 0000000000..b79e2b2f83 --- /dev/null +++ b/parser/testdata/arrayenumerate/query.sql @@ -0,0 +1 @@ +SELECT arrayEnumerate([10, 20, 30]) diff --git a/parser/testdata/arrayenumerateuniq/query.sql b/parser/testdata/arrayenumerateuniq/query.sql new file mode 100644 index 0000000000..129796eb81 --- /dev/null +++ b/parser/testdata/arrayenumerateuniq/query.sql @@ -0,0 +1 @@ +SELECT arrayEnumerateUniq([10, 10, 20, 20]) diff --git a/parser/testdata/arrayexists_lambda/metadata.json b/parser/testdata/arrayexists_lambda/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/arrayexists_lambda/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/arrayexists_lambda/query.sql b/parser/testdata/arrayexists_lambda/query.sql new file mode 100644 index 0000000000..9d9883b371 --- /dev/null +++ b/parser/testdata/arrayexists_lambda/query.sql @@ -0,0 +1 @@ +SELECT arrayExists(x -> x > 2, [1, 2, 3]) diff --git a/parser/testdata/arrayexists_lambda_position/metadata.json b/parser/testdata/arrayexists_lambda_position/metadata.json new file mode 100644 index 0000000000..e7bca5caa2 --- /dev/null +++ b/parser/testdata/arrayexists_lambda_position/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00022_func_higher_order_and_constants.sql"} diff --git a/parser/testdata/arrayexists_lambda_position/query.sql b/parser/testdata/arrayexists_lambda_position/query.sql new file mode 100644 index 0000000000..797d6f3d4e --- /dev/null +++ b/parser/testdata/arrayexists_lambda_position/query.sql @@ -0,0 +1 @@ +SELECT arrayExists(x -> position(x, 'a') > 0, ['a']) diff --git a/parser/testdata/arrayfilter_lambda/metadata.json b/parser/testdata/arrayfilter_lambda/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/arrayfilter_lambda/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/arrayfilter_lambda/query.sql b/parser/testdata/arrayfilter_lambda/query.sql new file mode 100644 index 0000000000..84c7e7787a --- /dev/null +++ b/parser/testdata/arrayfilter_lambda/query.sql @@ -0,0 +1 @@ +SELECT arrayFilter(x -> x > 1, [1, 2, 3]) diff --git a/parser/testdata/arrayfirst_lambda/metadata.json b/parser/testdata/arrayfirst_lambda/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/arrayfirst_lambda/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/arrayfirst_lambda/query.sql b/parser/testdata/arrayfirst_lambda/query.sql new file mode 100644 index 0000000000..8bc07fb141 --- /dev/null +++ b/parser/testdata/arrayfirst_lambda/query.sql @@ -0,0 +1 @@ +SELECT arrayFirst(x -> x > 1, [1, 2, 3]) diff --git a/parser/testdata/arrayflatten/query.sql b/parser/testdata/arrayflatten/query.sql new file mode 100644 index 0000000000..3cbae03fcd --- /dev/null +++ b/parser/testdata/arrayflatten/query.sql @@ -0,0 +1 @@ +SELECT arrayFlatten([[1, 2], [3, 4]]) diff --git a/parser/testdata/arrayjoin/query.sql b/parser/testdata/arrayjoin/query.sql new file mode 100644 index 0000000000..f6e4ad7df5 --- /dev/null +++ b/parser/testdata/arrayjoin/query.sql @@ -0,0 +1 @@ +SELECT arrayJoin([1, 2, 3]) diff --git a/parser/testdata/arraymap_lambda/metadata.json b/parser/testdata/arraymap_lambda/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/arraymap_lambda/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/arraymap_lambda/query.sql b/parser/testdata/arraymap_lambda/query.sql new file mode 100644 index 0000000000..7ca997ed75 --- /dev/null +++ b/parser/testdata/arraymap_lambda/query.sql @@ -0,0 +1 @@ +SELECT arrayMap(x -> x + 1, [1, 2, 3]) diff --git a/parser/testdata/arraypopback/query.sql b/parser/testdata/arraypopback/query.sql new file mode 100644 index 0000000000..d7c731a8ab --- /dev/null +++ b/parser/testdata/arraypopback/query.sql @@ -0,0 +1 @@ +SELECT arrayPopBack([1, 2, 3]) diff --git a/parser/testdata/arraypopfront/query.sql b/parser/testdata/arraypopfront/query.sql new file mode 100644 index 0000000000..0ba385d7ab --- /dev/null +++ b/parser/testdata/arraypopfront/query.sql @@ -0,0 +1 @@ +SELECT arrayPopFront([1, 2, 3]) diff --git a/parser/testdata/arraypushback/query.sql b/parser/testdata/arraypushback/query.sql new file mode 100644 index 0000000000..72bd3b4182 --- /dev/null +++ b/parser/testdata/arraypushback/query.sql @@ -0,0 +1 @@ +SELECT arrayPushBack([1, 2], 3) diff --git a/parser/testdata/arraypushfront/query.sql b/parser/testdata/arraypushfront/query.sql new file mode 100644 index 0000000000..aee4318e7e --- /dev/null +++ b/parser/testdata/arraypushfront/query.sql @@ -0,0 +1 @@ +SELECT arrayPushFront([2, 3], 1) diff --git a/parser/testdata/arrayreverse/query.sql b/parser/testdata/arrayreverse/query.sql new file mode 100644 index 0000000000..8f249ea96d --- /dev/null +++ b/parser/testdata/arrayreverse/query.sql @@ -0,0 +1 @@ +SELECT arrayReverse([1, 2, 3]) diff --git a/parser/testdata/arrayslice/query.sql b/parser/testdata/arrayslice/query.sql new file mode 100644 index 0000000000..b2f6655dd2 --- /dev/null +++ b/parser/testdata/arrayslice/query.sql @@ -0,0 +1 @@ +SELECT arraySlice([1, 2, 3, 4, 5], 2, 3) diff --git a/parser/testdata/arraysort/query.sql b/parser/testdata/arraysort/query.sql new file mode 100644 index 0000000000..8b1fe19a3a --- /dev/null +++ b/parser/testdata/arraysort/query.sql @@ -0,0 +1 @@ +SELECT arraySort([3, 1, 2]) diff --git a/parser/testdata/arraysplit_lambda/metadata.json b/parser/testdata/arraysplit_lambda/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/arraysplit_lambda/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/arraysplit_lambda/query.sql b/parser/testdata/arraysplit_lambda/query.sql new file mode 100644 index 0000000000..0fe6b025ea --- /dev/null +++ b/parser/testdata/arraysplit_lambda/query.sql @@ -0,0 +1 @@ +SELECT arraySplit(x -> x = 2, [1, 2, 3, 4]) diff --git a/parser/testdata/arraystringconcat/query.sql b/parser/testdata/arraystringconcat/query.sql new file mode 100644 index 0000000000..f0aa82f279 --- /dev/null +++ b/parser/testdata/arraystringconcat/query.sql @@ -0,0 +1 @@ +SELECT arrayStringConcat(['a', 'b', 'c'], ',') diff --git a/parser/testdata/arrayuniq/query.sql b/parser/testdata/arrayuniq/query.sql new file mode 100644 index 0000000000..7a0d6b8a99 --- /dev/null +++ b/parser/testdata/arrayuniq/query.sql @@ -0,0 +1 @@ +SELECT arrayUniq([1, 1, 2, 2, 3]) diff --git a/parser/testdata/assumenotnull/query.sql b/parser/testdata/assumenotnull/query.sql new file mode 100644 index 0000000000..ccef8a8eb6 --- /dev/null +++ b/parser/testdata/assumenotnull/query.sql @@ -0,0 +1 @@ +SELECT assumeNotNull(toNullable(1)) diff --git a/parser/testdata/asterisk_with_except/metadata.json b/parser/testdata/asterisk_with_except/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/asterisk_with_except/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/asterisk_with_except/query.sql b/parser/testdata/asterisk_with_except/query.sql new file mode 100644 index 0000000000..b43845bacb --- /dev/null +++ b/parser/testdata/asterisk_with_except/query.sql @@ -0,0 +1 @@ +SELECT * EXCEPT (id) FROM test_table diff --git a/parser/testdata/asterisk_with_replace/metadata.json b/parser/testdata/asterisk_with_replace/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/asterisk_with_replace/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/asterisk_with_replace/query.sql b/parser/testdata/asterisk_with_replace/query.sql new file mode 100644 index 0000000000..31070a1bcb --- /dev/null +++ b/parser/testdata/asterisk_with_replace/query.sql @@ -0,0 +1 @@ +SELECT * REPLACE (id + 1 AS id) FROM test_table diff --git a/parser/testdata/attach_partition/query.sql b/parser/testdata/attach_partition/query.sql new file mode 100644 index 0000000000..9fde18d959 --- /dev/null +++ b/parser/testdata/attach_partition/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table ATTACH PARTITION 202301 diff --git a/parser/testdata/avg/query.sql b/parser/testdata/avg/query.sql new file mode 100644 index 0000000000..6cfec37e56 --- /dev/null +++ b/parser/testdata/avg/query.sql @@ -0,0 +1 @@ +SELECT avg(price) FROM products diff --git a/parser/testdata/avg_function/query.sql b/parser/testdata/avg_function/query.sql new file mode 100644 index 0000000000..14b249704e --- /dev/null +++ b/parser/testdata/avg_function/query.sql @@ -0,0 +1 @@ +SELECT avg(1) diff --git a/parser/testdata/avgif/query.sql b/parser/testdata/avgif/query.sql new file mode 100644 index 0000000000..dfe6ee1046 --- /dev/null +++ b/parser/testdata/avgif/query.sql @@ -0,0 +1 @@ +SELECT avgIf(number, number > 5) FROM numbers(10) diff --git a/parser/testdata/base64decode/query.sql b/parser/testdata/base64decode/query.sql new file mode 100644 index 0000000000..342720d7b1 --- /dev/null +++ b/parser/testdata/base64decode/query.sql @@ -0,0 +1 @@ +SELECT base64Decode('aGVsbG8=') diff --git a/parser/testdata/base64encode/query.sql b/parser/testdata/base64encode/query.sql new file mode 100644 index 0000000000..3704dd3d62 --- /dev/null +++ b/parser/testdata/base64encode/query.sql @@ -0,0 +1 @@ +SELECT base64Encode('hello') diff --git a/parser/testdata/between/query.sql b/parser/testdata/between/query.sql new file mode 100644 index 0000000000..d6236749e2 --- /dev/null +++ b/parser/testdata/between/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE id BETWEEN 1 AND 10 diff --git a/parser/testdata/bitand/query.sql b/parser/testdata/bitand/query.sql new file mode 100644 index 0000000000..8636a370d5 --- /dev/null +++ b/parser/testdata/bitand/query.sql @@ -0,0 +1 @@ +SELECT bitAnd(1, 3) diff --git a/parser/testdata/bitnot/query.sql b/parser/testdata/bitnot/query.sql new file mode 100644 index 0000000000..017da52abf --- /dev/null +++ b/parser/testdata/bitnot/query.sql @@ -0,0 +1 @@ +SELECT bitNot(1) diff --git a/parser/testdata/bitor/query.sql b/parser/testdata/bitor/query.sql new file mode 100644 index 0000000000..5b7933512f --- /dev/null +++ b/parser/testdata/bitor/query.sql @@ -0,0 +1 @@ +SELECT bitOr(1, 2) diff --git a/parser/testdata/bitrotateleft/query.sql b/parser/testdata/bitrotateleft/query.sql new file mode 100644 index 0000000000..b66b81c3a5 --- /dev/null +++ b/parser/testdata/bitrotateleft/query.sql @@ -0,0 +1 @@ +SELECT bitRotateLeft(1, 2) diff --git a/parser/testdata/bitrotateright/query.sql b/parser/testdata/bitrotateright/query.sql new file mode 100644 index 0000000000..e35e3a8ffd --- /dev/null +++ b/parser/testdata/bitrotateright/query.sql @@ -0,0 +1 @@ +SELECT bitRotateRight(4, 1) diff --git a/parser/testdata/bitshiftleft/query.sql b/parser/testdata/bitshiftleft/query.sql new file mode 100644 index 0000000000..21d1da13f5 --- /dev/null +++ b/parser/testdata/bitshiftleft/query.sql @@ -0,0 +1 @@ +SELECT bitShiftLeft(1, 2) diff --git a/parser/testdata/bitshiftright/query.sql b/parser/testdata/bitshiftright/query.sql new file mode 100644 index 0000000000..1983314437 --- /dev/null +++ b/parser/testdata/bitshiftright/query.sql @@ -0,0 +1 @@ +SELECT bitShiftRight(4, 1) diff --git a/parser/testdata/bittest/query.sql b/parser/testdata/bittest/query.sql new file mode 100644 index 0000000000..d1f54f8e47 --- /dev/null +++ b/parser/testdata/bittest/query.sql @@ -0,0 +1 @@ +SELECT bitTest(15, 0) diff --git a/parser/testdata/bittestall/query.sql b/parser/testdata/bittestall/query.sql new file mode 100644 index 0000000000..a43dfbd58d --- /dev/null +++ b/parser/testdata/bittestall/query.sql @@ -0,0 +1 @@ +SELECT bitTestAll(15, 0, 1, 2, 3) diff --git a/parser/testdata/bittestany/query.sql b/parser/testdata/bittestany/query.sql new file mode 100644 index 0000000000..c057eaba7f --- /dev/null +++ b/parser/testdata/bittestany/query.sql @@ -0,0 +1 @@ +SELECT bitTestAny(15, 0, 1) diff --git a/parser/testdata/bitxor/query.sql b/parser/testdata/bitxor/query.sql new file mode 100644 index 0000000000..aafdd2bdfd --- /dev/null +++ b/parser/testdata/bitxor/query.sql @@ -0,0 +1 @@ +SELECT bitXor(1, 3) diff --git a/parser/testdata/blocknumber/query.sql b/parser/testdata/blocknumber/query.sql new file mode 100644 index 0000000000..0edac5fbd5 --- /dev/null +++ b/parser/testdata/blocknumber/query.sql @@ -0,0 +1 @@ +SELECT blockNumber() diff --git a/parser/testdata/boolean_false/query.sql b/parser/testdata/boolean_false/query.sql new file mode 100644 index 0000000000..29744b66b7 --- /dev/null +++ b/parser/testdata/boolean_false/query.sql @@ -0,0 +1 @@ +SELECT false diff --git a/parser/testdata/boolean_true/query.sql b/parser/testdata/boolean_true/query.sql new file mode 100644 index 0000000000..91dbcbdde3 --- /dev/null +++ b/parser/testdata/boolean_true/query.sql @@ -0,0 +1 @@ +SELECT true diff --git a/parser/testdata/case_expression/query.sql b/parser/testdata/case_expression/query.sql new file mode 100644 index 0000000000..a1b691ebb3 --- /dev/null +++ b/parser/testdata/case_expression/query.sql @@ -0,0 +1 @@ +SELECT CASE WHEN id > 1 THEN 'big' ELSE 'small' END FROM users diff --git a/parser/testdata/case_when_else/query.sql b/parser/testdata/case_when_else/query.sql new file mode 100644 index 0000000000..0961795b89 --- /dev/null +++ b/parser/testdata/case_when_else/query.sql @@ -0,0 +1 @@ +SELECT CASE WHEN 1 > 0 THEN 1 ELSE 0 END diff --git a/parser/testdata/cast_function/metadata.json b/parser/testdata/cast_function/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/cast_function/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/cast_function/query.sql b/parser/testdata/cast_function/query.sql new file mode 100644 index 0000000000..2d56d5e099 --- /dev/null +++ b/parser/testdata/cast_function/query.sql @@ -0,0 +1 @@ +SELECT CAST(1 AS String) diff --git a/parser/testdata/cast_operator/metadata.json b/parser/testdata/cast_operator/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/cast_operator/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/cast_operator/query.sql b/parser/testdata/cast_operator/query.sql new file mode 100644 index 0000000000..22aaaf090a --- /dev/null +++ b/parser/testdata/cast_operator/query.sql @@ -0,0 +1 @@ +SELECT 1::Int32 diff --git a/parser/testdata/cityhash64/query.sql b/parser/testdata/cityhash64/query.sql new file mode 100644 index 0000000000..e431814f58 --- /dev/null +++ b/parser/testdata/cityhash64/query.sql @@ -0,0 +1 @@ +SELECT cityHash64('hello') diff --git a/parser/testdata/clear_index/metadata.json b/parser/testdata/clear_index/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/clear_index/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/clear_index/query.sql b/parser/testdata/clear_index/query.sql new file mode 100644 index 0000000000..bfa972e756 --- /dev/null +++ b/parser/testdata/clear_index/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table CLEAR INDEX idx diff --git a/parser/testdata/coalesce/query.sql b/parser/testdata/coalesce/query.sql new file mode 100644 index 0000000000..29643d2567 --- /dev/null +++ b/parser/testdata/coalesce/query.sql @@ -0,0 +1 @@ +SELECT coalesce(NULL, NULL, 1) diff --git a/parser/testdata/column_alias/query.sql b/parser/testdata/column_alias/query.sql new file mode 100644 index 0000000000..c80c402553 --- /dev/null +++ b/parser/testdata/column_alias/query.sql @@ -0,0 +1 @@ +SELECT 1 AS x diff --git a/parser/testdata/columns_matcher/metadata.json b/parser/testdata/columns_matcher/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/columns_matcher/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/columns_matcher/query.sql b/parser/testdata/columns_matcher/query.sql new file mode 100644 index 0000000000..ec8775f986 --- /dev/null +++ b/parser/testdata/columns_matcher/query.sql @@ -0,0 +1 @@ +SELECT COLUMNS('name.*') FROM test_table diff --git a/parser/testdata/comparison/query.sql b/parser/testdata/comparison/query.sql new file mode 100644 index 0000000000..dd0c7c347d --- /dev/null +++ b/parser/testdata/comparison/query.sql @@ -0,0 +1 @@ +SELECT 1 < 2 diff --git a/parser/testdata/complex_join_with_settings/metadata.json b/parser/testdata/complex_join_with_settings/metadata.json new file mode 100644 index 0000000000..82d7218f2e --- /dev/null +++ b/parser/testdata/complex_join_with_settings/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00057_join_aliases.sql"} diff --git a/parser/testdata/complex_join_with_settings/query.sql b/parser/testdata/complex_join_with_settings/query.sql new file mode 100644 index 0000000000..256a298b90 --- /dev/null +++ b/parser/testdata/complex_join_with_settings/query.sql @@ -0,0 +1 @@ +SELECT * FROM (SELECT number, n, j1, j2 FROM (SELECT number, number / 2 AS n FROM system.numbers) js1 ANY LEFT JOIN (SELECT number / 3 AS n, number AS j1, 'Hello' AS j2 FROM system.numbers LIMIT 10) js2 USING n LIMIT 10) ORDER BY n SETTINGS join_algorithm = 'hash' diff --git a/parser/testdata/concat/query.sql b/parser/testdata/concat/query.sql new file mode 100644 index 0000000000..020eca651f --- /dev/null +++ b/parser/testdata/concat/query.sql @@ -0,0 +1 @@ +SELECT concat('hello', ' ', 'world') diff --git a/parser/testdata/conditional_ternary/metadata.json b/parser/testdata/conditional_ternary/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/conditional_ternary/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/conditional_ternary/query.sql b/parser/testdata/conditional_ternary/query.sql new file mode 100644 index 0000000000..8f43876e91 --- /dev/null +++ b/parser/testdata/conditional_ternary/query.sql @@ -0,0 +1 @@ +SELECT 1 > 0 ? 'yes' : 'no' diff --git a/parser/testdata/count/query.sql b/parser/testdata/count/query.sql new file mode 100644 index 0000000000..0aa4f466ef --- /dev/null +++ b/parser/testdata/count/query.sql @@ -0,0 +1 @@ +SELECT count(*) FROM users diff --git a/parser/testdata/count_star/query.sql b/parser/testdata/count_star/query.sql new file mode 100644 index 0000000000..9150f73908 --- /dev/null +++ b/parser/testdata/count_star/query.sql @@ -0,0 +1 @@ +SELECT count(*) diff --git a/parser/testdata/countif/query.sql b/parser/testdata/countif/query.sql new file mode 100644 index 0000000000..7c7acd9646 --- /dev/null +++ b/parser/testdata/countif/query.sql @@ -0,0 +1 @@ +SELECT countIf(number > 5) FROM numbers(10) diff --git a/parser/testdata/create_database/query.sql b/parser/testdata/create_database/query.sql new file mode 100644 index 0000000000..c6dd1ecacd --- /dev/null +++ b/parser/testdata/create_database/query.sql @@ -0,0 +1 @@ +CREATE DATABASE test_db diff --git a/parser/testdata/create_database_if_not_exists/query.sql b/parser/testdata/create_database_if_not_exists/query.sql new file mode 100644 index 0000000000..dc5f47fb71 --- /dev/null +++ b/parser/testdata/create_database_if_not_exists/query.sql @@ -0,0 +1 @@ +CREATE DATABASE IF NOT EXISTS test_db diff --git a/parser/testdata/create_database_with_engine/query.sql b/parser/testdata/create_database_with_engine/query.sql new file mode 100644 index 0000000000..eb8bd44ac5 --- /dev/null +++ b/parser/testdata/create_database_with_engine/query.sql @@ -0,0 +1 @@ +CREATE DATABASE test_db ENGINE = Atomic diff --git a/parser/testdata/create_materialized_view/metadata.json b/parser/testdata/create_materialized_view/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/create_materialized_view/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/create_materialized_view/query.sql b/parser/testdata/create_materialized_view/query.sql new file mode 100644 index 0000000000..738931b3ea --- /dev/null +++ b/parser/testdata/create_materialized_view/query.sql @@ -0,0 +1 @@ +CREATE MATERIALIZED VIEW test_mv ENGINE = Memory AS SELECT 1 diff --git a/parser/testdata/create_materialized_view_aggregate/metadata.json b/parser/testdata/create_materialized_view_aggregate/metadata.json new file mode 100644 index 0000000000..e95042307f --- /dev/null +++ b/parser/testdata/create_materialized_view_aggregate/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00040_aggregating_materialized_view.sql"} diff --git a/parser/testdata/create_materialized_view_aggregate/query.sql b/parser/testdata/create_materialized_view_aggregate/query.sql new file mode 100644 index 0000000000..5827631175 --- /dev/null +++ b/parser/testdata/create_materialized_view_aggregate/query.sql @@ -0,0 +1 @@ +CREATE MATERIALIZED VIEW basic_mv ENGINE = AggregatingMergeTree(StartDate, (CounterID, StartDate), 8192) AS SELECT CounterID, StartDate, sumState(Sign) AS Visits, uniqState(UserID) AS Users FROM test.visits GROUP BY CounterID, StartDate diff --git a/parser/testdata/create_table/query.sql b/parser/testdata/create_table/query.sql new file mode 100644 index 0000000000..391bda8867 --- /dev/null +++ b/parser/testdata/create_table/query.sql @@ -0,0 +1 @@ +CREATE TABLE test (id UInt64, name String) ENGINE = MergeTree() ORDER BY id diff --git a/parser/testdata/create_table_as_select/query.sql b/parser/testdata/create_table_as_select/query.sql new file mode 100644 index 0000000000..34509618a2 --- /dev/null +++ b/parser/testdata/create_table_as_select/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table AS SELECT 1 AS id diff --git a/parser/testdata/create_table_if_not_exists/query.sql b/parser/testdata/create_table_if_not_exists/query.sql new file mode 100644 index 0000000000..b53b83bffc --- /dev/null +++ b/parser/testdata/create_table_if_not_exists/query.sql @@ -0,0 +1 @@ +CREATE TABLE IF NOT EXISTS test (id UInt64) ENGINE = MergeTree() ORDER BY id diff --git a/parser/testdata/create_table_if_not_exists_ddl/query.sql b/parser/testdata/create_table_if_not_exists_ddl/query.sql new file mode 100644 index 0000000000..ab6173baa5 --- /dev/null +++ b/parser/testdata/create_table_if_not_exists_ddl/query.sql @@ -0,0 +1 @@ +CREATE TABLE IF NOT EXISTS test_table (id UInt64) ENGINE = Memory diff --git a/parser/testdata/create_table_memory/query.sql b/parser/testdata/create_table_memory/query.sql new file mode 100644 index 0000000000..de7b4f6769 --- /dev/null +++ b/parser/testdata/create_table_memory/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64, name String) ENGINE = Memory diff --git a/parser/testdata/create_table_mergetree/query.sql b/parser/testdata/create_table_mergetree/query.sql new file mode 100644 index 0000000000..64c9cb3fc9 --- /dev/null +++ b/parser/testdata/create_table_mergetree/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64) ENGINE = MergeTree() ORDER BY id diff --git a/parser/testdata/create_table_with_codec/query.sql b/parser/testdata/create_table_with_codec/query.sql new file mode 100644 index 0000000000..795608a320 --- /dev/null +++ b/parser/testdata/create_table_with_codec/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64 CODEC(LZ4)) ENGINE = Memory diff --git a/parser/testdata/create_table_with_comment/metadata.json b/parser/testdata/create_table_with_comment/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/create_table_with_comment/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/create_table_with_comment/query.sql b/parser/testdata/create_table_with_comment/query.sql new file mode 100644 index 0000000000..807946d3ab --- /dev/null +++ b/parser/testdata/create_table_with_comment/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64 COMMENT 'The ID') ENGINE = Memory diff --git a/parser/testdata/create_table_with_default/query.sql b/parser/testdata/create_table_with_default/query.sql new file mode 100644 index 0000000000..ab3e5d2c5b --- /dev/null +++ b/parser/testdata/create_table_with_default/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64 DEFAULT 0, name String DEFAULT '') ENGINE = Memory diff --git a/parser/testdata/create_table_with_materialized/query.sql b/parser/testdata/create_table_with_materialized/query.sql new file mode 100644 index 0000000000..03c193410b --- /dev/null +++ b/parser/testdata/create_table_with_materialized/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64 MATERIALIZED 0) ENGINE = Memory diff --git a/parser/testdata/create_table_with_partition/metadata.json b/parser/testdata/create_table_with_partition/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/create_table_with_partition/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/create_table_with_partition/query.sql b/parser/testdata/create_table_with_partition/query.sql new file mode 100644 index 0000000000..479ed7d57a --- /dev/null +++ b/parser/testdata/create_table_with_partition/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64, dt Date) ENGINE = MergeTree() PARTITION BY toYYYYMM(dt) ORDER BY id diff --git a/parser/testdata/create_table_with_primary_key/query.sql b/parser/testdata/create_table_with_primary_key/query.sql new file mode 100644 index 0000000000..175c79d9cb --- /dev/null +++ b/parser/testdata/create_table_with_primary_key/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64) ENGINE = MergeTree() ORDER BY id PRIMARY KEY id diff --git a/parser/testdata/create_table_with_settings/query.sql b/parser/testdata/create_table_with_settings/query.sql new file mode 100644 index 0000000000..aefde6f6f8 --- /dev/null +++ b/parser/testdata/create_table_with_settings/query.sql @@ -0,0 +1 @@ +CREATE TABLE test_table (id UInt64) ENGINE = MergeTree() ORDER BY id SETTINGS index_granularity = 8192 diff --git a/parser/testdata/create_view/query.sql b/parser/testdata/create_view/query.sql new file mode 100644 index 0000000000..87eae1e523 --- /dev/null +++ b/parser/testdata/create_view/query.sql @@ -0,0 +1 @@ +CREATE VIEW test_view AS SELECT 1 diff --git a/parser/testdata/create_view_if_not_exists/query.sql b/parser/testdata/create_view_if_not_exists/query.sql new file mode 100644 index 0000000000..4664c8647d --- /dev/null +++ b/parser/testdata/create_view_if_not_exists/query.sql @@ -0,0 +1 @@ +CREATE VIEW IF NOT EXISTS test_view AS SELECT 1 diff --git a/parser/testdata/currentdatabase/query.sql b/parser/testdata/currentdatabase/query.sql new file mode 100644 index 0000000000..bdb890c148 --- /dev/null +++ b/parser/testdata/currentdatabase/query.sql @@ -0,0 +1 @@ +SELECT currentDatabase() diff --git a/parser/testdata/currentuser/query.sql b/parser/testdata/currentuser/query.sql new file mode 100644 index 0000000000..a44e557145 --- /dev/null +++ b/parser/testdata/currentuser/query.sql @@ -0,0 +1 @@ +SELECT currentUser() diff --git a/parser/testdata/cuturlparameter/query.sql b/parser/testdata/cuturlparameter/query.sql new file mode 100644 index 0000000000..58cf92c57b --- /dev/null +++ b/parser/testdata/cuturlparameter/query.sql @@ -0,0 +1 @@ +SELECT cutURLParameter('https://example.com?a=1&b=2', 'a') diff --git a/parser/testdata/dateadd/query.sql b/parser/testdata/dateadd/query.sql new file mode 100644 index 0000000000..4bf5279669 --- /dev/null +++ b/parser/testdata/dateadd/query.sql @@ -0,0 +1 @@ +SELECT dateAdd(day, 1, toDate('2023-01-01')) diff --git a/parser/testdata/datediff/query.sql b/parser/testdata/datediff/query.sql new file mode 100644 index 0000000000..92e6ec6ca7 --- /dev/null +++ b/parser/testdata/datediff/query.sql @@ -0,0 +1 @@ +SELECT dateDiff('day', toDate('2023-01-01'), toDate('2023-01-31')) diff --git a/parser/testdata/datesub/query.sql b/parser/testdata/datesub/query.sql new file mode 100644 index 0000000000..c27a8d8237 --- /dev/null +++ b/parser/testdata/datesub/query.sql @@ -0,0 +1 @@ +SELECT dateSub(day, 1, toDate('2023-01-02')) diff --git a/parser/testdata/dense_rank_function/query.sql b/parser/testdata/dense_rank_function/query.sql new file mode 100644 index 0000000000..991cf54f3e --- /dev/null +++ b/parser/testdata/dense_rank_function/query.sql @@ -0,0 +1 @@ +SELECT number, dense_rank() OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/desc_table/metadata.json b/parser/testdata/desc_table/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/desc_table/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/desc_table/query.sql b/parser/testdata/desc_table/query.sql new file mode 100644 index 0000000000..bf850db93c --- /dev/null +++ b/parser/testdata/desc_table/query.sql @@ -0,0 +1 @@ +DESC TABLE system.one diff --git a/parser/testdata/describe_short/metadata.json b/parser/testdata/describe_short/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/describe_short/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/describe_short/query.sql b/parser/testdata/describe_short/query.sql new file mode 100644 index 0000000000..1cd3aaef55 --- /dev/null +++ b/parser/testdata/describe_short/query.sql @@ -0,0 +1 @@ +DESCRIBE system.one diff --git a/parser/testdata/describe_table/query.sql b/parser/testdata/describe_table/query.sql new file mode 100644 index 0000000000..b536aa0809 --- /dev/null +++ b/parser/testdata/describe_table/query.sql @@ -0,0 +1 @@ +DESCRIBE TABLE users diff --git a/parser/testdata/describe_table_full/metadata.json b/parser/testdata/describe_table_full/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/describe_table_full/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/describe_table_full/query.sql b/parser/testdata/describe_table_full/query.sql new file mode 100644 index 0000000000..9772f920b4 --- /dev/null +++ b/parser/testdata/describe_table_full/query.sql @@ -0,0 +1 @@ +DESCRIBE TABLE system.one diff --git a/parser/testdata/detach_partition/query.sql b/parser/testdata/detach_partition/query.sql new file mode 100644 index 0000000000..48a97aabf0 --- /dev/null +++ b/parser/testdata/detach_partition/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table DETACH PARTITION 202301 diff --git a/parser/testdata/dictget/query.sql b/parser/testdata/dictget/query.sql new file mode 100644 index 0000000000..24a5a63069 --- /dev/null +++ b/parser/testdata/dictget/query.sql @@ -0,0 +1 @@ +SELECT dictGet('dict_name', 'attr', toUInt64(1)) diff --git a/parser/testdata/dictgetordefault/query.sql b/parser/testdata/dictgetordefault/query.sql new file mode 100644 index 0000000000..f3f1796424 --- /dev/null +++ b/parser/testdata/dictgetordefault/query.sql @@ -0,0 +1 @@ +SELECT dictGetOrDefault('dict_name', 'attr', toUInt64(1), 'default') diff --git a/parser/testdata/dicthas/query.sql b/parser/testdata/dicthas/query.sql new file mode 100644 index 0000000000..d313d1d316 --- /dev/null +++ b/parser/testdata/dicthas/query.sql @@ -0,0 +1 @@ +SELECT dictHas('dict_name', toUInt64(1)) diff --git a/parser/testdata/distinct_in_function/query.sql b/parser/testdata/distinct_in_function/query.sql new file mode 100644 index 0000000000..c56dd3516b --- /dev/null +++ b/parser/testdata/distinct_in_function/query.sql @@ -0,0 +1 @@ +SELECT count(DISTINCT id) FROM users diff --git a/parser/testdata/distinct_subquery/metadata.json b/parser/testdata/distinct_subquery/metadata.json new file mode 100644 index 0000000000..ec307208c0 --- /dev/null +++ b/parser/testdata/distinct_subquery/metadata.json @@ -0,0 +1 @@ +{"source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00018_distinct_in_subquery.sql"} diff --git a/parser/testdata/distinct_subquery/query.sql b/parser/testdata/distinct_subquery/query.sql new file mode 100644 index 0000000000..b0bce84690 --- /dev/null +++ b/parser/testdata/distinct_subquery/query.sql @@ -0,0 +1 @@ +SELECT x FROM (SELECT DISTINCT 1 AS x, arrayJoin([1, 2]) AS y) diff --git a/parser/testdata/domain/query.sql b/parser/testdata/domain/query.sql new file mode 100644 index 0000000000..8e294fcc20 --- /dev/null +++ b/parser/testdata/domain/query.sql @@ -0,0 +1 @@ +SELECT domain('https://example.com/path') diff --git a/parser/testdata/domainwithoutwww/query.sql b/parser/testdata/domainwithoutwww/query.sql new file mode 100644 index 0000000000..6b38c0e334 --- /dev/null +++ b/parser/testdata/domainwithoutwww/query.sql @@ -0,0 +1 @@ +SELECT domainWithoutWWW('https://www.example.com') diff --git a/parser/testdata/drop_column/query.sql b/parser/testdata/drop_column/query.sql new file mode 100644 index 0000000000..86fca9505e --- /dev/null +++ b/parser/testdata/drop_column/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table DROP COLUMN old_col diff --git a/parser/testdata/drop_column_if_exists/query.sql b/parser/testdata/drop_column_if_exists/query.sql new file mode 100644 index 0000000000..3561db7883 --- /dev/null +++ b/parser/testdata/drop_column_if_exists/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table DROP COLUMN IF EXISTS old_col diff --git a/parser/testdata/drop_compiled_expression_cache/metadata.json b/parser/testdata/drop_compiled_expression_cache/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_compiled_expression_cache/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_compiled_expression_cache/query.sql b/parser/testdata/drop_compiled_expression_cache/query.sql new file mode 100644 index 0000000000..35ad10ea01 --- /dev/null +++ b/parser/testdata/drop_compiled_expression_cache/query.sql @@ -0,0 +1 @@ +SYSTEM DROP COMPILED EXPRESSION CACHE diff --git a/parser/testdata/drop_constraint/metadata.json b/parser/testdata/drop_constraint/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_constraint/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_constraint/query.sql b/parser/testdata/drop_constraint/query.sql new file mode 100644 index 0000000000..b7b4acaa09 --- /dev/null +++ b/parser/testdata/drop_constraint/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table DROP CONSTRAINT c diff --git a/parser/testdata/drop_database/query.sql b/parser/testdata/drop_database/query.sql new file mode 100644 index 0000000000..a5fa05ec45 --- /dev/null +++ b/parser/testdata/drop_database/query.sql @@ -0,0 +1 @@ +DROP DATABASE test_db diff --git a/parser/testdata/drop_database_if_exists/query.sql b/parser/testdata/drop_database_if_exists/query.sql new file mode 100644 index 0000000000..02c6ea30a5 --- /dev/null +++ b/parser/testdata/drop_database_if_exists/query.sql @@ -0,0 +1 @@ +DROP DATABASE IF EXISTS test_db diff --git a/parser/testdata/drop_dns_cache/metadata.json b/parser/testdata/drop_dns_cache/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_dns_cache/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_dns_cache/query.sql b/parser/testdata/drop_dns_cache/query.sql new file mode 100644 index 0000000000..8ea225a65b --- /dev/null +++ b/parser/testdata/drop_dns_cache/query.sql @@ -0,0 +1 @@ +SYSTEM DROP DNS CACHE diff --git a/parser/testdata/drop_index/metadata.json b/parser/testdata/drop_index/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_index/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_index/query.sql b/parser/testdata/drop_index/query.sql new file mode 100644 index 0000000000..212fbef932 --- /dev/null +++ b/parser/testdata/drop_index/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table DROP INDEX idx diff --git a/parser/testdata/drop_mark_cache/metadata.json b/parser/testdata/drop_mark_cache/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_mark_cache/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_mark_cache/query.sql b/parser/testdata/drop_mark_cache/query.sql new file mode 100644 index 0000000000..26a97c481d --- /dev/null +++ b/parser/testdata/drop_mark_cache/query.sql @@ -0,0 +1 @@ +SYSTEM DROP MARK CACHE diff --git a/parser/testdata/drop_partition/query.sql b/parser/testdata/drop_partition/query.sql new file mode 100644 index 0000000000..fe1c81386a --- /dev/null +++ b/parser/testdata/drop_partition/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table DROP PARTITION 202301 diff --git a/parser/testdata/drop_table/query.sql b/parser/testdata/drop_table/query.sql new file mode 100644 index 0000000000..7186aac364 --- /dev/null +++ b/parser/testdata/drop_table/query.sql @@ -0,0 +1 @@ +DROP TABLE test diff --git a/parser/testdata/drop_table_ddl/query.sql b/parser/testdata/drop_table_ddl/query.sql new file mode 100644 index 0000000000..3051d3c2d8 --- /dev/null +++ b/parser/testdata/drop_table_ddl/query.sql @@ -0,0 +1 @@ +DROP TABLE test_table diff --git a/parser/testdata/drop_table_if_exists/query.sql b/parser/testdata/drop_table_if_exists/query.sql new file mode 100644 index 0000000000..ebf2d590b6 --- /dev/null +++ b/parser/testdata/drop_table_if_exists/query.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS test diff --git a/parser/testdata/drop_table_if_exists_ddl/query.sql b/parser/testdata/drop_table_if_exists_ddl/query.sql new file mode 100644 index 0000000000..98c55733d6 --- /dev/null +++ b/parser/testdata/drop_table_if_exists_ddl/query.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS test_table diff --git a/parser/testdata/drop_table_sync/metadata.json b/parser/testdata/drop_table_sync/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_table_sync/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_table_sync/query.sql b/parser/testdata/drop_table_sync/query.sql new file mode 100644 index 0000000000..c39e9d47ff --- /dev/null +++ b/parser/testdata/drop_table_sync/query.sql @@ -0,0 +1 @@ +DROP TABLE test_table SYNC diff --git a/parser/testdata/drop_uncompressed_cache/metadata.json b/parser/testdata/drop_uncompressed_cache/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/drop_uncompressed_cache/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/drop_uncompressed_cache/query.sql b/parser/testdata/drop_uncompressed_cache/query.sql new file mode 100644 index 0000000000..178a591520 --- /dev/null +++ b/parser/testdata/drop_uncompressed_cache/query.sql @@ -0,0 +1 @@ +SYSTEM DROP UNCOMPRESSED CACHE diff --git a/parser/testdata/drop_view/query.sql b/parser/testdata/drop_view/query.sql new file mode 100644 index 0000000000..7eebc2d762 --- /dev/null +++ b/parser/testdata/drop_view/query.sql @@ -0,0 +1 @@ +DROP VIEW test_view diff --git a/parser/testdata/drop_view_if_exists/query.sql b/parser/testdata/drop_view_if_exists/query.sql new file mode 100644 index 0000000000..ddcc6ae3bd --- /dev/null +++ b/parser/testdata/drop_view_if_exists/query.sql @@ -0,0 +1 @@ +DROP VIEW IF EXISTS test_view diff --git a/parser/testdata/empty_array/query.sql b/parser/testdata/empty_array/query.sql new file mode 100644 index 0000000000..da8305fb32 --- /dev/null +++ b/parser/testdata/empty_array/query.sql @@ -0,0 +1 @@ +SELECT emptyArrayUInt8() diff --git a/parser/testdata/empty_array_literal/metadata.json b/parser/testdata/empty_array_literal/metadata.json new file mode 100644 index 0000000000..b155a6a590 --- /dev/null +++ b/parser/testdata/empty_array_literal/metadata.json @@ -0,0 +1 @@ +{"source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00007_array.sql"} diff --git a/parser/testdata/empty_array_literal/query.sql b/parser/testdata/empty_array_literal/query.sql new file mode 100644 index 0000000000..d5cc202f84 --- /dev/null +++ b/parser/testdata/empty_array_literal/query.sql @@ -0,0 +1 @@ +SELECT [] diff --git a/parser/testdata/empty_on_array/query.sql b/parser/testdata/empty_on_array/query.sql new file mode 100644 index 0000000000..a4bfd39350 --- /dev/null +++ b/parser/testdata/empty_on_array/query.sql @@ -0,0 +1 @@ +SELECT empty([1, 2, 3]) diff --git a/parser/testdata/empty_string/query.sql b/parser/testdata/empty_string/query.sql new file mode 100644 index 0000000000..0c32875f76 --- /dev/null +++ b/parser/testdata/empty_string/query.sql @@ -0,0 +1 @@ +SELECT empty('') diff --git a/parser/testdata/exchange_tables/metadata.json b/parser/testdata/exchange_tables/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/exchange_tables/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/exchange_tables/query.sql b/parser/testdata/exchange_tables/query.sql new file mode 100644 index 0000000000..4abc67122e --- /dev/null +++ b/parser/testdata/exchange_tables/query.sql @@ -0,0 +1 @@ +EXCHANGE TABLES table1 AND table2 diff --git a/parser/testdata/exists_subquery/query.sql b/parser/testdata/exists_subquery/query.sql new file mode 100644 index 0000000000..f620466c84 --- /dev/null +++ b/parser/testdata/exists_subquery/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) WHERE EXISTS (SELECT 1 FROM numbers(5) WHERE number = 1) diff --git a/parser/testdata/explain/query.sql b/parser/testdata/explain/query.sql new file mode 100644 index 0000000000..946628096d --- /dev/null +++ b/parser/testdata/explain/query.sql @@ -0,0 +1 @@ +EXPLAIN SELECT 1 diff --git a/parser/testdata/explain_ast/query.sql b/parser/testdata/explain_ast/query.sql new file mode 100644 index 0000000000..c7b0938dd4 --- /dev/null +++ b/parser/testdata/explain_ast/query.sql @@ -0,0 +1 @@ +EXPLAIN AST SELECT 1 diff --git a/parser/testdata/explain_ast_stmt/query.sql b/parser/testdata/explain_ast_stmt/query.sql new file mode 100644 index 0000000000..c7b0938dd4 --- /dev/null +++ b/parser/testdata/explain_ast_stmt/query.sql @@ -0,0 +1 @@ +EXPLAIN AST SELECT 1 diff --git a/parser/testdata/explain_estimate/query.sql b/parser/testdata/explain_estimate/query.sql new file mode 100644 index 0000000000..7e45596fb6 --- /dev/null +++ b/parser/testdata/explain_estimate/query.sql @@ -0,0 +1 @@ +EXPLAIN ESTIMATE SELECT 1 diff --git a/parser/testdata/explain_pipeline/query.sql b/parser/testdata/explain_pipeline/query.sql new file mode 100644 index 0000000000..7051029406 --- /dev/null +++ b/parser/testdata/explain_pipeline/query.sql @@ -0,0 +1 @@ +EXPLAIN PIPELINE SELECT 1 diff --git a/parser/testdata/explain_plan/query.sql b/parser/testdata/explain_plan/query.sql new file mode 100644 index 0000000000..2289ca3d2c --- /dev/null +++ b/parser/testdata/explain_plan/query.sql @@ -0,0 +1 @@ +EXPLAIN PLAN SELECT 1 diff --git a/parser/testdata/explain_stmt/query.sql b/parser/testdata/explain_stmt/query.sql new file mode 100644 index 0000000000..946628096d --- /dev/null +++ b/parser/testdata/explain_stmt/query.sql @@ -0,0 +1 @@ +EXPLAIN SELECT 1 diff --git a/parser/testdata/explain_syntax/query.sql b/parser/testdata/explain_syntax/query.sql new file mode 100644 index 0000000000..b828dda3f7 --- /dev/null +++ b/parser/testdata/explain_syntax/query.sql @@ -0,0 +1 @@ +EXPLAIN SYNTAX SELECT 1 diff --git a/parser/testdata/explicit_cross_join/query.sql b/parser/testdata/explicit_cross_join/query.sql new file mode 100644 index 0000000000..188867d820 --- /dev/null +++ b/parser/testdata/explicit_cross_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a CROSS JOIN numbers(5) AS b diff --git a/parser/testdata/extract_regex/metadata.json b/parser/testdata/extract_regex/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/extract_regex/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/extract_regex/query.sql b/parser/testdata/extract_regex/query.sql new file mode 100644 index 0000000000..2d7e727acd --- /dev/null +++ b/parser/testdata/extract_regex/query.sql @@ -0,0 +1 @@ +SELECT extract('hello world', 'w\\w+') diff --git a/parser/testdata/extractall/query.sql b/parser/testdata/extractall/query.sql new file mode 100644 index 0000000000..e6dce2226b --- /dev/null +++ b/parser/testdata/extractall/query.sql @@ -0,0 +1 @@ +SELECT extractAll('hello world', '\\w+') diff --git a/parser/testdata/extracturlparameter/query.sql b/parser/testdata/extracturlparameter/query.sql new file mode 100644 index 0000000000..48296432ae --- /dev/null +++ b/parser/testdata/extracturlparameter/query.sql @@ -0,0 +1 @@ +SELECT extractURLParameter('https://example.com?a=1&b=2', 'a') diff --git a/parser/testdata/extracturlparameternames/query.sql b/parser/testdata/extracturlparameternames/query.sql new file mode 100644 index 0000000000..fd56960102 --- /dev/null +++ b/parser/testdata/extracturlparameternames/query.sql @@ -0,0 +1 @@ +SELECT extractURLParameterNames('https://example.com?a=1&b=2') diff --git a/parser/testdata/extracturlparameters/query.sql b/parser/testdata/extracturlparameters/query.sql new file mode 100644 index 0000000000..72e541be5c --- /dev/null +++ b/parser/testdata/extracturlparameters/query.sql @@ -0,0 +1 @@ +SELECT extractURLParameters('https://example.com?a=1&b=2') diff --git a/parser/testdata/first_value_function/query.sql b/parser/testdata/first_value_function/query.sql new file mode 100644 index 0000000000..01a64bbf5e --- /dev/null +++ b/parser/testdata/first_value_function/query.sql @@ -0,0 +1 @@ +SELECT number, first_value(number) OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/float_literal/query.sql b/parser/testdata/float_literal/query.sql new file mode 100644 index 0000000000..a1a67b611d --- /dev/null +++ b/parser/testdata/float_literal/query.sql @@ -0,0 +1 @@ +SELECT 3.14 diff --git a/parser/testdata/flush_logs/query.sql b/parser/testdata/flush_logs/query.sql new file mode 100644 index 0000000000..e11ee5fdf7 --- /dev/null +++ b/parser/testdata/flush_logs/query.sql @@ -0,0 +1 @@ +SYSTEM FLUSH LOGS diff --git a/parser/testdata/format_csv/query.sql b/parser/testdata/format_csv/query.sql new file mode 100644 index 0000000000..57436f9403 --- /dev/null +++ b/parser/testdata/format_csv/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT CSV diff --git a/parser/testdata/format_function/metadata.json b/parser/testdata/format_function/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/format_function/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/format_function/query.sql b/parser/testdata/format_function/query.sql new file mode 100644 index 0000000000..0cb9b4e08b --- /dev/null +++ b/parser/testdata/format_function/query.sql @@ -0,0 +1 @@ +SELECT format('{0} {1}', 'hello', 'world') diff --git a/parser/testdata/format_json/query.sql b/parser/testdata/format_json/query.sql new file mode 100644 index 0000000000..f22ca8241f --- /dev/null +++ b/parser/testdata/format_json/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT JSON diff --git a/parser/testdata/format_jsoncompact/query.sql b/parser/testdata/format_jsoncompact/query.sql new file mode 100644 index 0000000000..7e11bb7b8b --- /dev/null +++ b/parser/testdata/format_jsoncompact/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT JSONCompact diff --git a/parser/testdata/format_jsoneachrow/query.sql b/parser/testdata/format_jsoneachrow/query.sql new file mode 100644 index 0000000000..f55b47ad1c --- /dev/null +++ b/parser/testdata/format_jsoneachrow/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT JSONEachRow diff --git a/parser/testdata/format_pretty/query.sql b/parser/testdata/format_pretty/query.sql new file mode 100644 index 0000000000..761b49840b --- /dev/null +++ b/parser/testdata/format_pretty/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT Pretty diff --git a/parser/testdata/format_tabseparated/query.sql b/parser/testdata/format_tabseparated/query.sql new file mode 100644 index 0000000000..f8217f18f7 --- /dev/null +++ b/parser/testdata/format_tabseparated/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT TabSeparated diff --git a/parser/testdata/format_tsv/query.sql b/parser/testdata/format_tsv/query.sql new file mode 100644 index 0000000000..ecb2d1da62 --- /dev/null +++ b/parser/testdata/format_tsv/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT TSV diff --git a/parser/testdata/format_vertical/query.sql b/parser/testdata/format_vertical/query.sql new file mode 100644 index 0000000000..b827251738 --- /dev/null +++ b/parser/testdata/format_vertical/query.sql @@ -0,0 +1 @@ +SELECT 1 FORMAT Vertical diff --git a/parser/testdata/formatdatetime/query.sql b/parser/testdata/formatdatetime/query.sql new file mode 100644 index 0000000000..756a53059d --- /dev/null +++ b/parser/testdata/formatdatetime/query.sql @@ -0,0 +1 @@ +SELECT formatDateTime(now(), '%Y-%m-%d') diff --git a/parser/testdata/fragment/query.sql b/parser/testdata/fragment/query.sql new file mode 100644 index 0000000000..dcdda955ed --- /dev/null +++ b/parser/testdata/fragment/query.sql @@ -0,0 +1 @@ +SELECT fragment('https://example.com/path#section') diff --git a/parser/testdata/freeze_partition/metadata.json b/parser/testdata/freeze_partition/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/freeze_partition/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/freeze_partition/query.sql b/parser/testdata/freeze_partition/query.sql new file mode 100644 index 0000000000..0d12ea50ce --- /dev/null +++ b/parser/testdata/freeze_partition/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table FREEZE PARTITION 202301 diff --git a/parser/testdata/freeze_table/metadata.json b/parser/testdata/freeze_table/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/freeze_table/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/freeze_table/query.sql b/parser/testdata/freeze_table/query.sql new file mode 100644 index 0000000000..15c04b054e --- /dev/null +++ b/parser/testdata/freeze_table/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table FREEZE diff --git a/parser/testdata/fromunixtimestamp/query.sql b/parser/testdata/fromunixtimestamp/query.sql new file mode 100644 index 0000000000..7966250538 --- /dev/null +++ b/parser/testdata/fromunixtimestamp/query.sql @@ -0,0 +1 @@ +SELECT fromUnixTimestamp(1234567890) diff --git a/parser/testdata/full_join/query.sql b/parser/testdata/full_join/query.sql new file mode 100644 index 0000000000..c3c8205928 --- /dev/null +++ b/parser/testdata/full_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a FULL JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/function_with_multiple_args/query.sql b/parser/testdata/function_with_multiple_args/query.sql new file mode 100644 index 0000000000..99a6e0ab9b --- /dev/null +++ b/parser/testdata/function_with_multiple_args/query.sql @@ -0,0 +1 @@ +SELECT substring(name, 1, 5) FROM users diff --git a/parser/testdata/generateuuidv4/query.sql b/parser/testdata/generateuuidv4/query.sql new file mode 100644 index 0000000000..2ac4f691e8 --- /dev/null +++ b/parser/testdata/generateuuidv4/query.sql @@ -0,0 +1 @@ +SELECT generateUUIDv4() diff --git a/parser/testdata/global_in/metadata.json b/parser/testdata/global_in/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/global_in/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/global_in/query.sql b/parser/testdata/global_in/query.sql new file mode 100644 index 0000000000..b8f97caa30 --- /dev/null +++ b/parser/testdata/global_in/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table WHERE id GLOBAL IN (SELECT id FROM other_table) diff --git a/parser/testdata/global_join/query.sql b/parser/testdata/global_join/query.sql new file mode 100644 index 0000000000..d502f6bb93 --- /dev/null +++ b/parser/testdata/global_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a GLOBAL JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/global_not_in/metadata.json b/parser/testdata/global_not_in/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/global_not_in/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/global_not_in/query.sql b/parser/testdata/global_not_in/query.sql new file mode 100644 index 0000000000..212c0bf1f2 --- /dev/null +++ b/parser/testdata/global_not_in/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table WHERE id GLOBAL NOT IN (SELECT id FROM other_table) diff --git a/parser/testdata/group_by/query.sql b/parser/testdata/group_by/query.sql new file mode 100644 index 0000000000..477e73c122 --- /dev/null +++ b/parser/testdata/group_by/query.sql @@ -0,0 +1 @@ +SELECT count(*) FROM users GROUP BY status diff --git a/parser/testdata/group_by_having/query.sql b/parser/testdata/group_by_having/query.sql new file mode 100644 index 0000000000..3868da6758 --- /dev/null +++ b/parser/testdata/group_by_having/query.sql @@ -0,0 +1 @@ +SELECT count(*) FROM users GROUP BY status HAVING count(*) > 1 diff --git a/parser/testdata/group_by_with_modulo/query.sql b/parser/testdata/group_by_with_modulo/query.sql new file mode 100644 index 0000000000..9ab5d5ad2c --- /dev/null +++ b/parser/testdata/group_by_with_modulo/query.sql @@ -0,0 +1 @@ +SELECT count(*) FROM numbers(100) GROUP BY number % 10 diff --git a/parser/testdata/group_by_with_totals/query.sql b/parser/testdata/group_by_with_totals/query.sql new file mode 100644 index 0000000000..ae6702a420 --- /dev/null +++ b/parser/testdata/group_by_with_totals/query.sql @@ -0,0 +1 @@ +SELECT number % 10, count(*) FROM numbers(100) GROUP BY number % 10 WITH TOTALS diff --git a/parser/testdata/grouparray/query.sql b/parser/testdata/grouparray/query.sql new file mode 100644 index 0000000000..a934d1762a --- /dev/null +++ b/parser/testdata/grouparray/query.sql @@ -0,0 +1 @@ +SELECT groupArray(1) diff --git a/parser/testdata/groupuniqarray/query.sql b/parser/testdata/groupuniqarray/query.sql new file mode 100644 index 0000000000..b02bb67bc2 --- /dev/null +++ b/parser/testdata/groupuniqarray/query.sql @@ -0,0 +1 @@ +SELECT groupUniqArray(1) diff --git a/parser/testdata/has_function/query.sql b/parser/testdata/has_function/query.sql new file mode 100644 index 0000000000..22e27aa33e --- /dev/null +++ b/parser/testdata/has_function/query.sql @@ -0,0 +1 @@ +SELECT has([1, 2, 3], 2) diff --git a/parser/testdata/hex/query.sql b/parser/testdata/hex/query.sql new file mode 100644 index 0000000000..6d1191bab1 --- /dev/null +++ b/parser/testdata/hex/query.sql @@ -0,0 +1 @@ +SELECT hex('hello') diff --git a/parser/testdata/hostname/query.sql b/parser/testdata/hostname/query.sql new file mode 100644 index 0000000000..e74a593e13 --- /dev/null +++ b/parser/testdata/hostname/query.sql @@ -0,0 +1 @@ +SELECT hostName() diff --git a/parser/testdata/if_function/metadata.json b/parser/testdata/if_function/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/if_function/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/if_function/query.sql b/parser/testdata/if_function/query.sql new file mode 100644 index 0000000000..465e50b23e --- /dev/null +++ b/parser/testdata/if_function/query.sql @@ -0,0 +1 @@ +SELECT if(1 > 0, 1, 0) diff --git a/parser/testdata/ifnull/query.sql b/parser/testdata/ifnull/query.sql new file mode 100644 index 0000000000..4b0266102d --- /dev/null +++ b/parser/testdata/ifnull/query.sql @@ -0,0 +1 @@ +SELECT ifNull(NULL, 0) diff --git a/parser/testdata/ignore/query.sql b/parser/testdata/ignore/query.sql new file mode 100644 index 0000000000..a90b1d344b --- /dev/null +++ b/parser/testdata/ignore/query.sql @@ -0,0 +1 @@ +SELECT ignore(1, 2, 3) diff --git a/parser/testdata/ilike/query.sql b/parser/testdata/ilike/query.sql new file mode 100644 index 0000000000..69db50c0b4 --- /dev/null +++ b/parser/testdata/ilike/query.sql @@ -0,0 +1 @@ +SELECT 'HELLO' ILIKE '%ell%' diff --git a/parser/testdata/implicit_cross_join/query.sql b/parser/testdata/implicit_cross_join/query.sql new file mode 100644 index 0000000000..7c62073ddf --- /dev/null +++ b/parser/testdata/implicit_cross_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a, numbers(5) AS b diff --git a/parser/testdata/in_list/query.sql b/parser/testdata/in_list/query.sql new file mode 100644 index 0000000000..69d456c966 --- /dev/null +++ b/parser/testdata/in_list/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE id IN (1, 2, 3) diff --git a/parser/testdata/indexof/query.sql b/parser/testdata/indexof/query.sql new file mode 100644 index 0000000000..19c26b6906 --- /dev/null +++ b/parser/testdata/indexof/query.sql @@ -0,0 +1 @@ +SELECT indexOf([1, 2, 3], 2) diff --git a/parser/testdata/inner_join/query.sql b/parser/testdata/inner_join/query.sql new file mode 100644 index 0000000000..3f85645ee2 --- /dev/null +++ b/parser/testdata/inner_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id diff --git a/parser/testdata/inner_join_on/query.sql b/parser/testdata/inner_join_on/query.sql new file mode 100644 index 0000000000..fcd91e3623 --- /dev/null +++ b/parser/testdata/inner_join_on/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a INNER JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/insert_format_csv/query.sql b/parser/testdata/insert_format_csv/query.sql new file mode 100644 index 0000000000..89942ef59b --- /dev/null +++ b/parser/testdata/insert_format_csv/query.sql @@ -0,0 +1 @@ +INSERT INTO test_table FORMAT CSV diff --git a/parser/testdata/insert_format_json/query.sql b/parser/testdata/insert_format_json/query.sql new file mode 100644 index 0000000000..157b5b748b --- /dev/null +++ b/parser/testdata/insert_format_json/query.sql @@ -0,0 +1 @@ +INSERT INTO test_table FORMAT JSONEachRow diff --git a/parser/testdata/insert_into/query.sql b/parser/testdata/insert_into/query.sql new file mode 100644 index 0000000000..365e4d6cfd --- /dev/null +++ b/parser/testdata/insert_into/query.sql @@ -0,0 +1 @@ +INSERT INTO users (id, name) VALUES diff --git a/parser/testdata/insert_select/query.sql b/parser/testdata/insert_select/query.sql new file mode 100644 index 0000000000..e4259fbe0d --- /dev/null +++ b/parser/testdata/insert_select/query.sql @@ -0,0 +1 @@ +INSERT INTO users SELECT * FROM old_users diff --git a/parser/testdata/insert_select_ddl/query.sql b/parser/testdata/insert_select_ddl/query.sql new file mode 100644 index 0000000000..c9e41f7fe2 --- /dev/null +++ b/parser/testdata/insert_select_ddl/query.sql @@ -0,0 +1 @@ +INSERT INTO test_table (id) SELECT number FROM numbers(10) diff --git a/parser/testdata/insert_values/query.sql b/parser/testdata/insert_values/query.sql new file mode 100644 index 0000000000..96ff31887f --- /dev/null +++ b/parser/testdata/insert_values/query.sql @@ -0,0 +1 @@ +INSERT INTO test_table VALUES diff --git a/parser/testdata/insert_with_columns/query.sql b/parser/testdata/insert_with_columns/query.sql new file mode 100644 index 0000000000..c164ca761d --- /dev/null +++ b/parser/testdata/insert_with_columns/query.sql @@ -0,0 +1 @@ +INSERT INTO test_table (id, name) VALUES diff --git a/parser/testdata/integer_literal/query.sql b/parser/testdata/integer_literal/query.sql new file mode 100644 index 0000000000..3c24d87ab4 --- /dev/null +++ b/parser/testdata/integer_literal/query.sql @@ -0,0 +1 @@ +SELECT 42 diff --git a/parser/testdata/interval_add/query.sql b/parser/testdata/interval_add/query.sql new file mode 100644 index 0000000000..7841161b90 --- /dev/null +++ b/parser/testdata/interval_add/query.sql @@ -0,0 +1 @@ +SELECT now() + INTERVAL 1 DAY diff --git a/parser/testdata/interval_subtract/query.sql b/parser/testdata/interval_subtract/query.sql new file mode 100644 index 0000000000..92103affba --- /dev/null +++ b/parser/testdata/interval_subtract/query.sql @@ -0,0 +1 @@ +SELECT now() - INTERVAL 1 HOUR diff --git a/parser/testdata/into_outfile/metadata.json b/parser/testdata/into_outfile/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/into_outfile/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/into_outfile/query.sql b/parser/testdata/into_outfile/query.sql new file mode 100644 index 0000000000..9f41a4e911 --- /dev/null +++ b/parser/testdata/into_outfile/query.sql @@ -0,0 +1 @@ +SELECT 1 INTO OUTFILE 'output.csv' diff --git a/parser/testdata/into_outfile_format/metadata.json b/parser/testdata/into_outfile_format/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/into_outfile_format/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/into_outfile_format/query.sql b/parser/testdata/into_outfile_format/query.sql new file mode 100644 index 0000000000..a8b3444e3e --- /dev/null +++ b/parser/testdata/into_outfile_format/query.sql @@ -0,0 +1 @@ +SELECT 1 INTO OUTFILE 'output.csv' FORMAT CSV diff --git a/parser/testdata/ipv4numtostring/query.sql b/parser/testdata/ipv4numtostring/query.sql new file mode 100644 index 0000000000..e2d841b7cd --- /dev/null +++ b/parser/testdata/ipv4numtostring/query.sql @@ -0,0 +1 @@ +SELECT IPv4NumToString(3232235777) diff --git a/parser/testdata/ipv4stringtonum/query.sql b/parser/testdata/ipv4stringtonum/query.sql new file mode 100644 index 0000000000..08749e1c33 --- /dev/null +++ b/parser/testdata/ipv4stringtonum/query.sql @@ -0,0 +1 @@ +SELECT IPv4StringToNum('192.168.1.1') diff --git a/parser/testdata/ipv6numtostring/query.sql b/parser/testdata/ipv6numtostring/query.sql new file mode 100644 index 0000000000..04446ef019 --- /dev/null +++ b/parser/testdata/ipv6numtostring/query.sql @@ -0,0 +1 @@ +SELECT IPv6NumToString(toFixedString('0000000000000001', 16)) diff --git a/parser/testdata/is_not_null/query.sql b/parser/testdata/is_not_null/query.sql new file mode 100644 index 0000000000..db29931ee1 --- /dev/null +++ b/parser/testdata/is_not_null/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE name IS NOT NULL diff --git a/parser/testdata/is_null/query.sql b/parser/testdata/is_null/query.sql new file mode 100644 index 0000000000..da2db040d8 --- /dev/null +++ b/parser/testdata/is_null/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE name IS NULL diff --git a/parser/testdata/join_using/query.sql b/parser/testdata/join_using/query.sql new file mode 100644 index 0000000000..539917757d --- /dev/null +++ b/parser/testdata/join_using/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a JOIN numbers(5) AS b USING number diff --git a/parser/testdata/jsonextract/query.sql b/parser/testdata/jsonextract/query.sql new file mode 100644 index 0000000000..a1cb96a97b --- /dev/null +++ b/parser/testdata/jsonextract/query.sql @@ -0,0 +1 @@ +SELECT JSONExtract('{"a": 1}', 'a', 'Int32') diff --git a/parser/testdata/jsonextractarrayraw/query.sql b/parser/testdata/jsonextractarrayraw/query.sql new file mode 100644 index 0000000000..54a5b810b1 --- /dev/null +++ b/parser/testdata/jsonextractarrayraw/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractArrayRaw('{"a": [1,2,3]}', 'a') diff --git a/parser/testdata/jsonextractbool/query.sql b/parser/testdata/jsonextractbool/query.sql new file mode 100644 index 0000000000..b94c29e041 --- /dev/null +++ b/parser/testdata/jsonextractbool/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractBool('{"a": true}', 'a') diff --git a/parser/testdata/jsonextractfloat/query.sql b/parser/testdata/jsonextractfloat/query.sql new file mode 100644 index 0000000000..abe2465727 --- /dev/null +++ b/parser/testdata/jsonextractfloat/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractFloat('{"a": 1.5}', 'a') diff --git a/parser/testdata/jsonextractint/query.sql b/parser/testdata/jsonextractint/query.sql new file mode 100644 index 0000000000..0b7bdf3ed4 --- /dev/null +++ b/parser/testdata/jsonextractint/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractInt('{"a": 1}', 'a') diff --git a/parser/testdata/jsonextractkeysandvalues/query.sql b/parser/testdata/jsonextractkeysandvalues/query.sql new file mode 100644 index 0000000000..e0b1b4f86f --- /dev/null +++ b/parser/testdata/jsonextractkeysandvalues/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractKeysAndValues('{"a": 1, "b": 2}', 'Int32') diff --git a/parser/testdata/jsonextractraw/query.sql b/parser/testdata/jsonextractraw/query.sql new file mode 100644 index 0000000000..fdd0f1f7ff --- /dev/null +++ b/parser/testdata/jsonextractraw/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractRaw('{"a": [1,2,3]}', 'a') diff --git a/parser/testdata/jsonextractstring/query.sql b/parser/testdata/jsonextractstring/query.sql new file mode 100644 index 0000000000..6a994d5820 --- /dev/null +++ b/parser/testdata/jsonextractstring/query.sql @@ -0,0 +1 @@ +SELECT JSONExtractString('{"a": "b"}', 'a') diff --git a/parser/testdata/lag_function/query.sql b/parser/testdata/lag_function/query.sql new file mode 100644 index 0000000000..771fe13504 --- /dev/null +++ b/parser/testdata/lag_function/query.sql @@ -0,0 +1 @@ +SELECT number, lag(number) OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/last_value_function/query.sql b/parser/testdata/last_value_function/query.sql new file mode 100644 index 0000000000..543d048cb0 --- /dev/null +++ b/parser/testdata/last_value_function/query.sql @@ -0,0 +1 @@ +SELECT number, last_value(number) OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/lead_function/query.sql b/parser/testdata/lead_function/query.sql new file mode 100644 index 0000000000..d9e9edeedf --- /dev/null +++ b/parser/testdata/lead_function/query.sql @@ -0,0 +1 @@ +SELECT number, lead(number) OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/left_array_join/metadata.json b/parser/testdata/left_array_join/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/left_array_join/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/left_array_join/query.sql b/parser/testdata/left_array_join/query.sql new file mode 100644 index 0000000000..ff89a5a32d --- /dev/null +++ b/parser/testdata/left_array_join/query.sql @@ -0,0 +1 @@ +SELECT s, arr, a FROM arrays_test LEFT ARRAY JOIN arr AS a diff --git a/parser/testdata/left_join/query.sql b/parser/testdata/left_join/query.sql new file mode 100644 index 0000000000..5e90cbbc28 --- /dev/null +++ b/parser/testdata/left_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id diff --git a/parser/testdata/left_join_on/query.sql b/parser/testdata/left_join_on/query.sql new file mode 100644 index 0000000000..4f45095b6f --- /dev/null +++ b/parser/testdata/left_join_on/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a LEFT JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/left_outer_join/query.sql b/parser/testdata/left_outer_join/query.sql new file mode 100644 index 0000000000..6f4019026c --- /dev/null +++ b/parser/testdata/left_outer_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a LEFT OUTER JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/leftpad/query.sql b/parser/testdata/leftpad/query.sql new file mode 100644 index 0000000000..ba3f2db094 --- /dev/null +++ b/parser/testdata/leftpad/query.sql @@ -0,0 +1 @@ +SELECT leftPad('123', 5, '0') diff --git a/parser/testdata/length_on_array/query.sql b/parser/testdata/length_on_array/query.sql new file mode 100644 index 0000000000..174810c22c --- /dev/null +++ b/parser/testdata/length_on_array/query.sql @@ -0,0 +1 @@ +SELECT length([1, 2, 3]) diff --git a/parser/testdata/length_string/query.sql b/parser/testdata/length_string/query.sql new file mode 100644 index 0000000000..b19f3a3ad5 --- /dev/null +++ b/parser/testdata/length_string/query.sql @@ -0,0 +1 @@ +SELECT length('hello') diff --git a/parser/testdata/like/query.sql b/parser/testdata/like/query.sql new file mode 100644 index 0000000000..9bd5d5bfd9 --- /dev/null +++ b/parser/testdata/like/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE name LIKE '%test%' diff --git a/parser/testdata/like_regex/query.sql b/parser/testdata/like_regex/query.sql new file mode 100644 index 0000000000..873415bb61 --- /dev/null +++ b/parser/testdata/like_regex/query.sql @@ -0,0 +1 @@ +SELECT 'hello' LIKE '%ell%' diff --git a/parser/testdata/limit/query.sql b/parser/testdata/limit/query.sql new file mode 100644 index 0000000000..d99c5d6103 --- /dev/null +++ b/parser/testdata/limit/query.sql @@ -0,0 +1 @@ +SELECT 1 LIMIT 10 diff --git a/parser/testdata/limit_offset/query.sql b/parser/testdata/limit_offset/query.sql new file mode 100644 index 0000000000..bdabc414b2 --- /dev/null +++ b/parser/testdata/limit_offset/query.sql @@ -0,0 +1 @@ +SELECT 1 LIMIT 10 OFFSET 5 diff --git a/parser/testdata/logical_and/query.sql b/parser/testdata/logical_and/query.sql new file mode 100644 index 0000000000..73d87f9296 --- /dev/null +++ b/parser/testdata/logical_and/query.sql @@ -0,0 +1 @@ +SELECT 1 AND 2 diff --git a/parser/testdata/logical_not/query.sql b/parser/testdata/logical_not/query.sql new file mode 100644 index 0000000000..c49c54864d --- /dev/null +++ b/parser/testdata/logical_not/query.sql @@ -0,0 +1 @@ +SELECT NOT 1 diff --git a/parser/testdata/logical_not_true/query.sql b/parser/testdata/logical_not_true/query.sql new file mode 100644 index 0000000000..c31697205b --- /dev/null +++ b/parser/testdata/logical_not_true/query.sql @@ -0,0 +1 @@ +SELECT NOT true diff --git a/parser/testdata/logical_or/query.sql b/parser/testdata/logical_or/query.sql new file mode 100644 index 0000000000..71bd4e2ff5 --- /dev/null +++ b/parser/testdata/logical_or/query.sql @@ -0,0 +1 @@ +SELECT 1 OR 2 diff --git a/parser/testdata/lower/query.sql b/parser/testdata/lower/query.sql new file mode 100644 index 0000000000..8eefeff856 --- /dev/null +++ b/parser/testdata/lower/query.sql @@ -0,0 +1 @@ +SELECT lower('HELLO') diff --git a/parser/testdata/ltrim/query.sql b/parser/testdata/ltrim/query.sql new file mode 100644 index 0000000000..34c35d0af9 --- /dev/null +++ b/parser/testdata/ltrim/query.sql @@ -0,0 +1 @@ +SELECT ltrim(' hello') diff --git a/parser/testdata/map_element_access/query.sql b/parser/testdata/map_element_access/query.sql new file mode 100644 index 0000000000..ef7900d391 --- /dev/null +++ b/parser/testdata/map_element_access/query.sql @@ -0,0 +1 @@ +SELECT map('key', 'value')['key'] diff --git a/parser/testdata/map_function/query.sql b/parser/testdata/map_function/query.sql new file mode 100644 index 0000000000..fb7ba5db34 --- /dev/null +++ b/parser/testdata/map_function/query.sql @@ -0,0 +1 @@ +SELECT map(1, 2) diff --git a/parser/testdata/mapcontains/query.sql b/parser/testdata/mapcontains/query.sql new file mode 100644 index 0000000000..42da1266e2 --- /dev/null +++ b/parser/testdata/mapcontains/query.sql @@ -0,0 +1 @@ +SELECT mapContains(map('a', 1), 'a') diff --git a/parser/testdata/mapkeys/query.sql b/parser/testdata/mapkeys/query.sql new file mode 100644 index 0000000000..19e9adf99b --- /dev/null +++ b/parser/testdata/mapkeys/query.sql @@ -0,0 +1 @@ +SELECT mapKeys(map('a', 1, 'b', 2)) diff --git a/parser/testdata/mapvalues/query.sql b/parser/testdata/mapvalues/query.sql new file mode 100644 index 0000000000..d4a239aee7 --- /dev/null +++ b/parser/testdata/mapvalues/query.sql @@ -0,0 +1 @@ +SELECT mapValues(map('a', 1, 'b', 2)) diff --git a/parser/testdata/match/query.sql b/parser/testdata/match/query.sql new file mode 100644 index 0000000000..d64ea3b675 --- /dev/null +++ b/parser/testdata/match/query.sql @@ -0,0 +1 @@ +SELECT match('hello', 'h.*o') diff --git a/parser/testdata/materialize/query.sql b/parser/testdata/materialize/query.sql new file mode 100644 index 0000000000..9881bc2753 --- /dev/null +++ b/parser/testdata/materialize/query.sql @@ -0,0 +1 @@ +SELECT materialize(1) diff --git a/parser/testdata/materialize_index/metadata.json b/parser/testdata/materialize_index/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/materialize_index/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/materialize_index/query.sql b/parser/testdata/materialize_index/query.sql new file mode 100644 index 0000000000..0381520e01 --- /dev/null +++ b/parser/testdata/materialize_index/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table MATERIALIZE INDEX idx diff --git a/parser/testdata/md5/query.sql b/parser/testdata/md5/query.sql new file mode 100644 index 0000000000..b09c380eab --- /dev/null +++ b/parser/testdata/md5/query.sql @@ -0,0 +1 @@ +SELECT MD5('hello') diff --git a/parser/testdata/min_max/query.sql b/parser/testdata/min_max/query.sql new file mode 100644 index 0000000000..d2dabe93f2 --- /dev/null +++ b/parser/testdata/min_max/query.sql @@ -0,0 +1 @@ +SELECT min(id), max(id) FROM users diff --git a/parser/testdata/min_max_functions/query.sql b/parser/testdata/min_max_functions/query.sql new file mode 100644 index 0000000000..d15fe5e06c --- /dev/null +++ b/parser/testdata/min_max_functions/query.sql @@ -0,0 +1 @@ +SELECT min(1), max(1) diff --git a/parser/testdata/modify_column/query.sql b/parser/testdata/modify_column/query.sql new file mode 100644 index 0000000000..ca4efb1ece --- /dev/null +++ b/parser/testdata/modify_column/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table MODIFY COLUMN col UInt64 diff --git a/parser/testdata/modify_ttl/metadata.json b/parser/testdata/modify_ttl/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/modify_ttl/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/modify_ttl/query.sql b/parser/testdata/modify_ttl/query.sql new file mode 100644 index 0000000000..eca80ca56f --- /dev/null +++ b/parser/testdata/modify_ttl/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table MODIFY TTL dt + INTERVAL 1 MONTH diff --git a/parser/testdata/multiif_function/query.sql b/parser/testdata/multiif_function/query.sql new file mode 100644 index 0000000000..1f749f45d9 --- /dev/null +++ b/parser/testdata/multiif_function/query.sql @@ -0,0 +1 @@ +SELECT multiIf(1 > 0, 1, 2 > 0, 2, 0) diff --git a/parser/testdata/multiple_aliases/query.sql b/parser/testdata/multiple_aliases/query.sql new file mode 100644 index 0000000000..99c26b2955 --- /dev/null +++ b/parser/testdata/multiple_aliases/query.sql @@ -0,0 +1 @@ +SELECT 1 AS x, 2 AS y diff --git a/parser/testdata/multiple_tables/query.sql b/parser/testdata/multiple_tables/query.sql new file mode 100644 index 0000000000..9659203d90 --- /dev/null +++ b/parser/testdata/multiple_tables/query.sql @@ -0,0 +1 @@ +SELECT * FROM users, orders diff --git a/parser/testdata/multiplication_precedence/query.sql b/parser/testdata/multiplication_precedence/query.sql new file mode 100644 index 0000000000..33cbb51576 --- /dev/null +++ b/parser/testdata/multiplication_precedence/query.sql @@ -0,0 +1 @@ +SELECT 1 + 2 * 3 diff --git a/parser/testdata/murmurhash2_32/query.sql b/parser/testdata/murmurhash2_32/query.sql new file mode 100644 index 0000000000..c1ff1f1c2c --- /dev/null +++ b/parser/testdata/murmurhash2_32/query.sql @@ -0,0 +1 @@ +SELECT murmurHash2_32('hello') diff --git a/parser/testdata/murmurhash2_64/query.sql b/parser/testdata/murmurhash2_64/query.sql new file mode 100644 index 0000000000..e867f4f9dd --- /dev/null +++ b/parser/testdata/murmurhash2_64/query.sql @@ -0,0 +1 @@ +SELECT murmurHash2_64('hello') diff --git a/parser/testdata/murmurhash3_128/query.sql b/parser/testdata/murmurhash3_128/query.sql new file mode 100644 index 0000000000..1986701e08 --- /dev/null +++ b/parser/testdata/murmurhash3_128/query.sql @@ -0,0 +1 @@ +SELECT murmurHash3_128('hello') diff --git a/parser/testdata/murmurhash3_32/query.sql b/parser/testdata/murmurhash3_32/query.sql new file mode 100644 index 0000000000..e9c47431a0 --- /dev/null +++ b/parser/testdata/murmurhash3_32/query.sql @@ -0,0 +1 @@ +SELECT murmurHash3_32('hello') diff --git a/parser/testdata/murmurhash3_64/query.sql b/parser/testdata/murmurhash3_64/query.sql new file mode 100644 index 0000000000..a3207dd63e --- /dev/null +++ b/parser/testdata/murmurhash3_64/query.sql @@ -0,0 +1 @@ +SELECT murmurHash3_64('hello') diff --git a/parser/testdata/named_tuple_access/metadata.json b/parser/testdata/named_tuple_access/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/named_tuple_access/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/named_tuple_access/query.sql b/parser/testdata/named_tuple_access/query.sql new file mode 100644 index 0000000000..912269cb16 --- /dev/null +++ b/parser/testdata/named_tuple_access/query.sql @@ -0,0 +1 @@ +SELECT (1, 2, 3) AS t, t.1 diff --git a/parser/testdata/named_window/metadata.json b/parser/testdata/named_window/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/named_window/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/named_window/query.sql b/parser/testdata/named_window/query.sql new file mode 100644 index 0000000000..ad5fb189ab --- /dev/null +++ b/parser/testdata/named_window/query.sql @@ -0,0 +1 @@ +SELECT number, sum(number) OVER w FROM numbers(10) WINDOW w AS (ORDER BY number) diff --git a/parser/testdata/neighbor/query.sql b/parser/testdata/neighbor/query.sql new file mode 100644 index 0000000000..f9cd2fbb52 --- /dev/null +++ b/parser/testdata/neighbor/query.sql @@ -0,0 +1 @@ +SELECT neighbor(number, 1) FROM numbers(10) diff --git a/parser/testdata/nested_function_call/query.sql b/parser/testdata/nested_function_call/query.sql new file mode 100644 index 0000000000..a075ab98ad --- /dev/null +++ b/parser/testdata/nested_function_call/query.sql @@ -0,0 +1 @@ +SELECT toDate(now()) diff --git a/parser/testdata/nested_functions/query.sql b/parser/testdata/nested_functions/query.sql new file mode 100644 index 0000000000..01ecdb076a --- /dev/null +++ b/parser/testdata/nested_functions/query.sql @@ -0,0 +1 @@ +SELECT toDate(now()) FROM users diff --git a/parser/testdata/not_exists_subquery/query.sql b/parser/testdata/not_exists_subquery/query.sql new file mode 100644 index 0000000000..a87d9a92b8 --- /dev/null +++ b/parser/testdata/not_exists_subquery/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) WHERE NOT EXISTS (SELECT 1 WHERE 0) diff --git a/parser/testdata/not_ilike/query.sql b/parser/testdata/not_ilike/query.sql new file mode 100644 index 0000000000..cb9815ddca --- /dev/null +++ b/parser/testdata/not_ilike/query.sql @@ -0,0 +1 @@ +SELECT 'HELLO' NOT ILIKE '%xyz%' diff --git a/parser/testdata/not_in/query.sql b/parser/testdata/not_in/query.sql new file mode 100644 index 0000000000..ab903c1e8e --- /dev/null +++ b/parser/testdata/not_in/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE id NOT IN (1, 2, 3) diff --git a/parser/testdata/not_like/query.sql b/parser/testdata/not_like/query.sql new file mode 100644 index 0000000000..84920b6e5f --- /dev/null +++ b/parser/testdata/not_like/query.sql @@ -0,0 +1 @@ +SELECT 'hello' NOT LIKE '%xyz%' diff --git a/parser/testdata/notempty_on_array/query.sql b/parser/testdata/notempty_on_array/query.sql new file mode 100644 index 0000000000..19f36b10a9 --- /dev/null +++ b/parser/testdata/notempty_on_array/query.sql @@ -0,0 +1 @@ +SELECT notEmpty([1, 2, 3]) diff --git a/parser/testdata/notempty_string/query.sql b/parser/testdata/notempty_string/query.sql new file mode 100644 index 0000000000..56bf5099fb --- /dev/null +++ b/parser/testdata/notempty_string/query.sql @@ -0,0 +1 @@ +SELECT notEmpty('') diff --git a/parser/testdata/now_function/query.sql b/parser/testdata/now_function/query.sql new file mode 100644 index 0000000000..31700225c6 --- /dev/null +++ b/parser/testdata/now_function/query.sql @@ -0,0 +1 @@ +SELECT now() diff --git a/parser/testdata/nth_value_function/query.sql b/parser/testdata/nth_value_function/query.sql new file mode 100644 index 0000000000..9b90c0635e --- /dev/null +++ b/parser/testdata/nth_value_function/query.sql @@ -0,0 +1 @@ +SELECT number, nth_value(number, 2) OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/null_literal/query.sql b/parser/testdata/null_literal/query.sql new file mode 100644 index 0000000000..7824d97b04 --- /dev/null +++ b/parser/testdata/null_literal/query.sql @@ -0,0 +1 @@ +SELECT NULL diff --git a/parser/testdata/null_safe_equal/metadata.json b/parser/testdata/null_safe_equal/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/null_safe_equal/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/null_safe_equal/query.sql b/parser/testdata/null_safe_equal/query.sql new file mode 100644 index 0000000000..3c0bd6aeb5 --- /dev/null +++ b/parser/testdata/null_safe_equal/query.sql @@ -0,0 +1 @@ +SELECT NULL <=> NULL diff --git a/parser/testdata/nullif/query.sql b/parser/testdata/nullif/query.sql new file mode 100644 index 0000000000..96475c9443 --- /dev/null +++ b/parser/testdata/nullif/query.sql @@ -0,0 +1 @@ +SELECT nullIf(1, 1) diff --git a/parser/testdata/numbers_function/query.sql b/parser/testdata/numbers_function/query.sql new file mode 100644 index 0000000000..04cff0c020 --- /dev/null +++ b/parser/testdata/numbers_function/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) diff --git a/parser/testdata/optimize_deduplicate/query.sql b/parser/testdata/optimize_deduplicate/query.sql new file mode 100644 index 0000000000..6cbf8cd876 --- /dev/null +++ b/parser/testdata/optimize_deduplicate/query.sql @@ -0,0 +1 @@ +OPTIMIZE TABLE test_table DEDUPLICATE diff --git a/parser/testdata/optimize_final/query.sql b/parser/testdata/optimize_final/query.sql new file mode 100644 index 0000000000..82d4e122b5 --- /dev/null +++ b/parser/testdata/optimize_final/query.sql @@ -0,0 +1 @@ +OPTIMIZE TABLE test_table FINAL diff --git a/parser/testdata/optimize_partition/query.sql b/parser/testdata/optimize_partition/query.sql new file mode 100644 index 0000000000..fc314a8465 --- /dev/null +++ b/parser/testdata/optimize_partition/query.sql @@ -0,0 +1 @@ +OPTIMIZE TABLE test_table PARTITION 202301 diff --git a/parser/testdata/optimize_table/query.sql b/parser/testdata/optimize_table/query.sql new file mode 100644 index 0000000000..f70be21e02 --- /dev/null +++ b/parser/testdata/optimize_table/query.sql @@ -0,0 +1 @@ +OPTIMIZE TABLE test_table diff --git a/parser/testdata/order_by/query.sql b/parser/testdata/order_by/query.sql new file mode 100644 index 0000000000..4a98483b36 --- /dev/null +++ b/parser/testdata/order_by/query.sql @@ -0,0 +1 @@ +SELECT 1 ORDER BY 1 diff --git a/parser/testdata/order_by_asc/query.sql b/parser/testdata/order_by_asc/query.sql new file mode 100644 index 0000000000..977241a11e --- /dev/null +++ b/parser/testdata/order_by_asc/query.sql @@ -0,0 +1 @@ +SELECT 1 ORDER BY 1 ASC diff --git a/parser/testdata/order_by_desc/query.sql b/parser/testdata/order_by_desc/query.sql new file mode 100644 index 0000000000..ceaca0bc1a --- /dev/null +++ b/parser/testdata/order_by_desc/query.sql @@ -0,0 +1 @@ +SELECT 1 ORDER BY 1 DESC diff --git a/parser/testdata/order_by_desc_nulls_first/query.sql b/parser/testdata/order_by_desc_nulls_first/query.sql new file mode 100644 index 0000000000..7d880d871d --- /dev/null +++ b/parser/testdata/order_by_desc_nulls_first/query.sql @@ -0,0 +1 @@ +SELECT 1 ORDER BY 1 DESC NULLS FIRST diff --git a/parser/testdata/order_by_desc_nulls_last/query.sql b/parser/testdata/order_by_desc_nulls_last/query.sql new file mode 100644 index 0000000000..64e76e26b6 --- /dev/null +++ b/parser/testdata/order_by_desc_nulls_last/query.sql @@ -0,0 +1 @@ +SELECT 1 ORDER BY 1 DESC NULLS LAST diff --git a/parser/testdata/order_by_with_fill/metadata.json b/parser/testdata/order_by_with_fill/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/order_by_with_fill/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/order_by_with_fill/query.sql b/parser/testdata/order_by_with_fill/query.sql new file mode 100644 index 0000000000..cb3ebd589b --- /dev/null +++ b/parser/testdata/order_by_with_fill/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) ORDER BY number WITH FILL diff --git a/parser/testdata/order_by_with_fill_from_to/metadata.json b/parser/testdata/order_by_with_fill_from_to/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/order_by_with_fill_from_to/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/order_by_with_fill_from_to/query.sql b/parser/testdata/order_by_with_fill_from_to/query.sql new file mode 100644 index 0000000000..9855216a35 --- /dev/null +++ b/parser/testdata/order_by_with_fill_from_to/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) ORDER BY number WITH FILL FROM 0 TO 20 diff --git a/parser/testdata/order_by_with_fill_step/metadata.json b/parser/testdata/order_by_with_fill_step/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/order_by_with_fill_step/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/order_by_with_fill_step/query.sql b/parser/testdata/order_by_with_fill_step/query.sql new file mode 100644 index 0000000000..02605bbb4a --- /dev/null +++ b/parser/testdata/order_by_with_fill_step/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) ORDER BY number WITH FILL FROM 0 TO 20 STEP 2 diff --git a/parser/testdata/parentheses/query.sql b/parser/testdata/parentheses/query.sql new file mode 100644 index 0000000000..b8f738cf22 --- /dev/null +++ b/parser/testdata/parentheses/query.sql @@ -0,0 +1 @@ +SELECT (1 + 2) * 3 diff --git a/parser/testdata/parentheses_precedence/query.sql b/parser/testdata/parentheses_precedence/query.sql new file mode 100644 index 0000000000..b8f738cf22 --- /dev/null +++ b/parser/testdata/parentheses_precedence/query.sql @@ -0,0 +1 @@ +SELECT (1 + 2) * 3 diff --git a/parser/testdata/path/query.sql b/parser/testdata/path/query.sql new file mode 100644 index 0000000000..ebf0f558a9 --- /dev/null +++ b/parser/testdata/path/query.sql @@ -0,0 +1 @@ +SELECT path('https://example.com/path/to/page') diff --git a/parser/testdata/pathfull/query.sql b/parser/testdata/pathfull/query.sql new file mode 100644 index 0000000000..c26d76ad54 --- /dev/null +++ b/parser/testdata/pathfull/query.sql @@ -0,0 +1 @@ +SELECT pathFull('https://example.com/path?query=1') diff --git a/parser/testdata/position/query.sql b/parser/testdata/position/query.sql new file mode 100644 index 0000000000..85fa720184 --- /dev/null +++ b/parser/testdata/position/query.sql @@ -0,0 +1 @@ +SELECT position('hello', 'l') diff --git a/parser/testdata/positioncaseinsensitive/query.sql b/parser/testdata/positioncaseinsensitive/query.sql new file mode 100644 index 0000000000..2b40cba3c6 --- /dev/null +++ b/parser/testdata/positioncaseinsensitive/query.sql @@ -0,0 +1 @@ +SELECT positionCaseInsensitive('HELLO', 'l') diff --git a/parser/testdata/prewhere/metadata.json b/parser/testdata/prewhere/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/prewhere/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/prewhere/query.sql b/parser/testdata/prewhere/query.sql new file mode 100644 index 0000000000..d425971872 --- /dev/null +++ b/parser/testdata/prewhere/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table PREWHERE id > 0 diff --git a/parser/testdata/prewhere_and_where/metadata.json b/parser/testdata/prewhere_and_where/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/prewhere_and_where/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/prewhere_and_where/query.sql b/parser/testdata/prewhere_and_where/query.sql new file mode 100644 index 0000000000..7b8ae4a500 --- /dev/null +++ b/parser/testdata/prewhere_and_where/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table PREWHERE id > 0 WHERE name != '' diff --git a/parser/testdata/protocol/query.sql b/parser/testdata/protocol/query.sql new file mode 100644 index 0000000000..d07c995e65 --- /dev/null +++ b/parser/testdata/protocol/query.sql @@ -0,0 +1 @@ +SELECT protocol('https://example.com/path') diff --git a/parser/testdata/quantile_parametric/metadata.json b/parser/testdata/quantile_parametric/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/quantile_parametric/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/quantile_parametric/query.sql b/parser/testdata/quantile_parametric/query.sql new file mode 100644 index 0000000000..24e0aff3ce --- /dev/null +++ b/parser/testdata/quantile_parametric/query.sql @@ -0,0 +1 @@ +SELECT quantile(0.9)(number) FROM numbers(100) diff --git a/parser/testdata/quantiles_parametric/metadata.json b/parser/testdata/quantiles_parametric/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/quantiles_parametric/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/quantiles_parametric/query.sql b/parser/testdata/quantiles_parametric/query.sql new file mode 100644 index 0000000000..ac4cdea6fb --- /dev/null +++ b/parser/testdata/quantiles_parametric/query.sql @@ -0,0 +1 @@ +SELECT quantiles(0.5, 0.9, 0.99)(number) FROM numbers(100) diff --git a/parser/testdata/querystring/query.sql b/parser/testdata/querystring/query.sql new file mode 100644 index 0000000000..f8a816d08d --- /dev/null +++ b/parser/testdata/querystring/query.sql @@ -0,0 +1 @@ +SELECT queryString('https://example.com/path?query=1') diff --git a/parser/testdata/range_function/query.sql b/parser/testdata/range_function/query.sql new file mode 100644 index 0000000000..0648c72079 --- /dev/null +++ b/parser/testdata/range_function/query.sql @@ -0,0 +1 @@ +SELECT range(10) diff --git a/parser/testdata/rank_function/query.sql b/parser/testdata/rank_function/query.sql new file mode 100644 index 0000000000..bd0276a604 --- /dev/null +++ b/parser/testdata/rank_function/query.sql @@ -0,0 +1 @@ +SELECT number, rank() OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/reinterpretasuint64/query.sql b/parser/testdata/reinterpretasuint64/query.sql new file mode 100644 index 0000000000..7badea13c0 --- /dev/null +++ b/parser/testdata/reinterpretasuint64/query.sql @@ -0,0 +1 @@ +SELECT reinterpretAsUInt64('hello') diff --git a/parser/testdata/reload_config/metadata.json b/parser/testdata/reload_config/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/reload_config/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/reload_config/query.sql b/parser/testdata/reload_config/query.sql new file mode 100644 index 0000000000..f6fbf161a0 --- /dev/null +++ b/parser/testdata/reload_config/query.sql @@ -0,0 +1 @@ +SYSTEM RELOAD CONFIG diff --git a/parser/testdata/reload_dictionaries/metadata.json b/parser/testdata/reload_dictionaries/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/reload_dictionaries/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/reload_dictionaries/query.sql b/parser/testdata/reload_dictionaries/query.sql new file mode 100644 index 0000000000..cb4d074be2 --- /dev/null +++ b/parser/testdata/reload_dictionaries/query.sql @@ -0,0 +1 @@ +SYSTEM RELOAD DICTIONARIES diff --git a/parser/testdata/rename_column/query.sql b/parser/testdata/rename_column/query.sql new file mode 100644 index 0000000000..01aba0e666 --- /dev/null +++ b/parser/testdata/rename_column/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table RENAME COLUMN old_name TO new_name diff --git a/parser/testdata/rename_table/metadata.json b/parser/testdata/rename_table/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/rename_table/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/rename_table/query.sql b/parser/testdata/rename_table/query.sql new file mode 100644 index 0000000000..f85995ed75 --- /dev/null +++ b/parser/testdata/rename_table/query.sql @@ -0,0 +1 @@ +RENAME TABLE old_table TO new_table diff --git a/parser/testdata/repeat/query.sql b/parser/testdata/repeat/query.sql new file mode 100644 index 0000000000..a234c97877 --- /dev/null +++ b/parser/testdata/repeat/query.sql @@ -0,0 +1 @@ +SELECT repeat('abc', 3) diff --git a/parser/testdata/replace_partition/metadata.json b/parser/testdata/replace_partition/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/replace_partition/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/replace_partition/query.sql b/parser/testdata/replace_partition/query.sql new file mode 100644 index 0000000000..27ddc020d8 --- /dev/null +++ b/parser/testdata/replace_partition/query.sql @@ -0,0 +1 @@ +ALTER TABLE test_table REPLACE PARTITION 202301 FROM other_table diff --git a/parser/testdata/replaceall/query.sql b/parser/testdata/replaceall/query.sql new file mode 100644 index 0000000000..877c80fe52 --- /dev/null +++ b/parser/testdata/replaceall/query.sql @@ -0,0 +1 @@ +SELECT replaceAll('hello', 'l', 'x') diff --git a/parser/testdata/replaceone/query.sql b/parser/testdata/replaceone/query.sql new file mode 100644 index 0000000000..03f1bf5e4c --- /dev/null +++ b/parser/testdata/replaceone/query.sql @@ -0,0 +1 @@ +SELECT replaceOne('hello', 'l', 'x') diff --git a/parser/testdata/restart_replica/metadata.json b/parser/testdata/restart_replica/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/restart_replica/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/restart_replica/query.sql b/parser/testdata/restart_replica/query.sql new file mode 100644 index 0000000000..feae962e3d --- /dev/null +++ b/parser/testdata/restart_replica/query.sql @@ -0,0 +1 @@ +SYSTEM RESTART REPLICA system.one diff --git a/parser/testdata/reverse_string/query.sql b/parser/testdata/reverse_string/query.sql new file mode 100644 index 0000000000..d372eb3344 --- /dev/null +++ b/parser/testdata/reverse_string/query.sql @@ -0,0 +1 @@ +SELECT reverse('hello') diff --git a/parser/testdata/right_join_on/query.sql b/parser/testdata/right_join_on/query.sql new file mode 100644 index 0000000000..3b32e0eb02 --- /dev/null +++ b/parser/testdata/right_join_on/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a RIGHT JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/rightpad/query.sql b/parser/testdata/rightpad/query.sql new file mode 100644 index 0000000000..60b0a7083b --- /dev/null +++ b/parser/testdata/rightpad/query.sql @@ -0,0 +1 @@ +SELECT rightPad('123', 5, '0') diff --git a/parser/testdata/row_number_over_empty/query.sql b/parser/testdata/row_number_over_empty/query.sql new file mode 100644 index 0000000000..a7dd498b31 --- /dev/null +++ b/parser/testdata/row_number_over_empty/query.sql @@ -0,0 +1 @@ +SELECT number, row_number() OVER () FROM numbers(10) diff --git a/parser/testdata/row_number_over_order_by/query.sql b/parser/testdata/row_number_over_order_by/query.sql new file mode 100644 index 0000000000..9890a6d110 --- /dev/null +++ b/parser/testdata/row_number_over_order_by/query.sql @@ -0,0 +1 @@ +SELECT number, row_number() OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/rownumberinallblocks/query.sql b/parser/testdata/rownumberinallblocks/query.sql new file mode 100644 index 0000000000..4750841051 --- /dev/null +++ b/parser/testdata/rownumberinallblocks/query.sql @@ -0,0 +1 @@ +SELECT rowNumberInAllBlocks() diff --git a/parser/testdata/rownumberinblock/query.sql b/parser/testdata/rownumberinblock/query.sql new file mode 100644 index 0000000000..98e5a25c3c --- /dev/null +++ b/parser/testdata/rownumberinblock/query.sql @@ -0,0 +1 @@ +SELECT rowNumberInBlock() diff --git a/parser/testdata/rtrim/query.sql b/parser/testdata/rtrim/query.sql new file mode 100644 index 0000000000..99182a73b9 --- /dev/null +++ b/parser/testdata/rtrim/query.sql @@ -0,0 +1 @@ +SELECT rtrim('hello ') diff --git a/parser/testdata/runningaccumulate/query.sql b/parser/testdata/runningaccumulate/query.sql new file mode 100644 index 0000000000..60d880dce0 --- /dev/null +++ b/parser/testdata/runningaccumulate/query.sql @@ -0,0 +1 @@ +SELECT runningAccumulate(sumState(number)) FROM numbers(10) diff --git a/parser/testdata/runningdifference/query.sql b/parser/testdata/runningdifference/query.sql new file mode 100644 index 0000000000..9eee5ee8b3 --- /dev/null +++ b/parser/testdata/runningdifference/query.sql @@ -0,0 +1 @@ +SELECT runningDifference(number) FROM numbers(10) diff --git a/parser/testdata/sample/metadata.json b/parser/testdata/sample/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/sample/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/sample/query.sql b/parser/testdata/sample/query.sql new file mode 100644 index 0000000000..a0f2e08f18 --- /dev/null +++ b/parser/testdata/sample/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table SAMPLE 0.1 diff --git a/parser/testdata/sample_n/metadata.json b/parser/testdata/sample_n/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/sample_n/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/sample_n/query.sql b/parser/testdata/sample_n/query.sql new file mode 100644 index 0000000000..2147488147 --- /dev/null +++ b/parser/testdata/sample_n/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table SAMPLE 1000 diff --git a/parser/testdata/sample_offset/metadata.json b/parser/testdata/sample_offset/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/sample_offset/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/sample_offset/query.sql b/parser/testdata/sample_offset/query.sql new file mode 100644 index 0000000000..bb306b26e0 --- /dev/null +++ b/parser/testdata/sample_offset/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table SAMPLE 0.1 OFFSET 0.5 diff --git a/parser/testdata/scalar_subquery/query.sql b/parser/testdata/scalar_subquery/query.sql new file mode 100644 index 0000000000..aadcd3589a --- /dev/null +++ b/parser/testdata/scalar_subquery/query.sql @@ -0,0 +1 @@ +SELECT (SELECT 1) diff --git a/parser/testdata/scalar_subquery_aggregate/query.sql b/parser/testdata/scalar_subquery_aggregate/query.sql new file mode 100644 index 0000000000..01b76b2e1f --- /dev/null +++ b/parser/testdata/scalar_subquery_aggregate/query.sql @@ -0,0 +1 @@ +SELECT (SELECT max(number) FROM numbers(10)) diff --git a/parser/testdata/select_columns/query.sql b/parser/testdata/select_columns/query.sql new file mode 100644 index 0000000000..b229b261ef --- /dev/null +++ b/parser/testdata/select_columns/query.sql @@ -0,0 +1 @@ +SELECT id, name FROM users diff --git a/parser/testdata/select_distinct/query.sql b/parser/testdata/select_distinct/query.sql new file mode 100644 index 0000000000..342df6e6f5 --- /dev/null +++ b/parser/testdata/select_distinct/query.sql @@ -0,0 +1 @@ +SELECT DISTINCT name FROM users diff --git a/parser/testdata/select_final/metadata.json b/parser/testdata/select_final/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/select_final/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/select_final/query.sql b/parser/testdata/select_final/query.sql new file mode 100644 index 0000000000..8e4e1586e4 --- /dev/null +++ b/parser/testdata/select_final/query.sql @@ -0,0 +1 @@ +SELECT * FROM test_table FINAL diff --git a/parser/testdata/select_from_system_table/metadata.json b/parser/testdata/select_from_system_table/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/select_from_system_table/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/select_from_system_table/query.sql b/parser/testdata/select_from_system_table/query.sql new file mode 100644 index 0000000000..5c6acf7005 --- /dev/null +++ b/parser/testdata/select_from_system_table/query.sql @@ -0,0 +1 @@ +SELECT * FROM system.one diff --git a/parser/testdata/select_with_alias/query.sql b/parser/testdata/select_with_alias/query.sql new file mode 100644 index 0000000000..a26a110d20 --- /dev/null +++ b/parser/testdata/select_with_alias/query.sql @@ -0,0 +1 @@ +SELECT id AS user_id FROM users diff --git a/parser/testdata/select_with_limit/query.sql b/parser/testdata/select_with_limit/query.sql new file mode 100644 index 0000000000..639675ffa4 --- /dev/null +++ b/parser/testdata/select_with_limit/query.sql @@ -0,0 +1 @@ +SELECT * FROM users LIMIT 10 diff --git a/parser/testdata/select_with_offset/query.sql b/parser/testdata/select_with_offset/query.sql new file mode 100644 index 0000000000..0ecacbaa90 --- /dev/null +++ b/parser/testdata/select_with_offset/query.sql @@ -0,0 +1 @@ +SELECT * FROM users LIMIT 10 OFFSET 5 diff --git a/parser/testdata/select_with_order/query.sql b/parser/testdata/select_with_order/query.sql new file mode 100644 index 0000000000..36d9289ae5 --- /dev/null +++ b/parser/testdata/select_with_order/query.sql @@ -0,0 +1 @@ +SELECT * FROM users ORDER BY name ASC diff --git a/parser/testdata/select_with_order_desc/query.sql b/parser/testdata/select_with_order_desc/query.sql new file mode 100644 index 0000000000..7ad9360b77 --- /dev/null +++ b/parser/testdata/select_with_order_desc/query.sql @@ -0,0 +1 @@ +SELECT * FROM users ORDER BY id DESC diff --git a/parser/testdata/select_with_settings/query.sql b/parser/testdata/select_with_settings/query.sql new file mode 100644 index 0000000000..4863a2ad9c --- /dev/null +++ b/parser/testdata/select_with_settings/query.sql @@ -0,0 +1 @@ +SELECT 1 SETTINGS max_threads = 1 diff --git a/parser/testdata/select_with_where/query.sql b/parser/testdata/select_with_where/query.sql new file mode 100644 index 0000000000..90b4f73452 --- /dev/null +++ b/parser/testdata/select_with_where/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE id = 1 diff --git a/parser/testdata/semi_join/query.sql b/parser/testdata/semi_join/query.sql new file mode 100644 index 0000000000..e48043f8d1 --- /dev/null +++ b/parser/testdata/semi_join/query.sql @@ -0,0 +1 @@ +SELECT * FROM numbers(5) AS a SEMI JOIN numbers(5) AS b ON a.number = b.number diff --git a/parser/testdata/set_boolean_setting/query.sql b/parser/testdata/set_boolean_setting/query.sql new file mode 100644 index 0000000000..3c6f13fdc9 --- /dev/null +++ b/parser/testdata/set_boolean_setting/query.sql @@ -0,0 +1 @@ +SET enable_optimize_predicate_expression = 1 diff --git a/parser/testdata/set_max_memory_usage/query.sql b/parser/testdata/set_max_memory_usage/query.sql new file mode 100644 index 0000000000..7bcde05ed6 --- /dev/null +++ b/parser/testdata/set_max_memory_usage/query.sql @@ -0,0 +1 @@ +SET max_memory_usage = 10000000 diff --git a/parser/testdata/set_max_threads/query.sql b/parser/testdata/set_max_threads/query.sql new file mode 100644 index 0000000000..ed6ccd1ee3 --- /dev/null +++ b/parser/testdata/set_max_threads/query.sql @@ -0,0 +1 @@ +SET max_threads = 4 diff --git a/parser/testdata/set_setting/query.sql b/parser/testdata/set_setting/query.sql new file mode 100644 index 0000000000..ed6ccd1ee3 --- /dev/null +++ b/parser/testdata/set_setting/query.sql @@ -0,0 +1 @@ +SET max_threads = 4 diff --git a/parser/testdata/sha1/query.sql b/parser/testdata/sha1/query.sql new file mode 100644 index 0000000000..fcb0855f59 --- /dev/null +++ b/parser/testdata/sha1/query.sql @@ -0,0 +1 @@ +SELECT SHA1('hello') diff --git a/parser/testdata/sha256/query.sql b/parser/testdata/sha256/query.sql new file mode 100644 index 0000000000..e7e066aa0c --- /dev/null +++ b/parser/testdata/sha256/query.sql @@ -0,0 +1 @@ +SELECT SHA256('hello') diff --git a/parser/testdata/show_columns/metadata.json b/parser/testdata/show_columns/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/show_columns/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/show_columns/query.sql b/parser/testdata/show_columns/query.sql new file mode 100644 index 0000000000..25041a14c7 --- /dev/null +++ b/parser/testdata/show_columns/query.sql @@ -0,0 +1 @@ +SHOW COLUMNS FROM system.one diff --git a/parser/testdata/show_create_database/metadata.json b/parser/testdata/show_create_database/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/show_create_database/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/show_create_database/query.sql b/parser/testdata/show_create_database/query.sql new file mode 100644 index 0000000000..402ff22f2f --- /dev/null +++ b/parser/testdata/show_create_database/query.sql @@ -0,0 +1 @@ +SHOW CREATE DATABASE system diff --git a/parser/testdata/show_create_table/metadata.json b/parser/testdata/show_create_table/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/show_create_table/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/show_create_table/query.sql b/parser/testdata/show_create_table/query.sql new file mode 100644 index 0000000000..86d23394c1 --- /dev/null +++ b/parser/testdata/show_create_table/query.sql @@ -0,0 +1 @@ +SHOW CREATE TABLE system.one diff --git a/parser/testdata/show_databases/query.sql b/parser/testdata/show_databases/query.sql new file mode 100644 index 0000000000..da16ca699e --- /dev/null +++ b/parser/testdata/show_databases/query.sql @@ -0,0 +1 @@ +SHOW DATABASES diff --git a/parser/testdata/show_databases_stmt/query.sql b/parser/testdata/show_databases_stmt/query.sql new file mode 100644 index 0000000000..da16ca699e --- /dev/null +++ b/parser/testdata/show_databases_stmt/query.sql @@ -0,0 +1 @@ +SHOW DATABASES diff --git a/parser/testdata/show_dictionaries/metadata.json b/parser/testdata/show_dictionaries/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/show_dictionaries/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/show_dictionaries/query.sql b/parser/testdata/show_dictionaries/query.sql new file mode 100644 index 0000000000..43efbf2ada --- /dev/null +++ b/parser/testdata/show_dictionaries/query.sql @@ -0,0 +1 @@ +SHOW DICTIONARIES diff --git a/parser/testdata/show_processlist/metadata.json b/parser/testdata/show_processlist/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/show_processlist/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/show_processlist/query.sql b/parser/testdata/show_processlist/query.sql new file mode 100644 index 0000000000..c8cf70db4d --- /dev/null +++ b/parser/testdata/show_processlist/query.sql @@ -0,0 +1 @@ +SHOW PROCESSLIST diff --git a/parser/testdata/show_tables/query.sql b/parser/testdata/show_tables/query.sql new file mode 100644 index 0000000000..61b3cfc260 --- /dev/null +++ b/parser/testdata/show_tables/query.sql @@ -0,0 +1 @@ +SHOW TABLES diff --git a/parser/testdata/show_tables_from/query.sql b/parser/testdata/show_tables_from/query.sql new file mode 100644 index 0000000000..17aa88e46c --- /dev/null +++ b/parser/testdata/show_tables_from/query.sql @@ -0,0 +1 @@ +SHOW TABLES FROM system diff --git a/parser/testdata/show_tables_stmt/query.sql b/parser/testdata/show_tables_stmt/query.sql new file mode 100644 index 0000000000..61b3cfc260 --- /dev/null +++ b/parser/testdata/show_tables_stmt/query.sql @@ -0,0 +1 @@ +SHOW TABLES diff --git a/parser/testdata/simple_select/query.sql b/parser/testdata/simple_select/query.sql new file mode 100644 index 0000000000..2e3761f7a2 --- /dev/null +++ b/parser/testdata/simple_select/query.sql @@ -0,0 +1 @@ +SELECT 1 diff --git a/parser/testdata/siphash64/query.sql b/parser/testdata/siphash64/query.sql new file mode 100644 index 0000000000..edb8b572f9 --- /dev/null +++ b/parser/testdata/siphash64/query.sql @@ -0,0 +1 @@ +SELECT sipHash64('hello') diff --git a/parser/testdata/sleep/query.sql b/parser/testdata/sleep/query.sql new file mode 100644 index 0000000000..7a0e877f0e --- /dev/null +++ b/parser/testdata/sleep/query.sql @@ -0,0 +1 @@ +SELECT sleep(0.001) diff --git a/parser/testdata/splitbychar/query.sql b/parser/testdata/splitbychar/query.sql new file mode 100644 index 0000000000..4b894cbb7e --- /dev/null +++ b/parser/testdata/splitbychar/query.sql @@ -0,0 +1 @@ +SELECT splitByChar(',', 'a,b,c') diff --git a/parser/testdata/splitbystring/query.sql b/parser/testdata/splitbystring/query.sql new file mode 100644 index 0000000000..2c8a5c8986 --- /dev/null +++ b/parser/testdata/splitbystring/query.sql @@ -0,0 +1 @@ +SELECT splitByString(',,', 'a,,b,,c') diff --git a/parser/testdata/start_fetches/metadata.json b/parser/testdata/start_fetches/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/start_fetches/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/start_fetches/query.sql b/parser/testdata/start_fetches/query.sql new file mode 100644 index 0000000000..38b44c629f --- /dev/null +++ b/parser/testdata/start_fetches/query.sql @@ -0,0 +1 @@ +SYSTEM START FETCHES diff --git a/parser/testdata/start_merges/metadata.json b/parser/testdata/start_merges/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/start_merges/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/start_merges/query.sql b/parser/testdata/start_merges/query.sql new file mode 100644 index 0000000000..f3756d6143 --- /dev/null +++ b/parser/testdata/start_merges/query.sql @@ -0,0 +1 @@ +SYSTEM START MERGES diff --git a/parser/testdata/start_moves/metadata.json b/parser/testdata/start_moves/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/start_moves/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/start_moves/query.sql b/parser/testdata/start_moves/query.sql new file mode 100644 index 0000000000..762d7c0b30 --- /dev/null +++ b/parser/testdata/start_moves/query.sql @@ -0,0 +1 @@ +SYSTEM START MOVES diff --git a/parser/testdata/start_replication_queues/metadata.json b/parser/testdata/start_replication_queues/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/start_replication_queues/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/start_replication_queues/query.sql b/parser/testdata/start_replication_queues/query.sql new file mode 100644 index 0000000000..5bbbb1b1b9 --- /dev/null +++ b/parser/testdata/start_replication_queues/query.sql @@ -0,0 +1 @@ +SYSTEM START REPLICATION QUEUES diff --git a/parser/testdata/start_ttl_merges/metadata.json b/parser/testdata/start_ttl_merges/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/start_ttl_merges/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/start_ttl_merges/query.sql b/parser/testdata/start_ttl_merges/query.sql new file mode 100644 index 0000000000..465d46f6f5 --- /dev/null +++ b/parser/testdata/start_ttl_merges/query.sql @@ -0,0 +1 @@ +SYSTEM START TTL MERGES diff --git a/parser/testdata/stop_fetches/metadata.json b/parser/testdata/stop_fetches/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/stop_fetches/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/stop_fetches/query.sql b/parser/testdata/stop_fetches/query.sql new file mode 100644 index 0000000000..04ca98a754 --- /dev/null +++ b/parser/testdata/stop_fetches/query.sql @@ -0,0 +1 @@ +SYSTEM STOP FETCHES diff --git a/parser/testdata/stop_merges/metadata.json b/parser/testdata/stop_merges/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/stop_merges/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/stop_merges/query.sql b/parser/testdata/stop_merges/query.sql new file mode 100644 index 0000000000..dc59ce71bb --- /dev/null +++ b/parser/testdata/stop_merges/query.sql @@ -0,0 +1 @@ +SYSTEM STOP MERGES diff --git a/parser/testdata/stop_moves/metadata.json b/parser/testdata/stop_moves/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/stop_moves/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/stop_moves/query.sql b/parser/testdata/stop_moves/query.sql new file mode 100644 index 0000000000..308f9eb975 --- /dev/null +++ b/parser/testdata/stop_moves/query.sql @@ -0,0 +1 @@ +SYSTEM STOP MOVES diff --git a/parser/testdata/stop_replication_queues/metadata.json b/parser/testdata/stop_replication_queues/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/stop_replication_queues/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/stop_replication_queues/query.sql b/parser/testdata/stop_replication_queues/query.sql new file mode 100644 index 0000000000..96137a664e --- /dev/null +++ b/parser/testdata/stop_replication_queues/query.sql @@ -0,0 +1 @@ +SYSTEM STOP REPLICATION QUEUES diff --git a/parser/testdata/stop_ttl_merges/metadata.json b/parser/testdata/stop_ttl_merges/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/stop_ttl_merges/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/stop_ttl_merges/query.sql b/parser/testdata/stop_ttl_merges/query.sql new file mode 100644 index 0000000000..23ce4bc5ed --- /dev/null +++ b/parser/testdata/stop_ttl_merges/query.sql @@ -0,0 +1 @@ +SYSTEM STOP TTL MERGES diff --git a/parser/testdata/string_literal/query.sql b/parser/testdata/string_literal/query.sql new file mode 100644 index 0000000000..2370c207fd --- /dev/null +++ b/parser/testdata/string_literal/query.sql @@ -0,0 +1 @@ +SELECT 'hello' diff --git a/parser/testdata/subquery_in_from/query.sql b/parser/testdata/subquery_in_from/query.sql new file mode 100644 index 0000000000..6e9e15c712 --- /dev/null +++ b/parser/testdata/subquery_in_from/query.sql @@ -0,0 +1 @@ +SELECT * FROM (SELECT id FROM users) AS t diff --git a/parser/testdata/subquery_in_from_basic/query.sql b/parser/testdata/subquery_in_from_basic/query.sql new file mode 100644 index 0000000000..e1b16542ec --- /dev/null +++ b/parser/testdata/subquery_in_from_basic/query.sql @@ -0,0 +1 @@ +SELECT * FROM (SELECT 1) diff --git a/parser/testdata/subquery_in_from_with_alias/query.sql b/parser/testdata/subquery_in_from_with_alias/query.sql new file mode 100644 index 0000000000..b3f9b62a8c --- /dev/null +++ b/parser/testdata/subquery_in_from_with_alias/query.sql @@ -0,0 +1 @@ +SELECT * FROM (SELECT 1) AS t diff --git a/parser/testdata/subquery_in_in_clause/query.sql b/parser/testdata/subquery_in_in_clause/query.sql new file mode 100644 index 0000000000..92cf920bf7 --- /dev/null +++ b/parser/testdata/subquery_in_in_clause/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) WHERE number IN (SELECT number FROM numbers(5)) diff --git a/parser/testdata/subquery_in_not_in_clause/query.sql b/parser/testdata/subquery_in_not_in_clause/query.sql new file mode 100644 index 0000000000..fa83f64816 --- /dev/null +++ b/parser/testdata/subquery_in_not_in_clause/query.sql @@ -0,0 +1 @@ +SELECT number FROM numbers(10) WHERE number NOT IN (SELECT number FROM numbers(5)) diff --git a/parser/testdata/subquery_in_where/query.sql b/parser/testdata/subquery_in_where/query.sql new file mode 100644 index 0000000000..8390e3d41d --- /dev/null +++ b/parser/testdata/subquery_in_where/query.sql @@ -0,0 +1 @@ +SELECT * FROM users WHERE id IN (SELECT user_id FROM orders) diff --git a/parser/testdata/subquery_with_where/query.sql b/parser/testdata/subquery_with_where/query.sql new file mode 100644 index 0000000000..98851012b4 --- /dev/null +++ b/parser/testdata/subquery_with_where/query.sql @@ -0,0 +1 @@ +SELECT * FROM (SELECT number AS x FROM numbers(10)) WHERE x > 5 diff --git a/parser/testdata/substring/query.sql b/parser/testdata/substring/query.sql new file mode 100644 index 0000000000..74294292f2 --- /dev/null +++ b/parser/testdata/substring/query.sql @@ -0,0 +1 @@ +SELECT substring('hello', 1, 3) diff --git a/parser/testdata/subtractdays/query.sql b/parser/testdata/subtractdays/query.sql new file mode 100644 index 0000000000..a039b5b115 --- /dev/null +++ b/parser/testdata/subtractdays/query.sql @@ -0,0 +1 @@ +SELECT subtractDays(toDate('2023-01-06'), 5) diff --git a/parser/testdata/sum/query.sql b/parser/testdata/sum/query.sql new file mode 100644 index 0000000000..e2902c5981 --- /dev/null +++ b/parser/testdata/sum/query.sql @@ -0,0 +1 @@ +SELECT sum(amount) FROM orders diff --git a/parser/testdata/sum_function/query.sql b/parser/testdata/sum_function/query.sql new file mode 100644 index 0000000000..5712f43db2 --- /dev/null +++ b/parser/testdata/sum_function/query.sql @@ -0,0 +1 @@ +SELECT sum(1) diff --git a/parser/testdata/sum_over_empty/query.sql b/parser/testdata/sum_over_empty/query.sql new file mode 100644 index 0000000000..0f06758e31 --- /dev/null +++ b/parser/testdata/sum_over_empty/query.sql @@ -0,0 +1 @@ +SELECT number, sum(number) OVER () FROM numbers(10) diff --git a/parser/testdata/sum_over_order_by/query.sql b/parser/testdata/sum_over_order_by/query.sql new file mode 100644 index 0000000000..abe8948aac --- /dev/null +++ b/parser/testdata/sum_over_order_by/query.sql @@ -0,0 +1 @@ +SELECT number, sum(number) OVER (ORDER BY number) FROM numbers(10) diff --git a/parser/testdata/sumif_with_lambda/query.sql b/parser/testdata/sumif_with_lambda/query.sql new file mode 100644 index 0000000000..c81854d6b7 --- /dev/null +++ b/parser/testdata/sumif_with_lambda/query.sql @@ -0,0 +1 @@ +SELECT sumIf(number, number > 5) FROM numbers(10) diff --git a/parser/testdata/summerge_uniqmerge/metadata.json b/parser/testdata/summerge_uniqmerge/metadata.json new file mode 100644 index 0000000000..a708465fe7 --- /dev/null +++ b/parser/testdata/summerge_uniqmerge/metadata.json @@ -0,0 +1 @@ +{"source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00040_aggregating_materialized_view.sql"} diff --git a/parser/testdata/summerge_uniqmerge/query.sql b/parser/testdata/summerge_uniqmerge/query.sql new file mode 100644 index 0000000000..801fe41eda --- /dev/null +++ b/parser/testdata/summerge_uniqmerge/query.sql @@ -0,0 +1 @@ +SELECT StartDate, sumMerge(Visits) AS Visits, uniqMerge(Users) AS Users FROM basic_mv GROUP BY StartDate ORDER BY StartDate diff --git a/parser/testdata/sync_replica/metadata.json b/parser/testdata/sync_replica/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/sync_replica/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/sync_replica/query.sql b/parser/testdata/sync_replica/query.sql new file mode 100644 index 0000000000..30d67e32ae --- /dev/null +++ b/parser/testdata/sync_replica/query.sql @@ -0,0 +1 @@ +SYSTEM SYNC REPLICA system.one diff --git a/parser/testdata/todate/query.sql b/parser/testdata/todate/query.sql new file mode 100644 index 0000000000..e1fb9c2bb3 --- /dev/null +++ b/parser/testdata/todate/query.sql @@ -0,0 +1 @@ +SELECT toDate('2023-01-01') diff --git a/parser/testdata/todatetime/query.sql b/parser/testdata/todatetime/query.sql new file mode 100644 index 0000000000..eb9a7d7d9b --- /dev/null +++ b/parser/testdata/todatetime/query.sql @@ -0,0 +1 @@ +SELECT toDateTime('2023-01-01 12:00:00') diff --git a/parser/testdata/todatetime64/query.sql b/parser/testdata/todatetime64/query.sql new file mode 100644 index 0000000000..66fb5c0daa --- /dev/null +++ b/parser/testdata/todatetime64/query.sql @@ -0,0 +1 @@ +SELECT toDateTime64('2023-01-01 12:00:00.123', 3) diff --git a/parser/testdata/today/query.sql b/parser/testdata/today/query.sql new file mode 100644 index 0000000000..a6b087c712 --- /dev/null +++ b/parser/testdata/today/query.sql @@ -0,0 +1 @@ +SELECT today() diff --git a/parser/testdata/todayofmonth/query.sql b/parser/testdata/todayofmonth/query.sql new file mode 100644 index 0000000000..1edbfe374d --- /dev/null +++ b/parser/testdata/todayofmonth/query.sql @@ -0,0 +1 @@ +SELECT toDayOfMonth(now()) diff --git a/parser/testdata/todayofweek/query.sql b/parser/testdata/todayofweek/query.sql new file mode 100644 index 0000000000..7dc578a041 --- /dev/null +++ b/parser/testdata/todayofweek/query.sql @@ -0,0 +1 @@ +SELECT toDayOfWeek(now()) diff --git a/parser/testdata/todecimal32/query.sql b/parser/testdata/todecimal32/query.sql new file mode 100644 index 0000000000..214d3ef9f1 --- /dev/null +++ b/parser/testdata/todecimal32/query.sql @@ -0,0 +1 @@ +SELECT toDecimal32(123.456, 2) diff --git a/parser/testdata/todecimal64/query.sql b/parser/testdata/todecimal64/query.sql new file mode 100644 index 0000000000..96218d8286 --- /dev/null +++ b/parser/testdata/todecimal64/query.sql @@ -0,0 +1 @@ +SELECT toDecimal64(123.456, 2) diff --git a/parser/testdata/tofixedstring/query.sql b/parser/testdata/tofixedstring/query.sql new file mode 100644 index 0000000000..33103ce34e --- /dev/null +++ b/parser/testdata/tofixedstring/query.sql @@ -0,0 +1 @@ +SELECT toFixedString('hello', 10) diff --git a/parser/testdata/tofloat32/query.sql b/parser/testdata/tofloat32/query.sql new file mode 100644 index 0000000000..4736e0f02b --- /dev/null +++ b/parser/testdata/tofloat32/query.sql @@ -0,0 +1 @@ +SELECT toFloat32(123.456) diff --git a/parser/testdata/tofloat64/query.sql b/parser/testdata/tofloat64/query.sql new file mode 100644 index 0000000000..fdad261b8e --- /dev/null +++ b/parser/testdata/tofloat64/query.sql @@ -0,0 +1 @@ +SELECT toFloat64(123.456) diff --git a/parser/testdata/tohour/query.sql b/parser/testdata/tohour/query.sql new file mode 100644 index 0000000000..447e9af550 --- /dev/null +++ b/parser/testdata/tohour/query.sql @@ -0,0 +1 @@ +SELECT toHour(now()) diff --git a/parser/testdata/toint16/query.sql b/parser/testdata/toint16/query.sql new file mode 100644 index 0000000000..a871427b74 --- /dev/null +++ b/parser/testdata/toint16/query.sql @@ -0,0 +1 @@ +SELECT toInt16(123) diff --git a/parser/testdata/toint32/query.sql b/parser/testdata/toint32/query.sql new file mode 100644 index 0000000000..389c7f39e9 --- /dev/null +++ b/parser/testdata/toint32/query.sql @@ -0,0 +1 @@ +SELECT toInt32(123) diff --git a/parser/testdata/toint64/query.sql b/parser/testdata/toint64/query.sql new file mode 100644 index 0000000000..1eb002042c --- /dev/null +++ b/parser/testdata/toint64/query.sql @@ -0,0 +1 @@ +SELECT toInt64(123) diff --git a/parser/testdata/toint8/query.sql b/parser/testdata/toint8/query.sql new file mode 100644 index 0000000000..6c3d072cdf --- /dev/null +++ b/parser/testdata/toint8/query.sql @@ -0,0 +1 @@ +SELECT toInt8(123) diff --git a/parser/testdata/tointervalday/query.sql b/parser/testdata/tointervalday/query.sql new file mode 100644 index 0000000000..976626691a --- /dev/null +++ b/parser/testdata/tointervalday/query.sql @@ -0,0 +1 @@ +SELECT toIntervalDay(1) diff --git a/parser/testdata/tointervalmonth/query.sql b/parser/testdata/tointervalmonth/query.sql new file mode 100644 index 0000000000..85da35606a --- /dev/null +++ b/parser/testdata/tointervalmonth/query.sql @@ -0,0 +1 @@ +SELECT toIntervalMonth(1) diff --git a/parser/testdata/toipv4/query.sql b/parser/testdata/toipv4/query.sql new file mode 100644 index 0000000000..bfb7f9304d --- /dev/null +++ b/parser/testdata/toipv4/query.sql @@ -0,0 +1 @@ +SELECT toIPv4('192.168.1.1') diff --git a/parser/testdata/toipv6/query.sql b/parser/testdata/toipv6/query.sql new file mode 100644 index 0000000000..fb2caee258 --- /dev/null +++ b/parser/testdata/toipv6/query.sql @@ -0,0 +1 @@ +SELECT toIPv6('::1') diff --git a/parser/testdata/tominute/query.sql b/parser/testdata/tominute/query.sql new file mode 100644 index 0000000000..3e9775a8f5 --- /dev/null +++ b/parser/testdata/tominute/query.sql @@ -0,0 +1 @@ +SELECT toMinute(now()) diff --git a/parser/testdata/tomonday/query.sql b/parser/testdata/tomonday/query.sql new file mode 100644 index 0000000000..90bb7c2df6 --- /dev/null +++ b/parser/testdata/tomonday/query.sql @@ -0,0 +1 @@ +SELECT toMonday(now()) diff --git a/parser/testdata/tomonth/query.sql b/parser/testdata/tomonth/query.sql new file mode 100644 index 0000000000..f7b82df134 --- /dev/null +++ b/parser/testdata/tomonth/query.sql @@ -0,0 +1 @@ +SELECT toMonth(now()) diff --git a/parser/testdata/tonullable/query.sql b/parser/testdata/tonullable/query.sql new file mode 100644 index 0000000000..6716c738c2 --- /dev/null +++ b/parser/testdata/tonullable/query.sql @@ -0,0 +1 @@ +SELECT toNullable(1) diff --git a/parser/testdata/topk_parametric/metadata.json b/parser/testdata/topk_parametric/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/topk_parametric/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/topk_parametric/query.sql b/parser/testdata/topk_parametric/query.sql new file mode 100644 index 0000000000..6ab67013e3 --- /dev/null +++ b/parser/testdata/topk_parametric/query.sql @@ -0,0 +1 @@ +SELECT topK(5)(number) FROM numbers(100) diff --git a/parser/testdata/topleveldomain/query.sql b/parser/testdata/topleveldomain/query.sql new file mode 100644 index 0000000000..85b884b2f6 --- /dev/null +++ b/parser/testdata/topleveldomain/query.sql @@ -0,0 +1 @@ +SELECT topLevelDomain('https://example.com') diff --git a/parser/testdata/tosecond/query.sql b/parser/testdata/tosecond/query.sql new file mode 100644 index 0000000000..9a6de35532 --- /dev/null +++ b/parser/testdata/tosecond/query.sql @@ -0,0 +1 @@ +SELECT toSecond(now()) diff --git a/parser/testdata/tostartofday/query.sql b/parser/testdata/tostartofday/query.sql new file mode 100644 index 0000000000..c18b6b9bf8 --- /dev/null +++ b/parser/testdata/tostartofday/query.sql @@ -0,0 +1 @@ +SELECT toStartOfDay(now()) diff --git a/parser/testdata/tostartofhour/query.sql b/parser/testdata/tostartofhour/query.sql new file mode 100644 index 0000000000..45f8c800a6 --- /dev/null +++ b/parser/testdata/tostartofhour/query.sql @@ -0,0 +1 @@ +SELECT toStartOfHour(now()) diff --git a/parser/testdata/tostartofminute/query.sql b/parser/testdata/tostartofminute/query.sql new file mode 100644 index 0000000000..4d3c8d226b --- /dev/null +++ b/parser/testdata/tostartofminute/query.sql @@ -0,0 +1 @@ +SELECT toStartOfMinute(now()) diff --git a/parser/testdata/tostartofmonth/query.sql b/parser/testdata/tostartofmonth/query.sql new file mode 100644 index 0000000000..75715140a0 --- /dev/null +++ b/parser/testdata/tostartofmonth/query.sql @@ -0,0 +1 @@ +SELECT toStartOfMonth(now()) diff --git a/parser/testdata/tostartofweek/query.sql b/parser/testdata/tostartofweek/query.sql new file mode 100644 index 0000000000..1a68551a9b --- /dev/null +++ b/parser/testdata/tostartofweek/query.sql @@ -0,0 +1 @@ +SELECT toStartOfWeek(now()) diff --git a/parser/testdata/tostartofyear/query.sql b/parser/testdata/tostartofyear/query.sql new file mode 100644 index 0000000000..331c6df00d --- /dev/null +++ b/parser/testdata/tostartofyear/query.sql @@ -0,0 +1 @@ +SELECT toStartOfYear(now()) diff --git a/parser/testdata/tostring/query.sql b/parser/testdata/tostring/query.sql new file mode 100644 index 0000000000..ea51cb4e65 --- /dev/null +++ b/parser/testdata/tostring/query.sql @@ -0,0 +1 @@ +SELECT toString(123) diff --git a/parser/testdata/tostring_conversion/query.sql b/parser/testdata/tostring_conversion/query.sql new file mode 100644 index 0000000000..ea51cb4e65 --- /dev/null +++ b/parser/testdata/tostring_conversion/query.sql @@ -0,0 +1 @@ +SELECT toString(123) diff --git a/parser/testdata/totypename_array/query.sql b/parser/testdata/totypename_array/query.sql new file mode 100644 index 0000000000..fae4159326 --- /dev/null +++ b/parser/testdata/totypename_array/query.sql @@ -0,0 +1 @@ +SELECT toTypeName([1, 2, 3]) diff --git a/parser/testdata/totypename_int/query.sql b/parser/testdata/totypename_int/query.sql new file mode 100644 index 0000000000..56bd9b0f5e --- /dev/null +++ b/parser/testdata/totypename_int/query.sql @@ -0,0 +1 @@ +SELECT toTypeName(1) diff --git a/parser/testdata/totypename_string/query.sql b/parser/testdata/totypename_string/query.sql new file mode 100644 index 0000000000..548162f636 --- /dev/null +++ b/parser/testdata/totypename_string/query.sql @@ -0,0 +1 @@ +SELECT toTypeName('hello') diff --git a/parser/testdata/touint16/query.sql b/parser/testdata/touint16/query.sql new file mode 100644 index 0000000000..cadca134dc --- /dev/null +++ b/parser/testdata/touint16/query.sql @@ -0,0 +1 @@ +SELECT toUInt16(123) diff --git a/parser/testdata/touint32/query.sql b/parser/testdata/touint32/query.sql new file mode 100644 index 0000000000..0f63b73f1d --- /dev/null +++ b/parser/testdata/touint32/query.sql @@ -0,0 +1 @@ +SELECT toUInt32(123) diff --git a/parser/testdata/touint64/query.sql b/parser/testdata/touint64/query.sql new file mode 100644 index 0000000000..3d16bcfa0b --- /dev/null +++ b/parser/testdata/touint64/query.sql @@ -0,0 +1 @@ +SELECT toUInt64(123) diff --git a/parser/testdata/touint8/query.sql b/parser/testdata/touint8/query.sql new file mode 100644 index 0000000000..1f184b4569 --- /dev/null +++ b/parser/testdata/touint8/query.sql @@ -0,0 +1 @@ +SELECT toUInt8(123) diff --git a/parser/testdata/tounixtimestamp/query.sql b/parser/testdata/tounixtimestamp/query.sql new file mode 100644 index 0000000000..1c3d785d21 --- /dev/null +++ b/parser/testdata/tounixtimestamp/query.sql @@ -0,0 +1 @@ +SELECT toUnixTimestamp(now()) diff --git a/parser/testdata/touuid/query.sql b/parser/testdata/touuid/query.sql new file mode 100644 index 0000000000..6a7865c689 --- /dev/null +++ b/parser/testdata/touuid/query.sql @@ -0,0 +1 @@ +SELECT toUUID('00000000-0000-0000-0000-000000000000') diff --git a/parser/testdata/toyear/query.sql b/parser/testdata/toyear/query.sql new file mode 100644 index 0000000000..b8de800bfa --- /dev/null +++ b/parser/testdata/toyear/query.sql @@ -0,0 +1 @@ +SELECT toYear(now()) diff --git a/parser/testdata/transform_function/query.sql b/parser/testdata/transform_function/query.sql new file mode 100644 index 0000000000..86db34be55 --- /dev/null +++ b/parser/testdata/transform_function/query.sql @@ -0,0 +1 @@ +SELECT transform(1, [1, 2], [10, 20], 0) diff --git a/parser/testdata/trim/query.sql b/parser/testdata/trim/query.sql new file mode 100644 index 0000000000..2258205b74 --- /dev/null +++ b/parser/testdata/trim/query.sql @@ -0,0 +1 @@ +SELECT trim(' hello ') diff --git a/parser/testdata/truncate_table/query.sql b/parser/testdata/truncate_table/query.sql new file mode 100644 index 0000000000..5a7a8e815c --- /dev/null +++ b/parser/testdata/truncate_table/query.sql @@ -0,0 +1 @@ +TRUNCATE TABLE test diff --git a/parser/testdata/truncate_table_ddl/query.sql b/parser/testdata/truncate_table_ddl/query.sql new file mode 100644 index 0000000000..b34cabed60 --- /dev/null +++ b/parser/testdata/truncate_table_ddl/query.sql @@ -0,0 +1 @@ +TRUNCATE TABLE test_table diff --git a/parser/testdata/tuple_element_dot/metadata.json b/parser/testdata/tuple_element_dot/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/tuple_element_dot/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/tuple_element_dot/query.sql b/parser/testdata/tuple_element_dot/query.sql new file mode 100644 index 0000000000..151a93d4e0 --- /dev/null +++ b/parser/testdata/tuple_element_dot/query.sql @@ -0,0 +1 @@ +SELECT tuple(1, 2, 3).1 diff --git a/parser/testdata/tuple_element_subscript/query.sql b/parser/testdata/tuple_element_subscript/query.sql new file mode 100644 index 0000000000..07e4269c7d --- /dev/null +++ b/parser/testdata/tuple_element_subscript/query.sql @@ -0,0 +1 @@ +SELECT tuple(1, 2, 3)[1] diff --git a/parser/testdata/tuple_function/query.sql b/parser/testdata/tuple_function/query.sql new file mode 100644 index 0000000000..aa9a7eed18 --- /dev/null +++ b/parser/testdata/tuple_function/query.sql @@ -0,0 +1 @@ +SELECT tuple(1, 2, 3) diff --git a/parser/testdata/tuple_literal/query.sql b/parser/testdata/tuple_literal/query.sql new file mode 100644 index 0000000000..eef3dd192b --- /dev/null +++ b/parser/testdata/tuple_literal/query.sql @@ -0,0 +1 @@ +SELECT (1, 'a') diff --git a/parser/testdata/unary_minus/query.sql b/parser/testdata/unary_minus/query.sql new file mode 100644 index 0000000000..d281bcacce --- /dev/null +++ b/parser/testdata/unary_minus/query.sql @@ -0,0 +1 @@ +SELECT -5 diff --git a/parser/testdata/unhex/query.sql b/parser/testdata/unhex/query.sql new file mode 100644 index 0000000000..2b2b8fc01c --- /dev/null +++ b/parser/testdata/unhex/query.sql @@ -0,0 +1 @@ +SELECT unhex('68656C6C6F') diff --git a/parser/testdata/union_all/query.sql b/parser/testdata/union_all/query.sql new file mode 100644 index 0000000000..7679fc93b1 --- /dev/null +++ b/parser/testdata/union_all/query.sql @@ -0,0 +1 @@ +SELECT 1 UNION ALL SELECT 2 diff --git a/parser/testdata/union_distinct/metadata.json b/parser/testdata/union_distinct/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/union_distinct/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/union_distinct/query.sql b/parser/testdata/union_distinct/query.sql new file mode 100644 index 0000000000..d17eac58fd --- /dev/null +++ b/parser/testdata/union_distinct/query.sql @@ -0,0 +1 @@ +SELECT 1 UNION DISTINCT SELECT 1 diff --git a/parser/testdata/uniq_sum_aggregate/metadata.json b/parser/testdata/uniq_sum_aggregate/metadata.json new file mode 100644 index 0000000000..0d340de78e --- /dev/null +++ b/parser/testdata/uniq_sum_aggregate/metadata.json @@ -0,0 +1 @@ +{"todo": true, "source": "https://github.com/ClickHouse/ClickHouse/blob/master/tests/queries/0_stateless/00021_1_select_with_in.sql"} diff --git a/parser/testdata/uniq_sum_aggregate/query.sql b/parser/testdata/uniq_sum_aggregate/query.sql new file mode 100644 index 0000000000..45acc1cca3 --- /dev/null +++ b/parser/testdata/uniq_sum_aggregate/query.sql @@ -0,0 +1 @@ +SELECT uniq(UserID), sum(Sign) FROM test.visits WHERE CounterID = 942285 diff --git a/parser/testdata/upper/query.sql b/parser/testdata/upper/query.sql new file mode 100644 index 0000000000..d266e0c361 --- /dev/null +++ b/parser/testdata/upper/query.sql @@ -0,0 +1 @@ +SELECT upper('hello') diff --git a/parser/testdata/uptime/query.sql b/parser/testdata/uptime/query.sql new file mode 100644 index 0000000000..ddc5d47ec7 --- /dev/null +++ b/parser/testdata/uptime/query.sql @@ -0,0 +1 @@ +SELECT uptime() diff --git a/parser/testdata/use_database/query.sql b/parser/testdata/use_database/query.sql new file mode 100644 index 0000000000..9de251f876 --- /dev/null +++ b/parser/testdata/use_database/query.sql @@ -0,0 +1 @@ +USE mydb diff --git a/parser/testdata/use_default/metadata.json b/parser/testdata/use_default/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/use_default/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/use_default/query.sql b/parser/testdata/use_default/query.sql new file mode 100644 index 0000000000..4d9d91aa29 --- /dev/null +++ b/parser/testdata/use_default/query.sql @@ -0,0 +1 @@ +USE default diff --git a/parser/testdata/use_system/query.sql b/parser/testdata/use_system/query.sql new file mode 100644 index 0000000000..85fd916022 --- /dev/null +++ b/parser/testdata/use_system/query.sql @@ -0,0 +1 @@ +USE system diff --git a/parser/testdata/uuidnumtostring/query.sql b/parser/testdata/uuidnumtostring/query.sql new file mode 100644 index 0000000000..3c8686abe4 --- /dev/null +++ b/parser/testdata/uuidnumtostring/query.sql @@ -0,0 +1 @@ +SELECT UUIDNumToString(toFixedString('0000000000000000', 16)) diff --git a/parser/testdata/uuidstringtonum/query.sql b/parser/testdata/uuidstringtonum/query.sql new file mode 100644 index 0000000000..0e9ac1ae92 --- /dev/null +++ b/parser/testdata/uuidstringtonum/query.sql @@ -0,0 +1 @@ +SELECT UUIDStringToNum('00000000-0000-0000-0000-000000000000') diff --git a/parser/testdata/version/query.sql b/parser/testdata/version/query.sql new file mode 100644 index 0000000000..f9962e2e94 --- /dev/null +++ b/parser/testdata/version/query.sql @@ -0,0 +1 @@ +SELECT version() diff --git a/parser/testdata/where_and_condition/query.sql b/parser/testdata/where_and_condition/query.sql new file mode 100644 index 0000000000..cdc17fe963 --- /dev/null +++ b/parser/testdata/where_and_condition/query.sql @@ -0,0 +1 @@ +SELECT 1 WHERE 1 > 0 AND 2 < 3 diff --git a/parser/testdata/where_between/query.sql b/parser/testdata/where_between/query.sql new file mode 100644 index 0000000000..906143c2f1 --- /dev/null +++ b/parser/testdata/where_between/query.sql @@ -0,0 +1 @@ +SELECT 1 WHERE 1 BETWEEN 0 AND 10 diff --git a/parser/testdata/where_equality/query.sql b/parser/testdata/where_equality/query.sql new file mode 100644 index 0000000000..9599194b72 --- /dev/null +++ b/parser/testdata/where_equality/query.sql @@ -0,0 +1 @@ +SELECT 1 WHERE 1 = 1 diff --git a/parser/testdata/where_in_list/query.sql b/parser/testdata/where_in_list/query.sql new file mode 100644 index 0000000000..b1360d92fb --- /dev/null +++ b/parser/testdata/where_in_list/query.sql @@ -0,0 +1 @@ +SELECT 1 WHERE 1 IN (1, 2, 3) diff --git a/parser/testdata/where_is_not_null/query.sql b/parser/testdata/where_is_not_null/query.sql new file mode 100644 index 0000000000..90ff7c4fbd --- /dev/null +++ b/parser/testdata/where_is_not_null/query.sql @@ -0,0 +1 @@ +SELECT 1 WHERE 1 IS NOT NULL diff --git a/parser/testdata/where_is_null/query.sql b/parser/testdata/where_is_null/query.sql new file mode 100644 index 0000000000..27f6cda668 --- /dev/null +++ b/parser/testdata/where_is_null/query.sql @@ -0,0 +1 @@ +SELECT 1 WHERE NULL IS NULL diff --git a/parser/testdata/window_frame_rows/query.sql b/parser/testdata/window_frame_rows/query.sql new file mode 100644 index 0000000000..6db5be2ba7 --- /dev/null +++ b/parser/testdata/window_frame_rows/query.sql @@ -0,0 +1 @@ +SELECT number, avg(number) OVER (ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM numbers(10) diff --git a/parser/testdata/with_scalar/metadata.json b/parser/testdata/with_scalar/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/with_scalar/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/with_scalar/query.sql b/parser/testdata/with_scalar/query.sql new file mode 100644 index 0000000000..5415e0bc52 --- /dev/null +++ b/parser/testdata/with_scalar/query.sql @@ -0,0 +1 @@ +WITH 1 AS x SELECT x diff --git a/parser/testdata/with_subquery_cte/metadata.json b/parser/testdata/with_subquery_cte/metadata.json new file mode 100644 index 0000000000..ef120d978e --- /dev/null +++ b/parser/testdata/with_subquery_cte/metadata.json @@ -0,0 +1 @@ +{"todo": true} diff --git a/parser/testdata/with_subquery_cte/query.sql b/parser/testdata/with_subquery_cte/query.sql new file mode 100644 index 0000000000..a803de93b0 --- /dev/null +++ b/parser/testdata/with_subquery_cte/query.sql @@ -0,0 +1 @@ +WITH x AS (SELECT 1) SELECT * FROM x diff --git a/parser/testdata/xxhash32/query.sql b/parser/testdata/xxhash32/query.sql new file mode 100644 index 0000000000..b1cd819040 --- /dev/null +++ b/parser/testdata/xxhash32/query.sql @@ -0,0 +1 @@ +SELECT xxHash32('hello') diff --git a/parser/testdata/xxhash64/query.sql b/parser/testdata/xxhash64/query.sql new file mode 100644 index 0000000000..b6fb81d0f4 --- /dev/null +++ b/parser/testdata/xxhash64/query.sql @@ -0,0 +1 @@ +SELECT xxHash64('hello') diff --git a/parser/testdata/yesterday/query.sql b/parser/testdata/yesterday/query.sql new file mode 100644 index 0000000000..4aa7c55a50 --- /dev/null +++ b/parser/testdata/yesterday/query.sql @@ -0,0 +1 @@ +SELECT yesterday()