From 10a38657b580690c4fe99b4cbd39fcb2dca8ceae Mon Sep 17 00:00:00 2001 From: Jake Wheat Date: Mon, 22 Feb 2016 23:16:15 +0200 Subject: [PATCH] update TODO --- TODO | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/TODO b/TODO index 98f539c..607dee6 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,55 @@ +medium tasks next release +unescaping identifiers and strings +continuation strings testing +refactor the symbol lexers - lots of duplicated code +rename valueexpr to scalarexpr +syntax from hssqlppp: + query hints, join hints +rename combinequeryexpr +add comment to statements? +review simple enums to make sure they have default + +work on better dialect design: more basic customizability and rule / + callback driven + + +medium tasks next release + 1 +add annotation +lots more negative tests especially for lexing, and for dialects +escape, uescape +post hoc fixity +switch pretty printing to use ansi-wl-pprint + http://conscientiousprogrammer.com/blog/2015/12/17/24-days-of-hackage-2015-day-17-ansi-wl-pprint-avoiding-string-hacking/ + + +error message analysis: +start with a set of bad sql, generate & write +get error messages: + simplified ssp parser + tutorial parser + hssqlppp + and also: + postgres + mysql + sqlserver + oracle + db2 + vertica? +evaluate other parsing libs for error messages and general + feasibility, shortlist is: + megaparsec + trifecta + uuparsinglib + other desirables from parsing lib: + incremental parsing + context dependent lexer switch + continue after error + +create some benchmarks (to measure performance when modifying for + error messages, and to compare different parser libs for instance) + +use quickcheck in lexing + What will make this library nice and complete: List of all the SQL that it doesn't support annotation, with positions coming from the parser