Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115035 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 95760 invoked from network); 22 Jun 2021 16:38:28 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Jun 2021 16:38:28 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 77BE91804C0 for ; Tue, 22 Jun 2021 09:56:46 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 22 Jun 2021 09:56:45 -0700 (PDT) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 607865C004E for ; Tue, 22 Jun 2021 12:56:45 -0400 (EDT) Received: from imap43 ([10.202.2.93]) by compute1.internal (MEProxy); Tue, 22 Jun 2021 12:56:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=8RfsSs DTF8UhU1DAN42UJTyuMM2CNrC0ZV8EfFc6Qf8=; b=iF/IbchxLhQ0Lbunf6YYIX 2s4nk/Agn99t4iCc9neNpLRQc/y1ESQHfn06zjLa5LoCONFr8/LDslOrN8Ou6R47 c6HForlUS3gsoKJUT3huD1bEklyicBEXp+YMvoPuTiD3RgdJ0J4EUX3bhX5CjJL1 gfDxx9CEIWFTDkO+CUcizo6Xi1QDIFZjGdabhWEAC33tolpIU25lguwyvalv8TM+ K5paXUrX5tVng7QZctDZQeQGLaQu5DAcN+MtiPIKQG3QLFnFQrEUUWqM9hOfvRsV em5kBHIwRT1OLnI49AgthU7lUn5TqdtL/we924YLiBhV8K94sRgQMWgajy1M5Srw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfeeguddguddtiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefofgggkfgjfhffhffvufgtsehttdertderreejnecuhfhrohhmpedfnfgr rhhrhicuifgrrhhfihgvlhgufdcuoehlrghrrhihsehgrghrfhhivghlughtvggthhdrtg homheqnecuggftrfgrthhtvghrnheplefhjeduueegudeghfehudfgvdeflefffeeuteev uedtjeffkeetkeeiveejkefgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hmrghilhhfrhhomheplhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhm X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 29B3EAC0072; Tue, 22 Jun 2021 12:56:45 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-530-gd0c265785f-fm-20210616.002-gd0c26578 Mime-Version: 1.0 Message-ID: <6ab93b1c-816e-40d5-a831-2f755fd7aeb5@www.fastmail.com> In-Reply-To: <9ACF5579-6721-4C23-B725-1018B7971B20@newclarity.net> References: <4FFA0160-1A05-4DA0-9C9A-79F778443A35@newclarity.net> <9e8faf2b-fdc7-49f4-bdc1-0822841616e2@www.fastmail.com> <9ACF5579-6721-4C23-B725-1018B7971B20@newclarity.net> Date: Tue, 22 Jun 2021 11:56:24 -0500 To: "php internals" Content-Type: text/plain Subject: =?UTF-8?Q?Re:_[PHP-DEV]_Sql_Object_Model_Parser_&_Sanitizer_(was_[RFC]_i?= =?UTF-8?Q?s=5Fliteral)?= From: larry@garfieldtech.com ("Larry Garfield") On Tue, Jun 22, 2021, at 11:46 AM, Mike Schinkel wrote: > Maybe this will help. There are a billion XML schemas, but DomDocument > and its related classes can process them all. A SqlObjectModel would be > similar; it would know how to process text queries where the dialect > interface implementors would be the equivalent of the XML schema. > > It is not a perfect analogy, but it is close enough. It's a very helpful analogy, actually. SQL is 100x more complex of a language than XML is. XML is trivial by comparison. That's exactly why what you describe is vastly harder than you think it is, even if you limit yourself to the rudimentary ancient SQL standards. And a tool that breaks down and becomes unusable as soon as you start using anything even vaguely modern is a tool I would rather *not* exist, quite frankly, as it only further discourages anyone learning SQL beyond MySQL 3. --Larry Garfield