On Mon, Apr 11, 2016 at 7:40 AM, Dimitry Sibiryakov <s...@ibphoenix.com>
wrote:
> 11.04.2016 13:28, Dmitry Yemanov wrote:
> > But it can be made possible. The question is whether it's worth it.
>
> While bug with orphan index nodes is living in the engine - index only
> scan is
> impossible completely.
>
Without transaction information in the index no purely indexed based scan
is possible. Orphans don't make any difference. It doesn't matter whether
the record isn't there or has had its key value changed by a transaction
that's visible to the current transaction.
Transformation numeric->double can lose data.
Err. Not necessarily and probably there's a work around. Conversions from
numeric to double are precise up to 56 bits. For values greater than 56
bits, one could add the last byte of the value to the end of the mangled
double and get full precision. With that, you could drop the special
indexes for INT64.
> Using integers as a key will disable
> altering of numeric columns. May be it worth considering.
>
Not necessary - Even with dealing with fractional values, decimal of fewer
than 57 bits will convert properly in both directions. There may be some
slop if you try to compare the values exactly, but as long as the
conversion works a slight incompatibility doesn't matter.
Transformation string->key by ICU does loose data, no way back.
>
I don't think that matters either. If your collation is accent or case
insensitive, your lookup will also be case and accent insensitive. You've
asked to lose that information, so it's loss is of no concern.
Cheers,
Ann
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel