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]

Reply via email to