Re: [gnome-db] GDA as Gee.Collection Reched Milestone 1

On 11 January 2012 23:12, Daniel Espinosa <esodan gmail com> wrote:

2012/1/11 Vivien Malerba <vmalerba gmail com>

On 11 January 2012 01:12, Daniel Espinosa <esodan gmail com> wrote:
I've finished most of the samples and Unit Tests for an implementation of Gee interfaces that allows you to:

* Create a database row, set its values and append to the table in the table. Any column not set in your object is set to its default.
* Create a GObject derived from GdaData.Record to manage information in a database. Object persistence.
* Create a object to iterate, chop or filter over all Records in a Gda.DataModel. Called RecordCollection that implements Gee's interfaces Collection, Iterable and Traversable
* I've added a set of interfaces, that use Vala's Generics, in order to allow others to implement the same functionality using other database wrapper different than GDA. GdaData namespace contains all these interfaces definitions and a set of classes implementing them using GDA infrastructure.

=== Comming API changes ====

* Field is defined as a generic class, I want to change it as not generic.
* DbCollection, DbSchema, DbTable and its class implementators DataBase, Schema and Table, will be updated as required to implement new functionalities

=== Comming Planned Features ===

==== Milestone 2: DbTable and Table ====
* Allow to synchronize fields attributes, foreign keys and list of tables that reference it
* Allow to create new tables in databases, by using a HashMap collection holding fields definitions

==== Milestone 3: DbSchema and Schema ====
* Allow to get DbTables/Tables from database
* Allow  to add new schemas to database

==== Milestone 4: DbCollection/Database ====
* Allow to add new databases

Even though I haven't yet had the time to have a deep look at what you have done (and plan to do as explained above), I guess it will be good for Libgda's useability in Vala projets, and I thank you a lot for that. However before moving on to the next milestones could you first take into account these points:
  • handle bug #667382 related to Vala
I'll check ASAP.

Ok, thanks!
  • add some documentation about what you have done, in the doc/C/ directory to help people getting started (including me) with Libgda and Vala 
i'll do it ASAP.
  • as a side note, the .gir files (at least the one in libgda/) are currently managed by git whereas they should normally not because they are generated at compile time. From what I understand, having the gir files managed by git is a current workaround for bugs, but that cannot IMO remain like that in the future (i.e. the gir files must be the ones generated at compile time).
First reason to include GIR and VAPI files was to deal with a, now fixed, bug in Libgee. Now I'm using it to track API changes for both bindings and Vala. If you still think is not necesary I can remove it from repository, but I love to see it to detect future  bindings incompatibilities. 

Here is what I propose to you:
  • remove the generated files from git
  • add to git the "reference" of these files along with a test script (sh, python, perl, ...) which can then compare (or other) the generated files with the expected "reference" files to enable you to detect any problem.
The advantage of having a script to detect problems is that it can be documented (in its header for example) and run by anybody who thinks there is a problem.

Thanks a lot,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]