- From: Jeen Broekstra <jeen@aduna.biz>
- Date: Thu, 25 Mar 2004 23:12:39 +0100
- To: Kingsley Idehen <kidehen@openlinksw.com>
- Cc: sesame-interest@lists.sourceforge.net, www-rdf-interest@w3.org
[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