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