@@ -87,55 +87,55 @@ func TestConvert(t *testing.T) {
8787 {
8888 name : "startsWith" ,
8989 args : args {source : `name.startsWith("a")` },
90- want : "STARTS_WITH(name, \" a \" )" ,
90+ want : "STARTS_WITH(name, 'a' )" ,
9191 wantErr : false ,
9292 },
9393 {
9494 name : "endsWith" ,
9595 args : args {source : `name.endsWith("z")` },
96- want : "ENDS_WITH(name, \" z \" )" ,
96+ want : "ENDS_WITH(name, 'z' )" ,
9797 wantErr : false ,
9898 },
9999 {
100100 name : "matches" ,
101101 args : args {source : `name.matches("a+")` },
102- want : "REGEXP_CONTAINS(name, \" a+ \" )" ,
102+ want : "REGEXP_CONTAINS(name, 'a+' )" ,
103103 wantErr : false ,
104104 },
105105 {
106106 name : "contains" ,
107107 args : args {source : `name.contains("abc")` },
108- want : "INSTR(name, \" abc\" ) != 0" ,
108+ want : "POSITION(' abc' IN name) > 0" ,
109109 wantErr : false ,
110110 },
111111 {
112112 name : "&&" ,
113113 args : args {source : `name.startsWith("a") && name.endsWith("z")` },
114- want : "STARTS_WITH(name, \" a \" ) AND ENDS_WITH(name, \" z \" )" ,
114+ want : "STARTS_WITH(name, 'a' ) AND ENDS_WITH(name, 'z' )" ,
115115 wantErr : false ,
116116 },
117117 {
118118 name : "||" ,
119119 args : args {source : `name.startsWith("a") || name.endsWith("z")` },
120- want : "STARTS_WITH(name, \" a \" ) OR ENDS_WITH(name, \" z \" )" ,
120+ want : "STARTS_WITH(name, 'a' ) OR ENDS_WITH(name, 'z' )" ,
121121 wantErr : false ,
122122 },
123123 {
124124 name : "()" ,
125125 args : args {source : `age >= 10 && (name.startsWith("a") || name.endsWith("z"))` },
126- want : "age >= 10 AND (STARTS_WITH(name, \" a \" ) OR ENDS_WITH(name, \" z \" ))" ,
126+ want : "age >= 10 AND (STARTS_WITH(name, 'a' ) OR ENDS_WITH(name, 'z' ))" ,
127127 wantErr : false ,
128128 },
129129 {
130130 name : "IF" ,
131131 args : args {source : `name == "a" ? "a" : "b"` },
132- want : "IF(name = \" a \" , \" a \" , \" b \" )" ,
132+ want : "IF(name = 'a', 'a', 'b' )" ,
133133 wantErr : false ,
134134 },
135135 {
136136 name : "==" ,
137137 args : args {source : `name == "a"` },
138- want : "name = \" a \" " ,
138+ want : "name = 'a' " ,
139139 wantErr : false ,
140140 },
141141 {
@@ -189,7 +189,7 @@ func TestConvert(t *testing.T) {
189189 {
190190 name : "list_var" ,
191191 args : args {source : `string_list[0] == "a"` },
192- want : "string_list[1] = \" a \" " , // PostgreSQL arrays are 1-indexed
192+ want : "string_list[1] = 'a' " , // PostgreSQL arrays are 1-indexed
193193 wantErr : false ,
194194 },
195195 {
@@ -225,7 +225,7 @@ func TestConvert(t *testing.T) {
225225 {
226226 name : "concatString" ,
227227 args : args {source : `"a" + "b" == "ab"` },
228- want : "\" a \" || \" b \" = \" ab \" " ,
228+ want : "'a' || 'b' = 'ab' " ,
229229 wantErr : false ,
230230 },
231231 {
@@ -249,19 +249,19 @@ func TestConvert(t *testing.T) {
249249 {
250250 name : "time" ,
251251 args : args {source : `fixed_time == time("18:00:00")` },
252- want : "fixed_time = TIME(\" 18:00:00\" )" ,
252+ want : "fixed_time = TIME(' 18:00:00' )" ,
253253 wantErr : false ,
254254 },
255255 {
256256 name : "datetime" ,
257257 args : args {source : `scheduled_at != datetime(date("2021-09-01"), fixed_time)` },
258- want : "scheduled_at != DATETIME(DATE(\" 2021-09-01\" ), fixed_time)" ,
258+ want : "scheduled_at != DATETIME(DATE(' 2021-09-01' ), fixed_time)" ,
259259 wantErr : false ,
260260 },
261261 {
262262 name : "timestamp" ,
263263 args : args {source : `created_at - duration("60m") <= timestamp(datetime("2021-09-01 18:00:00"), "Asia/Tokyo")` },
264- want : "created_at - INTERVAL 1 HOUR <= TIMESTAMP(DATETIME(\" 2021-09-01 18:00:00\" ), \" Asia/Tokyo\" )" ,
264+ want : "created_at - INTERVAL 1 HOUR <= TIMESTAMP(DATETIME(' 2021-09-01 18:00:00' ), ' Asia/Tokyo' )" ,
265265 wantErr : false ,
266266 },
267267 {
@@ -291,7 +291,7 @@ func TestConvert(t *testing.T) {
291291 {
292292 name : "date_add" ,
293293 args : args {source : `date("2021-09-01") + interval(1, DAY)` },
294- want : "DATE(\" 2021-09-01\" ) + INTERVAL 1 DAY" ,
294+ want : "DATE(' 2021-09-01' ) + INTERVAL 1 DAY" ,
295295 wantErr : false ,
296296 },
297297 {
@@ -303,31 +303,31 @@ func TestConvert(t *testing.T) {
303303 {
304304 name : "time_add" ,
305305 args : args {source : `time("09:00:00") + interval(1, MINUTE)` },
306- want : "TIME(\" 09:00:00\" ) + INTERVAL 1 MINUTE" ,
306+ want : "TIME(' 09:00:00' ) + INTERVAL 1 MINUTE" ,
307307 wantErr : false ,
308308 },
309309 {
310310 name : "time_sub" ,
311311 args : args {source : `time("09:00:00") - interval(1, MINUTE)` },
312- want : "TIME(\" 09:00:00\" ) - INTERVAL 1 MINUTE" ,
312+ want : "TIME(' 09:00:00' ) - INTERVAL 1 MINUTE" ,
313313 wantErr : false ,
314314 },
315315 {
316316 name : "datetime_add" ,
317317 args : args {source : `datetime("2021-09-01 18:00:00") + interval(1, MINUTE)` },
318- want : "DATETIME(\" 2021-09-01 18:00:00\" ) + INTERVAL 1 MINUTE" ,
318+ want : "DATETIME(' 2021-09-01 18:00:00' ) + INTERVAL 1 MINUTE" ,
319319 wantErr : false ,
320320 },
321321 {
322322 name : "datetime_sub" ,
323323 args : args {source : `current_datetime("Asia/Tokyo") - interval(1, MINUTE)` },
324- want : "CURRENT_DATETIME(\" Asia/Tokyo\" ) - INTERVAL 1 MINUTE" ,
324+ want : "CURRENT_DATETIME(' Asia/Tokyo' ) - INTERVAL 1 MINUTE" ,
325325 wantErr : false ,
326326 },
327327 {
328328 name : "timestamp_add" ,
329329 args : args {source : `duration("1h") + timestamp("2021-09-01T18:00:00Z")` },
330- want : "TIMESTAMP( \" 2021-09-01T18:00:00Z\" ) + INTERVAL 1 HOUR" ,
330+ want : "CAST(' 2021-09-01T18:00:00Z' AS TIMESTAMP WITH TIME ZONE ) + INTERVAL 1 HOUR" ,
331331 wantErr : false ,
332332 },
333333 {
@@ -345,7 +345,7 @@ func TestConvert(t *testing.T) {
345345 {
346346 name : "\" timestamp_getHours_withTimezone" ,
347347 args : args {source : `created_at.getHours("Asia/Tokyo")` },
348- want : "EXTRACT(HOUR FROM created_at AT \" Asia/Tokyo\" )" ,
348+ want : "EXTRACT(HOUR FROM created_at AT ' Asia/Tokyo' )" ,
349349 wantErr : false ,
350350 },
351351 {
@@ -375,13 +375,13 @@ func TestConvert(t *testing.T) {
375375 {
376376 name : "fieldSelect" ,
377377 args : args {source : `page.title == "test"` },
378- want : "page.title = \" test\" " ,
378+ want : "page.title = ' test' " ,
379379 wantErr : false ,
380380 },
381381 {
382382 name : "fieldSelect_startsWith" ,
383383 args : args {source : `page.title.startsWith("test")` },
384- want : "STARTS_WITH(page.title, \" test\" )" ,
384+ want : "STARTS_WITH(page.title, ' test' )" ,
385385 wantErr : false ,
386386 },
387387 {
@@ -393,13 +393,13 @@ func TestConvert(t *testing.T) {
393393 {
394394 name : "fieldSelect_concatString" ,
395395 args : args {source : `trigram.cell[0].sample[0].title + "test"` },
396- want : "trigram.cell[1].sample[1].title || \" test\" " , // PostgreSQL syntax
396+ want : "trigram.cell[1].sample[1].title || ' test' " , // PostgreSQL syntax
397397 wantErr : false ,
398398 },
399399 {
400400 name : "fieldSelect_in" ,
401401 args : args {source : `"test" in trigram.cell[0].value` },
402- want : "\" test\" = ANY(trigram.cell[1].value)" , // PostgreSQL array membership
402+ want : "' test' = ANY(trigram.cell[1].value)" , // PostgreSQL array membership
403403 wantErr : false ,
404404 },
405405 {
@@ -411,7 +411,7 @@ func TestConvert(t *testing.T) {
411411 {
412412 name : "cast_bytes" ,
413413 args : args {source : `bytes("test")` },
414- want : "CAST(\" test\" AS BYTES)" ,
414+ want : "CAST(' test' AS BYTES)" ,
415415 wantErr : false ,
416416 },
417417 {
@@ -423,7 +423,7 @@ func TestConvert(t *testing.T) {
423423 {
424424 name : "cast_string" ,
425425 args : args {source : `string(true) == "true"` },
426- want : "CAST(TRUE AS STRING) = \" true\" " ,
426+ want : "CAST(TRUE AS STRING) = ' true' " ,
427427 wantErr : false ,
428428 },
429429 {
@@ -441,19 +441,19 @@ func TestConvert(t *testing.T) {
441441 {
442442 name : "size_string" ,
443443 args : args {source : `size("test")` },
444- want : "LENGTH(\" test\" )" ,
444+ want : "LENGTH(' test' )" ,
445445 wantErr : false ,
446446 },
447447 {
448448 name : "size_bytes" ,
449449 args : args {source : `size(bytes("test"))` },
450- want : "LENGTH(CAST(\" test\" AS BYTES))" ,
450+ want : "LENGTH(CAST(' test' AS BYTES))" ,
451451 wantErr : false ,
452452 },
453453 {
454454 name : "size_list" ,
455455 args : args {source : `size(string_list)` },
456- want : "ARRAY_LENGTH(string_list)" ,
456+ want : "ARRAY_LENGTH(string_list, 1 )" ,
457457 wantErr : false ,
458458 },
459459 }
0 commit comments