james-server-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcin Kieć <al...@interia.pl>
Subject Re: James 3.0-M3. Does not support OracleDB. ORA-00910: specified length too long for its datatype
Date Wed, 12 Jan 2011 09:09:59 GMT
In my opinion the best idea is to lower down default column size to 4000 
and make it configurable. This way default installation will work the 
same way on any db engine and users will be able to tune this 
functionality when needed (if target database supports bigger columns). 
Moreover – default installation will work with OracleDB without tuning – 
it is also quite important.
I think 4000B is quite enough for regular email headers, and it’s ok for 
default installation.
PS: There is a reason that OracleDB does not support bigger varchar: 
performance. As far as I know there is no other simple data type in 
OracleDB that can hold data bigger than 4000B – only CLOB/BLOB. Anyway 
CLOB/BLOB does not allow to query it’s content like varchar – so it’s 
not an option for this case.

Marcin Kieć

 >> 2011/1/11 Norman Maurer

Norman Maurer
Tue, 11 Jan 2011 10:41:24 -0800

I'm still no fan of xml files for JPA.. but maybe thats just me

Bye,
Norman

2011/1/11 Eric Charles <e...@apache.org>:
 > Yes, we can do that, with default being "do not trim".
 > We can also add some xml mapping files with overrides that column with
 > default value 4000, so administrator can change easily change it for
 > database which support it (see also
 > https://issues.apache.org/jira/browse/IMAP-233).
 >
 > Tks,
 >
 > Eric
 >
 > On 11/01/2011 18:56, Norman Maurer wrote:
 >>
 >> what about making it configurable ?
 >>
 >> Bye,
 >> Norman
 >>
 >> 2011/1/11 Eric Charles<e...@apache.org>:
 >>>
 >>> VARCHAR for searches must remain.
 >>> But persist trimed values sounds strange to me: it's like having untrue
 >>> information...
 >>> It may be better than failing to persist in database, I don't know.
 >>>
 >>> Tks,
 >>> Eric
 >>>
 >>>
 >>> On 11/01/2011 18:24, Norman Maurer wrote:
 >>>>
 >>>> We need to use VARCHAR if we want to optimize search queries later and
 >>>> filter on header names / values..
 >>>>
 >>>> Maybe using 4000 would be the best and just "trim" down the header
 >>>> value if we need to..
 >>>>
 >>>> wdyt ?
 >>>>
 >>>> Norman
 >>>>
 >>>> 2011/1/11 Eric Charles<e...@apache.org>:
 >>>>>
 >>>>> Hi,
 >>>>>
 >>>>> We are working right-now to fix the DB column names (see
 >>>>> https://issues.apache.org/jira/browse/MAILBOX-14).
 >>>>>
 >>>>> 1. Column of type VARCHAR was OK on MySQL and Derby for length 10240.
 >>>>> Could
 >>>>> you advice us another type, so we could fix it via JPA annotations.
 >>>>> From
 >>>>> the
 >>>>> message, it seems we should go to BLOB/CLOB. Another option would 
be to
 >>>>> lower 10240 to 4000: I remember we took a security margin for very
 >>>>> large
 >>>>> headers but 4000 could fit that margin...
 >>>>>
 >>>>> 2. It should be soon resolved cause with the proposed patch 
(not-yet in
 >>>>> trunk), we prefix tables and columns with context. For example uid
 >>>>> column
 >>>>> will be MAIL_UID.
 >>>>>
 >>>>> Running James with Oracle DB is of course a top priority, so your
 >>>>> feedbacks
 >>>>> will be very helpful.
 >>>>>
 >>>>> Tks,
 >>>>>
 >>>>> Eric
 >>>>>
 >>>>>
 >>>>> On 11/01/2011 15:53, Marcin Kieć wrote:
 >>>>>>
 >>>>>> After setting db properties to oracle I get ORA-exception:
 >>>>>>
 >>>>>> 1. ORA-00910: specified length too long for its datatype
 >>>>>> while executing statement: CREATE TABLE Header (id NUMBER NOT NULL,
 >>>>>> field
 >>>>>> VARCHAR2(1024), lineNumber NUMBER, value VARCHAR2(10240), MESSAGE_ID
 >>>>>> NUMBER,
 >>>>>> PRIMARY KEY (id))
 >>>>>>
 >>>>>> Reason: max length of VARCHAR2 in Oracle is 4000 (length in 
definition
 >>>>>> of
 >>>>>> column value is set to 10240). Only BLOB/CLOB can hold data that
 >>>>>> exceeds
 >>>>>> 4000B size.
 >>>>>>
 >>>>>> 2. After createing table Header by my self in database I get another
 >>>>>> error
 >>>>>> while starting James server:
 >>>>>> ORA-00904: invalid identifier
 >>>>>> while executing statement: CREATE TABLE Membership (mailboxId NUMBER
 >>>>>> NOT
 >>>>>> NULL, uid NUMBER NOT NULL, answered NUMBER, deleted NUMBER, draft
 >>>>>> NUMBER,
 >>>>>> flagged NUMBER, internalDate TIMESTAMP, recent NUMBER, seen NUMBER,
 >>>>>> MESSAGE_ID NUMBER, PRIMARY KEY (mailboxId, uid))
 >>>>>>
 >>>>>> Reason: uid is reserved identifier in oracle and cannot be used
as a
 >>>>>> column name.
 >>>>>>
 >>>>>> Is there any way to run James with persistance in Oracle DB?
 >>>>>>
 >>>>>> Best regards
 >>>>>> Marcin
 >>>>>>
 >>>>>> ----------------------------------------------------------------
 >>>>>> Auta nowe i używane, duże i małe - największa baza!
 >>>>>> Sprawdź>>      http://linkint.pl/f28df
 >>>>>>
 >>>>>>
 >>>>>> 
---------------------------------------------------------------------
 >>>>>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
 >>>>>> For additional commands, e-mail: server-user-h...@james.apache.org
 >>>>>>
 >>>>> ---------------------------------------------------------------------
 >>>>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
 >>>>> For additional commands, e-mail: server-user-h...@james.apache.org
 >>>>>
 >>>>>
 >>>> ---------------------------------------------------------------------
 >>>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
 >>>> For additional commands, e-mail: server-user-h...@james.apache.org
 >>>>
 >>>
 >>> ---------------------------------------------------------------------
 >>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
 >>> For additional commands, e-mail: server-user-h...@james.apache.org
 >>>
 >>>
 >> ---------------------------------------------------------------------
 >> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
 >> For additional commands, e-mail: server-user-h...@james.apache.org
 >>
 >
 >


----------------------------------------------------------------
Znajdź mieszkanie dla siebie - tak tanio jeszcze nie było!
Sprawdź >> http://linkint.pl/f28e0 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Mime
View raw message