A lot of hair pulling but making progress on laravel driver at the moment BUT

4 views
Skip to first unread message

Lester Caine

unread,
Feb 22, 2026, 7:07:09 AM (13 days ago) Feb 22
to Firebird-PHP
The current setup on ADOdb is to build schemas without double quote wrappers replacing the default backtick, and everything works nicely. The assoc arrays simply return with keys in lower case which makes life easier back in PHP.
I have a fork of firebird-support and I currently have webtrees building with everything wrapped in double quotes, but then at the next level it is not quite simple as I'm seeing the ADOdb niggle with some queries returning upper case rather than lower.
The first thought was simply to modify the 'wrap' in illuminate to mirror what is going on in ADOdb but this is proving much more of a problem than anticipated because of the two separate Grammar classes for queries and schema. I think I have to override all of the wrapXXX functions such as wrapTable to get the right types. 

The question I think is should I just live with everything being wrapped and fix the bits that are not working properly. At least in Flamerobin I can handle things easily when everything is upper case, while the wrapped fields are irritating ;)

Lester Caine

unread,
Feb 23, 2026, 3:52:44 PM (11 days ago) Feb 23
to Firebird-PHP
I rolled back to just living with the double quotes and fixed the case problems a different way as noted in the commit notes on webtrees.
Next step is to debug the add functions which will be easier now that I have the webtrees ControlPanel functional.

Lester Caine

unread,
Feb 25, 2026, 8:37:30 AM (9 days ago) Feb 25
to Firebird-PHP
Apart from one problem I've got webtrees loading a gedcom file and display navigation is working nicely. The remaining problem is the lack of a means of loading multiple data sets into an insert. I've hacked things in webtrees so it simply cycles through the data with single inserts, but ideally I need to move that into the insert function on the driver. Should not be a problem, but I'm not quite sure how to stop all the other mechanisms around it so I can set up a prepared query which I use with the 'collection' from lavarel ...
The major breakthrough esd that all I needed to override to sort the wrapping is wrapValue and that override simply returns the value, but at some point I may need to add reserved words. 'year' gave a problem, but since it's used in a raw query in webtrees, simply adding the "" fixed that.
Claude has been sort of helping with working out what needed doing, but it's code was basically useless. However it did pick up on a couple of things as an aside which was helpful. Would I pay for AI assistance? Perhaps not until the free option fails completely, but then will the paid stuff do any better?

Frank Schlottmann-Gödde

unread,
Feb 25, 2026, 9:15:49 AM (9 days ago) Feb 25
to firebi...@googlegroups.com
On 2/25/26 14:37, Lester Caine wrote:
>
> Claude has been sort of helping with working out what needed doing,
> but it's code was basically useless. However it did pick up on a
> couple of things as an aside which was helpful. Would I pay for AI
> assistance? Perhaps not until the free option fails completely, but
> then will the paid stuff do any better?

Hi Lester, I'm not sure, but it seems that you are using phpstorm. Have you tried to use junie as AI-assistant? Should be available as plugin for phpstorm.
I was quite impressed what it can do (I'm using it with python code)

https://www.jetbrains.com/guide/ai/article/junie/

cheers
Frank

Lester Caine

unread,
6:51 AM (13 hours ago) 6:51 AM
to Firebird-PHP
Have made a lot of progress in the last few days and now have everything in a more composer friendly state. I've renamed firebird-support to illuminate-firebird as we have established that webtrees does not actually use laravel and that is not needed to use firebird with illuminate. So Packagist now has a usable entry which will install the correct code. I scrapped the webtrees fork and started a clean one which has the stuff needed to allow webtrees to run with firebird. There are a few loose ends but at least this should now be easier to build on. 
I am sure that a few bits could be tidied further by additional checks in the driver and any input would be welcome!
Reply all
Reply to author
Forward
0 new messages