Mergeant
========
TODO items:

Long term items:
* improve queries design by allowin GROUP BY, ORDER BY and sub queries
* make and use queries in an XML form, to be more generic
* restore the possibility to directly send SQL queries.
* create more default widgets to handle default data (timestamps,...)




libgnomedb
==========

Here is a list of all the short and long term improvements that I think should be made
to Libmergeant. The short term improvements should be enough to make a rewrite of Mergeant
using Libmergeant.

Short term improvements:
------------------------
* improve the error reporting of the MgServer object (mg_server_open_connect() and mg_server_do_query()).
* remove (and write the corresponding code) any TO_IMPLEMENT macro from the code
* Finish implementation of joins where there is a join condition
* fix a bug with default values for table's fields (requires work on the postgres provider)
* finish implementation of the MgQuery object with, namely:
	- complete sub queries support (at the moment only sub queries right after the FROM statement can be used)
	- create new types of MgQfield objects for correlated sub queries and for aggregates (like MgQfFunc)
	- implement the GROUP BY and HAVING clauses
* make translations
* improve database example with more data and other providers

Long term improvements:
-----------------------
* implement a MgPreparedStatement in the same way as in the JDBC spec.
* implements the XML queries (all the framework is already in place, and the only thing to do is implement 
  the missing functions
* handle sequences
* handle triggers (requires a new schema in libgda)
* handle namespaces and associate a namespace with each DBMS object (Table, View, Sequence, Function, etc)
* create a widget to display data in a tabular view and allow direct editing of data within
  the widget (similar to the MgWorkForm widget)
* create a widget to display entities and their fields and 'relations' among them, where
  drag and drop of fields is used to define relations, etc
* implement DDL queries

Improvements required before a stable release:
----------------------------------------------
* add a real CONSTRAINTS schema to libgda and use this one to make sure we get correctly _all_
  the constraints on each table (at the moment, there is a kind of heuristic to make some guesses
  on some foreign key constraints and in some known situations, the guesses are bad).
* Improve the Foreign Key constraints by getting attributes such as ON UPDATE action, ON DELETE action, etc
* bug fixes...
