[opencms-dev] OpenCms 7 RC 1 available

Alexander Kandzior alex at opencms.org
Fri May 11 09:45:26 CEST 2007


Regarding DB compatibility of the 7.0 RC 1 release, here's whats written in
the release notes that install with RC1:

"On the database side, we have tested with MySQL 4.0, MySQL 4.1, MySQL 5.0,
Oracle 9.x and Oracle 10.x. Support for other DBs still needs to be updated
for OpenCms 7."

Support for other DBs will be provided when the contributors have finished
their work on the drivers. I am confident PostgeSQL will be ready for RC2. 

Kind Regards,
Alex.

-------------------
Alexander Kandzior
                                                              
Alkacon Software GmbH  - The OpenCms Experts                 
 <http://www.alkacon.com/> http://www.alkacon.com -
<http://www.opencms.org/> http://www.opencms.org                

 


  _____  

From: opencms-dev-bounces at opencms.org
[mailto:opencms-dev-bounces at opencms.org] On Behalf Of Marco
Sent: Thursday, May 10, 2007 11:21 PM
To: The OpenCms mailing list
Subject: Re: [opencms-dev] OpenCms 7 RC 1 available


I got a bit further by creating my own pg.sql (postgresql create_tables)
file.
All files including my pg.sql file can be found on
http://www.weeswel.com/logs/

At the moment I am stuck on the fact that the code depends on Mysql fucking
up an schema constraint by making something up for an not null field
Read on for the gory details.

P.S. Can the devs shed some light on this and create a patch or is this a
self-service scenario.
P.P.S. Can I trust this code to work properly on anything else then Mysql. 
The fact that you can't even do a basic install of this 7.0RC1 on an
postgresql doesn't inspire confidence.This is next to the fact that the code
is dependant on Mysql quirks.



In Pseudo language my steps to get something working, since the original
postgresql database template does not work

1)Download the script mysql2pgsql.perl
2)cp %opencms%/setup/database/mysql_41/create_tables.sql
/tmp/Mysql_create_tables.sql
3)vi /tmp/Mysql_create_tables.sql 
    Strip all indexes from this file
    Strip all Characterset utf 8 from this file
    Strip all TEXT BINARY from this file
    Strip all (255) from the PRIMARY KEY entries

3)./mysql2pgsql.perl --nodrop  /tmp/Mysql_create_tables  pg.sql
4)Deploy your opencms.war(7.0RC1) file wait until it is extracted
5)cp pg.sql .%OPENCMS%/setup/database/postgresql/create_tables.sql

6) Open the http://yoursite/opencms/setup and follow the setup routine
7) Choose to install all documentation to exercise the database table a bit

This import failed, I found the following problem in the
%opencms%/WEB-INF/logs/setup.log file
Important part follows
17:     Caused by: org.opencms.db.CmsDbSqlException: An SQL error occurred
when executing the following query: INSERT INTO CMS_ONLINE_STRUCTURE
(STRUCTURE_ID,RESOURCE_ID,RESOURCE_PATH,STRUCTURE_STATE,DATE_RELEASED,DATE_E
XPIRED,PARENT_ID)
VALUES
('04a8d8f6-ff37-11db-964e-2df1a5244f64','04a8d8f7-ff37-11db-964e-2df1a5244f6
4','/',0,0,9223372036854775807,'00000000-0000-0000-0000-000000000000').
   
23:     Caused by: org.postgresql.util.PSQLException: Parameter index out of
range.


So we try to run this query from the pgsql commandline
opencms150=# \d CMS_ONLINE_STRUCTURE;
   Table "public.cms_online_structure"
      Column       |   Type   | Modifiers
-------------------+----------+-----------
 structure_id      | bytea    | not null
 resource_id       | bytea    | not null
 parent_id         | bytea    | not null
 resource_path     | text     | not null
 structure_state   | smallint | not null
 date_released     | bigint   | not null
 date_expired      | bigint   | not null
 structure_version | integer  | not null
Indexes:
    "cms_online_structure_pkey" PRIMARY KEY, btree (structure_id)
Check constraints:
    "cms_online_structure_structure_state_check" CHECK (structure_state >=
0)

opencms150=# INSERT INTO CMS_ONLINE_STRUCTURE
(STRUCTURE_ID,RESOURCE_ID,RESOURCE_PATH,STRUCTURE_STATE,DATE_RELEASED,DATE_E
XPIRED,PARENT_ID)
opencms150-# VALUES
('04a8d8f6-ff37-11db-964e-2df1a5244f64','04a8d8f7-ff37-11db-964e-2df1a5244f6
4','/',0,0,9223372036854775807,'00000000-0000-0000-0000-000000000000')
opencms150-# ;
ERROR:  null value in column "structure_version" violates not-null
constraint

So what happens is a violation of the database schema, column
structure_version is not filled in the statement so Postgresql properly
refuses to honor the request.


Just to pain myself I installed the product pretending to be a database
server My-SQL.
mysql> describe CMS_ONLINE_STRUCTURE;
+-------------------+----------------------+------+-----+---------+-------+
| Field             | Type                 | Null | Key | Default | Extra |
+-------------------+----------------------+------+-----+---------+-------+
| STRUCTURE_ID      | varchar(36)          | NO   | PRI |         |       |
| RESOURCE_ID       | varchar(36)          | NO   | MUL |         |       |
| PARENT_ID         | varchar(36)          | NO   | MUL |         |       |
| RESOURCE_PATH     | text                 | NO   | MUL |         |       |
| STRUCTURE_STATE   | smallint(5) unsigned | NO   | MUL |         |       |
| DATE_RELEASED     | bigint(20)           | NO   |     |         |       |
| DATE_EXPIRED      | bigint(20)           | NO   |     |         |       |
| STRUCTURE_VERSION | int(11)              | NO   |     |         |       |
+-------------------+----------------------+------+-----+---------+-------+
8 rows in set (0.01 sec)

So the NOT NULL constraint is still with us, thats great that means it is
not a problem caused by my conversion, but what goes wrong.
 Lets try the query in Mysql

mysql> INSERT INTO
    -> CMS_ONLINE_STRUCTURE
(STRUCTURE_ID,RESOURCE_ID,RESOURCE_PATH,STRUCTURE_STATE,DATE_RELEASED,DATE_E
XPIRED,PARENT_ID
) VALUES (
    ->
'95c23c20-ff2c-11db-9bd2-b3972de27f02','95c23c21-ff2c-11db-9bd2-b3972de27f02
','/',0,0,9223372036854775807,'000000
00-0000-00
    '> 00-0000-000000000000');
Query OK, 1 row affected, 2 warnings (0.05 sec)


mysql> select * from CMS_ONLINE_STRUCTURE;
+--------------------------------------+------------------------------------
--+--------------------------------------+---------------+-----------------+
---------------+---------------------+-------------------+
| STRUCTURE_ID                         | RESOURCE_ID
| PARENT_ID                            | RESOURCE_PATH | STRUCTURE_STATE |
DATE_RELEASED | DATE_EXPIRED        | STRUCTURE_VERSION |
+--------------------------------------+------------------------------------
--+--------------------------------------+---------------+-----------------+
---------------+---------------------+-------------------+
| 95c23c20-ff2c-11db-9bd2-b3972de27f02 |
95c23c21-ff2c-11db-9bd2-b3972de27f02 | 00000000-0000-00
00-0000-00000000000 | /             |               0 |             0 |
9223372036854775807 |                 0 |
+--------------------------------------+------------------------------------
--+--------------------------------------+---------------+-----------------+
---------------+---------------------+-------------------+
1 row in set (0.00 sec)


I didn't mention any versions since My-Sql has a long reputation of mangling
data and Postgresl has a long reputation of honoring these kinds of
constraints.







Marco schreef: 

It seems like it, 
Caused by: java.sql.SQLException: Column not found message from server:
"Unknown column 'CMS_ONLINE_STRUCTURE.STRUCTURE_VERSION' in 'field list'" 

Same as with me, the Postgresl dump doesn't contain the STRUCTURE_VERSION
field list for the  CMS_ONLINE_STRUCTURE table. And atleast one of the many
Mysql dumps does contain a dump which presumably is correct. 



Stéphane Verger schreef: 


Hi ! 

I had an unexpected error trying to install OpenCms 7 RC1 with the java 1.4
package. 
It seems to have a problem with the sql schemas, is it the same problem as
yours, marco ? 

Has anybody already had the same probleme, and got a solution ? 

Ty, 

R. 



47:    Shutdown completed, total uptime was 00:00:29. 
46:    Shutting down OpenCms, version 7 RC 1 (6.9.1) in web application
"opencms7beta" 
45:    44:    43:        at
org.opencms.setup.CmsSetupWorkplaceImportThread.run(CmsSetupWorkplaceImportT
hread.java:209) 
42:        at
org.opencms.setup.CmsSetupWorkplaceImportThread.kill(CmsSetupWorkplaceImport
Thread.java:118) 
41:        at org.opencms.main.CmsShell.exit(CmsShell.java:557) 
40:    java.lang.NullPointerException 
39:        at
org.opencms.setup.CmsSetupWorkplaceImportThread.run(CmsSetupWorkplaceImportT
hread.java:194) 
38:        at org.opencms.main.CmsShell.start(CmsShell.java:646) 
37:        at org.opencms.main.CmsShell.executeCommands(CmsShell.java:818) 
36:        at org.opencms.main.CmsShell.executeCommand(CmsShell.java:743) 
35:    ${user}@${project}>java.lang.NullPointerException 
34:    ${user}@${project}># Turn echo on 
33:        ... 9 more 
32:        at
org.opencms.db.generic.CmsVfsDriver.readResource(CmsVfsDriver.java:1653) 
31:        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingP
reparedStatement.java:93) 
30:        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingP
reparedStatement.java:93) 
29:        at
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1634) 
28:        at com.mysql.jdbc.Connection.execSQL(Connection.java:2281) 
27:        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279) 
26:        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1168) 
25:        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2001) 
24:    Caused by: java.sql.SQLException: Column not found message from
server: "Unknown column 'CMS_ONLINE_STRUCTURE.STRUCTURE_VERSION' in 'field
list'" 
23:        ... 5 more 
22:        at
org.opencms.db.CmsSecurityManager.init(CmsSecurityManager.java:2579) 
21:        at
org.opencms.db.CmsDriverManager.init(CmsDriverManager.java:4034) 
20:        at
org.opencms.db.generic.CmsProjectDriver.fillDefaults(CmsProjectDriver.java:5
77) 
19:        at
org.opencms.db.generic.CmsVfsDriver.createResource(CmsVfsDriver.java:471) 
18:        at
org.opencms.db.generic.CmsVfsDriver.readResource(CmsVfsDriver.java:1666) 
17:    Caused by: org.opencms.db.CmsDbSqlException: An SQL error occurred
when executing the following query:
com.mysql.jdbc.PreparedStatement at 12ce574: SELECT
CMS_ONLINE_STRUCTURE.STRUCTURE_ID,CMS_ONLINE_STRUCTURE.RESOURCE_ID,CMS_ONLIN
E_STRUCTURE.RESOURCE_PATH,CMS_ONLINE_STRUCTURE.STRUCTURE_STATE,CMS_ONLINE_ST
RUCTURE.DATE_RELEASED,CMS_ONLINE_STRUCTURE.DATE_EXPIRED,CMS_ONLINE_STRUCTURE
.STRUCTURE_VERSION,CMS_ONLINE_RESOURCES.RESOURCE_ID,CMS_ONLINE_RESOURCES.RES
OURCE_TYPE,CMS_ONLINE_RESOURCES.RESOURCE_FLAGS,CMS_ONLINE_RESOURCES.RESOURCE
_STATE,CMS_ONLINE_RESOURCES.DATE_CREATED,CMS_ONLINE_RESOURCES.DATE_LASTMODIF
IED,CMS_ONLINE_RESOURCES.USER_CREATED,CMS_ONLINE_RESOURCES.USER_LASTMODIFIED
,CMS_ONLINE_RESOURCES.PROJECT_LASTMODIFIED
LOCKED_IN_PROJECT,CMS_ONLINE_RESOURCES.RESOURCE_SIZE,CMS_ONLINE_RESOURCES.DA
TE_CONTENT,CMS_ONLINE_RESOURCES.SIBLING_COUNT,CMS_ONLINE_RESOURCES.RESOURCE_
VERSION,CMS_ONLINE_RESOURCES.PROJECT_LASTMODIFIED FROM
CMS_ONLINE_STRUCTURE,CMS_ONLINE_RESOURCES WHERE
CMS_ONLINE_STRUCTURE.RESOURCE_PATH='/' AND
CMS_ONLINE_STRUCTURE.RESOURCE_ID=CMS_ONLINE_RESOURCES.RESOURCE_ID ORDER BY
CMS_ONLINE_STRUCTURE.STRUCTURE_STATE ASC. 
16:        at
org.opencms.setup.CmsSetupWorkplaceImportThread.run(CmsSetupWorkplaceImportT
hread.java:155) 
15:        at org.opencms.main.CmsShell.<init>(CmsShell.java:450) 
14:        at
org.opencms.main.OpenCmsCore.upgradeRunlevel(OpenCmsCore.java:1684) 
13:        at
org.opencms.main.OpenCmsCore.initConfiguration(OpenCmsCore.java:1111) 
12:        at
org.opencms.db.CmsSecurityManager.newInstance(CmsSecurityManager.java:168) 
11:        at
org.opencms.db.CmsSecurityManager.init(CmsSecurityManager.java:2588) 
10:    org.opencms.main.CmsInitException: Critical error while loading
driver manager. 
9:    -------------------- 
8:    Giving up, unable to start OpenCms. 
7:    Critical error while loading driver manager. 
6:    The following critical error occured: 
5:    -------------------- 
4:    3:    2:    OpenCms property file:
"C:\dev\java\jakarta-tomcat-5.0.30\webapps\opencms7beta\WEB-INF\config\openc
ms.properties". 
1:    OpenCms WEB-INF path:
"C:\dev\java\jakarta-tomcat-5.0.30\webapps\opencms7beta\WEB-INF\". 

Marco a écrit : 


I just tried to install this release candidat but couldn't get it to work. 
The OpenCms logging mentioned problems with a query, this had to do with the
absence of the group_ou column in the cms_groups tables. 

This field could not be found on the database server and in the
setup/database/postgresql/create_tables file. 
When comparing the oracle, mysql en Postgresql dump I suspect that the
Postgresql dump is horribly out of date. 

Hope this helps the RC phase a bit further. 

Cheers, 


_______________________________________________ 
This mail is sent to you from the opencms-dev mailing list 
To change your list options, or to unsubscribe from the list, please visit 
http://lists.opencms.org/mailman/listinfo/opencms-dev 






_______________________________________________ 
This mail is sent to you from the opencms-dev mailing list 
To change your list options, or to unsubscribe from the list, please visit 
http://lists.opencms.org/mailman/listinfo/opencms-dev 




_______________________________________________ 
This mail is sent to you from the opencms-dev mailing list 
To change your list options, or to unsubscribe from the list, please visit 
http://lists.opencms.org/mailman/listinfo/opencms-dev 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20070511/a0255a70/attachment.htm>


More information about the opencms-dev mailing list