MCPcopy Create free account
hub / github.com/araddon/qlbridge / TestSqlParser

Function TestSqlParser

lex/dialect_sql_parse_test.go:34–73  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

32}
33
34func TestSqlParser(t *testing.T) {
35
36 parseSqlTest(t, `## this is a comment
37 SELECT a FROM x;`)
38
39 parseSqlError(t, `SELECT a FROM x LIMIT 1 NOTAWORD;`)
40
41 parseSqlError(t, `SELECT a, tolower(b) AS b INTO newtable FROM FROM WHERE a != "hello";`)
42 parseSqlTest(t, `
43 SELECT a.language, a.template, Count(*) AS count
44 FROM
45 (Select Distinct language, template FROM content WHERE language != "en" OFFSET 1) AS a
46 Left Join users AS b
47 On b.language = a.language AND b.template = b.template
48 GROUP BY a.language, a.template`)
49 parseSqlTest(t, `
50 SELECT a FROM x WHERE a IN (select ax FROM z);
51 `)
52
53 // CREATE
54 parseSqlTest(t, `CREATE CONTINUOUSVIEW viewx AS SELECT a FROM tbl;`)
55 parseSqlError(t, `CREATE FAKEITEM viewx;`)
56 parseSqlTest(t, `CREATE OR REPLACE VIEW viewx
57 AS SELECT a, b FROM mydb.tbl
58 WITH stuff = "hello";`)
59 parseSqlTest(t, `CREATE TABLE articles
60 --comment-here
61 (
62 ID int(11) NOT NULL AUTO_INCREMENT,
63 Email char(150) NOT NULL DEFAULT '' UNIQUE COMMENT 'this-is-comment',
64 stuff varchar(150),
65 profile text,
66 PRIMARY KEY (ID),
67 visitct BIGINT,
68 CONSTRAINT emails_fk FOREIGN KEY (Email) REFERENCES Emails (Email)
69 ) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=utf8;`)
70
71 // DROP
72 parseSqlTest(t, `DROP CONTINUOUSVIEW viewx WITH stuff = "hello";`)
73}

Callers

nothing calls this directly

Calls 2

parseSqlTestFunction · 0.70
parseSqlErrorFunction · 0.70

Tested by

no test coverage detected