-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::Xls
+* 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.