| 561 | } |
| 562 | |
| 563 | func TestIsDDL(t *testing.T) { |
| 564 | tests := []struct { |
| 565 | name string |
| 566 | query string |
| 567 | expected bool |
| 568 | }{ |
| 569 | { |
| 570 | name: "CREATE TABLE", |
| 571 | query: "CREATE TABLE test (id INT64, name STRING(100))", |
| 572 | expected: true, |
| 573 | }, |
| 574 | { |
| 575 | name: "DROP TABLE", |
| 576 | query: "DROP TABLE test", |
| 577 | expected: true, |
| 578 | }, |
| 579 | { |
| 580 | name: "ALTER TABLE", |
| 581 | query: "ALTER TABLE test ADD COLUMN age INT64", |
| 582 | expected: true, |
| 583 | }, |
| 584 | { |
| 585 | name: "CREATE INDEX", |
| 586 | query: "CREATE INDEX idx_name ON test(name)", |
| 587 | expected: true, |
| 588 | }, |
| 589 | { |
| 590 | name: "DROP INDEX", |
| 591 | query: "DROP INDEX idx_name", |
| 592 | expected: true, |
| 593 | }, |
| 594 | { |
| 595 | name: "ALTER lowercase", |
| 596 | query: "alter table test drop column age", |
| 597 | expected: true, |
| 598 | }, |
| 599 | { |
| 600 | name: "SELECT statement", |
| 601 | query: "SELECT * FROM users", |
| 602 | expected: false, |
| 603 | }, |
| 604 | { |
| 605 | name: "INSERT statement", |
| 606 | query: "INSERT INTO test_table (id, name) VALUES (1, 'test')", |
| 607 | expected: false, |
| 608 | }, |
| 609 | { |
| 610 | name: "UPDATE statement", |
| 611 | query: "UPDATE test_table SET name = 'updated' WHERE id = 1", |
| 612 | expected: false, |
| 613 | }, |
| 614 | { |
| 615 | name: "DELETE statement", |
| 616 | query: "DELETE FROM test_table WHERE id = 1", |
| 617 | expected: false, |
| 618 | }, |
| 619 | } |
| 620 | |