File tree Expand file tree Collapse file tree 3 files changed +20
-1
lines changed
Units/parser-sql.r/funcions.d Expand file tree Collapse file tree 3 files changed +20
-1
lines changed Original file line number Diff line number Diff line change 1
1
--sort=no
2
2
--fields=+S
3
3
--extras=+g
4
+ --kinds-SQL=+r
Original file line number Diff line number Diff line change
1
+ evr_array_item input.sql /^create type evr_array_item as ($/;" r
2
+ n input.sql /^ n NUMERIC,$/;" E record:evr_array_item
3
+ s input.sql /^ s TEXT$/;" E record:evr_array_item
4
+ evr_t input.sql /^create type evr_t as ($/;" r
5
+ epoch input.sql /^ epoch INT,$/;" E record:evr_t
6
+ version input.sql /^ version evr_array_item[],$/;" E record:evr_t
7
+ release input.sql /^ release evr_array_item[]$/;" E record:evr_t
1
8
evr_trigger input.sql /^CREATE FUNCTION evr_trigger() RETURNS trigger AS $\$$/;" f typeref:typename:trigger signature:()
2
9
empty input.sql /^create or replace FUNCTION empty(t TEXT)$/;" f typeref:typename:BOOLEAN signature:(t TEXT)
3
10
isalpha input.sql /^create or replace FUNCTION isalpha(ch CHAR)$/;" f typeref:typename:BOOLEAN signature:(ch CHAR)
Original file line number Diff line number Diff line change @@ -1718,8 +1718,11 @@ static void parseType (tokenInfo *const token)
1718
1718
if (isKeyword (token , KEYWORD_is ))
1719
1719
{
1720
1720
readToken (token );
1721
- switch (token -> keyword )
1721
+
1722
+ if (isType (token , TOKEN_KEYWORD ))
1722
1723
{
1724
+ switch (token -> keyword )
1725
+ {
1723
1726
case KEYWORD_record :
1724
1727
case KEYWORD_object :
1725
1728
makeSqlTag (name , SQLTAG_RECORD );
@@ -1738,6 +1741,14 @@ static void parseType (tokenInfo *const token)
1738
1741
break ;
1739
1742
1740
1743
default : break ;
1744
+ /* TODO: PostgreSQL can take 'enum (' and 'range (' here. */
1745
+ }
1746
+ }
1747
+ else if (isType (token , TOKEN_OPEN_PAREN ))
1748
+ {
1749
+ makeSqlTag (name , SQLTAG_RECORD );
1750
+ addToScope (token , name -> string , SQLTAG_RECORD );
1751
+ parseRecord (token );
1741
1752
}
1742
1753
vStringClear (token -> scope );
1743
1754
token -> scopeKind = SQLTAG_COUNT ;
You can’t perform that action at this time.
0 commit comments