@@ -53,10 +53,12 @@ class MindsDBLexer(Lexer):
5353 GROUP_BY , HAVING , ORDER_BY ,
5454 STAR , FOR , UPDATE ,
5555
56- JOIN , INNER , OUTER , CROSS , LEFT , RIGHT , ON , ASOF , LATERAL ,
56+ JOIN , INNER , OUTER , CROSS , LEFT , RIGHT , ON , ASOF , LATERAL , IS_OUTER ,
5757
5858 UNION , ALL , INTERSECT , EXCEPT ,
5959
60+ FETCH_FIRST , ROWS_ONLY ,
61+
6062 # CASE
6163 CASE , ELSE , END , THEN , WHEN ,
6264
@@ -165,7 +167,7 @@ class MindsDBLexer(Lexer):
165167 STATUS = r'\bSTATUS\b'
166168 GLOBAL = r'\bGLOBAL\b'
167169 PROCEDURE = r'\bPROCEDURE\b'
168- PRIMARY_KEY = r'\bPRIMARY[_| \s]KEY\b'
170+ PRIMARY_KEY = r'\bPRIMARY[\s]KEY\b'
169171 DEFAULT = r'\bDEFAULT\b'
170172 FUNCTION = r'\bFUNCTION\b'
171173 INDEX = r'\bINDEX\b'
@@ -228,6 +230,9 @@ class MindsDBLexer(Lexer):
228230 STAR = r'\*'
229231 FOR = r'\bFOR\b'
230232 UPDATE = r'\bUPDATE\b'
233+ # FETCH FIRST and FETCH NEXT are the same
234+ FETCH_FIRST = r'\bFETCH[\s](FIRST|NEXT)\b'
235+ ROWS_ONLY = r'\bROWS[\s]ONLY\b'
231236
232237 JOIN = r'\bJOIN\b'
233238 INNER = r'\bINNER\b'
@@ -237,6 +242,7 @@ class MindsDBLexer(Lexer):
237242 RIGHT = r'\bRIGHT\b'
238243 ASOF = r'\bASOF\b'
239244 LATERAL = r'\bLATERAL\b'
245+ IS_OUTER = r'\(\+\)'
240246
241247 # UNION
242248
0 commit comments