Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124837 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 3914B1A00B7 for ; Sat, 10 Aug 2024 13:14:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1723295743; bh=yUtWxRUugD5dq+7ZjvxdpKKSR8msdeNb/BvhSPMH9NU=; h=Date:To:From:Subject:From; b=GrfzkYBU9nos+fHhnw0SqAY1khLdRtB2I24/P+4MjKNmamfROCrjLnmprRjJeS/vs OKOsMpnIWHxImbIEHuBR6LcCmd6bH0PEVhZShIgc3zOFY9J3fQqR0b8Z70WI/V9eq7 gm94jdfFC3U4zSLDOkTnDW6ydBgC4kr84c/2vYZ+1isl5dpzRDjAJR8E4iKt4BnrfL kSwjJqkQjsFry/L37N2om/LOR+zgqStNo41vvf2ARnxJ5vybxDK54rpa2AUOnf+zv/ HPhVR5gemL7Nm/Wbfpcwujba9nOk8ozPXAaNvTk5yF8l+x6uajYqCKzb5nyzi/aPFz nkIt1AFn51BWA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id EE9BF18006D for ; Sat, 10 Aug 2024 13:15:42 +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.2 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 10 Aug 2024 13:15:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1723295637; x=1723900437; i=cmbecker69@gmx.de; bh=qfsNfWaWbwJb6PpyKuKhPE84/xIKZqmwHIMOZ7Ovh5A=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:To:From:Subject: Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=FaaLlW5EjaaKpfoEtqkXoJtULHi/89V2ntCmSK7Tavmn+YPNNNuC6wkKZ4rB2NUr lfMvyXYp3KiXCGiY4ZBudLRuoHmJoEKh34YEHDsolZ7ExqYD/jcUNO2KNJkEcWwqL Ad85BpyAU6yRUYx6XVzwI7tenrZZLOZpbIoWcKau+R6kOwezoNyTT8zOaiRuYSyyQ 2cKhRsbT4fDnP/DMXnsOSNq4UrtvSFm7mMnmZmYh1Kscx/mS/atSPDd4ur1K27p8A f1ViYHsc99uCV34KN79viIVVzyWPLmQqXLBOcDqdZBiYJP1Sw9Ids87JFXUJnNQNy IEfDyV/IW5rq20Idew== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.2.130] ([79.251.205.37]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N63Ra-1sAEY849Si-018HNw for ; Sat, 10 Aug 2024 15:13:57 +0200 Message-ID: Date: Sat, 10 Aug 2024 15:13:56 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: PHP internals Content-Language: de-DE Subject: [PHP-DEV] PDO_Firebird: use C++? Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:WWRISEyXY3b8hpR2HnPVdWgR7fMX2R2jYgRa+cQHAaU4bhzavL3 kXl+0H71iGp1wwEmiHtWiM48l3ddci8MAW4RJWmKBUhRvD2Q+X4lsuHzkcSHqxGzyNAWr3d dKko+sS/rgbYK3ULHLali0pSysznXD+dglrwfT64EgTnHTVOTBGPI2rkwLh1v7hTZpvGVYo 3fewDAw8+9Fb9gBOlAG1g== UI-OutboundReport: notjunk:1;M01:P0:nzB8RysXplU=;Zob5rbrNGdigruTJ25vNOPd/nhW RAdxVMYc1kRMY67ekitnGhhE6Zt63iz2ASnRuBu/LJbO/SNKtrB+W2Q+PVcxqG55Idoy5UQsD +uB0rc+3X3Rl/sa7GyPUWF5zrbcBn+eTiZ+WCCdGbXO7vXyyPCM1vrh7yWSNxjXcjSz26OUZW mVvvrWd/JCwyUaEyIPTUewbs4mo3DkhmNXvA9aj1qnmARByKSRTqdJuvUHN6BA0ZiFdNeT1+9 zkLVw6Ng5oDr1LQ+ujxEzRhALm/okkGojmGQChg4Trnluc9n47KuhjyGL31p4MZnFHu3gGEcC nGNaeGZeqV2epgo2CwrNJDTcAovQ4nyKvXwMs+dvvy+nBTK9sOWD57GtSL0bHmv1Ersmh1UP1 BnQo/6o2ULJX1uYtK0dsl75yHj40fvoD5Atm3f0aDeHFW8/jR/71Orm/gJtts0hYgOtkjiYv5 ICKwemeW/M6KKEQYZ3cof6ldJIVrtZ3J5d9TfM8zpJYo8yN2y2TEXycWFuUjbl7oRs2xZ8U0M 21f1S7nsZg1FYDIH/iaZB/DGefBewExZuau9sLRaD1K/CeezKXAMyjhImZOaeYURikPChaU18 pIZy0FTVlsQOU+q0/OPM8YezakAr2x1cvKPMEl0mNy9RxX9cVZcPNdDycrE6H+N6baIBqz1wa N3sThzEfW5IkRzmTyWZW0S8H+U4s271ts+or+JOUY2Ke3QMMc/9Nx/BqZNzEYlwZEmkmphsPG vkJwGcGNzlXRFusVmTMNpACIa6338Q5u+X3ctzpLZ4E4lgDbRAUzSp4En1WkA35FCEzLDU1g8 zz+wi+8lTPdzk+9H1qzh6NnMEcfW5N+UFwwJuLskqvUw0= From: cmbecker69@gmx.de ("Christoph M. Becker") Hi all, a week ago Denis Simonov submitted a PR[1] regarding formatting of the new time zone types of Firebird 4.0 (which appears sensible per se). This requires to access new Firebird APIs which are written in C++ (the old Interbase APIs are still provided as C code). Now the Firebird developers have written a tool for cross language support called CLOOP[2] which allows to access the APIs written in C++ directly from C. However, they do not provide these C APIs officially, so Denis provided the minimal required C API for inclusion into the PDO_Firebird extension[3]. In my opinion, this a somewhat fragile approach (especially since CLOOP's C generator apparently hasn't been tested for a rather long time[4]) and would personally rather use C++ to access the new APIs. This would obviously require a C++ compiler to build PDO_Firebird (so far a C compiler is sufficient), unless the C++ code (and the respective functionality) would be optional. Another drawback would affect the Windows builds; so far these just could use the Firebird kits provided by the Firebird developers (which contain headers and pre-built libraries), but these don't contain any C++ libraries, so the libraries would need to be built and hosted by winlibs[5] (at least for the time being). I *assume*, however, that (Linux) distros already provide pre-built C++ libraries since the new Firebird OO API is available as of Firebird 3.0. Maybe someone can confirm that. So what do you think? Should we use C++ to access the new APIs, or stick with C (and include the required declarations in PDO_Firebird)? [1] [2] [3] [4] [5] Cheers, Christoph