MCPcopy Index your code
hub / github.com/bytebase/bytebase / TestIsSelect

Function TestIsSelect

backend/plugin/db/util/statement_parser_test.go:496–561  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

494}
495
496func TestIsSelect(t *testing.T) {
497 tests := []struct {
498 name string
499 query string
500 expected bool
501 }{
502 {
503 name: "simple SELECT",
504 query: "SELECT * FROM users",
505 expected: true,
506 },
507 {
508 name: "SELECT with WHERE clause",
509 query: "SELECT id, name FROM users WHERE age > 18",
510 expected: true,
511 },
512 {
513 name: "SELECT lowercase",
514 query: "select * from users",
515 expected: true,
516 },
517 {
518 name: "CTE with SELECT (starts with WITH)",
519 query: "WITH cte AS (SELECT * FROM users) SELECT * FROM cte",
520 expected: true,
521 },
522 {
523 name: "INSERT statement",
524 query: "INSERT INTO test_table (id, name) VALUES (1, 'test')",
525 expected: false,
526 },
527 {
528 name: "UPDATE statement",
529 query: "UPDATE test_table SET name = 'updated' WHERE id = 1",
530 expected: false,
531 },
532 {
533 name: "DELETE statement",
534 query: "DELETE FROM test_table WHERE id = 1",
535 expected: false,
536 },
537 {
538 name: "CREATE TABLE",
539 query: "CREATE TABLE test (id INT64, name STRING(100))",
540 expected: false,
541 },
542 {
543 name: "DROP TABLE",
544 query: "DROP TABLE test",
545 expected: false,
546 },
547 {
548 name: "ALTER TABLE",
549 query: "ALTER TABLE test ADD COLUMN age INT64",
550 expected: false,
551 },
552 }
553

Callers

nothing calls this directly

Calls 3

IsSelectFunction · 0.85
EqualMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected