Actually is being developed the Tuscany DAS C++. So far, the framework can
perform the following:

- Convetion Over Configuration(COC):

  - DAS assumes that a column named xxx_id is a FK to the column named
  id on table xxx.
  - If no PK column is found on the ResultSet, it sets the column named
  id as PK, if exists.
  - The COCs defined above are, actually, case sensitive and, for
  example, a column named ID will not be set as PK


- The das is using the ResultSet metadata(column name, column data type and
column table) to generate the sdo graph and popule it. The DAS guarantees
the table object uniqueness on graph basing on the table PK, so the first
table retrieved by the ResultSet will be taken, and any other table
containing the same PK ignored:


  - A table may contain a simple PK or a composite one.
  - If no PK is defined for the table, the DAS tries to find one using
  COC.
  - If the table has a composite PK and not all the columns that
  compound the PK are contained on the ResultSet, the DAS ignores the defined
  composite PK and tries to find another PK using COC as defined above.
  - If no PK is found using COC, the DAS sets all columns on ResultSet
  as PK.

- Setting the references on graph objects basing on table relationships.

  - Actually, there may be up to 1 relationship between 2 tables.
  - The columns data that compound the FK are not created on the graph.
  - The DAS accepts simple or composite relationships.
  - If not all the columns, PK or FK, that compound the relationship are
  on the ResultSet, the relationship is ignored and the remaining FK are
  loaded onto graph.

- Actually, the DAS config can only be set from code.

- There are also implemented some testcases.

- DAS is only supporting the following SQL types: INTEGER, REAL, CHAR,
VARCHAR, FLOAT, DOUBLE.

Next steps:

- Read the config from a xml file.

- To implement a sample that reads some data from a database and print on
console.

- Implement support for more SQL types.


Comments and suggestions will be appreciated : )

Any volunteer would be helpful ; )


Regards,

Adriano Crestani

Reply via email to