X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=TODO;h=7bc7cb1aa33523785d011d714e16bcb1438dbc7e;hb=88c736485b8d1e4416c0401dc635c3300b54ee2a;hp=673fa67c571bd58d4bc846831c7938fcded3a97e;hpb=c31622d78fe27e0c27a556df766c5a6b57612caa;p=dbsrgits%2FSQL-Translator.git diff --git a/TODO b/TODO index 673fa67..7bc7cb1 100644 --- a/TODO +++ b/TODO @@ -1,16 +1,39 @@ -Define structure of the data returned by parsers: - o Producers need to know what to expect - o For testing purposes, we need to know if parsers are returning - something reasonable +* The regular Sybase parser is only just functional. If you are + interested in using Sybase, I would suggest serializing the schema + (via YAML or Storable) using the DBI-Sybase parser and then + manipulating that as you see fit. -Modules to be written/finished - SQL::Translator::Validator - SQL::Translator::Parser::xSV - SQL::Translator::Producer::MySQL - SQL::Translator::Parser::Excel +* Add more DBI parsers! These have the potential to be very + thorough and far faster than parsing text files with + Parse::RecDescent. -Should the parsers return an instance instead of a data structure? It -would make traversing the data structure easier. +* At least allow more pass-through of INSERT, DELETE, and UPDATE + statements +* Add INSERT statements for xSV, Excel parsers to automatically + create INSERTs for each row of data in the source file -# vim: set sw=2 ts=2 tw=70 fo=trcqo: +* Somehow merge ClassDBI producer with CGI::FormBuilder or Template + Toolkit and some sort of automated CGI builder to create + view/create/edit/delete forms for objects based on schema defs + +* Embetter the Diagram producer to use some real graphing algorithms + to distribute the tables so that the lines don't overlap so badly + +* Integrate more with some standard XML schema representations, + maybe like Torque DB (http://db.apache.org/torque/). We've + started messing around with XMI, too, but it isn't quite usable. + +* Possibly write a basic ANSI-92 SQL parser which could be extended + when writing other new parsers. + +* Make as many "required" modules as possible optional. This will + require support in the Makefile, the tests, and the modules + themselves (they'll need to die gracefully if prerequisites are + not installed). + +* Support for precompiled Parse::RecDescent grammars. + +* More code generation producers, such as Java, PHP, and Python. + +* Integrate Module::Pluggable as a replacement for the _list method.