Subject | Re: Some benchmarks about 'Order by' - temporary indexes?... |
---|---|
Author | m_theologos |
Post date | 2006-09-21T08:27:29Z |
--- In Firebird-Architect@yahoogroups.com, Vlad Horsun <hvlad@...>
wrote:
Nov
1858
affecting all the operations based on the bad index.
To reproduce it, do the following:
CREATE TABLE T1 (DOCDATE DATE);
INSERT INTO T1 VALUES('1/1/1600');
INSERT INTO T1 VALUES('1/1/1900');
INSERT INTO T1 VALUES('1/1/1850');
INSERT INTO T1 VALUES('11/15/1858');
INSERT INTO T1 VALUES('11/16/1858');
INSERT INTO T1 VALUES('11/17/1858');
INSERT INTO T1 VALUES('11/18/1858');
SELECT * FROM T1 ORDER BY DOCDATE;
- everything will be ok -
Now do the following:
CREATE INDEX IDX1 ON T1(DOCDATE);
SELECT * FROM T1 ORDER BY DOCDATE;
You'll have:
DOCDATE
11/16/1858 00:00:00
11/15/1858 00:00:00
01/01/1850 00:00:00
01/01/1600 00:00:00
11/17/1858 00:00:00
11/18/1858 00:00:00
01/01/1900 00:00:00
PLAN(T1 ORDER IDX1)
Fixed in 2.0
wrote:
>1.5.3
> > Firebird 2 RC4 SS.
> > (when will be ready the final release? we need it because the
> > has a bug in the index engine...).In short, the Firebird doesn't index correctly dates smaller than 17
>
> RC5 will be released soon.
>
> What bug in 1.5.3 index engine do you mean ?
>
> Regards,
> Vlad
>
Nov
1858
affecting all the operations based on the bad index.
To reproduce it, do the following:
CREATE TABLE T1 (DOCDATE DATE);
INSERT INTO T1 VALUES('1/1/1600');
INSERT INTO T1 VALUES('1/1/1900');
INSERT INTO T1 VALUES('1/1/1850');
INSERT INTO T1 VALUES('11/15/1858');
INSERT INTO T1 VALUES('11/16/1858');
INSERT INTO T1 VALUES('11/17/1858');
INSERT INTO T1 VALUES('11/18/1858');
SELECT * FROM T1 ORDER BY DOCDATE;
- everything will be ok -
Now do the following:
CREATE INDEX IDX1 ON T1(DOCDATE);
SELECT * FROM T1 ORDER BY DOCDATE;
You'll have:
DOCDATE
11/16/1858 00:00:00
11/15/1858 00:00:00
01/01/1850 00:00:00
01/01/1600 00:00:00
11/17/1858 00:00:00
11/18/1858 00:00:00
01/01/1900 00:00:00
PLAN(T1 ORDER IDX1)
Fixed in 2.0