Hi all,

I believe MySQL is swapped in successfully but we're having the following
problem.

When I run 'ant db.init' I get the error pasted below. Before looking at the
error though, it is important to know the following:

1. The connection to the database is successfully done.
2. Tables are created with their columns (I believe the columns are correct)
3. Column 'id' referred in the error below does exist under table
'acl_object_identity'.

After some investigation the solution seems to be the following:

According to MySQL's manual any form of 'JOIN' has precedence over ',' which
in return means the following statement
select * from ACL_OBJECT_IDENTITY, ACL_SID ACLI_SID, ACL_CLASS LEFT
JOIN ACL_ENTRY
ON ACL_OBJECT_IDENTITY.ID = ACL_ENTRY.ACL_OBJECT_IDENTITY LEFT JOIN ACL_SID
ON ACL_ENTRY.SID = ACL_SID.ID

will give an error complaining that it doesn't know
ACL_OBJECT_IDENTITY.ID. This
might look awkward at first but because
JOIN has precedence over ',' MySQL engine tries to join ACL_CLASS and
ACL_ENTRY first and therefore doesn't know where
ACL_IDENTITY.ID comes from.

The solution though is to put all the comma separated tables in a '(...)'
since brackets have precedence over JOIN. As a result the
cross product of all the comma separated tables becomes the result to be
'LEFT JOIN'ed by ACL_ENTRY in the example above.

Given the above 3 successes (connection to DB as well as creation of tables)
I believe if we can fix all the queries to the system according
to the above rule, we should be either finished with swapping MySQL in or
very very close to finishing (unless something else comes up)

I know the above process can be time consuming and will need meticulous
focus but it looks like we need to do that in order to
use MySQL. If anyone has any further suggestions or you think I might be
wrong about something, please feel free to let the team know.
And if you agree with me and would like to divide the work among ourselves
please let me know and I will get started on my part.

---------------------------------------------------------------------------------------
Error copied from console:

     [java] Oct 3, 2007 2:59:19 PM
net.sf.sail.webapp.domain.webservice.http.impl.HttpRestTransportImpllogRequest
     [java] INFO: POST: http://rails.dev.concord.org/sds/4/jnlp
     [java] Oct 3, 2007 2:59:19 PM
net.sf.sail.webapp.domain.webservice.http.impl.HttpRestTransportImpllogRequest
     [java] INFO: POST: <jnlp><name>PLR Everything JDIC snapshot
20070125-0811</name><url>
http://www.encorewiki.org/download/attachments/2114/plr-everything-jdic-snapshot-20070125-0811.jnlp
</url></jnlp>
     [java] Hibernate:
     [java]     insert
     [java]     into
     [java]         sds_jnlps
     [java]         (OPTLOCK, jnlp_id, name, url)
     [java]     values
     [java]         (?, ?, ?, ?)
     [java] Hibernate:
     [java]     insert
     [java]     into
     [java]         jnlps
     [java]         (OPTLOCK, sds_jnlp_fk)
     [java]     values
     [java]         (?, ?)
     [java] Hibernate:
     [java]     select
     [java]         curnitimpl0_.id as id11_1_,
     [java]         curnitimpl0_.OPTLOCK as OPTLOCK11_1_,
     [java]         curnitimpl0_.sds_curnit_fk as sds3_11_1_,
     [java]         sdscurnit1_.id as id6_0_,
     [java]         sdscurnit1_.OPTLOCK as OPTLOCK6_0_,
     [java]         sdscurnit1_.curnit_id as curnit3_6_0_,
     [java]         sdscurnit1_.name as name6_0_,
     [java]         sdscurnit1_.url as url6_0_
     [java]     from
     [java]         curnits curnitimpl0_
     [java]     inner join
     [java]         sds_curnits sdscurnit1_
     [java]             on curnitimpl0_.sds_curnit_fk=sdscurnit1_.id
     [java]     where
     [java]         curnitimpl0_.id=?
     [java] Hibernate:
     [java]     select
     [java]         jnlpimpl0_.id as id12_,
     [java]         jnlpimpl0_.OPTLOCK as OPTLOCK12_,
     [java]         jnlpimpl0_.sds_jnlp_fk as sds3_12_
     [java]     from
     [java]         jnlps jnlpimpl0_
     [java] Hibernate:
     [java]     select
     [java]         sdsjnlp0_.id as id7_0_,
     [java]         sdsjnlp0_.OPTLOCK as OPTLOCK7_0_,
     [java]         sdsjnlp0_.jnlp_id as jnlp3_7_0_,
     [java]         sdsjnlp0_.name as name7_0_,
     [java]         sdsjnlp0_.url as url7_0_
     [java]     from
     [java]         sds_jnlps sdsjnlp0_
     [java]     where
     [java]         sdsjnlp0_.id=?
     [java] Oct 3, 2007 2:59:20 PM
net.sf.sail.webapp.domain.webservice.http.impl.HttpRestTransportImpllogRequest
     [java] INFO: POST: http://rails.dev.concord.org/sds/4/offering
     [java] Oct 3, 2007 2:59:20 PM
net.sf.sail.webapp.domain.webservice.http.impl.HttpRestTransportImpllogRequest
     [java] INFO: POST: <offering><name>Direct and Emergent Processes for
Engineering
Science</name><curnit-id>14529</curnit-id><jnlp-id>14126</jnlp-id></offering>
     [java] Hibernate:
     [java]     insert
     [java]     into
     [java]         sds_offerings
     [java]         (OPTLOCK, name, sds_curnit_fk, sds_jnlp_fk, offering_id,
sds_curnitmap)
     [java]     values
     [java]         (?, ?, ?, ?, ?, ?)
     [java] Hibernate:
     [java]     insert
     [java]     into
     [java]         offerings
     [java]         (OPTLOCK, sds_offering_fk)
     [java]     values
     [java]         (?, ?)
     [java] Oct 3, 2007 2:59:20 PM
org.springframework.beans.factory.xml.XmlBeanDefinitionReaderloadBeanDefinitions
     [java] INFO: Loading XML bean definitions from class path resource
[org/springframework/jdbc/support/sql-error-codes.xml]
     [java] Oct 3, 2007 2:59:20 PM
org.springframework.jdbc.support.SQLErrorCodesFactory <init>
     [java] INFO: SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix,
MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
     [java] PreparedStatementCallback; bad SQL grammar [select
ACL_OBJECT_IDENTITY.OBJECT_ID_IDENTITY, ACL_ENTRY.ACE_ORDER,
ACL_OBJECT_IDENTITY.ID as ACL_ID, ACL_OBJECT_IDENTITY.PARENT_OBJECT,
ACL_OBJECT_IDENTITY,ENTRIES_INHERITING, ACL_ENTRY.ID as ACE_ID,
ACL_ENTRY.MASK, ACL_ENTRY.GRANTING, ACL_ENTRY.AUDIT_SUCCESS,
ACL_ENTRY.AUDIT_FAILURE, ACL_SID.PRINCIPAL as ACE_PRINCIPAL, ACL_SID.SID as
ACE_SID, ACLI_SID.PRINCIPAL as ACL_PRINCIPAL, ACLI_SID.SID as ACL_SID,
ACL_CLASS.CLASS from ACL_OBJECT_IDENTITY, ACL_SID ACLI_SID, ACL_CLASS LEFT
JOIN ACL_ENTRY ON ACL_OBJECT_IDENTITY.ID = ACL_ENTRY.ACL_OBJECT_IDENTITY
LEFT JOIN ACL_SID ON ACL_ENTRY.SID = ACL_SID.ID where ACLI_SID.ID =
ACL_OBJECT_IDENTITY.OWNER_SID and ACL_CLASS.ID =
ACL_OBJECT_IDENTITY.OBJECT_ID_CLASS and (
(ACL_OBJECT_IDENTITY.OBJECT_ID_IDENTITY = ? and ACL_CLASS.CLASS = ?)) order
by ACL_OBJECT_IDENTITY.OBJECT_ID_IDENTITY asc, ACL_ENTRY.ACE_ORDER asc];
nested exception is com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
Unknown column 'ACL_OBJECT_IDENTITY.ID' in 'on clause'
     [java] org.springframework.jdbc.BadSqlGrammarException:
PreparedStatementCallback; bad SQL grammar [select
ACL_OBJECT_IDENTITY.OBJECT_ID_IDENTITY, ACL_ENTRY.ACE_ORDER,
ACL_OBJECT_IDENTITY.ID as ACL_ID, ACL_OBJECT_IDENTITY.PARENT_OBJECT,
ACL_OBJECT_IDENTITY,ENTRIES_INHERITING, ACL_ENTRY.ID as ACE_ID,
ACL_ENTRY.MASK, ACL_ENTRY.GRANTING, ACL_ENTRY.AUDIT_SUCCESS,
ACL_ENTRY.AUDIT_FAILURE, ACL_SID.PRINCIPAL as ACE_PRINCIPAL, ACL_SID.SID as
ACE_SID, ACLI_SID.PRINCIPAL as ACL_PRINCIPAL, ACLI_SID.SID as ACL_SID,
ACL_CLASS.CLASS from ACL_OBJECT_IDENTITY, ACL_SID ACLI_SID, ACL_CLASS LEFT
JOIN ACL_ENTRY ON ACL_OBJECT_IDENTITY.ID = ACL_ENTRY.ACL_OBJECT_IDENTITY
LEFT JOIN ACL_SID ON ACL_ENTRY.SID = ACL_SID.ID where ACLI_SID.ID =
ACL_OBJECT_IDENTITY.OWNER_SID and ACL_CLASS.ID =
ACL_OBJECT_IDENTITY.OBJECT_ID_CLASS and (
(ACL_OBJECT_IDENTITY.OBJECT_ID_IDENTITY = ? and ACL_CLASS.CLASS = ?)) order
by ACL_OBJECT_IDENTITY.OBJECT_ID_IDENTITY asc, ACL_ENTRY.ACE_ORDER asc];
nested exception is com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
Unknown column 'ACL_OBJECT_IDENTITY.ID' in 'on clause'
     [java] Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:
Unknown column 'ACL_OBJECT_IDENTITY.ID' in 'on clause'
     [java]     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java
:936)
     [java]     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java
:2941)
     [java]     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1623)
     [java]     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1715)
     [java]     at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
     [java]     at com.mysql.jdbc.PreparedStatement.executeInternal(
PreparedStatement.java:1268)
     [java]     at com.mysql.jdbc.PreparedStatement.executeQuery(
PreparedStatement.java:1403)
     [java]     at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(
DelegatingPreparedStatement.java:92)
     [java]     at
org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(
JdbcTemplate.java:594)
     [java]     at org.springframework.jdbc.core.JdbcTemplate.execute(
JdbcTemplate.java:537)
     [java]     at org.springframework.jdbc.core.JdbcTemplate.query(
JdbcTemplate.java:587)
     [java]     at org.springframework.jdbc.core.JdbcTemplate.query(
JdbcTemplate.java:616)
     [java]     at
org.acegisecurity.acls.jdbc.BasicLookupStrategy.lookupObjectIdentities(
BasicLookupStrategy.java:284)
     [java]     at
org.acegisecurity.acls.jdbc.BasicLookupStrategy.readAclsById(
BasicLookupStrategy.java:402)
     [java]     at org.acegisecurity.acls.jdbc.JdbcAclService.readAclsById(
JdbcAclService.java:112)
     [java]     at org.acegisecurity.acls.jdbc.JdbcAclService.readAclById(
JdbcAclService.java:93)
     [java]     at org.acegisecurity.acls.jdbc.JdbcAclService.readAclById(
JdbcAclService.java:103)
     [java]     at
net.sf.sail.webapp.service.impl.AclServiceImpl.addPermission(
AclServiceImpl.java:64)
     [java]     at
net.sf.sail.webapp.service.impl.AclServiceImpl.addPermission(
AclServiceImpl.java:41)
     [java]     at
net.sf.sail.webapp.service.offering.impl.OfferingServiceImpl.createOffering(
OfferingServiceImpl.java:131)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
     [java]     at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
AopUtils.java:304)
     [java]     at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint
(ReflectiveMethodInvocation.java:172)
     [java]     at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:139)
     [java]     at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
TransactionInterceptor.java:107)
     [java]     at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:161)
     [java]     at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(
JdkDynamicAopProxy.java:204)
     [java]     at $Proxy24.createOffering(Unknown Source)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
     [java]     at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
AopUtils.java:304)
     [java]     at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint
(ReflectiveMethodInvocation.java:172)
     [java]     at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:139)
     [java]     at
org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke
(MethodSecurityInterceptor.java:66)
     [java]     at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:161)
     [java]     at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(
JdkDynamicAopProxy.java:204)
     [java]     at $Proxy24.createOffering(Unknown Source)
     [java]     at
net.sf.sail.webapp.CreateDefaultOfferings.createDefaultOfferings(
CreateDefaultOfferings.java:93)
     [java]     at net.sf.sail.webapp.Initializer.main(Initializer.java:86)


-- 
Regards,

Rokham Sadeghnezhadfard
University of Toronto
Software Engineering Specialist

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SAIL-Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/SAIL-Dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to