SQL subset definition ( 4.11. Client-side database storage )

Hello group,

I would like to kick off the discussion of the SQL subset in 4.11. 

The current spec only notes: "Note: A future version of this
specification will probably define the exact SQL subset required in more
detail".
http://tinyurl.com/23d324

This is not a good position, especially since implementations are
starting to pop up. On a high level, we need requirements and further
proposals for the subset that is going to get specified as a MUST level
requirement in the spec.

We have at least three things as a starting point:

1. Google Gears
http://gears.google.com/

2. WebKit Nightly Build DB Storage Implementation
http://webkit.org/blog/126/webkit-does-html5-client-side-database-storag
e/

3. The SQL subset supported by SQLite
http://www.sqlite.org/lang.html

All of these build on top of SQLite, which is in my opinion a valid
starting point, even on mobile devices. There are presumably differences
even with these three starting points.

One difference, which I am aware is whether the full-text search
extension is enabled or not (it is is Gears, but not to my knowledge in
WebKit nightly). I would very much argue that full-text search is an
essential requirement for HTML5 client-side database API, since it is
pretty heavy to implement the functionality in JavaScript. Comments?

So in minimum I propose having an issue in issue tracking system for
this, and would call for people who care about the client-side storage
to contribute to this topic.

My kick-off proposal would be to start with the number 3 : "The SQL
subset supported by SQLite", combined with their support for full - text
search:
http://code.google.com/apis/gears/api_database.html#sqlite_fts
http://www.sqlite.org/cvstrac/wiki?p=FtsTwo
And making BEGIN/COMMIT/ROLLBACK  no-ops, since transactions are
built-in to the API.

Best Regards,
  Mikko Honkala

Received on Monday, 18 February 2008 15:08:54 UTC