Skip to content

Commit 127ff1a

Browse files
authored
Add support for SHOW WARNINGS and SELECTs without a FROM (#2227)
Like SELECT 1, 'a';
1 parent 432e676 commit 127ff1a

File tree

14 files changed

+267
-5
lines changed

14 files changed

+267
-5
lines changed

internal/compiler/output_columns.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,24 @@ func outputColumns(qc *QueryCatalog, node ast.Node) ([]*Column, error) {
102102
}
103103
switch n := res.Val.(type) {
104104

105+
case *ast.A_Const:
106+
name := ""
107+
if res.Name != nil {
108+
name = *res.Name
109+
}
110+
switch n.Val.(type) {
111+
case *ast.String:
112+
cols = append(cols, &Column{Name: name, DataType: "text", NotNull: true})
113+
case *ast.Integer:
114+
cols = append(cols, &Column{Name: name, DataType: "int", NotNull: true})
115+
case *ast.Float:
116+
cols = append(cols, &Column{Name: name, DataType: "float", NotNull: true})
117+
case *ast.Boolean:
118+
cols = append(cols, &Column{Name: name, DataType: "bool", NotNull: true})
119+
default:
120+
cols = append(cols, &Column{Name: name, DataType: "any", NotNull: false})
121+
}
122+
105123
case *ast.A_Expr:
106124
name := ""
107125
if res.Name != nil {

internal/endtoend/testdata/diff_no_output/go/query.sql.go

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/diff_output/stderr.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@
4646
+SELECT 1
4747
+`
4848
+
49-
+func (q *Queries) SelectOne(ctx context.Context) (interface{}, error) {
49+
+func (q *Queries) SelectOne(ctx context.Context) (int32, error) {
5050
+ row := q.db.QueryRowContext(ctx, selectOne)
51-
+ var column_1 interface{}
51+
+ var column_1 int32
5252
+ err := row.Scan(&column_1)
5353
+ return column_1, err
5454
+}

internal/endtoend/testdata/selectstatic/mysql/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/selectstatic/mysql/go/models.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/selectstatic/mysql/go/query.sql.go

Lines changed: 35 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- name: SelectStatic :one
2+
SELECT 'a', 'b' AS b, 1 AS num, true AS truefield, 1.0 AS floater
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"sql_package": "database/sql",
7+
"engine": "mysql",
8+
"name": "querytest",
9+
"schema": "query.sql",
10+
"queries": "query.sql"
11+
}
12+
]
13+
}

internal/endtoend/testdata/show_warnings/mysql/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/show_warnings/mysql/go/models.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)