Vadim Gritsenko | 2 May 2005 16:38

SPs and OJB-22, Re: OJB 1.0 to 1.1 Migration Experience

Jakob Braeuchi wrote:
> hi vadim,

Hi Jacob,

> thanks for the feedback. i think we should add this to a 'migration howto'.

Yes, feel free to add it wherever :)

> btw. i commited a patch optimize the select when querying for proxies. 
> it selects the pks only. the patch does not yet support stored 
> procedures, actually i do not know if it should ?

There are situations when an application has no "direct" access to the database 
(no SELECT / UPDATE / INSERT / DELETE statements allowed), and it can use only 
stored procedures for data access. In order to be able to use OJB in such 
situations, OJB should always use stored procedure calls. For example, 
currently, if stored procedure for retrieval by fk is set, batch retrieval is 
turned off (because it uses SELECT ... WHERE ID IN (1, 2, ...) statement which 
is not trivial to do with stored procedures). So at the cost of some slowdown, 
it's possible to use OJB when "direct" database access is not allowed.

> could you please have a look at 
> SqlGeneratorDefaultImpl#getPreparedSelectPkStatement

I can suggest two ways of making it work with stored procedures:

   * Use selectByPkStatement if stored procedure is configured,
     similar to getPreparedSelectStatement:

(Continue reading)

arminw | 3 May 2005 19:09
Picon
Favicon

cvs commit: db-ojb/src/java/org/apache/ojb/odmg DatabaseImpl.java ImplementationImpl.java NamedRootsMap.java ObjectEnvelope.java ObjectEnvelopeOrdering.java ObjectEnvelopeTable.java RuntimeObject.java TransactionAbortedExceptionOJB.java TransactionImpl.java

arminw      2005/05/03 10:09:05

  Modified:    src/java/org/apache/ojb/odmg/collections Tag:
                        OJB_1_0_RELEASE DListEntry.java DListImpl.java
                        DListIterator.java DMapImpl.java DSetImpl.java
               src/java/org/apache/ojb/odmg/oql Tag: OJB_1_0_RELEASE
                        OQLQueryImpl.java
               src/java/org/apache/ojb/odmg Tag: OJB_1_0_RELEASE
                        DatabaseImpl.java ImplementationImpl.java
                        NamedRootsMap.java ObjectEnvelope.java
                        ObjectEnvelopeOrdering.java
                        ObjectEnvelopeTable.java RuntimeObject.java
                        TransactionAbortedExceptionOJB.java
                        TransactionImpl.java
  Log:
  use RuntimeObject for all internal calls

  fix bug, objects were not linked

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.25.2.2  +2 -3      db-ojb/src/java/org/apache/ojb/odmg/collections/DListEntry.java

  Index: DListEntry.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/collections/DListEntry.java,v
  retrieving revision 1.25.2.1
  retrieving revision 1.25.2.2
  diff -u -r1.25.2.1 -r1.25.2.2
(Continue reading)

brj | 6 May 2005 20:30
Picon
Favicon

cvs commit: db-ojb/src/test/org/apache/ojb/broker M2NTest.java

brj         2005/05/06 11:30:18

  Modified:    src/schema Tag: OJB_1_0_RELEASE ojbtest-schema.xml
               src/test/org/apache/ojb Tag: OJB_1_0_RELEASE
                        repository_junit_reference.xml
               src/test/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
                        M2NTest.java
  Log:
  extended testcase with a second m:n relationship from Movie to Actor

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.80.2.20 +18 -1     db-ojb/src/schema/ojbtest-schema.xml

  Index: ojbtest-schema.xml
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/schema/ojbtest-schema.xml,v
  retrieving revision 1.80.2.19
  retrieving revision 1.80.2.20
  diff -u -r1.80.2.19 -r1.80.2.20
  --- ojbtest-schema.xml	26 Apr 2005 01:51:00 -0000	1.80.2.19
  +++ ojbtest-schema.xml	6 May 2005 18:30:17 -0000	1.80.2.20
   <at>  <at>  -934,6 +934,23  <at>  <at> 
           </foreign-key>
       </table>

  +    <table name="M2N_TEST_ROLE_2">
  +        <column name="ACTOR_ID" required="true" primaryKey="true" type="INTEGER"/>
  +        <column name="ACTOR_ID2" required="true" primaryKey="true" type="INTEGER"/>
(Continue reading)

armin waibel (JIRA | 7 May 2005 12:25
Picon
Favicon

[jira] Created: (OJB-38) Needless update of existing object when add to m:n relation

Needless update of existing object when add to m:n relation
-----------------------------------------------------------

         Key: OJB-38
         URL: http://issues.apache.org/jira/browse/OJB-38
     Project: OJB
        Type: Bug
  Components: ODMG-API  
    Versions: 1.0.3    
    Reporter: armin waibel
 Assigned to: armin waibel 
    Priority: Minor

Needless update of existing object when add to m:n relation. When an already persisted object is add to a m:n
relation a needless update of the added object is done.

--

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira
arminw | 7 May 2005 16:01
Picon
Favicon

cvs commit: db-ojb/src/test/org/apache/ojb OJB-logging.properties

arminw      2005/05/07 07:01:41

  Modified:    src/test/org/apache/ojb Tag: OJB_1_0_RELEASE
                        OJB-logging.properties
  Log:
  add more logging classes

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.5   +7 -1      db-ojb/src/test/org/apache/ojb/OJB-logging.properties

  Index: OJB-logging.properties
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/OJB-logging.properties,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- OJB-logging.properties	22 Apr 2005 16:42:22 -0000	1.1.2.4
  +++ OJB-logging.properties	7 May 2005 14:01:41 -0000	1.1.2.5
   <at>  <at>  -85,7 +85,13  <at>  <at> 
   org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl.LogLevel=WARN
   # Logger for Oracle9i platform, useful for tracing failing Oracle-extensions or large LOB-support
   org.apache.ojb.broker.platforms.PlatformOracle9iImpl.LogLevel=WARN
  +# Metadata for super-inheritance
   org.apache.ojb.broker.metadata.SuperReferenceDescriptor$SuperReferenceField.LogLevel=WARN
  +# OJB locking implementations
  +org.apache.ojb.broker.locking.LockManagerInMemoryImpl.LogLevel=WARN
  +org.apache.ojb.broker.locking.LockManagerCommonsImpl.LogLevel=WARN
  +org.apache.ojb.broker.locking.LockManagerRemoteImpl.LogLevel=WARN
(Continue reading)

arminw | 7 May 2005 18:02
Picon
Favicon

cvs commit: db-ojb/src/test/org/apache/ojb repository_junit.xml repository_junit_inheritance.xml repository_junit_odmg.xml

arminw      2005/05/07 09:02:57

  Modified:    src/schema Tag: OJB_1_0_RELEASE ojbtest-schema.xml
               src/test/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
                        InheritanceMultipleTableTest.java
               src/test/org/apache/ojb/junit Tag: OJB_1_0_RELEASE
                        ODMGTestCase.java PBTestCase.java
               src/test/org/apache/ojb/odmg Tag: OJB_1_0_RELEASE
                        M2NTest.java ObjectImageTest.java
               src/test/org/apache/ojb Tag: OJB_1_0_RELEASE
                        repository_junit.xml
                        repository_junit_inheritance.xml
                        repository_junit_odmg.xml
  Log:
  add new tests

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.80.2.21 +19 -1     db-ojb/src/schema/ojbtest-schema.xml

  Index: ojbtest-schema.xml
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/schema/ojbtest-schema.xml,v
  retrieving revision 1.80.2.20
  retrieving revision 1.80.2.21
  diff -u -r1.80.2.20 -r1.80.2.21
  --- ojbtest-schema.xml	6 May 2005 18:30:17 -0000	1.80.2.20
  +++ ojbtest-schema.xml	7 May 2005 16:02:57 -0000	1.80.2.21
   <at>  <at>  -950,7 +950,25  <at>  <at> 
(Continue reading)

arminw | 7 May 2005 18:20
Picon
Favicon

cvs commit: db-ojb/src/java/org/apache/ojb/odmg ObjectEnvelope.java

arminw      2005/05/07 09:20:59

  Modified:    src/java/org/apache/ojb/odmg Tag: OJB_1_0_RELEASE
                        ObjectEnvelope.java
  Log:
  fix OJB-38

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.32.2.13 +8 -1      db-ojb/src/java/org/apache/ojb/odmg/ObjectEnvelope.java

  Index: ObjectEnvelope.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/ObjectEnvelope.java,v
  retrieving revision 1.32.2.12
  retrieving revision 1.32.2.13
  diff -u -r1.32.2.12 -r1.32.2.13
  --- ObjectEnvelope.java	3 May 2005 17:09:04 -0000	1.32.2.12
  +++ ObjectEnvelope.java	7 May 2005 16:20:59 -0000	1.32.2.13
   <at>  <at>  -704,7 +704,14  <at>  <at> 
                   }
                   else
                   {
  -                    mod.setModificationState(mod.getModificationState().markDirty());
  +                    /*
  +                    arminw: if the reference is a m:n relation and the object state is
  +                    old clean, no need to update the reference.
  +                    */
  +                    if(!(cds.isMtoNRelation() && mod.getModificationState().equals(StateOldClean.getInstance())))
(Continue reading)

arminw | 7 May 2005 18:22
Picon
Favicon

cvs commit: db-ojb/src/java/org/apache/ojb/broker/util/sequence SequenceManagerHelper.java

arminw      2005/05/07 09:22:41

  Modified:    src/java/org/apache/ojb/broker/util/sequence Tag:
                        OJB_1_0_RELEASE SequenceManagerHelper.java
  Log:
  use convenience method

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.17.2.2  +3 -4      db-ojb/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerHelper.java

  Index: SequenceManagerHelper.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/sequence/SequenceManagerHelper.java,v
  retrieving revision 1.17.2.1
  retrieving revision 1.17.2.2
  diff -u -r1.17.2.1 -r1.17.2.2
  --- SequenceManagerHelper.java	27 Jul 2004 00:33:11 -0000	1.17.2.1
  +++ SequenceManagerHelper.java	7 May 2005 16:22:41 -0000	1.17.2.2
   <at>  <at>  -171,10 +171,9  <at>  <at> 
       private static ClassDescriptor findInheritanceRoot(PersistenceBroker broker, ClassDescriptor cld)
       {
           ClassDescriptor result = cld;
  -        if(cld.getBaseClass() != null)
  +        if(cld.getSuperClassDescriptor() != null)
           {
  -            ClassDescriptor baseCld = broker.getDescriptorRepository().getDescriptorFor(cld.getBaseClass());
  -            result = findInheritanceRoot(broker, baseCld);
  +            result = findInheritanceRoot(broker, cld.getSuperClassDescriptor());
(Continue reading)

arminw | 7 May 2005 18:43
Picon
Favicon

cvs commit: db-ojb/src/java/org/apache/ojb/broker/metadata ClassDescriptor.java RepositoryXmlHandler.java SuperReferenceDescriptor.java

arminw      2005/05/07 09:43:06

  Modified:    src/java/org/apache/ojb/broker/accesslayer/sql Tag:
                        OJB_1_0_RELEASE SqlSelectStatement.java
               src/java/org/apache/ojb/broker/accesslayer Tag:
                        OJB_1_0_RELEASE RowReaderDefaultImpl.java
                        StatementsForClassImpl.java
               src/java/org/apache/ojb/broker/core Tag: OJB_1_0_RELEASE
                        PersistenceBrokerImpl.java
               src/java/org/apache/ojb/broker/metadata Tag: OJB_1_0_RELEASE
                        ClassDescriptor.java RepositoryXmlHandler.java
                        SuperReferenceDescriptor.java
  Log:
  - add TODO comment for inchoate "extends" attribute in class-descriptor, this stuff is not working for a
long time (years). Think we should discard the source code in classes.

  - update "super"-reference inheritance

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.22.2.3  +10 -3     db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlSelectStatement.java

  Index: SqlSelectStatement.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlSelectStatement.java,v
  retrieving revision 1.22.2.2
  retrieving revision 1.22.2.3
  diff -u -r1.22.2.2 -r1.22.2.3
  --- SqlSelectStatement.java	22 Jan 2005 20:51:14 -0000	1.22.2.2
(Continue reading)

arminw | 7 May 2005 18:51
Picon
Favicon

cvs commit: db-ojb/src/java/org/apache/ojb/broker PersistenceBrokerInternal.java

arminw      2005/05/07 09:51:09

  Modified:    src/java/org/apache/ojb/broker/core Tag: OJB_1_0_RELEASE
                        DelegatingPersistenceBroker.java
                        PersistenceBrokerAbstractImpl.java
                        PersistenceBrokerFactoryBaseImpl.java
                        PersistenceBrokerFactoryDefaultImpl.java
                        PersistenceBrokerFactoryIF.java
                        PersistenceBrokerFactorySyncImpl.java
                        PersistenceBrokerHandle.java
                        PersistenceBrokerThreadMapping.java
                        PoolablePersistenceBroker.java
               src/java/org/apache/ojb/broker Tag: OJB_1_0_RELEASE
                        PersistenceBrokerInternal.java
  Log:
  Introduce PersistenceBrokerInternal extension (backport from OJB 1.x) to allow usage of new flag in
managed environments

  Revision  Changes    Path
  No                   revision
  No                   revision
  1.11.2.3  +18 -7     db-ojb/src/java/org/apache/ojb/broker/core/DelegatingPersistenceBroker.java

  Index: DelegatingPersistenceBroker.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/DelegatingPersistenceBroker.java,v
  retrieving revision 1.11.2.2
  retrieving revision 1.11.2.3
  diff -u -r1.11.2.2 -r1.11.2.3
  --- DelegatingPersistenceBroker.java	26 Apr 2005 03:41:36 -0000	1.11.2.2
(Continue reading)


Gmane