Skip to content

Commit c852bb2

Browse files
authored
Merge pull request #25 from akito0107/fix-typo
fix: typo and delete selection
2 parents 8594e28 + e84c582 commit c852bb2

7 files changed

Lines changed: 90 additions & 87 deletions

File tree

astutil/rewrite.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,9 @@ func (a *application) apply(parent sqlast.Node, name string, iter *iterator, n s
333333
a.apply(n, "Selection", nil, n.Selection)
334334
case *sqlast.DeleteStmt:
335335
a.apply(n, "TableName", nil, n.TableName)
336-
a.apply(n, "Selection", nil, n.Selection)
336+
if n.Selection != nil {
337+
a.apply(n, "Selection", nil, n.Selection)
338+
}
337339
case *sqlast.CreateViewStmt:
338340
a.apply(n, "Name", nil, n.Name)
339341
a.apply(n, "Query", nil, n.Query)

parser_test.go

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func TestParser_ParseStatement(t *testing.T) {
4040
},
4141
FromClause: []sqlast.TableReference{
4242
&sqlast.Table{
43-
Name: sqlast.NewSQLObjectName("test_table"),
43+
Name: sqlast.NewObjectName("test_table"),
4444
},
4545
},
4646
},
@@ -58,7 +58,7 @@ func TestParser_ParseStatement(t *testing.T) {
5858
},
5959
FromClause: []sqlast.TableReference{
6060
&sqlast.Table{
61-
Name: sqlast.NewSQLObjectName("test_table"),
61+
Name: sqlast.NewObjectName("test_table"),
6262
},
6363
},
6464
WhereClause: &sqlast.BinaryExpr{
@@ -79,7 +79,7 @@ func TestParser_ParseStatement(t *testing.T) {
7979
Projection: []sqlast.SQLSelectItem{
8080
&sqlast.AliasSelectItem{
8181
Expr: &sqlast.Function{
82-
Name: sqlast.NewSQLObjectName("COUNT"),
82+
Name: sqlast.NewObjectName("COUNT"),
8383
Args: []sqlast.Node{&sqlast.CompoundIdent{
8484
Idents: []*sqlast.Ident{sqlast.NewIdent("t1"), sqlast.NewIdent("id")},
8585
}},
@@ -91,14 +91,14 @@ func TestParser_ParseStatement(t *testing.T) {
9191
&sqlast.QualifiedJoin{
9292
LeftElement: &sqlast.TableJoinElement{
9393
Ref: &sqlast.Table{
94-
Name: sqlast.NewSQLObjectName("test_table"),
94+
Name: sqlast.NewObjectName("test_table"),
9595
Alias: sqlast.NewIdent("t1"),
9696
},
9797
},
9898
Type: sqlast.LEFT,
9999
RightElement: &sqlast.TableJoinElement{
100100
Ref: &sqlast.Table{
101-
Name: sqlast.NewSQLObjectName("test_table2"),
101+
Name: sqlast.NewObjectName("test_table2"),
102102
Alias: sqlast.NewIdent("t2"),
103103
},
104104
},
@@ -126,17 +126,17 @@ func TestParser_ParseStatement(t *testing.T) {
126126
Projection: []sqlast.SQLSelectItem{
127127
&sqlast.UnnamedSelectItem{
128128
Node: &sqlast.Function{
129-
Name: sqlast.NewSQLObjectName("COUNT"),
129+
Name: sqlast.NewObjectName("COUNT"),
130130
Args: []sqlast.Node{sqlast.NewIdent("customer_id")},
131131
},
132132
},
133133
&sqlast.QualifiedWildcardSelectItem{
134-
Prefix: sqlast.NewSQLObjectName("country"),
134+
Prefix: sqlast.NewObjectName("country"),
135135
},
136136
},
137137
FromClause: []sqlast.TableReference{
138138
&sqlast.Table{
139-
Name: sqlast.NewSQLObjectName("customers"),
139+
Name: sqlast.NewObjectName("customers"),
140140
},
141141
},
142142
GroupByClause: []sqlast.Node{sqlast.NewIdent("country")},
@@ -151,7 +151,7 @@ func TestParser_ParseStatement(t *testing.T) {
151151
Projection: []sqlast.SQLSelectItem{
152152
&sqlast.UnnamedSelectItem{
153153
Node: &sqlast.Function{
154-
Name: sqlast.NewSQLObjectName("COUNT"),
154+
Name: sqlast.NewObjectName("COUNT"),
155155
Args: []sqlast.Node{sqlast.NewIdent("customer_id")},
156156
},
157157
},
@@ -161,14 +161,14 @@ func TestParser_ParseStatement(t *testing.T) {
161161
},
162162
FromClause: []sqlast.TableReference{
163163
&sqlast.Table{
164-
Name: sqlast.NewSQLObjectName("customers"),
164+
Name: sqlast.NewObjectName("customers"),
165165
},
166166
},
167167
GroupByClause: []sqlast.Node{sqlast.NewIdent("country")},
168168
HavingClause: &sqlast.BinaryExpr{
169169
Op: sqlast.Gt,
170170
Left: &sqlast.Function{
171-
Name: sqlast.NewSQLObjectName("COUNT"),
171+
Name: sqlast.NewObjectName("COUNT"),
172172
Args: []sqlast.Node{sqlast.NewIdent("customer_id")},
173173
},
174174
Right: sqlast.NewLongValue(3),
@@ -185,14 +185,14 @@ func TestParser_ParseStatement(t *testing.T) {
185185
&sqlast.AliasSelectItem{
186186
Alias: sqlast.NewIdent("product_units"),
187187
Expr: &sqlast.Function{
188-
Name: sqlast.NewSQLObjectName("SUM"),
188+
Name: sqlast.NewObjectName("SUM"),
189189
Args: []sqlast.Node{sqlast.NewIdent("quantity")},
190190
},
191191
},
192192
},
193193
FromClause: []sqlast.TableReference{
194194
&sqlast.Table{
195-
Name: sqlast.NewSQLObjectName("orders"),
195+
Name: sqlast.NewObjectName("orders"),
196196
},
197197
},
198198
WhereClause: &sqlast.InSubQuery{
@@ -204,7 +204,7 @@ func TestParser_ParseStatement(t *testing.T) {
204204
},
205205
FromClause: []sqlast.TableReference{
206206
&sqlast.Table{
207-
Name: sqlast.NewSQLObjectName("top_regions"),
207+
Name: sqlast.NewObjectName("top_regions"),
208208
},
209209
},
210210
},
@@ -237,14 +237,14 @@ func TestParser_ParseStatement(t *testing.T) {
237237
&sqlast.AliasSelectItem{
238238
Alias: sqlast.NewIdent("total_sales"),
239239
Expr: &sqlast.Function{
240-
Name: sqlast.NewSQLObjectName("SUM"),
240+
Name: sqlast.NewObjectName("SUM"),
241241
Args: []sqlast.Node{sqlast.NewIdent("amount")},
242242
},
243243
},
244244
},
245245
FromClause: []sqlast.TableReference{
246246
&sqlast.Table{
247-
Name: sqlast.NewSQLObjectName("orders"),
247+
Name: sqlast.NewObjectName("orders"),
248248
},
249249
},
250250
GroupByClause: []sqlast.Node{sqlast.NewIdent("region")},
@@ -258,14 +258,14 @@ func TestParser_ParseStatement(t *testing.T) {
258258
&sqlast.AliasSelectItem{
259259
Alias: sqlast.NewIdent("product_units"),
260260
Expr: &sqlast.Function{
261-
Name: sqlast.NewSQLObjectName("SUM"),
261+
Name: sqlast.NewObjectName("SUM"),
262262
Args: []sqlast.Node{sqlast.NewIdent("quantity")},
263263
},
264264
},
265265
},
266266
FromClause: []sqlast.TableReference{
267267
&sqlast.Table{
268-
Name: sqlast.NewSQLObjectName("orders"),
268+
Name: sqlast.NewObjectName("orders"),
269269
},
270270
},
271271
WhereClause: &sqlast.InSubQuery{
@@ -277,7 +277,7 @@ func TestParser_ParseStatement(t *testing.T) {
277277
},
278278
FromClause: []sqlast.TableReference{
279279
&sqlast.Table{
280-
Name: sqlast.NewSQLObjectName("top_regions"),
280+
Name: sqlast.NewObjectName("top_regions"),
281281
},
282282
},
283283
},
@@ -308,7 +308,7 @@ func TestParser_ParseStatement(t *testing.T) {
308308
},
309309
FromClause: []sqlast.TableReference{
310310
&sqlast.Table{
311-
Name: sqlast.NewSQLObjectName("user"),
311+
Name: sqlast.NewObjectName("user"),
312312
},
313313
},
314314
WhereClause: &sqlast.Exists{
@@ -322,7 +322,7 @@ func TestParser_ParseStatement(t *testing.T) {
322322
},
323323
FromClause: []sqlast.TableReference{
324324
&sqlast.Table{
325-
Name: sqlast.NewSQLObjectName("user_sub"),
325+
Name: sqlast.NewObjectName("user_sub"),
326326
},
327327
},
328328
WhereClause: &sqlast.BinaryExpr{
@@ -391,7 +391,7 @@ func TestParser_ParseStatement(t *testing.T) {
391391
},
392392
FromClause: []sqlast.TableReference{
393393
&sqlast.Table{
394-
Name: sqlast.NewSQLObjectName("user"),
394+
Name: sqlast.NewObjectName("user"),
395395
},
396396
},
397397
WhereClause: &sqlast.Between{
@@ -441,7 +441,7 @@ func TestParser_ParseStatement(t *testing.T) {
441441
"last_name character varying(255) NOT NULL, " +
442442
"created_at timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL)",
443443
out: &sqlast.CreateTableStmt{
444-
Name: sqlast.NewSQLObjectName("persons"),
444+
Name: sqlast.NewObjectName("persons"),
445445
Elements: []sqlast.TableElement{
446446
&sqlast.ColumnDef{
447447
Name: sqlast.NewIdent("person_id"),
@@ -502,7 +502,7 @@ func TestParser_ParseStatement(t *testing.T) {
502502
"age int NOT NULL CHECK(age > 0 AND age < 100), " +
503503
"created_at timestamp DEFAULT CURRENT_TIMESTAMP NOT NULL)",
504504
out: &sqlast.CreateTableStmt{
505-
Name: sqlast.NewSQLObjectName("persons"),
505+
Name: sqlast.NewObjectName("persons"),
506506
Elements: []sqlast.TableElement{
507507
&sqlast.ColumnDef{
508508
Name: sqlast.NewIdent("person_id"),
@@ -538,7 +538,7 @@ func TestParser_ParseStatement(t *testing.T) {
538538
},
539539
{
540540
Spec: &sqlast.ReferencesColumnSpec{
541-
TableName: sqlast.NewSQLObjectName("test"),
541+
TableName: sqlast.NewObjectName("test"),
542542
Columns: []*sqlast.Ident{sqlast.NewIdent("id1"), sqlast.NewIdent("id2")},
543543
},
544544
},
@@ -607,7 +607,7 @@ func TestParser_ParseStatement(t *testing.T) {
607607
"FOREIGN KEY(test_id) REFERENCES other_table(col1, col2)" +
608608
")",
609609
out: &sqlast.CreateTableStmt{
610-
Name: sqlast.NewSQLObjectName("persons"),
610+
Name: sqlast.NewObjectName("persons"),
611611
Elements: []sqlast.TableElement{
612612
&sqlast.ColumnDef{
613613
Name: sqlast.NewIdent("person_id"),
@@ -650,13 +650,13 @@ func TestParser_ParseStatement(t *testing.T) {
650650
name: "create view",
651651
in: "CREATE VIEW comedies AS SELECT * FROM films WHERE kind = 'Comedy'",
652652
out: &sqlast.CreateViewStmt{
653-
Name: sqlast.NewSQLObjectName("comedies"),
653+
Name: sqlast.NewObjectName("comedies"),
654654
Query: &sqlast.Query{
655655
Body: &sqlast.SQLSelect{
656656
Projection: []sqlast.SQLSelectItem{&sqlast.UnnamedSelectItem{Node: &sqlast.Wildcard{}}},
657657
FromClause: []sqlast.TableReference{
658658
&sqlast.Table{
659-
Name: sqlast.NewSQLObjectName("films"),
659+
Name: sqlast.NewObjectName("films"),
660660
},
661661
},
662662
WhereClause: &sqlast.BinaryExpr{
@@ -703,7 +703,7 @@ func TestParser_ParseStatement(t *testing.T) {
703703
in: "DELETE FROM customers WHERE customer_id = 1",
704704
name: "simple case",
705705
out: &sqlast.DeleteStmt{
706-
TableName: sqlast.NewSQLObjectName("customers"),
706+
TableName: sqlast.NewObjectName("customers"),
707707
Selection: &sqlast.BinaryExpr{
708708
Op: sqlast.Eq,
709709
Left: sqlast.NewIdent("customer_id"),
@@ -746,7 +746,7 @@ func TestParser_ParseStatement(t *testing.T) {
746746
in: "INSERT INTO customers (customer_name, contract_name) VALUES('Cardinal', 'Tom B. Erichsen')",
747747
name: "simple case",
748748
out: &sqlast.InsertStmt{
749-
TableName: sqlast.NewSQLObjectName("customers"),
749+
TableName: sqlast.NewObjectName("customers"),
750750
Columns: []*sqlast.Ident{
751751
sqlast.NewIdent("customer_name"),
752752
sqlast.NewIdent("contract_name"),
@@ -765,7 +765,7 @@ func TestParser_ParseStatement(t *testing.T) {
765765
"('Cardinal', 'Tom B. Erichsen')," +
766766
"('Cardinal', 'Tom B. Erichsen')",
767767
out: &sqlast.InsertStmt{
768-
TableName: sqlast.NewSQLObjectName("customers"),
768+
TableName: sqlast.NewObjectName("customers"),
769769
Columns: []*sqlast.Ident{
770770
sqlast.NewIdent("customer_name"),
771771
sqlast.NewIdent("contract_name"),
@@ -816,7 +816,7 @@ func TestParser_ParseStatement(t *testing.T) {
816816
{
817817
name: "add column",
818818
out: &sqlast.AlterTableStmt{
819-
TableName: sqlast.NewSQLObjectName("customers"),
819+
TableName: sqlast.NewObjectName("customers"),
820820
Action: &sqlast.AddColumnTableAction{
821821
Column: &sqlast.ColumnDef{
822822
Name: sqlast.NewIdent("email"),
@@ -832,7 +832,7 @@ func TestParser_ParseStatement(t *testing.T) {
832832
{
833833
name: "add constraint",
834834
out: &sqlast.AlterTableStmt{
835-
TableName: sqlast.NewSQLObjectName("products"),
835+
TableName: sqlast.NewObjectName("products"),
836836
Action: &sqlast.AddConstraintTableAction{
837837
Constraint: &sqlast.TableConstraint{
838838
Spec: &sqlast.ReferentialTableConstraint{
@@ -851,7 +851,7 @@ func TestParser_ParseStatement(t *testing.T) {
851851
{
852852
name: "drop constraint",
853853
out: &sqlast.AlterTableStmt{
854-
TableName: sqlast.NewSQLObjectName("products"),
854+
TableName: sqlast.NewObjectName("products"),
855855
Action: &sqlast.DropConstraintTableAction{
856856
Name: sqlast.NewIdent("fk"),
857857
Cascade: true,
@@ -863,7 +863,7 @@ func TestParser_ParseStatement(t *testing.T) {
863863
{
864864
name: "remove column",
865865
out: &sqlast.AlterTableStmt{
866-
TableName: sqlast.NewSQLObjectName("products"),
866+
TableName: sqlast.NewObjectName("products"),
867867
Action: &sqlast.RemoveColumnTableAction{
868868
Name: sqlast.NewIdent("description"),
869869
Cascade: true,
@@ -875,7 +875,7 @@ func TestParser_ParseStatement(t *testing.T) {
875875
{
876876
name: "alter column",
877877
out: &sqlast.AlterTableStmt{
878-
TableName: sqlast.NewSQLObjectName("products"),
878+
TableName: sqlast.NewObjectName("products"),
879879
Action: &sqlast.AlterColumnTableAction{
880880
ColumnName: sqlast.NewIdent("created_at"),
881881
Action: &sqlast.SetDefaultColumnAction{
@@ -889,7 +889,7 @@ func TestParser_ParseStatement(t *testing.T) {
889889
{
890890
name: "pg change type",
891891
out: &sqlast.AlterTableStmt{
892-
TableName: sqlast.NewSQLObjectName("products"),
892+
TableName: sqlast.NewObjectName("products"),
893893
Action: &sqlast.AlterColumnTableAction{
894894
ColumnName: sqlast.NewIdent("number"),
895895
Action: &sqlast.PGAlterDataTypeColumnAction{
@@ -938,7 +938,7 @@ func TestParser_ParseStatement(t *testing.T) {
938938
name: "simple case",
939939
in: "UPDATE customers SET contract_name = 'Alfred Schmidt', city = 'Frankfurt' WHERE customer_id = 1",
940940
out: &sqlast.UpdateStmt{
941-
TableName: sqlast.NewSQLObjectName("customers"),
941+
TableName: sqlast.NewObjectName("customers"),
942942
Assignments: []*sqlast.Assignment{
943943
{
944944
ID: sqlast.NewIdent("contract_name"),

sqlast/ast.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ type ObjectName struct {
200200
Idents []*Ident
201201
}
202202

203-
func NewSQLObjectName(strs ...string) *ObjectName {
203+
func NewObjectName(strs ...string) *ObjectName {
204204
idents := make([]*Ident, 0, len(strs))
205205

206206
for _, s := range strs {

0 commit comments

Comments
 (0)