Hi,
http://www.jivesoftware.org/builds/wildfire/docs/latest/documentation/database-g uide.html
contains
CREATE TABLE mucAffiliation (
roomID NUMBER,
jid TEXT,
affiliation NUMBER,
);
while wildfire_hsqldb.sql contains
CREATE TABLE mucAffiliation (
roomID BIGINT NOT NULL,
jid VARCHAR(1024) NOT NULL,
affiliation INTEGER NOT NULL,
CONSTRAINT mucAffiliation_pk PRIMARY KEY (roomID, jid)
);
and limits the JID to 1024 characters which seems to be bad as the JID may be 31023’’@’’*/’’ characters long. The Oracle scripts seems to do the same while the DB2/SQLServer scripts limit the JID to only 1000/424 characters.
Only for MySQL a TEXT datatype is used (I have no idea about the MySQL TEXT limitations). Anyhow there the PK is not really a PK as the JID is limited to 70 characters.
A simple VARCHAR(3072) datatype should have been fine for all databases … but maybe it’'s time to do a redesign of some tables to store all JIDs in one table and use just references to them where needed.
LG
Message was edited by it2000:
I did post contains and not contain but currently contain gets displayed. Seems to be another forum bug. Fixed the posting by adding ‘’ ‘’ and reported it here: http://www.jivesoftware.org/community/thread.jspa?threadID=20972
Message was edited by it2000 again:
I wonder whether the JID includes a resource identifier, so 2*1023+’’@’’ characters could be fine.
Message was edited by it2000 once again:
database-guide.html makes one think that table pubsubSubscription contains two columns called “jid” - I think that this is impossible.
Message was edited by it2000 again and again:
Table jiveSASLAuthorized seems to be missing on the web page while it is in the scripts.
So to make it short I have a tool to create scripts for all databases using a template but as one can imagine there is a huge difference between the existing scripts and the generated output, so there’'s still a lot to do.