Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:104914 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 1629 invoked from network); 24 Mar 2019 14:06:13 -0000 Received: from unknown (HELO mail-oi1-f194.google.com) (209.85.167.194) by pb1.pair.com with SMTP; 24 Mar 2019 14:06:13 -0000 Received: by mail-oi1-f194.google.com with SMTP id v7so4858558oie.8 for ; Sun, 24 Mar 2019 03:59:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=AB+GrLuzGwHV+5Baf1ofHpXnS/CfLaykwQzb4bddzHw=; b=c4kOCSqqVR4UVLqNyu59GMiXUbUchbSQjH8jkAwrbH0AdNdxGv9mjCgyuUUVimo5GL Nj+AJ9LDx8/1i7uycS8s8Jf97/8nFcfIy0on0B2wyGKPCqCjp4K4INInBtDiczX8IkZ1 4VjXKakccL3ecjREs8lVkbgQ9CFq6UTX+e0cUajsc77qD7lFL4AvR4iyG4BGHUBnHnbD 0N7cfrt8mbh7qPn4PAxF020xoWfXgxla8Mjm+4iHXs6c+hg41x1n7d4syWpqSo6OM+LB TItTq/Yw7QqWjeFFXYhA0pG6pxYyX2jdXLtCX5/hY48+6p8oCSkQo81fm+YTaXahJs12 lrRg== X-Gm-Message-State: APjAAAW0q7GbU15cPWn10kiNJtpbtLD7HZw54iUyq1oqXj5O3dpXlnBS tdHGfTO2Hf8c8wwZrPnf9w6klrFed4GHO37hdQIg8sQQ69k= X-Google-Smtp-Source: APXvYqwFQ1bHFS2IO6LZ7zTb9ZNT+luCSpMRsiVczxuixdVsZphCLUKIXxHeLqi1gOm/IW9dsuHZgExYPfAYEOlcGLM= X-Received: by 2002:a54:4e02:: with SMTP id a2mr8211235oiy.140.1553425143967; Sun, 24 Mar 2019 03:59:03 -0700 (PDT) MIME-Version: 1.0 References: <33dee569-a06f-c5ab-d358-f7b8df3f8a76@lsces.co.uk> <1166897a-379d-4e6f-d132-744171ea19d5@lsces.co.uk> <0f59d47c-f170-21c8-33b7-4a98120b64d5@lsces.co.uk> In-Reply-To: <0f59d47c-f170-21c8-33b7-4a98120b64d5@lsces.co.uk> Date: Sun, 24 Mar 2019 12:58:52 +0200 Message-ID: To: Lester Caine Cc: PHP internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] Unbundle ext/interbase From: kalle@php.net (Kalle Sommer Nielsen) Den s=C3=B8n. 24. mar. 2019 kl. 10.05 skrev Lester Caine : > > On 24/03/2019 01:42, Kalle Sommer Nielsen wrote: > > Besides this, it has further magic behavior if the multiple > > connections are created with the same credentials as one in the same > > process, I'm not sure if this is fixed with Nikita's patch. > > But that IS the point here ... In fact many people using Firebird with > PHP use it in 'embedded mode', where the client is actually the server > process and explicitly blocks a second physical connection! The default > $link is the initial default transaction and ibase_trans creates > additional links encapsulating additional transactions on the database > if work flow requires. The difficulty and one that PDO can never support > is that a transaction CAN encapsulate two or more different physical > connections and it is this which dictates that operations need an > explicate '$link_or_trans_identifier'. Personally I use $conn and > $transnnn explicitly to keep track of things ... but if you only open a > single physical connection and don't add transactions then the > 'default_link' is the only packet of workflow. > > ibase_connect specifically says > "In case a second call is made to ibase_connect() with the same > arguments, no new link will be established, but instead, the link > identifier of the already opened link will be returned. The link to the > server will be closed as soon as the execution of the script ends, > unless it's closed earlier by explicitly calling ibase_close(). " It was > this action that as broken around 7.0.3 ... and it's probably totally > incompatible with 'thread safe'? But the firebird client can handle > multiple calling processes - and persist connections - so the 'bug' is > probably in how PHP and Firebird interact in a new world? We are still > using a 20+ year old model. > > For a simple single transaction packet of work one opens a connection > does the work and if the activity crashes it is rolled back otherwise it > autocommits when finished. Yes this is magic behaviour but it's the same > magic behaviour that it has always done even on C and Delphi platforms > and for the vast majority of PHP processes it's all that is needed? It's > just not politically correct today? Your objection to the deprecation and removal of ext/interbase has been noted, and will be recorded at vote time. I would ask that discussion about how ext/interbase works or should work, or how it worked twenty years ago, or how it works in Delphi is conducted elsewhere, as this RFC is around the removal of it. Thank you --=20 regards, Kalle Sommer Nielsen kalle@php.net