Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:104887 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 7000 invoked from network); 23 Mar 2019 15:12:46 -0000 Received: from unknown (HELO mail-ot1-f66.google.com) (209.85.210.66) by pb1.pair.com with SMTP; 23 Mar 2019 15:12:46 -0000 Received: by mail-ot1-f66.google.com with SMTP id k21so2850583otf.1 for ; Sat, 23 Mar 2019 05:05:24 -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=iN1M+rF+25QoSXi3/yT8vW7gNQV66R7D4qNfIkVV5CY=; b=YAjziJLDR90TxSQquAEb6GmWNhbUx6r9FvOV5C409selU6Z+4TuPnqogk+n4GY7kT6 vqPyZjkkdzXPrZVJQwW0N7dCF6QQd9wsrLs44xqLvgILKcCqlT6++Al+ZQjeEuNQOQEm BbXk8mXLj+borNAomn6imQ7GNNEy+fJAll4xAJdMEoY9vMAmFMC4M97Em13pFFaKYG7M 6nzJqpjnRx5/ALdJUlwkjZW7qXjISBObCuZi2JiYQ7+mG8VCmrZUhoC6+t+B7qleiBQD Of1BZARhRY+oZx7YRcSSvyA1XmeiQgBubJGYld0/Vx52uP1P73kSJJ3oYno9WsXkhsfK wwqA== X-Gm-Message-State: APjAAAU2aQkLjALdHQHAQJem3KJY9K5T7DRn9goQTT0+YFbarLPnqjiE uXgDSwh1zP2wNno75OrSeibHdqUfpzaBOIXUhOdH5z/daDI= X-Google-Smtp-Source: APXvYqx1WUqwt67aK3880oKEDa55bdDMM4TQbriFOZi+rlrehsC+M02LR9GHVn2pFMWJzPPL5PKV6AJp+we08j0EIvc= X-Received: by 2002:a9d:6393:: with SMTP id w19mr5580200otk.257.1553342723899; Sat, 23 Mar 2019 05:05:23 -0700 (PDT) MIME-Version: 1.0 References: <2f7acce4-69dd-d98b-6f86-1110e3589c4b@lsces.co.uk> In-Reply-To: <2f7acce4-69dd-d98b-6f86-1110e3589c4b@lsces.co.uk> Date: Sat, 23 Mar 2019 14:05:11 +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] Firebird - Who are WE ... From: kalle@php.net (Kalle Sommer Nielsen) Hi Den l=C3=B8r. 23. mar. 2019 kl. 11.28 skrev Lester Caine : > > Over twenty years ago Borland took over Ashton Tate to bring dBase into > the Borland tool set. What they did not appreciate at the time was that > Ashton Tate had taken over Interbase to provide a proper multi-user > database engine to augment dbase. The bean counters at Borland decided > there was no margin in the Interbase part of Ashton Tate and announced > it would be end of lifed! They did not appreciate at the time just how > many people had moved from dbase over to Interbase and how many > businesses were then reliant on it. In a knee jerk reaction to calm > things down they offered to open source the code ... and long story > short Firebird came into existence. The bean counters THEN began to > realise what a cash cow Interbase could become or rather could have > become so the end of life was rescinded, but the the cat was already out > of the bag. > > Roll forward 10 or so years and PHP drops the Interbase driver from the > windows builds. Well actually there were no official windows builds so > we had to rally around and provide them, but the drive to sort out > building PHP on the newer windows compile stacks saw the interbase > driver pushed to the side "because Firebird did not support compatible > builds!". So we just carried on providing them outside the PHP project > along with other key elements like imagick! > > The key reason for not allowing Firebird into windows builds was that > it's client library was no compatible with the build set and that > Firebird needed to be compiled with the same version of windows > compiler. This did not make sense then just as it does not now. A > database engine is a stand alone section of code and may well be running > on a completely different machine so why should the version of windows > used make any difference ... if the server is on Linux? The important > bit is that the LOCAL client program can be linked to the local user - > in this case PHP. With the windows setup the interbase extension paired > with the firebird client and all that needed to be done to access a > newer Firebird server was to load the newer client onto the machine. The > link between the interbase extension and the firebird client has not > changed in many years. So today to switch from PHP connecting to a > production FB2.1 or FB2.5 to an FB3 machine we simply install the > correct client and do nothing with the interbase extension. > > Today there are problems IN the interbase extension caused by the way > PHP now handles a 'resource' such as a database connection. Firebird > (and Interbase) has the ability to create transactions between two or > more active connections and commit or roll back all as required. PDO > does not allow multiple connections at all so there is no way to action > it via PDO so the interbase extension is the only way to access it. I > think that part of the problem of the way the resource handling has been > updated in the extension is down to not understanding this element and > yes someone who understands firebird needs to maintain this but it's the > way that PHP has changed the API which also needs to be understood. > > *I* have tried to keep up to speed with the PHP side of things, but > having submitted fixes in the past, trying to decipher what Nikita is > trying to do in this latest patch is difficult looking at the code in > isolation since there are lots of 'system' calls that I don't follow. > Personally I don't need more than a single link to a single database so > everything still works for me anyway, but with persistent connections I > presume the resource links should be managed at a higher level anyway? > > On my own development platform I think using hg-git to access the > php-src repository is now impossible. Since yesterday afternoon I've > downloaded 896 commits of the 24601 I'm behind, so while THG works > perfectly for all the key components such as ADOdb, smarty and ckeditor, > if I'm going to work with php code I'm going to have to bypass that! > Which is yet another learning curve when the one I am on works well to > provide the input that I do provide. > > ADOdb has been kept up to date with the changes in questions and results > passed over the link but to date nothing major has changed in 20+ years > in the process of sending a query to the database and getting a result > set back ... although handing the new authentication methods added in > FB3 may benefit from a major rebuild of the extension, which WOULD > require that the fbird_ aliases are moved to their own build of the > extension, being completely incompatible with current builds of Interbase= . I read this 800+ novel of words, and I still do not understand who "we" are. Like are you kidding me, honestly. Can't you just say whether it is "we" as in: - The Firebird community - The Interbase community - or a combination? - Borland? - Aston Tate? - The dBase developers? 80% of this posting is more a personal blog of how you (not "we") have been interacting with the PHP community (as in the PHP.net community specifically). What you should have done was to reply to either me or Dan in the RFC thread with a one liner: "I mean 'We' as in X", that would have been it. Please! Keep these history lessons to your personal blog instead of internals when there is zero relevance to the topic in question. --=20 regards, Kalle Sommer Nielsen kalle@php.net