Noel J. Bergman wrote:
> I have spent much of ApacheCon working on testing JAMES. Ran into some
> little bits, but generally OK. Ran with Derby for about 48 hours stably,
I'm looking at how James uses Derby and I see for the message repository
the create table statement is:
<sql name="createTable" db="derby">
CREATE TABLE ${table} (
message_name varchar (200) NOT NULL,
repository_name varchar (255) NOT NULL,
message_state varchar (30) NOT NULL ,
error_message varchar (200) ,
sender varchar (255) ,
recipients long varchar NOT NULL ,
remote_host varchar (255) NOT NULL ,
remote_addr varchar (20) NOT NULL ,
message_body blob NOT NULL ,
message_attributes blob ,
last_updated timestamp NOT NULL,
PRIMARY KEY (repository_name, message_name)
)
</sql>
I'm curious about the recipients and {message_body, message_attributes}
fields.
recipients long varchar - In Derby LONG VARCHAR has a limit of 32,700
characters. Does this limit James in any way? A better datatype would be
CLOB, then you could have up to 2Gb character limit.
(http://db.apache.org/derby/docs/10.1/ref/rrefsqlj15147.html)
(http://db.apache.org/derby/docs/10.1/ref/rrefclob.html)
I don't believe this would require any application changes (moving to a
CLOB).
message_body, message_attributes are defined as BLOB, this means
BLOB(1M), a one megabyte blob. Is this a concern for James? If you want
to have the maximum size of a BLOB then you would need to define the
type using BLOB(2G).
(http://db.apache.org/derby/docs/10.1/ref/rrefblob.html)
I'm not sure what your intended limits are in these cases, but wanted to
ensure that you are not suprised by them.
DB2 will also have the same limits.
Dan.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]