From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 Path: border1.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: =?UTF-8?B?QmrDtnJuIEx1bmRpbg==?= Newsgroups: comp.lang.ada Subject: Re: GNAT GPL is not shareware Date: Thu, 08 Jan 2015 21:51:54 +0100 Organization: A noiseless patient Spider Message-ID: References: <87bnmetex4.fsf@ludovic-brenta.org> <87lhlirpk0.fsf@ludovic-brenta.org> <79f3eff7-2b45-40ae-af94-fa9a17426d82@googlegroups.com> <87bnmd8mg2.fsf@ixod.org> <19cf9bc2-f8b9-4735-b427-7b070dda59da@googlegroups.com> <1otenmcbgnvlt$.dn9361nl2jm8$.dlg@40tude.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Thu, 8 Jan 2015 20:51:42 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="edcd57aa7b7d0a640de5f364a7af93e6"; logging-data="5606"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19aRM0Nrn8ljxTYBY2Y2yWN" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.2.0 In-Reply-To: Cancel-Lock: sha1:L4XvAdo9qQ29FLYCJ+yHn+gUeFY= Xref: number.nntp.giganews.com comp.lang.ada:191795 Date: 2015-01-08T21:51:54+01:00 List-Id: On 2015-01-08 19:46, Shark8 wrote: > On 08-Jan-15 03:55, G.B. wrote: >> And yes, SQL isn't perfect, and the type system of the >> relational model is much underused. > > The biggest problem with SQL is that the standard makes *so much* > optional that there's essentially zero portability between > implementations. (Just try writing a few non-trivial CREATE TABLE > statements and inputting them across MySQL, Postgres, FireBird, MSSQL, > etc.) Yes, for DDL statments, but DML statements are often quite similar, if the vendor confesses to one of the standards. We have about 700 hand-written statements in our WMS system, + a wealth (~3000) of table centric ones - auto generated - and there is only 1 case where we differ the statements between the vendors (Oracle, MS-sql-server and postgresql) and that statement contains 'Substring', which in Oracle sql is 'substr'. All other insert,select,delete,update are the same. while some of them are trivial, other are more complicated like SQL.PREPARE(SELECT_IPLOADS_TO_BLOCK, "select IPLOAD.*, IPAEXPI " & "from IPLOAD, IPART " & "where IPLSTA < :RESERVED " & "and IPLRES = 0 " & "and IPLQUA > 0 " & "and IPLSDAT < :SYSTEM_DATE " & "and IPART.IPARTID = IPLOAD.IPARTID " & "and IPAEXPI > 0 " & "and not exists (select 'X' from IPLBLOC " & "where IPLBLOC.IPLOAID = IPLOAD.IPLOAID " & "and IPLBLOC.IBLOCAUS = :EXPIRED) " & "and not exists (select 'X' from IBOMLOA " & "where IBOMLOA.ILDID = IPLOAD.ILDID)"); -- Björn