They were opposed to having a web standard, which should be a generic standard, be implementation defined. Mozilla would have had to re-implement SQLite for WebSQL based on the principle that there should not be a standard with only a single implementation.
There's nothing wrong with implementing the actual standard IndexedDB on top of SQLite, since it's entirely possible to reimplement IndexedDB on top of a different underlying database.
WebSQL would have been awesome right up until the moment that some new platform takes off where SQLite won't meet the requirements for but we want to reach with the web platform, at which point we'd be screwed. Or even worse, WebSQL would guarentee that the reach of the web platform has been fundamentally limited by what a single codebase can reach.
Wouldn't it have been simple/easy to define a facade in front of sqlite as the standard?
Like some basic SQL select/insert/update/create table/drop table syntax and semantics? In a way such that advanced/specific features are not available in order to not be relied on and then let all browsers just use sqlite as implementation detail?
How much of a facade would you have had to build to be useful to the point where you run into the same problem? It seems like it would be very very easy for implementation specific behavior to leak this way.
At least with IndexedDB there's a large enough impedence between SQLite and IndexedDB that there's far less chance of details getting through.
Comments
They were opposed to having a web standard, which should be a generic standard, be implementation defined. Mozilla would have had to re-implement SQLite for WebSQL based on the principle that there should not be a standard with only a single implementation.
There's nothing wrong with implementing the actual standard IndexedDB on top of SQLite, since it's entirely possible to reimplement IndexedDB on top of a different underlying database.
WebSQL would have been awesome right up until the moment that some new platform takes off where SQLite won't meet the requirements for but we want to reach with the web platform, at which point we'd be screwed. Or even worse, WebSQL would guarentee that the reach of the web platform has been fundamentally limited by what a single codebase can reach.
Wouldn't it have been simple/easy to define a facade in front of sqlite as the standard?
Like some basic SQL select/insert/update/create table/drop table syntax and semantics? In a way such that advanced/specific features are not available in order to not be relied on and then let all browsers just use sqlite as implementation detail?
How much of a facade would you have had to build to be useful to the point where you run into the same problem? It seems like it would be very very easy for implementation specific behavior to leak this way.
At least with IndexedDB there's a large enough impedence between SQLite and IndexedDB that there's far less chance of details getting through.
What does SQLite not run on in 2021?
https://www.sqlite.org/mostdeployed.html
Standards don't ask where it doesn't run in 2021, standard ask where it doesn't run in 2030.