From be79448414b95a92eecf6efeeea563ee00422510 Mon Sep 17 00:00:00 2001 From: Jake Wheat Date: Sun, 20 Apr 2014 19:38:43 +0300 Subject: [PATCH] update the reserved keywords to 2011 list --- Language/SQL/SimpleSQL/Parser.lhs | 178 +++++++++++++++++++----------- 1 file changed, 112 insertions(+), 66 deletions(-) diff --git a/Language/SQL/SimpleSQL/Parser.lhs b/Language/SQL/SimpleSQL/Parser.lhs index 7f34703..d4489bc 100644 --- a/Language/SQL/SimpleSQL/Parser.lhs +++ b/Language/SQL/SimpleSQL/Parser.lhs @@ -1706,10 +1706,10 @@ means). > _nonReservedWord :: [String] > _nonReservedWord = > ["a" -> ,"abs" > ,"absolute" > ,"action" > ,"ada" +> ,"add" > ,"admin" > ,"after" > ,"always" @@ -1718,55 +1718,38 @@ means). > ,"assignment" > ,"attribute" > ,"attributes" -> ,"avg" > ,"before" > ,"bernoulli" > ,"breadth" > ,"c" -> ,"cardinality" > ,"cascade" > ,"catalog" > ,"catalog_name" -> ,"ceil" -> ,"ceiling" > ,"chain" -> ,"characteristics" -> ,"characters" -> ,"character_length" > ,"character_set_catalog" > ,"character_set_name" > ,"character_set_schema" -> ,"char_length" -> ,"checked" +> ,"characteristics" +> ,"characters" > ,"class_origin" -> ,"coalesce" > ,"cobol" -> --,"code_units" > ,"collation" > ,"collation_catalog" > ,"collation_name" > ,"collation_schema" -> ,"collect" > ,"column_name" > ,"command_function" > ,"command_function_code" > ,"committed" -> ,"condition" > ,"condition_number" +> ,"connection" > ,"connection_name" -> ,"constraints" > ,"constraint_catalog" > ,"constraint_name" > ,"constraint_schema" -> ,"constructors" -> ,"contains" -> ,"convert" -> ,"corr" -> ,"count" -> ,"covar_pop" -> ,"covar_samp" -> ,"cume_dist" -> ,"current_collation" +> ,"constraints" +> ,"constructor" +> ,"continue" > ,"cursor_name" > ,"data" > ,"datetime_interval_code" @@ -1777,7 +1760,6 @@ means). > ,"defined" > ,"definer" > ,"degree" -> ,"dense_rank" > ,"depth" > ,"derived" > ,"desc" @@ -1787,33 +1769,34 @@ means). > ,"domain" > ,"dynamic_function" > ,"dynamic_function_code" -> ,"equals" -> ,"every" -> ,"exception" +> ,"enforced" > ,"exclude" > ,"excluding" -> ,"exp" -> ,"extract" +> ,"expression" > ,"final" > ,"first" -> ,"floor" +> ,"flag" > ,"following" > ,"fortran" > ,"found" -> ,"fusion" > ,"g" > ,"general" +> ,"generated" > ,"go" > ,"goto" > ,"granted" > ,"hierarchy" +> ,"ignore" +> ,"immediate" +> ,"immediately" > ,"implementation" > ,"including" > ,"increment" > ,"initially" +> ,"input" > ,"instance" > ,"instantiable" -> ,"intersection" +> ,"instead" > ,"invoker" > ,"isolation" > ,"k" @@ -1823,42 +1806,39 @@ means). > ,"last" > ,"length" > ,"level" -> ,"ln" > ,"locator" -> ,"lower" > ,"m" > ,"map" > ,"matched" -> ,"max" > ,"maxvalue" > ,"message_length" > ,"message_octet_length" > ,"message_text" -> ,"min" > ,"minvalue" -> ,"mod" > ,"more" > ,"mumps" > ,"name" > ,"names" > ,"nesting" > ,"next" -> ,"normalize" +> ,"nfc" +> ,"nfd" +> ,"nfkc" +> ,"nfkd" > ,"normalized" > ,"nullable" -> ,"nullif" > ,"nulls" > ,"number" > ,"object" > ,"octets" -> ,"octet_length" > ,"option" > ,"options" > ,"ordering" > ,"ordinality" > ,"others" -> ,"overlay" +> ,"output" > ,"overriding" +> ,"p" > ,"pad" > ,"parameter_mode" > ,"parameter_name" @@ -1869,23 +1849,19 @@ means). > ,"partial" > ,"pascal" > ,"path" -> ,"percentile_cont" -> ,"percentile_disc" -> ,"percent_rank" > ,"placing" > ,"pli" -> ,"position" -> ,"power" > ,"preceding" > ,"preserve" > ,"prior" > ,"privileges" > ,"public" -> ,"rank" > ,"read" > ,"relative" > ,"repeatable" +> ,"respect" > ,"restart" +> ,"restrict" > ,"returned_cardinality" > ,"returned_length" > ,"returned_octet_length" @@ -1896,7 +1872,6 @@ means). > ,"routine_name" > ,"routine_schema" > ,"row_count" -> ,"row_number" > ,"scale" > ,"schema" > ,"schema_name" @@ -1916,32 +1891,25 @@ means). > ,"source" > ,"space" > ,"specific_name" -> ,"sqrt" > ,"state" > ,"statement" -> ,"stddev_pop" -> ,"stddev_samp" > ,"structure" > ,"style" > ,"subclass_origin" -> ,"substring" -> ,"sum" -> ,"tablesample" +> ,"t" > ,"table_name" > ,"temporary" > ,"ties" > ,"top_level_count" > ,"transaction" +> ,"transaction_active" > ,"transactions_committed" > ,"transactions_rolled_back" -> ,"transaction_active" > ,"transform" > ,"transforms" -> ,"translate" > ,"trigger_catalog" > ,"trigger_name" > ,"trigger_schema" -> ,"trim" > ,"type" > ,"unbounded" > ,"uncommitted" @@ -1959,7 +1927,7 @@ means). > reservedWord :: [String] > reservedWord = -> ["add" +> ["abs" > --,"all" > ,"allocate" > ,"alter" @@ -1967,13 +1935,18 @@ means). > --,"any" > ,"are" > ,"array" +> --,"array_agg" +> ,"array_max_cardinality" > ,"as" > ,"asensitive" > ,"asymmetric" > ,"at" > ,"atomic" > ,"authorization" +> --,"avg" > ,"begin" +> ,"begin_frame" +> ,"begin_partition" > ,"between" > ,"bigint" > ,"binary" @@ -1983,29 +1956,46 @@ means). > ,"by" > ,"call" > ,"called" +> ,"cardinality" > ,"cascaded" > ,"case" > ,"cast" +> ,"ceil" +> ,"ceiling" > ,"char" +> ,"char_length" > ,"character" +> ,"character_length" > ,"check" > ,"clob" > ,"close" +> ,"coalesce" > ,"collate" +> --,"collect" > ,"column" > ,"commit" +> ,"condition" > ,"connect" > ,"constraint" -> ,"continue" +> ,"contains" +> ,"convert" +> --,"corr" > ,"corresponding" +> --,"count" +> --,"covar_pop" +> --,"covar_samp" > ,"create" > ,"cross" > ,"cube" +> --,"cume_dist" > ,"current" +> ,"current_catalog" > --,"current_date" > --,"current_default_transform_group" > --,"current_path" > --,"current_role" +> ,"current_row" +> ,"current_schema" > ,"current_time" > ,"current_timestamp" > ,"current_transform_group_for_type" @@ -2020,6 +2010,7 @@ means). > ,"declare" > --,"default" > ,"delete" +> --,"dense_rank" > ,"deref" > ,"describe" > ,"deterministic" @@ -2032,62 +2023,80 @@ means). > --,"element" > ,"else" > ,"end" +> ,"end_frame" +> ,"end_partition" > ,"end-exec" +> ,"equals" > ,"escape" +> --,"every" > ,"except" > ,"exec" > ,"execute" > ,"exists" +> ,"exp" > ,"external" +> ,"extract" > --,"false" > ,"fetch" > ,"filter" +> ,"first_value" > ,"float" +> ,"floor" > ,"for" > ,"foreign" +> ,"frame_row" > ,"free" > ,"from" > ,"full" > ,"function" +> --,"fusion" > ,"get" > ,"global" > ,"grant" > ,"group" > --,"grouping" +> ,"groups" > ,"having" > ,"hold" > --,"hour" > ,"identity" -> ,"immediate" > ,"in" > ,"indicator" > ,"inner" > ,"inout" -> ,"input" > ,"insensitive" > ,"insert" > ,"int" > ,"integer" > ,"intersect" +> --,"intersection" > ,"interval" > ,"into" > ,"is" -> ,"isolation" > ,"join" +> ,"lag" > ,"language" > ,"large" +> ,"last_value" > ,"lateral" +> ,"lead" > ,"leading" > ,"left" > ,"like" +> ,"like_regex" +> ,"ln" > ,"local" > ,"localtime" > ,"localtimestamp" +> ,"lower" > ,"match" +> --,"max" > ,"member" > ,"merge" > ,"method" +> --,"min" > --,"minute" +> ,"mod" > ,"modifies" > --,"module" > --,"month" @@ -2099,10 +2108,17 @@ means). > ,"new" > ,"no" > ,"none" +> ,"normalize" > ,"not" +> ,"nth_value" +> ,"ntile" > --,"null" +> ,"nullif" > ,"numeric" +> ,"octet_length" +> ,"occurrences_regex" > ,"of" +> ,"offset" > ,"old" > ,"on" > ,"only" @@ -2111,16 +2127,27 @@ means). > ,"order" > ,"out" > ,"outer" -> ,"output" > ,"over" > ,"overlaps" +> ,"overlay" > ,"parameter" > ,"partition" +> ,"percent" +> --,"percent_rank" +> --,"percentile_cont" +> --,"percentile_disc" +> ,"period" +> ,"portion" +> ,"position" +> ,"position_regex" +> ,"power" +> ,"precedes" > ,"precision" > ,"prepare" > ,"primary" > ,"procedure" > ,"range" +> --,"rank" > ,"reads" > ,"real" > ,"recursive" @@ -2145,8 +2172,10 @@ means). > ,"rollback" > ,"rollup" > --,"row" +> ,"row_number" > ,"rows" > ,"savepoint" +> ,"scope" > ,"scroll" > ,"search" > --,"second" @@ -2163,13 +2192,22 @@ means). > ,"sqlexception" > ,"sqlstate" > ,"sqlwarning" +> ,"sqrt" > --,"start" > ,"static" +> --,"stddev_pop" +> --,"stddev_samp" > ,"submultiset" +> ,"substring" +> ,"substring_regex" +> ,"succeeds" +> --,"sum" > ,"symmetric" > ,"system" +> ,"system_time" > --,"system_user" > ,"table" +> ,"tablesample" > ,"then" > ,"time" > ,"timestamp" @@ -2177,9 +2215,14 @@ means). > ,"timezone_minute" > ,"to" > ,"trailing" +> ,"translate" +> ,"translate_regex" > ,"translation" > ,"treat" > ,"trigger" +> ,"truncate" +> ,"trim" +> ,"trim_array" > --,"true" > ,"uescape" > ,"union" @@ -2192,10 +2235,13 @@ means). > ,"using" > --,"value" > ,"values" +> ,"value_of" > --,"var_pop" > --,"var_samp" +> ,"varbinary" > ,"varchar" > ,"varying" +> ,"versioning" > ,"when" > ,"whenever" > ,"where" @@ -2205,10 +2251,10 @@ means). > ,"within" > ,"without" > --,"year" - +> > -- added for this parser +> -- todo: remove this when dialects with limit are added > ,"limit" -> ,"offset" > ] --------------------------------------------