issues while running Foundation JUnit tests

View: New views
9 Messages — Rating Filter:   Alert me  

issues while running Foundation JUnit tests

by Dies K :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev

Re: issues while running Foundation JUnit tests

by Andrei Ilitchev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Please log a bug about failures in OrderedList tests
It's a marginal use case (order field is a VARCHAR), but I'll take a look
(may be not right away though).

Probably will introduce a new method on db platform:
/**

* Some db allow VARCHAR db field to be used in arithmetic operations
automatically converting them to numeric:

* UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (PHONE_ORDER_VARCHAR + 1) WHERE
...

* SELECT ... WHERE ... t0.MANAGED_ORDER_VARCHAR BETWEEN 1 AND 4 ...

*/

public boolean convertsDatabaseFieldToNumericForArithmeticOperations() {

return false;

}

Then see whether it still can be fixed on non-supporting platforms,
otherwise the tests will be excluded for those platforms.

So please don't worry about these failures.

----- Original Message -----
From: "Dies Koper" <diesk@...>
To: "Dev mailing list for Eclipse Persistence Services"
<eclipselink-dev@...>
Sent: Wednesday, October 21, 2009 4:43 AM
Subject: [eclipselink-dev] issues while running Foundation JUnit tests


> 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@...
> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>

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

Re: issues while running Foundation JUnit tests

by Dies K :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Andrei,

> Please log a bug about failures in OrderedList tests

Thanks.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=292974

I had another issue with a test in this class that I did not mention in
my previous e-mail:

OrderListTestModel#verify has the following query:

"SELECT COUNT(*) WHERE ... <> null"

Symfoware doesn't allow keyword "null" in the where clause as value.
If I change it to "IS NOT NULL" it works fine. If that is acceptable to
the other databases, could this be changed too?

Thanks,
Dies


Andrei Ilitchev wrote:

> Please log a bug about failures in OrderedList tests
> It's a marginal use case (order field is a VARCHAR), but I'll take a
> look (may be not right away though).
>
> Probably will introduce a new method on db platform:
> /**
>
> * Some db allow VARCHAR db field to be used in arithmetic operations
> automatically converting them to numeric:
>
> * UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (PHONE_ORDER_VARCHAR + 1)
> WHERE ...
>
> * SELECT ... WHERE ... t0.MANAGED_ORDER_VARCHAR BETWEEN 1 AND 4 ...
>
> */
>
> public boolean convertsDatabaseFieldToNumericForArithmeticOperations() {
>
> return false;
>
> }
>
> Then see whether it still can be fixed on non-supporting platforms,
> otherwise the tests will be excluded for those platforms.
>
> So please don't worry about these failures.
>
> ----- Original Message ----- From: "Dies Koper" <diesk@...>
> To: "Dev mailing list for Eclipse Persistence Services"
> <eclipselink-dev@...>
> Sent: Wednesday, October 21, 2009 4:43 AM
> Subject: [eclipselink-dev] issues while running Foundation JUnit tests
>
>
>> 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@...
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev

Re: issues while running Foundation JUnit tests

by Andrei Ilitchev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dies,

IS NOT NULL is good, I will make this change while fixing the bug.

Thanks,
Andrei
----- Original Message -----
From: "Dies Koper" <diesk@...>
To: "Dev mailing list for Eclipse Persistence Services"
<eclipselink-dev@...>
Sent: Thursday, October 22, 2009 3:44 AM
Subject: Re: [eclipselink-dev] issues while running Foundation JUnit tests


> Hi Andrei,
>
>> Please log a bug about failures in OrderedList tests
>
> Thanks.
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=292974
>
> I had another issue with a test in this class that I did not mention in
> my previous e-mail:
>
> OrderListTestModel#verify has the following query:
>
> "SELECT COUNT(*) WHERE ... <> null"
>
> Symfoware doesn't allow keyword "null" in the where clause as value.
> If I change it to "IS NOT NULL" it works fine. If that is acceptable to
> the other databases, could this be changed too?
>
> Thanks,
> Dies
>
>
> Andrei Ilitchev wrote:
>> Please log a bug about failures in OrderedList tests
>> It's a marginal use case (order field is a VARCHAR), but I'll take a look
>> (may be not right away though).
>>
>> Probably will introduce a new method on db platform:
>> /**
>>
>> * Some db allow VARCHAR db field to be used in arithmetic operations
>> automatically converting them to numeric:
>>
>> * UPDATE OL_PHONE SET PHONE_ORDER_VARCHAR = (PHONE_ORDER_VARCHAR + 1)
>> WHERE ...
>>
>> * SELECT ... WHERE ... t0.MANAGED_ORDER_VARCHAR BETWEEN 1 AND 4 ...
>>
>> */
>>
>> public boolean convertsDatabaseFieldToNumericForArithmeticOperations() {
>>
>> return false;
>>
>> }
>>
>> Then see whether it still can be fixed on non-supporting platforms,
>> otherwise the tests will be excluded for those platforms.
>>
>> So please don't worry about these failures.
>>
>> ----- Original Message ----- From: "Dies Koper"
>> <diesk@...>
>> To: "Dev mailing list for Eclipse Persistence Services"
>> <eclipselink-dev@...>
>> Sent: Wednesday, October 21, 2009 4:43 AM
>> Subject: [eclipselink-dev] issues while running Foundation JUnit tests
>>
>>
>>> 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@...
> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>

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

Re: issues while running Foundation JUnit tests

by tware :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@...
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev

Re: issues while running Foundation JUnit tests

by Dies K :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Tom,

I have attached my code to the bug with a description.
I think it's simply a replacement of the ANSI join with a traditional
join, so you might be able to use your own DB to test the query.

I have also added attachments for some of the other issues I encountered
while running the core tests (use of SEQUENCE keyword, numeric precision
and BLOB/CLOB with no size specified (defaulting to a size to small on
Symfoware)).

In my last runs I pass 99.37% of the core tests.
Remaining issues are mostly because of unsupported functions on
Symfoware (MOD, VARDEV, GREATEST, etc.) for which I could not easily get
the tests to be skipped.

I'll add comments to the issues I mentioned below with their statuses:

>> - test item "SimpleIndexTest use index()"
>> - test item "SimpleAddRemoveTest2"

Andrei is taking care of these.

>> - "ReadObjectTest(Employee(Dave Vadis))" (and others)
 >> - "AggregateCollectionUoWTest" (and others)

Was due to Symfoware supporting TIMESTAMP values only up to second
precision. Updated tests to set nanos. to 0 as done for other platforms,
and now they pass.

>> - MultipleUnitOfWorkTest(Employee: Bob Smith) (and a few more)
>>   throws java.sql.SQLException with a Symfoware message complaining that
>> the schema is locked.

This particular test is passing now but 'ComplexMultipleUnitOfWorkTest'
still fails. Maybe one of the failures before this test did not clean up
properly.

>> - "SessionsXMLSchemaDefaultValueTest"
>>   Test gives error "Exception Description: The log level had the wrong
>> default value".

That's because I run the tests with log level "finest".

>> - "JoinSubclassesTest"
>>   Driver gives java.sql.SQLException: The ResultSet is closed

Not sure yet.

>> - "FullDatabaseFailureTest", "SingleConnectionFailureTest",
>> "ConnectionPoolFailureTest"

These now pass after implemented the ping string, but
UnitOfWorkResumeOnFailureTest fails with a lock error.

>> -"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."

Not sure yet. I see only 12 objects when I run the query in Symfoware's
console.

Regards,
Dies

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

Bug 293354 - Generating session names from connection properties and SE deployment changes

by Andrei Ilitchev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://bugs.eclipse.org/bugs/show_bug.cgi?id=293354

Checked in the fix into tunk.
Reviewed by Tom and Gordon.
Tested on WLS by Yiping and Kevin.
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@...
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev

Re: Bug 293354 - Generating session names fromconnection properties and SE deployment changes

by Andrei Ilitchev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Checked in a small correction to the original patch (see details in the
bug).
Reviewed by Gordon.

----- Original Message -----
From: "Andrei Ilitchev" <andrei.ilitchev@...>
To: "Dev mailing list for Eclipse Persistence Services"
<eclipselink-dev@...>
Sent: Monday, October 26, 2009 3:22 PM
Subject: [eclipselink-dev] Bug 293354 - Generating session names
fromconnection properties and SE deployment changes


> https://bugs.eclipse.org/bugs/show_bug.cgi?id=293354
>
> Checked in the fix into tunk.
> Reviewed by Tom and Gordon.
> Tested on WLS by Yiping and Kevin.
> _______________________________________________
> eclipselink-dev mailing list
> eclipselink-dev@...
> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>

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

Parent Message unknown Re: Bug 293354 - Generating session names fromconnection properties and SE deployment changes

by Andrei Ilitchev :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Checked in the second correction for standalone SE case
(globalInstrumentation != null):
Initialization never happened if postponed until main
(-javaagent:eclipselink.jar=main)
----- Original Message -----
From: "Andrei Ilitchev" <andrei.ilitchev@...>
To: "Dev mailing list for Eclipse Persistence Services"
<eclipselink-dev@...>
Sent: Tuesday, October 27, 2009 3:12 PM
Subject: Re: [eclipselink-dev] Bug 293354 - Generating session names
fromconnection properties and SE deployment changes


> Checked in a small correction to the original patch (see details in the
> bug).
> Reviewed by Gordon.
>
> ----- Original Message -----
> From: "Andrei Ilitchev" <andrei.ilitchev@...>
> To: "Dev mailing list for Eclipse Persistence Services"
> <eclipselink-dev@...>
> Sent: Monday, October 26, 2009 3:22 PM
> Subject: [eclipselink-dev] Bug 293354 - Generating session names
> fromconnection properties and SE deployment changes
>
>
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=293354
>>
>> Checked in the fix into tunk.
>> Reviewed by Tom and Gordon.
>> Tested on WLS by Yiping and Kevin.
>> _______________________________________________
>> eclipselink-dev mailing list
>> eclipselink-dev@...
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
>>
>

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