Skip to content

Commit 3ffc56a

Browse files
committed
snaps
1 parent 13ee783 commit 3ffc56a

File tree

3 files changed

+144
-114
lines changed

3 files changed

+144
-114
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
source: crates/squawk_linter/src/rules/ban_truncate_cascade.rs
3+
expression: errors
4+
---
5+
[
6+
Violation {
7+
code: BanTruncateCascade,
8+
message: "Using `CASCADE` will recursively truncate any tables that foreign key to the referenced tables! So if you had foreign keys setup as `a <- b <- c` and truncated `a`, then `b` & `c` would also be truncated!",
9+
text_range: 26..33,
10+
help: Some(
11+
"Remove the `CASCADE` and specify exactly which tables you want to truncate.",
12+
),
13+
},
14+
]

crates/squawk_parser/src/snapshots/squawk_parser__test__lock_ok.snap

Lines changed: 87 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ SOURCE_FILE
88
LOCK_STMT
99
LOCK_KW "lock"
1010
WHITESPACE " "
11-
PATH
12-
PATH_SEGMENT
13-
NAME_REF
14-
IDENT "t"
11+
TABLE_LIST
12+
PATH
13+
PATH_SEGMENT
14+
NAME_REF
15+
IDENT "t"
1516
SEMICOLON ";"
1617
WHITESPACE "\n\n"
1718
COMMENT "-- table_names"
@@ -21,37 +22,39 @@ SOURCE_FILE
2122
WHITESPACE " "
2223
TABLE_KW "table"
2324
WHITESPACE " "
24-
PATH
25-
PATH_SEGMENT
26-
NAME_REF
27-
IDENT "t"
28-
COMMA ","
29-
WHITESPACE " "
30-
ONLY_KW "only"
31-
WHITESPACE " "
32-
PATH
33-
PATH_SEGMENT
34-
NAME_REF
35-
IDENT "b"
36-
COMMA ","
37-
WHITESPACE " "
38-
PATH
39-
PATH_SEGMENT
40-
NAME_REF
41-
IDENT "c"
42-
WHITESPACE " "
43-
STAR "*"
25+
TABLE_LIST
26+
PATH
27+
PATH_SEGMENT
28+
NAME_REF
29+
IDENT "t"
30+
COMMA ","
31+
WHITESPACE " "
32+
ONLY_KW "only"
33+
WHITESPACE " "
34+
PATH
35+
PATH_SEGMENT
36+
NAME_REF
37+
IDENT "b"
38+
COMMA ","
39+
WHITESPACE " "
40+
PATH
41+
PATH_SEGMENT
42+
NAME_REF
43+
IDENT "c"
44+
WHITESPACE " "
45+
STAR "*"
4446
SEMICOLON ";"
4547
WHITESPACE "\n\n"
4648
COMMENT "-- lock_mode"
4749
WHITESPACE "\n"
4850
LOCK_STMT
4951
LOCK_KW "lock"
5052
WHITESPACE " "
51-
PATH
52-
PATH_SEGMENT
53-
NAME_REF
54-
IDENT "t"
53+
TABLE_LIST
54+
PATH
55+
PATH_SEGMENT
56+
NAME_REF
57+
IDENT "t"
5558
WHITESPACE " "
5659
IN_KW "in"
5760
WHITESPACE " "
@@ -65,10 +68,11 @@ SOURCE_FILE
6568
LOCK_STMT
6669
LOCK_KW "lock"
6770
WHITESPACE " "
68-
PATH
69-
PATH_SEGMENT
70-
NAME_REF
71-
IDENT "t"
71+
TABLE_LIST
72+
PATH
73+
PATH_SEGMENT
74+
NAME_REF
75+
IDENT "t"
7276
WHITESPACE " "
7377
IN_KW "in"
7478
WHITESPACE " "
@@ -82,10 +86,11 @@ SOURCE_FILE
8286
LOCK_STMT
8387
LOCK_KW "lock"
8488
WHITESPACE " "
85-
PATH
86-
PATH_SEGMENT
87-
NAME_REF
88-
IDENT "t"
89+
TABLE_LIST
90+
PATH
91+
PATH_SEGMENT
92+
NAME_REF
93+
IDENT "t"
8994
WHITESPACE " "
9095
IN_KW "in"
9196
WHITESPACE " "
@@ -99,10 +104,11 @@ SOURCE_FILE
99104
LOCK_STMT
100105
LOCK_KW "lock"
101106
WHITESPACE " "
102-
PATH
103-
PATH_SEGMENT
104-
NAME_REF
105-
IDENT "t"
107+
TABLE_LIST
108+
PATH
109+
PATH_SEGMENT
110+
NAME_REF
111+
IDENT "t"
106112
WHITESPACE " "
107113
IN_KW "in"
108114
WHITESPACE " "
@@ -118,10 +124,11 @@ SOURCE_FILE
118124
LOCK_STMT
119125
LOCK_KW "lock"
120126
WHITESPACE " "
121-
PATH
122-
PATH_SEGMENT
123-
NAME_REF
124-
IDENT "t"
127+
TABLE_LIST
128+
PATH
129+
PATH_SEGMENT
130+
NAME_REF
131+
IDENT "t"
125132
WHITESPACE " "
126133
IN_KW "in"
127134
WHITESPACE " "
@@ -133,10 +140,11 @@ SOURCE_FILE
133140
LOCK_STMT
134141
LOCK_KW "lock"
135142
WHITESPACE " "
136-
PATH
137-
PATH_SEGMENT
138-
NAME_REF
139-
IDENT "t"
143+
TABLE_LIST
144+
PATH
145+
PATH_SEGMENT
146+
NAME_REF
147+
IDENT "t"
140148
WHITESPACE " "
141149
IN_KW "in"
142150
WHITESPACE " "
@@ -152,10 +160,11 @@ SOURCE_FILE
152160
LOCK_STMT
153161
LOCK_KW "lock"
154162
WHITESPACE " "
155-
PATH
156-
PATH_SEGMENT
157-
NAME_REF
158-
IDENT "t"
163+
TABLE_LIST
164+
PATH
165+
PATH_SEGMENT
166+
NAME_REF
167+
IDENT "t"
159168
WHITESPACE " "
160169
IN_KW "in"
161170
WHITESPACE " "
@@ -167,10 +176,11 @@ SOURCE_FILE
167176
LOCK_STMT
168177
LOCK_KW "lock"
169178
WHITESPACE " "
170-
PATH
171-
PATH_SEGMENT
172-
NAME_REF
173-
IDENT "t"
179+
TABLE_LIST
180+
PATH
181+
PATH_SEGMENT
182+
NAME_REF
183+
IDENT "t"
174184
WHITESPACE " "
175185
IN_KW "in"
176186
WHITESPACE " "
@@ -188,26 +198,27 @@ SOURCE_FILE
188198
WHITESPACE " "
189199
TABLE_KW "table"
190200
WHITESPACE " "
191-
PATH
192-
PATH_SEGMENT
193-
NAME_REF
194-
IDENT "t"
195-
COMMA ","
196-
WHITESPACE " "
197-
PATH
198-
PATH_SEGMENT
199-
NAME_REF
200-
IDENT "a"
201-
WHITESPACE " "
202-
STAR "*"
203-
COMMA ","
204-
WHITESPACE " "
205-
ONLY_KW "only"
206-
WHITESPACE " "
207-
PATH
208-
PATH_SEGMENT
209-
NAME_REF
210-
IDENT "c"
201+
TABLE_LIST
202+
PATH
203+
PATH_SEGMENT
204+
NAME_REF
205+
IDENT "t"
206+
COMMA ","
207+
WHITESPACE " "
208+
PATH
209+
PATH_SEGMENT
210+
NAME_REF
211+
IDENT "a"
212+
WHITESPACE " "
213+
STAR "*"
214+
COMMA ","
215+
WHITESPACE " "
216+
ONLY_KW "only"
217+
WHITESPACE " "
218+
PATH
219+
PATH_SEGMENT
220+
NAME_REF
221+
IDENT "c"
211222
WHITESPACE " "
212223
IN_KW "in"
213224
WHITESPACE " "

crates/squawk_parser/src/snapshots/squawk_parser__test__truncate_ok.snap

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ SOURCE_FILE
1010
WHITESPACE " "
1111
TABLE_KW "table"
1212
WHITESPACE " "
13-
ONLY_KW "only"
14-
WHITESPACE " "
15-
PATH
16-
PATH_SEGMENT
17-
NAME_REF
18-
IDENT "t"
13+
TABLE_LIST
14+
ONLY_KW "only"
15+
WHITESPACE " "
16+
PATH
17+
PATH_SEGMENT
18+
NAME_REF
19+
IDENT "t"
1920
WHITESPACE "\n"
2021
RESTART_KW "restart"
2122
WHITESPACE " "
@@ -29,46 +30,49 @@ SOURCE_FILE
2930
TRUNCATE_STMT
3031
TRUNCATE_KW "TRUNCATE"
3132
WHITESPACE " "
32-
ONLY_KW "only"
33-
WHITESPACE " "
34-
PATH
35-
PATH_SEGMENT
36-
NAME_REF
37-
IDENT "a"
38-
COMMA ","
39-
WHITESPACE " "
40-
PATH
41-
PATH_SEGMENT
42-
NAME_REF
43-
IDENT "b"
44-
WHITESPACE " "
45-
STAR "*"
46-
COMMA ","
47-
WHITESPACE " "
48-
PATH
49-
PATH_SEGMENT
50-
NAME_REF
51-
IDENT "c"
33+
TABLE_LIST
34+
ONLY_KW "only"
35+
WHITESPACE " "
36+
PATH
37+
PATH_SEGMENT
38+
NAME_REF
39+
IDENT "a"
40+
COMMA ","
41+
WHITESPACE " "
42+
PATH
43+
PATH_SEGMENT
44+
NAME_REF
45+
IDENT "b"
46+
WHITESPACE " "
47+
STAR "*"
48+
COMMA ","
49+
WHITESPACE " "
50+
PATH
51+
PATH_SEGMENT
52+
NAME_REF
53+
IDENT "c"
5254
SEMICOLON ";"
5355
WHITESPACE "\n\n"
5456
COMMENT "-- rest"
5557
WHITESPACE "\n"
5658
TRUNCATE_STMT
5759
TRUNCATE_KW "truncate"
5860
WHITESPACE " "
59-
PATH
60-
PATH_SEGMENT
61-
NAME_REF
62-
IDENT "t"
61+
TABLE_LIST
62+
PATH
63+
PATH_SEGMENT
64+
NAME_REF
65+
IDENT "t"
6366
SEMICOLON ";"
6467
WHITESPACE "\n"
6568
TRUNCATE_STMT
6669
TRUNCATE_KW "truncate"
6770
WHITESPACE " "
68-
PATH
69-
PATH_SEGMENT
70-
NAME_REF
71-
IDENT "a"
71+
TABLE_LIST
72+
PATH
73+
PATH_SEGMENT
74+
NAME_REF
75+
IDENT "a"
7276
WHITESPACE " "
7377
CONTINUE_KW "continue"
7478
WHITESPACE " "
@@ -78,10 +82,11 @@ SOURCE_FILE
7882
TRUNCATE_STMT
7983
TRUNCATE_KW "truncate"
8084
WHITESPACE " "
81-
PATH
82-
PATH_SEGMENT
83-
NAME_REF
84-
IDENT "a"
85+
TABLE_LIST
86+
PATH
87+
PATH_SEGMENT
88+
NAME_REF
89+
IDENT "a"
8590
WHITESPACE " "
8691
CONTINUE_KW "continue"
8792
WHITESPACE " "

0 commit comments

Comments
 (0)