This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4a4a2d6b8d93c884830144cd302cb50d5d2276bc Author: Joerg Thomas <[email protected]> AuthorDate: Wed Oct 30 17:01:50 2019 +0100 JAMES-2929 JDBCMailRepository broken: SQL and JDBC code out of sync --- .../run/spring/destination/conf/sqlResources.xml | 102 ++++++++++++++++++--- server/app/src/main/resources/sqlResources.xml | 39 +++++--- .../src/test/resources/sqlResources-mail.xml | 39 +++++--- .../data-jdbc/src/test/resources/sqlResources.xml | 40 ++++---- 4 files changed, 161 insertions(+), 59 deletions(-) diff --git a/dockerfiles/run/spring/destination/conf/sqlResources.xml b/dockerfiles/run/spring/destination/conf/sqlResources.xml index a5284d8..26cf914 100644 --- a/dockerfiles/run/spring/destination/conf/sqlResources.xml +++ b/dockerfiles/run/spring/destination/conf/sqlResources.xml @@ -17,8 +17,29 @@ under the License. --> +<!-- + This template file can be used as example for James Server configuration + DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS +--> + +<!-- See http://james.apache.org/server/3/config.html for usage --> + <sqlResources> +<!-- + This section provided configuration to determine the + database product which is being used for storage. Different database + products may require different SQL syntax. + + The jdbc database connection is examined to see if it matches with the + regular expressions specified in any of the defined matchers. The matchers + are processed in the over provided here, with the first successful match + defining the "db" value for this connection. + + This value is then used to choose between different definitions for various + named sql statements, defined below. If no match is found, + the default sql statements are used. +--> <dbMatchers> <dbMatcher db="mssql" databaseProductName="microsoft sql server"/> <dbMatcher db="oracle" databaseProductName="oracle.*"/> @@ -32,6 +53,32 @@ <dbMatcher db="ingres" databaseProductName="ingres.*"/> </dbMatchers> +<!-- + With the following section it is possible to associate several name/value pairs + of options to a database product, identified by the "db" XML attribute name. + + An element without a "db" attribute, if used for an option name, will become a default value for such option. + Each option may have a "default default", i.e. a default that applies if no element with an empty + "db" attribute (default element) exists as said above; + such default default must be documented for such option below. + + The order of the XML elements is meaningless. + + Here only "getBody" and "getAttributes" option names are set, but others could be used in the future. + Option names: + "getBody" - a string (case insensitive) telling which JDBC ResultSet method will be used to + get the message body field for a database product. + The default default value is "useBytes".. + Values (case insensitive): + "useBytes" - use getBytes(int). + "useBlob" - use getBlob(int). + "getAttributes" - a string (case insensitive) telling which JDBC ResultSet method will be used to + get the message attributes field for a database product. + The default default value is "useBytes".. + Values (case insensitive): + "useBytes" - use getBytes(int). + "useBlob" - use getBlob(int). +--> <dbOptions> <dbOption name="getBody" value="useBytes"/> <dbOption name="getAttributes" value="useBytes"/> @@ -57,6 +104,15 @@ <dbOption db="ingres" name="getAttributes" value="useBytes"/> </dbOptions> +<!-- SQL statements to use for various components. --> +<!-- --> +<!-- Parameter definitions ${param} are replaced with parameter values --> +<!-- read from the configuration file. --> +<!-- --> +<!-- If a named statement has a definition defined for the current database product, --> +<!-- then that statement is used. Otherwise the default statement is used. --> + +<!-- SQL statements for the JdbcMailRepository --> <sqlDefs name="org.apache.james.mailrepository.jdbc.JDBCMailRepository"> <!-- Statements used to check whether a particular message exists in this repository. --> @@ -74,11 +130,11 @@ <!-- Statements used to insert a message into this repository. --> <sql name="insertMessageSQL">INSERT INTO ${table} (message_name, repository_name, message_state, error_message, sender, recipients, - remote_host, remote_addr, last_updated, message_body, - message_attributes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</sql> + remote_host, remote_addr, per_recipient_headers, last_updated, message_body, + message_attributes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</sql> <!-- Statements used to retrieve a message stored in this repository. --> - <sql name="retrieveMessageSQL">SELECT message_state, error_message, sender, recipients, remote_host, remote_addr, last_updated FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> + <sql name="retrieveMessageSQL">SELECT message_state, error_message, sender, recipients, remote_host, remote_addr, per_recipient_headers, last_updated FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> <!-- Statements used to retrieve the body of a message stored in this repository. --> <sql name="retrieveMessageBodySQL">SELECT message_body FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> @@ -104,6 +160,9 @@ <!-- Statements used to list all messages stored in this repository. --> <sql name="listMessagesSQL">SELECT message_name, message_state, last_updated FROM ${table} WHERE repository_name = ? ORDER BY last_updated ASC</sql> + <!-- Statements used to count messages stored in this repository. --> + <sql name="countMessagesSQL">SELECT COUNT(*) FROM ${table}</sql> + <!-- Statements used to create the table associated with this class. --> <sql name="createTable" db="mysql"> CREATE TABLE ${table} ( @@ -115,9 +174,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers longblob NULL , + last_updated datetime NOT NULL, message_body longblob NOT NULL , message_attributes longblob NULL , - last_updated datetime NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -131,9 +191,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers varchar NULL , + last_updated timestamp NOT NULL, message_body varchar NOT NULL , message_attributes varchar NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -147,9 +208,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers varchar NULL , + last_updated timestamp NOT NULL, message_body varchar NOT NULL , message_attributes varchar NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -163,9 +225,10 @@ [recipients] [text] NOT NULL , [remote_host] [varchar] (255) NOT NULL , [remote_addr] [varchar] (20) NOT NULL , + [per_recipient_headers] [image] NULL , + [last_updated] [datetime] NOT NULL, [message_body] [image] NOT NULL , [message_attributes] [image] NULL , - [last_updated] [datetime] NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -179,9 +242,10 @@ recipients varchar2(1000) NOT NULL , remote_host varchar2(100) NOT NULL , remote_addr varchar2(20) NOT NULL , + per_recipient_headers blob NULL , + last_updated date NOT NULL , message_body blob NOT NULL , message_attributes blob NULL , - last_updated date NOT NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -195,9 +259,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers oid NULL , + last_updated timestamp NOT NULL, message_body bytea NOT NULL , message_attributes bytea NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -211,9 +276,10 @@ recipients long NOT NULL , remote_host varchar (100) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers long byte NULL , + last_updated date NOT NULL, message_body long byte NOT NULL , message_attributes long byte NULL , - last_updated date NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -227,9 +293,10 @@ recipients varchar(1000) NOT NULL , remote_host varchar(100) NOT NULL , remote_addr varchar(20) NOT NULL , + per_recipient_headers blob , + last_updated timestamp NOT NULL , message_body blob NOT NULL , message_attributes blob , - last_updated timestamp NOT NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -243,9 +310,10 @@ recipients LONG VARCHAR NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers LONG BYTE , + last_updated DATE NOT NULL message_body LONG BYTE NOT NULL , message_attributes LONG BYTE , - last_updated DATE NOT NULL ) </sql> <sql name="createTable" db="derby"> @@ -258,14 +326,18 @@ recipients long varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers blob , + last_updated timestamp NOT NULL, message_body blob NOT NULL , message_attributes blob , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> </sqlDefs> + +<!-- SQL statements to support the BayesianAnalysis and the BayesianAnalysisFeeder mailets --> +<!-- --> <sqlDefs name="org.apache.james.util.bayesian.JDBCBayesianAnalyzer"> <sql name="hamTableName">bayesiananalysis_ham</sql> @@ -399,6 +471,8 @@ </sql> </sqlDefs> +<!-- SQL statements to support the WhiteListManager mailet and the IsInWhiteList matcher --> +<!-- --> <sqlDefs name="WhiteList"> <sql name="whiteListTableName">whitelist</sql> @@ -589,6 +663,8 @@ </sqlDefs> +<!-- SQL statements to support the GreyList Handler--> +<!-- --> <sqlDefs name="GreyList"> <sql name="greyListTableName">greylist</sql> diff --git a/server/app/src/main/resources/sqlResources.xml b/server/app/src/main/resources/sqlResources.xml index 1e67b51..10d6c2b 100644 --- a/server/app/src/main/resources/sqlResources.xml +++ b/server/app/src/main/resources/sqlResources.xml @@ -130,11 +130,11 @@ <!-- Statements used to insert a message into this repository. --> <sql name="insertMessageSQL">INSERT INTO ${table} (message_name, repository_name, message_state, error_message, sender, recipients, - remote_host, remote_addr, last_updated, message_body, - message_attributes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</sql> + remote_host, remote_addr, per_recipient_headers, last_updated, message_body, + message_attributes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</sql> <!-- Statements used to retrieve a message stored in this repository. --> - <sql name="retrieveMessageSQL">SELECT message_state, error_message, sender, recipients, remote_host, remote_addr, last_updated FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> + <sql name="retrieveMessageSQL">SELECT message_state, error_message, sender, recipients, remote_host, remote_addr, per_recipient_headers, last_updated FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> <!-- Statements used to retrieve the body of a message stored in this repository. --> <sql name="retrieveMessageBodySQL">SELECT message_body FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> @@ -160,6 +160,9 @@ <!-- Statements used to list all messages stored in this repository. --> <sql name="listMessagesSQL">SELECT message_name, message_state, last_updated FROM ${table} WHERE repository_name = ? ORDER BY last_updated ASC</sql> + <!-- Statements used to count messages stored in this repository. --> + <sql name="countMessagesSQL">SELECT COUNT(*) FROM ${table}</sql> + <!-- Statements used to create the table associated with this class. --> <sql name="createTable" db="mysql"> CREATE TABLE ${table} ( @@ -171,9 +174,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers longblob NULL , + last_updated datetime NOT NULL, message_body longblob NOT NULL , message_attributes longblob NULL , - last_updated datetime NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -187,9 +191,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers varchar NULL , + last_updated timestamp NOT NULL, message_body varchar NOT NULL , message_attributes varchar NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -203,9 +208,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers varchar NULL , + last_updated timestamp NOT NULL, message_body varchar NOT NULL , message_attributes varchar NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -219,9 +225,10 @@ [recipients] [text] NOT NULL , [remote_host] [varchar] (255) NOT NULL , [remote_addr] [varchar] (20) NOT NULL , + [per_recipient_headers] [image] NULL , + [last_updated] [datetime] NOT NULL, [message_body] [image] NOT NULL , [message_attributes] [image] NULL , - [last_updated] [datetime] NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -235,9 +242,10 @@ recipients varchar2(1000) NOT NULL , remote_host varchar2(100) NOT NULL , remote_addr varchar2(20) NOT NULL , + per_recipient_headers blob NULL , + last_updated date NOT NULL , message_body blob NOT NULL , message_attributes blob NULL , - last_updated date NOT NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -251,9 +259,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers oid NULL , + last_updated timestamp NOT NULL, message_body bytea NOT NULL , message_attributes bytea NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -267,9 +276,10 @@ recipients long NOT NULL , remote_host varchar (100) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers long byte NULL , + last_updated date NOT NULL, message_body long byte NOT NULL , message_attributes long byte NULL , - last_updated date NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -283,9 +293,10 @@ recipients varchar(1000) NOT NULL , remote_host varchar(100) NOT NULL , remote_addr varchar(20) NOT NULL , + per_recipient_headers blob , + last_updated timestamp NOT NULL , message_body blob NOT NULL , message_attributes blob , - last_updated timestamp NOT NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -299,9 +310,10 @@ recipients LONG VARCHAR NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers LONG BYTE , + last_updated DATE NOT NULL message_body LONG BYTE NOT NULL , message_attributes LONG BYTE , - last_updated DATE NOT NULL ) </sql> <sql name="createTable" db="derby"> @@ -314,9 +326,10 @@ recipients long varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers blob , + last_updated timestamp NOT NULL, message_body blob NOT NULL , message_attributes blob , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> diff --git a/server/data/data-jdbc/src/test/resources/sqlResources-mail.xml b/server/data/data-jdbc/src/test/resources/sqlResources-mail.xml index 4e90638..4b17cff 100644 --- a/server/data/data-jdbc/src/test/resources/sqlResources-mail.xml +++ b/server/data/data-jdbc/src/test/resources/sqlResources-mail.xml @@ -115,11 +115,11 @@ <!-- Statements used to insert a message into this repository. --> <sql name="insertMessageSQL">INSERT INTO ${table} (message_name, repository_name, message_state, error_message, sender, recipients, - remote_host, remote_addr, last_updated, message_body, - message_attributes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</sql> + remote_host, remote_addr, per_recipient_headers, last_updated, message_body, + message_attributes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)</sql> <!-- Statements used to retrieve a message stored in this repository. --> - <sql name="retrieveMessageSQL">SELECT message_state, error_message, sender, recipients, remote_host, remote_addr, last_updated FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> + <sql name="retrieveMessageSQL">SELECT message_state, error_message, sender, recipients, remote_host, remote_addr, per_recipient_headers, last_updated FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> <!-- Statements used to retrieve the body of a message stored in this repository. --> <sql name="retrieveMessageBodySQL">SELECT message_body FROM ${table} WHERE message_name = ? AND repository_name = ?</sql> @@ -145,6 +145,9 @@ <!-- Statements used to list all messages stored in this repository. --> <sql name="listMessagesSQL">SELECT message_name, message_state, last_updated FROM ${table} WHERE repository_name = ? ORDER BY last_updated ASC</sql> + <!-- Statements used to count messages stored in this repository. --> + <sql name="countMessagesSQL">SELECT COUNT(*) FROM ${table}</sql> + <!-- Statements used to create the table associated with this class. --> <sql name="createTable" db="mysql"> CREATE TABLE ${table} ( @@ -156,9 +159,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers longblob NULL , + last_updated datetime NOT NULL, message_body longblob NOT NULL , message_attributes longblob NULL , - last_updated datetime NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -172,9 +176,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers varchar NULL , + last_updated timestamp NOT NULL, message_body varchar NOT NULL , message_attributes varchar NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -188,9 +193,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers varchar NULL , + last_updated timestamp NOT NULL, message_body varchar NOT NULL , message_attributes varchar NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -204,9 +210,10 @@ [recipients] [text] NOT NULL , [remote_host] [varchar] (255) NOT NULL , [remote_addr] [varchar] (20) NOT NULL , + [per_recipient_headers] [image] NULL , + [last_updated] [datetime] NOT NULL, [message_body] [image] NOT NULL , [message_attributes] [image] NULL , - [last_updated] [datetime] NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -220,9 +227,10 @@ recipients varchar2(1000) NOT NULL , remote_host varchar2(100) NOT NULL , remote_addr varchar2(20) NOT NULL , + per_recipient_headers blob NULL , + last_updated date NOT NULL , message_body blob NOT NULL , message_attributes blob NULL , - last_updated date NOT NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -236,9 +244,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers oid NULL , + last_updated timestamp NOT NULL, message_body bytea NOT NULL , message_attributes bytea NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -252,9 +261,10 @@ recipients long NOT NULL , remote_host varchar (100) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers long byte NULL , + last_updated date NOT NULL, message_body long byte NOT NULL , message_attributes long byte NULL , - last_updated date NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -268,9 +278,10 @@ recipients varchar(1000) NOT NULL , remote_host varchar(100) NOT NULL , remote_addr varchar(20) NOT NULL , + per_recipient_headers blob , + last_updated timestamp NOT NULL , message_body blob NOT NULL , message_attributes blob , - last_updated timestamp NOT NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -284,9 +295,10 @@ recipients LONG VARCHAR NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers LONG BYTE , + last_updated DATE NOT NULL message_body LONG BYTE NOT NULL , message_attributes LONG BYTE , - last_updated DATE NOT NULL ) </sql> <sql name="createTable" db="derby"> @@ -299,9 +311,10 @@ recipients long varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers blob , + last_updated timestamp NOT NULL, message_body blob NOT NULL , message_attributes blob , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> diff --git a/server/data/data-jdbc/src/test/resources/sqlResources.xml b/server/data/data-jdbc/src/test/resources/sqlResources.xml index 3d6d9f9..f1daca9 100644 --- a/server/data/data-jdbc/src/test/resources/sqlResources.xml +++ b/server/data/data-jdbc/src/test/resources/sqlResources.xml @@ -166,10 +166,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , - message_body longblob NOT NULL , - message_attributes longblob NULL , per_recipient_headers longblob NULL , last_updated datetime NOT NULL, + message_body longblob NOT NULL , + message_attributes longblob NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -183,10 +183,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , - message_body varchar NOT NULL , - message_attributes varchar NULL , per_recipient_headers varchar NULL , last_updated timestamp NOT NULL, + message_body varchar NOT NULL , + message_attributes varchar NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -200,10 +200,10 @@ recipients varchar NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , - message_body varchar NOT NULL , - message_attributes varchar NULL , per_recipient_headers varchar NULL , last_updated timestamp NOT NULL, + message_body varchar NOT NULL , + message_attributes varchar NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -217,10 +217,10 @@ [recipients] [text] NOT NULL , [remote_host] [varchar] (255) NOT NULL , [remote_addr] [varchar] (20) NOT NULL , - [message_body] [image] NOT NULL , - [message_attributes] [image] NULL , [per_recipient_headers] [image] NULL , [last_updated] [datetime] NOT NULL, + [message_body] [image] NOT NULL , + [message_attributes] [image] NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -234,10 +234,10 @@ recipients varchar2(1000) NOT NULL , remote_host varchar2(100) NOT NULL , remote_addr varchar2(20) NOT NULL , - message_body blob NOT NULL , - message_attributes blob NULL , per_recipient_headers blob NULL , last_updated date NOT NULL , + message_body blob NOT NULL , + message_attributes blob NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -251,10 +251,10 @@ recipients text NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , + per_recipient_headers oid NULL , + last_updated timestamp NOT NULL, message_body bytea NOT NULL , message_attributes bytea NULL , - per_recipient_headers bytea NULL , - last_updated timestamp NOT NULL, PRIMARY KEY (repository_name, message_name) ) </sql> @@ -268,10 +268,10 @@ recipients long NOT NULL , remote_host varchar (100) NOT NULL , remote_addr varchar (20) NOT NULL , - message_body long byte NOT NULL , - message_attributes long byte NULL , per_recipient_headers long byte NULL , last_updated date NOT NULL, + message_body long byte NOT NULL , + message_attributes long byte NULL , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -285,10 +285,10 @@ recipients varchar(1000) NOT NULL , remote_host varchar(100) NOT NULL , remote_addr varchar(20) NOT NULL , - message_body blob NOT NULL , - message_attributes blob , per_recipient_headers blob , last_updated timestamp NOT NULL , + message_body blob NOT NULL , + message_attributes blob , PRIMARY KEY (repository_name, message_name) ) </sql> @@ -302,10 +302,10 @@ recipients LONG VARCHAR NOT NULL , remote_host varchar (255) NOT NULL , remote_addr varchar (20) NOT NULL , - message_body LONG BYTE NOT NULL , - message_attributes LONG BYTE , per_recipient_headers LONG BYTE , last_updated DATE NOT NULL + message_body LONG BYTE NOT NULL , + message_attributes LONG BYTE , ) </sql> <sql name="createTable" db="derby"> @@ -318,10 +318,10 @@ 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 , per_recipient_headers blob , last_updated timestamp NOT NULL, + message_body blob NOT NULL , + message_attributes blob , PRIMARY KEY (repository_name, message_name) ) </sql> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
