Subject Re: [firebird-php] PHP and query plans
Author Jochem Maas
Nigel Weeks wrote:
>>basically I have a generic tool that allows relational
>>editing of firebird database
>>contents via editing screens/grid that functionally _exceed_
>>any activeX datagrid
>>you care to mention (and it's a pure DHTML) - all driven by
>>very consise data class
>>definitions (they go way beyond simple 1on1 table/class
>>mapping - supporting PFKs, one2many and
>>many2many relationship, bla bla bla)
> That's more interesting! I'm after something like that for the
> administration/enhancement side of OA!
> (And a reporting tool if anyone's got one...)

...I'm trying to figure out a way I can show it to you and others -
problem is the codebase is quick large and there is no installer,
no demo database exists etc - its made to be tacked onto
the front of whatever firebird DB.

I will also confess that my code takes a little more hardware
than your to run fast - the amount of abstraction and the complexity
of the DHTML that is output (the generation thereof being completely
generic) is heavy - at one point it was getting _too_ slow and I was
literally forced to dive in a do some major speed optimization...
using the profiler of xdebug1.3 (still can't figure out how to get
xdebug2.0 working) I found (for instance) 40,000 calls to strtolower()
... there are somewhat less now! - one of the pit falls of writing
completely generic code.

If you are interested I will sort out a login on one of my development
boxes/versions - let me know offlist.

>>funny that, I have a table (called BIKE) in one of my DBs
>>that contains over 20
>>calculated fields which in turn reference other tables (and
>>SPs also) that themselves
>>are made up of many calculated fields - the circular
>>references alone were so heavy that
>>It causes firebird to crash if I do 'SELECT * FROM BIKE' - I
>>showed it to Ard and
>>he confirmed that it's a bug in the actual engine (regardless
>>of the fact that my design
>>might just suck!) - I should fill a bug report but I'm a
>>little lacking in the skills
>>to produce a decent bugreport (compounded by the fact that
>>there is NDA on the DB schema
> I'm wrestling with changes in BLOBS atm. Firebird can't detect that they've

what about 'misusing' BLOB filters to record/detect changes? not that I have
ever used BLOB filters but the way I read about them they may well be able to funtion
as pure 'change detectors' given that they seem to be pretty much UDF in so much as
the way you write/implement them ... which makes me wonder if the UDF2PHP hack
that Ard played with is in a usuable state.

> changed, so I'm changing my search indexers and replication handlers to suit
> this shortcoming...If I could code in c++, I might be helpful in FB's
> development...DOH!!
>>>but I might...
>>have you actually tried passing PLAN clauses? (maybe a stupid
>>the extension should pass your complete query thru to
>>firebird as is...
> Eh, wot? Plan clauses as part of a select? Wot? I can do that?
> Quick, pass me the Firebird Book!

I am probably showing my lack of knowledge - I was assuming that
one would give hints to the optimizer as part of the query - made
this is totally wrong - how is it actually done (in general)?

the nice tools I have to work with firebird are obviously keeping me
at arms length for a reason ;-)

btw - pass me _any_ firebird book - there is a shortage of good information
on it!

>>I'll admit I'm a little out of my depth regarding 'passing suggestions
>>to the optimizer' ... but I'm very earger to learn ... lots
>>of read to do it seems!
> Ah, it's all abut learning! I love it! OA's really a self-education project,
> rather that a money-making scheme!
>>having taken a quick glance at your project it's obvious you
>>have something
>>very interesting going on - I, for one, would very much
>>appriciate hearing more
>>about and hearing any and all questions and ideas you have!
> OA's still in early days. Very rough GUI in 0.0.7, nicer GUI coming in
> 0.0.8(when I get it finished)
> All developed on a P166/48MB ram to ensure it flies on your Quad Xeon 3.2GHz
> monster.
>>(did I mention that this list needs more talk about
>>using/abusing php/firebird
>>as opposed to just installing them ;-)
> Let's do that, then. Let's wake this list up a bit!
> Nige.