Re: [Sesame-interest] RE: Sesame 1.0 released!

[Sending this to rdf-interest as well, but I suggest that if we 
 continue this discussion, we continue it on sesame-interest only]

On Thu, 2004-03-25 at 22:24, Kingsley Idehen wrote:

> >However, SQL is a standard that comes in eh... several
> > flavours. Therefore product-specific specializations are implemented for
> > Oracle, Postgres and MySQL.
> > 
> [Kingsley Idehen] 
> What are the specific product specializations for Oracle, MySQL, and
> Postgres that you don't believe JDBC covers? Put differently, what feature
> of Sesame would fail to work if I used its JDBC data access layer atop
> Oracle, MySQL, or Postgres?

The way connectivity works in Sesame is that we have a generic Java
class called RDBMS which implements all JDBC/SQL calls. There are a
number of subclasses of this class, for Oracle, MySQL, and PostgreSQL,
which override certain generic fields. Specifically, datatype names tend
to vary across different databases. Also, there are slight differences
in how different databases treat null values (Oracle sees the empty
string as equivalent to null, whereas PostgreSQL and MySQL do not).
Furthermore there are slight differences in the SQL syntax for certain
update commands... If you want a detailed list I'd have to dig in the
code but that is more or less the gist of it. See the Sesame RDBMS
package Javadoc[1] for some additional details.

So, all of the connectivity is done _through_ JDBC, but the SQL dialects
communicated through the JDBC connection need a bit of tweaking for each
specific database, to deal with these differences.

> I believe the JDBC metadata calls and escape syntax covers most of the
> perceived short comings of JDBC or ODBC. But I am happy to be enlightened.

I think our main "problem" is not in shortcomings of JDBC itself, but in
the various dialects of SQL.

> Do note that OpenLink Software develops ODBC and JDBC Drivers for a living
> when responding :-) Also beat in mind that we have been developing and
> maintaining ODBC Drivers for Oracle, MySQL, Postgres, and many others since
> the respective inceptions of JDBC and ODBC.

Well, in that case, if you think we are doing something very wrong, by
all means let us know. I am not really a database/JDBC expert myself, so
I'd be happy to listen to advice on how to improve Sesame in this
respect.


Best regards,

Jeen
[1]
http://www.openrdf.org/doc/api/sesame/org/openrdf/sesame/sailimpl/rdbms/package-summary.html

Received on Thursday, 25 March 2004 17:12:48 UTC