Subject COLLATE PXW_PLK kills the ibserver
Author peter_datacomp <p.borelowski@datacomp.co
Subject: I have a simple database and a query that reproducibly cause
the ibserver to crash.


The database metadata is:

CREATE TABLE ABC
(
ID INTEGER NOT NULL,
NAME VARCHAR(512) CHARACTER SET WIN1250 COLLATE PXW_PLK,
CONSTRAINT PK_ABC PRIMARY KEY (ID)
);


The data itself is:

INSERT INTO ABC
(ID, NAME)
VALUES
(1, 'Opracowanie programu autorskiego i przeprowadzenie zajec w sem.
letnim 01/02Opracowanie programu autorskiego i przeprowadzenie zajec
w sem. letnim 01/02Opracowanie programu autorskiego i przeprowadzenie
zajec w sem. letnim 01/02Opracowanie programu autorskiego i
przeprowadzenie zajec w sem. letnim 01/02Opracowanie programu
autorskiego i przeprowadzenie zajec w sem. letnim 01/02Opracowanie
programu autorskiego i przeprowadzenie zajec w sem. letnim 01/02');

Note 1: The string consists of 456 characters, and it is a
concatenation of 6 same strings each 76 character long.

Note 2: The string contains only ASCII characters
(there are no WIN1250 specific characters).


The query is:

SELECT ID
FROM ABC
ORDER BY NAME;


Execution of that query produces an error message and kills the
server.


Under isql.exe the error message is:

Statement failed, SQLCODE = -901
connection lost to database


Under IBConsole version: 1.0.1.344 for Windows 9x the error message
is:

unassigned code on line 1 : SELECT ID
FROM ABC
ORDER BY NAME
invalid database handle (no active connection)


I use Firebird version NI-T1.5.0.671 Firebird 1.5 Alpha 1
on Windows 98. The same happens when Interbase of various versions
is run. I used InterBase Server WI-V6.0.0 among others.

Some modification of the string are possible and the error still
occures. Others prevent the error. I cannot see any pattern. For
constant string the error is stable.

The error seems connected to COLLATE and ORDER BY. The ID column and
PRIMARY KEY are nessesary for the error to occure. Another query that
causes the problem is:

SELECT DISTINCT NAME
FROM ABC;

which again implies comparision of data in NAME (although there is
only one row in the table).

Have you ever had such an error?
Am I doing something wrong?
Can you reproduce the error at your site?
I would appreciate any help!
Piotr