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

Reply via email to