Index char limit error
----------------------

                 Key: CORE-5752
                 URL: http://tracker.firebirdsql.org/browse/CORE-5752
             Project: Firebird Core
          Issue Type: Bug
          Components: Charsets/Collation
    Affects Versions: 3.0.3
         Environment: Windows
            Reporter: Reydy Valentin


When I want to create a index with two varchar(205) in utf8, firebird give me a 
error (key size exceeds implementation restriction for index).
But according to the documentation, normally the limit is 509 from this compute 
: (PAGE_SIZE / 4 - 9) / BYTES_PER_CHARSET.
And for my is (8192 / 4 - 9) / 4 = 509 (Same the doc)

Exemple script for test this issue

-- Basic table
CREATE TABLE "table" (
    "id"     INTEGER NOT NULL,
    "fname"  VARCHAR(205) NOT NULL,
    "lname"  VARCHAR(205) NOT NULL,
    "fname2" VARCHAR(204) NOT NULL,
    "lname2" VARCHAR(204) NOT NULL
);

CREATE INDEX "idx_table_test1" ON "table" ("fname", "lname"); -- 410 : Fail
CREATE INDEX "idx_table_test2" ON "table" ("fname", "lname2"); -- 409 : Fail
CREATE INDEX "idx_table_test3" ON "table" ("fname2", "lname2"); -- 408 : Work

Why ?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to