Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-dev] issues while running Foundation JUnit tests

Hi Dies,

I have started looking at the joining issue. Would you mind documenting the current state of your code that attempts to create the Symfoware-compatible query either in the bug or on the wiki page?

-Tom

Dies Koper wrote:
Hi Tom, Andrei,

As you suggested I've started running the Foundation tests.
Currently pass 98.83% (70 errors).
This is with the code to execute DDL within transactions still included.

Quite a number of tests failed because of the INNER JOIN issue. I have
temporary changed the code to use a LEFT OUTER JOIN instead until we
have a final solution.

I have updated the Wiki page with the Symfoware equivalent of an INNER
JOIN. I have tried implementing it myself but wasn't sure how to do the
final ON clause (current "(t2.employees_ID = t1.ID)" part needs to be
changed to "(cor0.employees_ID = t1.ID)", i.e. different table reference
for the join table's FK. Could you or Andrei help?

Other issues I encountered (Wiki update in progress):

- test item "SimpleIndexTest use index()"
  does a BETWEEN comparison between a VARCHAR and numbers:
   SELECT ... WHERE t0.MANAGED_ORDER_VARCHAR BETWEEN 2 AND 4

  Do I exclude this test, or can I change something in my platform class
to make it work? Symfoware would accept the SQL if I explicitly cast the
VARCHAR:
   SELECT ... WHERE CAST(t0.MANAGED_ORDER_VARCHAR AS INTEGER) BETWEEN 2
AND 4
  Or insert the numbers as strings of course:
   SELECT ... WHERE t0.MANAGED_ORDER_VARCHAR BETWEEN '2' AND '4'

- test item "SimpleAddRemoveTest2"
  similar to the above, it does an arithmetic operation on a VARCHAR,
and assigns the result back into a VARCHAR.
   UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (PHONE_ORDER_VARCHAR + 1)
WHERE ((PHONE_ORDER_VARCHAR BETWEEN 0 AND 1) AND (OWNER_ID = 7721))

  Symfoware would accept this if we cast the types explicitly:
   UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (CAST(PHONE_ORDER_VARCHAR
AS INTEGER) + 1) WHERE ((CAST(PHONE_ORDER_VARCHAR AS INTEGER) BETWEEN 0
AND 1) AND (OWNER_ID = 7721))

- Table drop while connection is still open issue (in
employee.relational.EmployeeSystem.dropTableConstraints)

- "ReadObjectTest(Employee(Dave Vadis))" (and others)
  gives error message "The object read from the database, 'Employee(Dave
Vadis)' does not match the originial, 'Employee(Dave Vadis).".
  Haven't investigated why, but the same error occurs in a few other
tests (Tracy Chapman, Shipment(1 ton), aggregate.Agent)

- "AggregateCollectionUoWTest" (and others)
  gives error message "The original object was changed through changing
the clone.".
  Haven't investigated why, but the same error occurs in a few other
tests (Tracy Chapman, Shipment(1 ton), aggregate.Agent)

- MultipleUnitOfWorkTest(Employee: Bob Smith) (and a few more)
  throws java.sql.SQLException with a Symfoware message complaining that
the schema is locked.
  Haven't investigated yet what could be locking it and how.

- "Multiple operators with two parameters with brackets around multiply"
  driver gives an error that Symfoware does not allow you to put
parameters at both sides of an arithmetic operator (e.g. ? * ?).

- "SessionsXMLSchemaDefaultValueTest"
  Test gives error "Exception Description: The log level had the wrong
default value". Haven't investigated yet what that means.

- "JoinSubclassesTest"
  Driver(?) gives java.sql.SQLException: The ResultSet is closed
  at
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.cursorRetrieveNextRow(DatabaseAccessor.java:438)
  Haven't investigated yet what that could mean.

- "FullDatabaseFailureTest", "SingleConnectionFailureTest",
"ConnectionPoolFailureTest"
  NPE because I did not set the ping string for Symfoware. I'd like to
know more about what it is used for (i.e. when is it called, what else
do I need to implement to make the function work properly).

-"ReadAllTest(org.eclipse.persistence.testing.models.employee.domain.Employee)"
(and others)
  Test gives error "24 objects were read from the database, but
originially there were, 12."
  Haven't investigated yet what that could mean.

- Symfoware's TIMESTAMP only stores up to the second. Some tests that
use this field as primary key violate its unique constraint. Those tests
currently sleep 1ms to allow primary key values to be unique to the
millisecond (required for some DBs). Could we increase that to 1s for
Symfoware?
   It's in
org.eclipse.persistence.testing.models.legacy.Computer#prepareForInsert
and
org.eclipse.persistence.testing.models.mapping.Shipment#prepareForInsert.

If any of the issue descriptions ring a bell, please let me know.

Thanks!
Dies

_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev


Back to the top