HTSQL roadmap

State of the modules

  • plugins.py: applications.py: will require major overhaul to add plugin and configuration support; WSGI support is completed
  • binders.py: rework the multimethod model; general cleanup; support for commands other than insert()
  • codes.py: cleanup, docstrings
  • commands.py: use the new plugin architecture; handle arguments; connection handling; add commands other than insert()
  • configurers.py: completed unless the htsql model is changed, docstrings
  • dialects.py: move to psycopg2; cleanup; separate connection handling from sql generation; support for database engines other than PostgreSQL
  • domains.py: completed, but might need additional methods for conversion from/to a string
  • entities.py: sql model seems to be completed; htsql model has to be revised; docstrings
  • errors.py: the base classes are ok, but the actual exceptions could be changed
  • formatters.py: use the plugin architecture; more formats
  • functions.py: use the plugin architecture; introduce an abstract Method class; update functions and operators to the latest specification; support for domains other than boolean, number and string
  • generators.py: rework multimethods; general cleanup; support for commands other than insert()
  • identifiers.py: completed; NamedClass might require rewriting to support plugin architecture; check docstrings
  • introspectors.py: completed; support for other database engines
  • bindings.py: must be kept in sync with binders.py; docstrings
  • nodes.py: completed, but could require support for new syntax structures, particularly, link assignments and comparison
  • parsers.py: completed; check POST support; calculated fields and masks support
  • references.py: must be kept in sync with namespaces.py, binders.py and codes.py; support for bases
  • virtualizers.py: completed, but needs to be updated if the htsql model changes; cleanup

Issues for Interim Release 1

  • Remove all the references to paste. Make dependencies on yaml and simplejson optional. Affected modules are: servers.py, errors.py, formatters.py.
  • Docstrings for each module.
  • Functions, methods, and operators.
  • select() only.
  • PostgreSQL only.
  • Plugin architecture.

Issues for Interim Release 2

  • Functions, methods and operators for domains: Binary, BitString, DateTime, Array, Composite.
  • New commands: insert()/update()/merge()/delete()
  • New formatters: .xml/.json/.csv/.yaml
  • Link assignment.
  • Cleanup, docstrings.