Browse Source

fix(starfish): Parse slashes in SQL (#54024)

- Allow parsing slashes
- Add spec for type casts (while I'm at it)

Closes JAVASCRIPT-2NG3
Closes JAVASCRIPT-2NGK
George Gritsouk 1 year ago
parent
commit
d6724dc009

+ 2 - 0
static/app/views/starfish/utils/sqlish/SQLishParser.spec.tsx

@@ -10,6 +10,8 @@ describe('SQLishParser', function () {
       'SELECT *;', // Wildcards
       'WHERE age = 10;', // Equality
       'WHERE age != 10;', // Inequality
+      'total / time', // Division
+      'sum(age)::numeric(0, 5)', // Type casting
       'WHERE age > 10 AND age < 20;', // Comparison
       "WHERE$1 ILIKE ' % ' || 'text'", // Conditionals
       'SELECT id, name;', // Column lists

+ 1 - 1
static/app/views/starfish/utils/sqlish/sqlish.pegjs

@@ -30,4 +30,4 @@ Whitespace
   = Whitespace:[\n\t ]+ { return { type: 'Whitespace', content: Whitespace.join("") } }
 
 GenericToken
-  = GenericToken:[a-zA-Z0-9"'`_\-.()=><:,*;!\[\]?$%|]+ { return { type: 'GenericToken', content: GenericToken.join('') } }
+  = GenericToken:[a-zA-Z0-9"'`_\-.()=><:,*;!\[\]?$%|/]+ { return { type: 'GenericToken', content: GenericToken.join('') } }