Hi! On Mon, May 4, 2009 at 5:23 PM, Jay Pipes <[email protected]> wrote: > Let's get this train back on the tracks... :)
ack ;) > For *quoted* identifiers, there seem to be a number of different viewpoints: Just adding text to define more precisely - not trying to be snotty. > 1) Forget the standard and stick with the current MySQL semantics of > backtick delimiters, double-quote delimiters, and inconsistent current behaviour is: * backtick delimits quoted identifiers * double quote and single quote can both be used as string delimiters > 2) Stick to the SQL standard, which says quoted identifiers should be > compared in a case-sensitive manner and double-quotes should be the one > and only delimiter for quoted identifiers. > > 3) Adopt some hybrid approach which might be something like scrap the > backtick delimiters, but continue to support both single and double > quote string identifiers. correction - not string identifiers, string literals. Keeping quoted identifiers implicies introduction of a new non-standard delimiter for quoted identifiers kind regards, Roland > > Am I missing any specific viewpoints expressed in the thread? > > Personally, I think that #2 would be doable, and it could be broken into > a number of subtasks that contributors could accomplish in a phased > approach. For instance, one task to remove backtick delimiters, one > task to get comparisons for all objects done consistently, and another, > if the community decides it is worth the effort, to go 100% > standard-compatible and remove the double quote string delimiter. > > 1, 2, or 3? or some 4? > > - -jay > > Jim Starkey wrote: >> Tim Soderstrom wrote: >>> Yo Jim! >>> >>> I'm curious as to what your thoughts are in regards to the fact that >>> the standard isn't itself open? Correct me if I'm wrong, but >>> every-time something is added, removed, or changed in Drizzle in terms >>> of syntax, some guy that happens to have a copy of said standard has >>> to validate it? To me, in an open source world, that doesn't make any >>> sense. >> I believe that older and draft versions are available for free. That >> said, I don't think anyone has argued that drizzle implement every silly >> feature that some company get pushed into the standard. There's a lot >> of stuff there are vanity features, things badly thought out, design by >> committee, etc. >> >> My only point is that drizzle should not have *arbitrary* differences >> from the spec. If you have update syntax, you should use the update >> syntax from the standard unless there is an overriding reason not to. >> Extentions are OK. >> >> What is not OK is taking syntax from the standard (like identifiers) and >> deciding your identifiers should behave differently. Maybe your rules >> are better and maybe they are worse, but neither drizzle users nor >> perspective drizzle users are well served with arbitrary differences. >> >> Case in point. SQL triggers bay at the moon (having invented the >> cascading trigger, this is something I have strong feelings about). So >> in Netfrastructure, I ignored SQL standard triggers and implemented >> Java-based triggers instead. But nobody is going to confuse the two. >> It's a difference, but not an arbitrary difference. >> >> The more difficult cases occur when you implement something that gets >> standardized later (this is the only honor place for a database >> developer). Then you have to deal with the hash the drones made of your >> work and figure out how to converge. At Interbase, we innovated in GDML >> and waited for the SQL committee to bless it before moving it into our >> SQL. Unfortunately, that isn't a useful strategy anymore. >>> >>> I know there's stuff in the official SQL standard that doesn't make >>> any practical sense. Implementing those would be, well, impractical :) >>> Drizzle's core is probably not going to need to worry about many of >>> these anyway since they are, if I remember correctly, in relation to >>> views, procedures, objects (I think?), etc. Alot of that seems like it >>> would be a pluggable module into Drizzle anyway. >> See above. >>> >>> So, while bucking the standard isn't a good idea in the grand scheme >>> of things, I think there could be times where it could make sense to >>> do so. The difference is that I think Drizzle's SQL standard should be >>> openly published and freely available for others to implement. In >>> fact, I'd say all the open source DB's and the DB platforms that care >>> should work on an Open SQL standard and adhere to that. >> Sorry, but only an idiot bucks an international standard and declares >> his alternative a de facto standard. There is no difference between >> open source databases and commercial databases, except, perhaps, the >> arrogance of the developers. >> >> If you want to lead the world in features and functionality, go ahead >> and innovate. If you're only playing catch up, you might as follow the >> standard. >> >> Note: It's sometime worth understanding the standard before diverging. >> You might learning something. For example, you would have learned that >> folding to lower case doesn't work for many languages. >>> >>> Until we have an Open SQL standard, while inherently I agree with you, >>> I'm not so sure Drizzle needs to worry so much about the closed SQL >>> standard. Correct me if I'm wrong, but Drizzle is mostly compliant, or >>> at least will be depending on what people decide about those terrible >>> back-ticks. Any place were Drizzle deviates can't be by much since >>> Drizzle doesn't support a huge number of things from the standard in >>> the core. So if Drizzle is just a little off, I would think a simple >>> migration script would allow migrating to and from multiple DBs. >>> That's not ideal, but then again, neither is having to pay money for a >>> silly standard. >> Look, I agree with you about paying for the standard. The SQL standard >> was originally intended as a barrier to entry to the database market. >> Bad idea, and it didn't work. >> >> Let me make a suggestion. Why don't you think about ways to attract >> potential users to drizzle rather than thumbing you nose at them? An >> "open source database standard" would let you poach customers/users from >> PostgresSQL. Why not raise you sights a little higher and endeavor to >> poach users from Oracle or Microsoft? >>> >>> $0.02 >>> >>> Tim >>> >>> P.S. If I'm totally wrong about any of that, feel free to openly flame >>> away :) >> See above. >>> >>> >>> On May 3, 2009, at 2:40 PM, Jim Starkey wrote: >>> >>>> At the risk of boring everyone to death, I'd like to explain a bit >>>> more about why I continue to push a standard I don't like. >>>> >>>> In the computer world, like many others, there comes a time where a >>>> technology is good enough. At that point, something better has a >>>> very high bar to acceptance. Yes, this leads to less than optimal >>>> standards, but a good enough standard allows folks to concentrate on >>>> newer and more interesting stuff. Lotus 1-2-3 was good, but not good >>>> enough. Excel, on the other hand, is widely regarded as good enough, >>>> sufficiently good that competing against it is pointless. X-11 is >>>> another example. X-10 wasn't good enough, X-11 is. Sun's News and >>>> display postscript were both better than X-11, but not sufficiently >>>> better to bother with. >>>> >>>> When the marketplace speaks, one should either listen or prepare for >>>> a life a deep frustration. >>>> >>>> SQL is clearly good enough. It had all sorts of competitors, all of >>>> which are nearly forgotten. SQL won more or less fair and square -- >>>> there were multiple implementations of SQL, mostly incompatible, a >>>> couple of implementations of QUEL, a couple of implementations of the >>>> DEC/Interbase language, and any number of forgotten one-offs. >>>> >>>> Due to pressure from users, the various SQL implementations have >>>> gradually coalesced around an official standard. The process was >>>> ugly and rigged, but the world spoke very clearly that it wanted a >>>> standard database language, and those products that wished to ignore >>>> the standard would be punished. >>>> >>>> MySQL has an idea that it sets it own standard. This is not only >>>> horseshit, but blatantly anti-democratic horseshit. It is the same >>>> horseshit that Oracle and Ingres tried to pull with non-standard SQL >>>> and QUEL -- languages that they controlled and the rest of the world >>>> be damned. >>>> >>>> The MySQL attitude toward SQL is stupid, ignorant, short sighted, >>>> arrogant, and just plain wrong. Interoperability with the rest of >>>> the world is important because it lets people use database software >>>> to solve one set of problems so they can concentrate on other sets of >>>> problems. Throwing roadblocks in front of users that both impede >>>> acceptance of drizzle or MySQL and, not incidentally, prevent users >>>> from converting to other systems, is profoundly unfortunate. >>>> >>>> So, drizzle, join the world or thumb your nose at it and go your own >>>> way. But please don't proclaim out of one side of your mouth that >>>> you are a SQL database system and out the other that you aren't >>>> willing to go beyond lip service to the standard. >>>> >>>> When you have semantics beyond the standard, by all means go your own >>>> way. Innovation should not be stifled by a standard. But if the >>>> only motivation for divergence from the standard is to show the world >>>> that you're smarter than everyone else (or, in the case of MySQL, too >>>> dumb to fix it), give it up and get a life. >>>> >>>> Let the counter-rants begin. >>>> >>>> >>>> -- >>>> Jim Starkey >>>> President, NimbusDB, Inc. >>>> 978 526-1376 >>>> >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~drizzle-discuss >>>> Post to : [email protected] >>>> Unsubscribe : https://launchpad.net/~drizzle-discuss >>>> More help : https://help.launchpad.net/ListHelp >> >> > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkn/CHcACgkQ2upbWsB4UtHOMQCeNN0sgE0fSbdkKrL/Qj2o+Qw2 > RbcAn1j+BV8j5smhA1+fwd/WADZBtthK > =24ag > -----END PGP SIGNATURE----- > > _______________________________________________ > Mailing list: https://launchpad.net/~drizzle-discuss > Post to : [email protected] > Unsubscribe : https://launchpad.net/~drizzle-discuss > More help : https://help.launchpad.net/ListHelp > -- Roland Bouman http://rpbouman.blogspot.com/ _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

