Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:121271 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 45514 invoked from network); 11 Oct 2023 15:03:21 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Oct 2023 15:03:21 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9784E18053F for ; Wed, 11 Oct 2023 08:03:20 -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=0.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 11 Oct 2023 08:03:20 -0700 (PDT) Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-9b8c0490820so243236866b.0 for ; Wed, 11 Oct 2023 08:03:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=negyesi-net.20230601.gappssmtp.com; s=20230601; t=1697036598; x=1697641398; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=eLO55oB3Xjr22SD0pwkwdhxLxahIlrOPn1w1g1DkSng=; b=EdFQ4TxyKtmag8EAeNZaHKdtrvVetiVKRxcFOvi2e4671gaxv20GyOSbFhkwAWjQmk IphGcB/hNT2cISf0VEtaKLsl409D+wrOApZ7ue8fpx87r7o8kvNAK5nCbLvB0Vt8kJuQ thl5Om3eRrIDgw0yM34Qnez1H7pT0H2kN9wXTj910yiZRm6HovCIiwjdJHYQwmz0gqiq WNMS4jZ58z8QL/K9ZZOz6TJ0dB61xuEMYlOqHLS14mzGUHiW3kCWbPlQMdR0Qy+5wkBt DgReawAiTwyoz8xmpOzWSbIo38ye41Wchfy8TRptLRdGnDUxMRNgPv6WDqxmgwm+iUjf 3Suw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697036598; x=1697641398; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=eLO55oB3Xjr22SD0pwkwdhxLxahIlrOPn1w1g1DkSng=; b=PfTl8/pgzx82hc/YYwMno2Oa0LiaDYPQ6jc8I/dIeirdJHnTzbu0ZS1JSyV28Mm22E dPA8Jr8eBpNGHSoiaw8eR1cU97bYQDoXw8v+26/hPxoDirxiJPizVaJGSfzzUpKK4LlO ADghayd34Ut3xKmy39kfzbr7uGV8FQrL4AQDdUemNY9DKUMKxnL+4KxaDjidUkCAFQHQ r6ZliE3XADcp4R67YBcdxvRsLX5Ig0aPEmMxYmeVauPg5usWrY+W1MutC5ZblDBi2Qcu HCCpKG7xSQZ7f6p/uS23zbc3VW6vt0m5YxqK4bMN/l7DDHBlDpuL48CtUbA0W/mttj/v oY+w== X-Gm-Message-State: AOJu0YzYObNIY/aUWroKfbEqHTlkO3O+JBsZ90ogbwtwTbkK/VSaGte9 QgkJXyc4QLeG21cFaMTK+cpzuDVgR8UdQfa+jwbGivW2 X-Google-Smtp-Source: AGHT+IHjFY+VK4b1WvPKQnl6OlLtDhy3vfS6BBmX4hIrU/4EsNeN3Tpm601h0Lt8BdKC4sUyvBIRjg== X-Received: by 2002:a17:906:10a:b0:9b1:488d:afd1 with SMTP id 10-20020a170906010a00b009b1488dafd1mr20158623eje.5.1697036598219; Wed, 11 Oct 2023 08:03:18 -0700 (PDT) Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com. [209.85.208.47]) by smtp.gmail.com with ESMTPSA id qq25-20020a17090720d900b00977cad140a8sm9911405ejb.218.2023.10.11.08.03.17 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Oct 2023 08:03:17 -0700 (PDT) Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-53d9b94731aso3263686a12.1 for ; Wed, 11 Oct 2023 08:03:17 -0700 (PDT) X-Received: by 2002:a05:6402:1641:b0:533:87c9:4a81 with SMTP id s1-20020a056402164100b0053387c94a81mr18910289edx.29.1697036596906; Wed, 11 Oct 2023 08:03:16 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 11 Oct 2023 17:03:05 +0200 X-Gmail-Original-Message-ID: Message-ID: To: "internals@lists.php.net" Content-Type: multipart/alternative; boundary="0000000000008796020607721f76" Subject: Expose pdo_parse_params to userspace From: karoly@negyesi.net (Karoly Negyesi) --0000000000008796020607721f76 Content-Type: text/plain; charset="UTF-8" Hello, Drupal has been using PDO for a long time now but as it doesn't have async support, the project is adding a mysqli driver. A sticky point here is the lack of support for named placeholders which are widely used in Drupal land but mysqli doesn't support them. Currently the project is considering parsing the SQL string in userspace to convert the named placeholders to positional ones. This does seem like a waste because PDO already contains battle tested, performant code to do this: pdo_parse_params. Exposing this to userspace would solve the problem. What do you think? If the maintainers of the project agree to the idea I can take a stab at coding this. It can't be too hard (famous last words). Thanks Karoly Negyesi --0000000000008796020607721f76--