After looking JDBC, PHP Pear DB, OCI8, CLip docs I would suggest: 1 - to follow the JDBC standard as close as possible: big players like Oracle, IBM, Sun (mysql) are heavily committed to JDBC and surely in it all options are considered and implemented. This doesn't mean we need to do everything exactly in the same way but a developer that follow the JDBC tutorial http://java.sun.com/docs/books/tutorial/jdbc/index.html should feel at home
2 - to "import" some interesting features from PHP: like the use of hashes to retrieve values beside the classic fieldget( "fieldname" ) or autoPrepare & autoExecute see: http://pear.php.net/manual/en/package.database.db.php 3 - to have as much "drivers" as possible. Having only one or two drivers will not change anything. We need a "native" multiplatform driver for each major player like Oracle, Db2, MySql, PostgreSQL, MSSQL(Ado), SQLIte, ODBC. Clearly I don't expect that a trained Java developer will move to Harbour, but IMHO there are many developers that find Java and .Net too "heavy" but PHP/ASP not suitable for desktop apps but that know those languages. To achieve these goals I would suggest: 1 - to follow step by step JDBC tutorial that is after made the changes required by the syntax the examples should work. This means to implement for every driver: - DriverManager - Connection - Statement - PreparedStatement - CallableStatement - ResultSet and if possible: - RowSet - BLOB, CLOB - XML - ... 2 - to forget about the driver's "nature" for the moment and add dirs like HdbcOdbc, HdbcOr, HdbcMy, HdbcPg, HdbcSl, HdbcFb, .... to contrib It would also be a good start to have a standard set of tables ( like Oracle's HR ) and a set of common tests to compare the results. Now the hard thing the resources: - at least one PRG developer for each driver - C developers for the interfaces - testers and users to: -- test various DBMS under OSes -- write doc about differences between drivers -- write test cases I would also remind that: PostgreSQL has a BSD license so it's really free for every use and has binaries installers for almost every OS at www.postgresql.org Oracle has an Express Edition "Free to develop, deploy, and distribute" for Linux and Win at http://www.oracle.com/technology/products/database/xe/index.html An interesting OCI C Interface read is http://www.oracle.com/technology/tech/oci/pdf/building-best-drivers.v9.pdf IBM has an Express Edition of DB2 for Linux and Win at www.ibm.com/db2/express The CLI C interface is very close to the odbc one. MySql comes with a dual license: pure GPL and commercial. So linking MySql client without a commercial license results in a GPL application. CLip is GPL so please don't copy any code. I would also suggest to don't download and don't look at the real code. Use only the doc. Suggestions and comments are welcome. best regards, Lorenzo _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour