On 03/12/14 16:48, Dimitry Sibiryakov wrote: > 12.03.2014 13:24, Alex Peshkoff wrote: >> On 03/12/14 15:41, Dimitry Sibiryakov wrote: >>> SQLDA is expandable. That's what field version is for. >> Formally - yes, actually - no. Expanding it is nightmare. Or may be you >> really think that charset code returned in some fine fields like subtype >> is because nobody knows about this field? > I really think that charset nightmare is because Borland guys (or was it > Jim himself) > when implemented character sets (was it in version 3.3?) didn't have will or > time for > inventing new XSQLDA version, so use this hack. Hacks usually don't produce > good results. > Inprise had a good opportunity to get rid of this hack when created > XSQLDA version 2, > but wasted it. I have no idea why. My best guess is again - lack of time for > proper > thinking and planning.
It's easy to add new fields to XSQLDA, but adding something to XSQLVAR is much harder because there is an array of this structures in the end of XSQLDA. From use POV this looks fine, but inside firebird library we get nightmare. >> What I can hardly imagine is efficient buffer with non-plain format of >> records. It's faster to call high-performance memcpy() once than to >> perform a lot of small copies from-to random memory places. > Assignment of a pointer is even faster. Yes provided it's enough. Assignment of many pointers is often slower than copying memory region. ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel