Table creation fails: table config appears invalid

During the web installer's table creation step, I see the following fatal:


MySource Error

DB Error: unknown error

CREATE TABLE sq_asset_indexing (value VARCHAR(160) NOT NULL,assetid VARCHAR(15) NOT NULL,component VARCHAR(160) DEFAULT '',type VARCHAR(160) NOT NULL DEFAULT 'word',score INT UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY(value,assetid,component,type,score))



[nativecode=1171 ** All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead]



MYSQL < 4.0.3 - SKIPPING SET TABLE TYPE



MySql appears to be legitimately offended.



Exhibit A: selected fragments of file

core/db/tables.xml from line 1164 onward



------------------

<table name="asset_indexing" require_rollback="0">

<columns>



<column name="component" allow_null="1">



<keys>

<primary_key>

<column name="value" />

<column name="assetid" />

<column name="component" />

<column name="type" />

<column name="score" />

</primary_key>

------------------



Package rev synopsis:



Whitebox (a.k.a. RH Enterprise) Linux 3.0 with some upgrades as follows:




php -v

PHP 4.3.3 (cgi) (built: Oct 21 2003 09:51:55)




mysql -V

mysql Ver 11.18 Distrib 3.23.58, for pc-linux-gnu (i686)


pear list

Package Version State

Archive_Tar 1.2 stable

Cache 1.5.4 stable

Console_Getopt 1.0 stable

DB 1.6.8 stable

HTTP 1.2.1 stable

HTTP_Client 1.0.0 stable

HTTP_Request 1.2.3 stable

Mail 1.1.4 stable

Mail_Mime 1.2.1 stable

Net_SMTP 1.2.3 stable

Net_Socket 1.0.2 stable

Net_URL 1.0.12 stable

PEAR 1.2.1 stable

XML_HTMLSax 2.1.2 stable

XML_Parser 1.2.1 stable

XML_RPC 1.0.4 stable





------------------



Comment:



If I ever get this working it will be the best solution this organisation has had in twenty years.



Go team !

MySQL support is scheduled to be removed in the next stable version. Check here for the details. You should consider installing Matrix on here

Just so you know, this was a MySQL 3.23 issue, which wasn't fully supported by the installer - we've had these problems before. Like Marc said though, you're probably better off installing and using PostgreSQL if at all possible, as there will be a smoother upgrade path when 3.1.0 rc 3 is released.