From eece0ac7b3258277ad34def02d19b3f7d1cbf7d7 Mon Sep 17 00:00:00 2001 From: ygrek Date: Thu, 26 Apr 2018 07:51:38 -0700 Subject: [PATCH] update README --- README.md | 21 ++++++++------------- TODO | 14 +------------- build.bat | 3 --- 3 files changed, 9 insertions(+), 29 deletions(-) delete mode 100644 build.bat diff --git a/README.md b/README.md index fc41129..c9fa171 100644 --- a/README.md +++ b/README.md @@ -6,22 +6,17 @@ sqlgg: SQL Guided (code) Generator Homepage at http://ygrek.org.ua/p/sqlgg/ -Get the code at http://repo.or.cz/w/sqlgg.git or https://github.com/ygrek/sqlgg +Install with `opam install sqlgg` -Dependencies ------------- +sqlgg is sql query parser and code generator. +See homepage for detailed description and rationale. -Install with OPAM: `opam install menhir extlib ounit ppx_deriving oasis` +Development +----------- -Build ------ +Install dependencies with `opam install --deps-only .` -Run `make` (or `build.bat` on Windows). - -Windows users -------------- - -Install [VS2005 SP1 redistributable](http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647) +Buld with `make` Conditions ---------- @@ -38,4 +33,4 @@ See UNLICENSE file in each of the above directories for more information. NB the output of sqlgg, i.e. the generated code, is all yours of course :) ---- -2018-03-10 +2018-04-26 diff --git a/TODO b/TODO index e161472..a82779f 100644 --- a/TODO +++ b/TODO @@ -1,22 +1,10 @@ -* map enum strings to values -* write tutorial (for all languages), start documentation * native-type annotations in queries -* output params syntax for different DB -* guarantee correct duplicate params usage * allow to parametrize SQL syntax itself (ORDER BY ASC|DESC) : unsafe/enumeration/option params -* camlp4 syntax extension for inline sql +* ocaml ppx syntax extension for inline sql * allow to tolerate errors in query -* detect single-row queries (COUNT(*) without GROUP BY (done), LIMIT 1 (done), SELECT and UNIQUE INDEX, SELECT const without WHERE (done)) * support BULK INSERTs (how?) -* decide what to do with unquoted identifiers matching keywords (better error reporting at least) * provide ways to extend lexer with tokens in runtime * choose better names for some common cases (WHERE id = ? etc) -* fix line numbers in error output -* enhance error reporting (take into account target language) -* calculate types more precisely, type inference is too primitive -* verify that each parameter gets one type inferred -* track NULLs -* detect statements on single tables and group the corresponding generated code together * use prepared statements in all traits * check all generated names for uniqueness and validity with regard to target language * support/test other SQL engines diff --git a/build.bat b/build.bat deleted file mode 100644 index ac1d9c4..0000000 --- a/build.bat +++ /dev/null @@ -1,3 +0,0 @@ -del sqlgg.exe -ocamlbuild -classic-display -no-links src\sqlgg.byte -copy _build\src\sqlgg.byte sqlgg.exe -- 2.11.4.GIT