Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:123263 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id E1A5D1A009D for ; Fri, 3 May 2024 09:14:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1714727698; bh=QIEig96gog/FrTW/HtMALH5vT1L9XfXj+bN1mtMxhA0=; h=Date:Subject:From:To:References:Cc:In-Reply-To:From; b=A/ADq554Y4JupCIvCFfQwVd5sYLPwqCaxm0DvQj2UEGHqDBTUp9defc9WpyDK/FSt hjEo+oOeHGiSnEVCwwqoe97qOUjnrPwBlZrtHUPSAy5XfPRpsSS/Jf7ZKsheXdO8lh I4DqHTBOd14vT0icPZ2XWff2VlNiY/0mSOWvxoVR8EclM5VujuF3hoc2oc5R37QgFB Eo+COVK1d1VFLa6Y2n2SSxVaJJ69SRpGObDsWgWlP2fv09vke89Rh285GUYBNc/ko1 /5zYKWXwhP5V739Zo2GDbIgKH7q2eD8S3N6Kdj4c73N9ZN5/rZgJdIdTCG76lHES+r J+VGIv+ksEqbA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8D10F180550 for ; Fri, 3 May 2024 09:14:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from wfhigh8-smtp.messagingengine.com (wfhigh8-smtp.messagingengine.com [64.147.123.159]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 3 May 2024 09:14:52 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfhigh.west.internal (Postfix) with ESMTP id 835AD1800159; Fri, 3 May 2024 05:14:05 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Fri, 03 May 2024 05:14:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beccati.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1714727645; x=1714814045; bh=j+iHOA3u+HH+NHsiRCsXzGgjIKwQzK8QSwQeLGdFn/Y=; b= WS16c8scyWoMWHwJR9CWLbxIt2Ybeot9c8lkAdVq/G9/i0b2g5blskBqJj4Ds6m+ 5pUmezo9m/2Qn2ZBMymBM+F7NHJdV7GG6r8AinNWaG8VnGFUPvPgGR6pTYfBdgPB VtBgr/gABF2oY8eerye96sx+gBCWO/61M1ZHhmDOG7YXNd2oor/SmOolwDQJTIMj KW/piuGGO9YaaXKHhTFscHY9WCdKNYMqongpn7zxUE6cC1tTQv8qC7/m2T4n5G7c 3QZZDtRCRgILYVR+efyar1ICMzvBmeFjIh7eTZAjcVe8K1fFDOQnFirQcPWt99r/ 4MrY/i8mFNXSnQA33LToSQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1714727645; x= 1714814045; bh=j+iHOA3u+HH+NHsiRCsXzGgjIKwQzK8QSwQeLGdFn/Y=; b=k Z/4s0bCcMS58xg/gUAD6uj7Zzgr5EEnNjD2jamAj0MznJUpiobe9S0SkxPl7kaXi MbIBGlRUhezBEKgrAHHr0vBua2R6IaJmVG50RKc0irB+NRrJf4wGrqU9L8oouA0L rMV2am365BI9pGb3d9EXRuIHnB3mEXYgFlzIW5Gvd5fcY6PX3qbZBwAZ8U6Pm4Uj MA0Ec3K1UF9/nCYYLWfoo5uG5iRTtAL79f4mMvyEXjMhCvV3JbGtOj40XojZ+MpX hbYEQ+2dWt0zOX8h9ByZHS1C7H/sTRhu4j8Ef7jD0teBEGD2lI0FO5iuPJF8XAB/ Y/36TXnTopMZ5ocwSlB/A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddvtddgudduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffhvfhfvegjtgfgsehtjeertddtvdejnecuhfhrohhmpeforght thgvohcuuegvtggtrghtihcuoehphhhpsegsvggttggrthhirdgtohhmqeenucggtffrrg htthgvrhhnpefhgedvheffgeevgfetkedvjefghfehgffgheeiuddvueeuhfefhfettedu leefhfenucffohhmrghinhepphhhphdrnhgvthdpghhithhhuhgsrdgtohhmpdgsvggttg grthhirdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf rhhomhepphhhphessggvtggtrghtihdrtghomh X-ME-Proxy: Feedback-ID: i6f4c46c2:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 3 May 2024 05:14:04 -0400 (EDT) Message-ID: <444757f0-78c8-41e1-aaa1-70ad4016d813@beccati.com> Date: Fri, 3 May 2024 11:14:01 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] [RFC][Discussion] PDO driver specific parsers To: "internals@lists.php.net" References: <00079548-1799-4215-8F73-EFDCD795532F@sakiot.com> <098996d6-32e4-460c-a82a-aeef3b7e61d3@beccati.com> <9A6577BD-3BC5-41E1-965D-4B30D16CDB3D@sakiot.com> Content-Language: it, en-GB Cc: Saki Takamachi In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit From: php@beccati.com (Matteo Beccati) Hi internals! I've updated once again the RFC and implemented most of the 3 major dialects (mysql, pgsql, sqlite) in the drivers. https://wiki.php.net/rfc/pdo_driver_specific_parsers https://github.com/php/php-src/pull/14035 I've tried to keep syntax changes we might not want as separate commits in the PR. For example: - the pdo_pgsql driver now also understands C-style escape strings and dollar quoted strings. - pdo_sqlite supports Access-style [identifiers]. - pdo_mysql will consider "--" a comment only when followed by whitespace. The latter has been a particular challenge for me and I've been able to overcome it by using the re2c:eof feature, which I then discovered being available only in a later version compared to our requirements (1.2.1, released Aug 2019). As is, the Windows build fails on GH because the sdk ships with 1.1.1. Perhaps someone with better re2c knowledge can get it working with re2c 1.0.3+, or perhaps it's not really worth it. Looking forward to hearing from you! Cheers -- Matteo Beccati Development & Consulting - http://www.beccati.com/