Subject Re: The Wolf on Firebird 3
Author Roman Rokytskyy
Jim,

Please do not take following post as critics or something in that
direction, I agree that all the issues have to be addressed. Only that
I do not buy your arguments yet. :)

> A multilevel name space is necessary for standard conformance, but
> more importantly, it is necessary to support multiple application
> instances within a single database, a near absolute requirement for
> Web applications.

Not that I am against schemas, but could you explain why would
different web application use the same database assuming that they do
not know about each other? Why can't they use two different databases?

> A habit we need break is dependence on fixed length strings
> internally and across our interfaces.

As I remember, there is no hard limit on the identifier length on the
public interface level. It might appear in implementation, but JayBird
does not have byte[31] or char[31] in its code and each string passed
over the wire has also two-bytes length before it.

> The issue of UTF-8 vs national character sets inside the engine is
> critical, in my opinion, for three reasons.

> First, the constant
> setting, checking, comparing, and looking up of character set has a
> huge, huge overhead in performance.

Which should not be needed when application uses the same charset as
is defined in database. Right?

> Second, the vast amount of code
> inside the engine to manage national character adds great complexity
> to the code base and increases the burden on developers.

Good reason.

> It's time to accept that we're all part
> of the same world.

Just that one part of the world accidentaly got 1 byte per char, while
other needs 2 bytes per char :)

> And if it halves the size of the code and doubles
> performance, we get a kicker to boot.

I would like to see numbers before we discuss it further.

How big would the final solution differ from the solution when we set
default charset to UNICODE_FSS? If not too much, I would suggest that
you provide a version that uses UTF-8 ODS (with all optimizations you
wanted to include), I will take the AS3AP suite, generate English,
German and Russian texts and we compare results against current ODS
with default WIN1252/WIN1251 charsets in network and embedded modes.
Then we present the numbers here and continue discussion. However, if
difference in code bases is big, then it is your words against words
of other people...

Roman