Skip to content

Commit 6cf6a95

Browse files
committed
fix: support real type in athena
1 parent 598a604 commit 6cf6a95

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

pegjs/athena.pegjs

+4-3
Original file line numberDiff line numberDiff line change
@@ -2469,6 +2469,7 @@ KW_MEDIUMTEXT = "MEDIUMTEXT"i !ident_start { return 'MEDIUMTEXT'; }
24692469
KW_LONGTEXT = "LONGTEXT"i !ident_start { return 'LONGTEXT'; }
24702470
KW_BIGINT = "BIGINT"i !ident_start { return 'BIGINT'; }
24712471
KW_FLOAT = "FLOAT"i !ident_start { return 'FLOAT'; }
2472+
KW_REAL = "REAL"i !ident_start { return 'REAL'; }
24722473
KW_DOUBLE = "DOUBLE"i !ident_start { return 'DOUBLE'; }
24732474
KW_DATE = "DATE"i !ident_start { return 'DATE'; }
24742475
KW_DATETIME = "DATETIME"i !ident_start { return 'DATETIME'; }
@@ -2802,9 +2803,9 @@ numeric_type_suffix
28022803
return result
28032804
}
28042805
numeric_type
2805-
= t:(KW_NUMERIC / KW_DECIMAL / KW_INT / KW_INTEGER / KW_SMALLINT / KW_TINYINT / KW_BIGINT / KW_FLOAT / KW_DOUBLE) __ LPAREN __ l:[0-9]+ __ r:(COMMA __ [0-9]+)? __ RPAREN __ s:numeric_type_suffix? { return { dataType: t, length: parseInt(l.join(''), 10), scale: r && parseInt(r[2].join(''), 10), parentheses: true, suffix: s }; }
2806-
/ t:(KW_NUMERIC / KW_DECIMAL / KW_INT / KW_INTEGER / KW_SMALLINT / KW_TINYINT / KW_BIGINT / KW_FLOAT / KW_DOUBLE)l:[0-9]+ __ s:numeric_type_suffix? { return { dataType: t, length: parseInt(l.join(''), 10), suffix: s }; }
2807-
/ t:(KW_NUMERIC / KW_DECIMAL / KW_INT / KW_INTEGER / KW_SMALLINT / KW_TINYINT / KW_BIGINT / KW_FLOAT / KW_DOUBLE) __ s:numeric_type_suffix? __{ return { dataType: t, suffix: s }; }
2806+
= t:(KW_NUMERIC / KW_DECIMAL / KW_INT / KW_INTEGER / KW_SMALLINT / KW_TINYINT / KW_BIGINT / KW_FLOAT / KW_DOUBLE / KW_REAL) __ LPAREN __ l:[0-9]+ __ r:(COMMA __ [0-9]+)? __ RPAREN __ s:numeric_type_suffix? { return { dataType: t, length: parseInt(l.join(''), 10), scale: r && parseInt(r[2].join(''), 10), parentheses: true, suffix: s }; }
2807+
/ t:(KW_NUMERIC / KW_DECIMAL / KW_INT / KW_INTEGER / KW_SMALLINT / KW_TINYINT / KW_BIGINT / KW_FLOAT / KW_DOUBLE / KW_REAL)l:[0-9]+ __ s:numeric_type_suffix? { return { dataType: t, length: parseInt(l.join(''), 10), suffix: s }; }
2808+
/ t:(KW_NUMERIC / KW_DECIMAL / KW_INT / KW_INTEGER / KW_SMALLINT / KW_TINYINT / KW_BIGINT / KW_FLOAT / KW_DOUBLE / KW_REAL) __ s:numeric_type_suffix? __{ return { dataType: t, suffix: s }; }
28082809
datetime_type
28092810
= t:(KW_DATE / KW_DATETIME / KW_TIME / KW_TIMESTAMP) __ LPAREN __ l:[0-9]+ __ RPAREN { return { dataType: t, length: parseInt(l.join(''), 10), parentheses: true }; }
28102811
/ t:(KW_DATE / KW_DATETIME / KW_TIME / KW_TIMESTAMP) { return { dataType: t }; }

0 commit comments

Comments
 (0)