Hi Francis,

good question.
Yes, I think it's a big thing and I would not mind calling it 2.4.0 - the 
changes would definitely justify this.

I leave it up to you, whatever you prefer.

Regards
Rainer



> from: Francis De Brabandere [mailto:[email protected]]
> to: [email protected]
> re: Re: Please review: svn commit: r1365599
> 
> One more thing, version 2.3.1 or 2.4.0? The new jsf module is a big update?
> 
> F
> 
> On 30 July 2012 16:26, Rainer Döbele <[email protected]> wrote:
> 
> > Yes, indeed we are!
> >
> > Rainer
> >
> > > from: [email protected] [mailto:[email protected]] Im Auftrag
> > > von Francis De Brabandere
> > > to: [email protected]
> > > Cc: [email protected]
> > > Betreff: Re: Please review: svn commit: r1365599
> > >
> > > Great,
> > >
> > > then we're ready for a release...
> > >
> > > Cheers,
> > > F
> > >
> > > On 30 July 2012 11:56, Rainer Döbele <[email protected]> wrote:
> > >
> > > > Hi Franics,
> > > >
> > > >
> > > >
> > > > sorry I missed that question.
> > > >
> > > >
> > > >
> > > > Oh, no I have absolutely no objections - it's straight forward and
> > > > appealing.
> > > >
> > > > One could only argue that for Columns other than AUTOINC type
> > > > columns, this method has no meaning.
> > > >
> > > > But I am absolutely happy with the solution.
> > > >
> > > >
> > > >
> > > > Thanks
> > > >
> > > > Rainer
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > from: [email protected] [mailto:[email protected]] Im Auftrag
> > > > von Francis De Brabandere
> > > > to: Rainer Döbele
> > > > re: Fwd: Please review: svn commit: r1365599
> > > >
> > > >
> > > >
> > > > Hi Rainer,
> > > >
> > > >
> > > >
> > > > A final comment on this one before I start the release?
> > > >
> > > >
> > > >
> > > > Cheers,
> > > >
> > > > F
> > > >
> > > > ---------- Forwarded message ----------
> > > > From: Francis De Brabandere <[email protected]>
> > > > Date: 25 July 2012 16:35
> > > > Subject: Please review: svn commit: r1365599
> > > > To: dev <[email protected]>
> > > >
> > > >
> > > > Hi Rainer,
> > > >
> > > > Do you have any objections against that getSequenceName() method
> > > > in DBTableColumn? Added it to avoid duplication between ddl and
> > > > sequence code (which was broken)
> > > >
> > > > More info on why here:
> > > > https://issues.apache.org/jira/browse/EMPIREDB-151
> > > >
> > > > commit added at the bottom of this mail
> > > >
> > > > Cheers,
> > > > Francis
> > > >
> > > >
> > > > ---------- Forwarded message ----------
> > > > From:  <[email protected]>
> > > > Date: 25 July 2012 16:24
> > > > Subject: svn commit: r1365599 - in /empire-db/trunk/empire-db/src:
> > > > main/java/org/apache/empire/db/
> > > main/java/org/apache/empire/db/oracle/
> > > > main/java/org/apache/empire/db/postgresql/
> > > > test/java/org/apache/empire/db/hsql/
> > > > To: [email protected]
> > > >
> > > >
> > > > Author: francisdb
> > > > Date: Wed Jul 25 14:24:23 2012
> > > > New Revision: 1365599
> > > >
> > > > URL: http://svn.apache.org/viewvc?rev=1365599&view=rev
> > > > Log:
> > > > EMPIREDB-151 DBDatabaseDriverHSQL fails on selection of NEXT VALUE
> > > >
> > > > Modified:
> > > >
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBDatabas
> > > > eDriver.java
> > > >
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBTableCo
> > > > lumn.java
> > > >
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/oracle/Or
> > > > acleDDLGenerator.java
> > > >
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/postgresq
> > > > l/PostgreDDLGenerator.java
> > > >
> > > > empire-db/trunk/empire-
> > > db/src/test/java/org/apache/empire/db/hsql/DBDa
> > > > tabaseDriverHSqlTest.java
> > > >
> > > > Modified:
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBDatabas
> > > > eDriver.java
> > > > URL:
> > > > http://svn.apache.org/viewvc/empire-db/trunk/empire-
> > > db/src/main/java/o
> > > >
> > >
> rg/apache/empire/db/DBDatabaseDriver.java?rev=1365599&r1=1365598&r2
> > > =13
> > > > 65599&view=diff
> > > >
> > > >
> > >
> ==========================================================
> > > ============
> > > > ========
> > > > ---
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBDatabas
> > > > eDriver.java
> > > > (original)
> > > > +++
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBDatabas
> > > > eDriver.java
> > > > Wed Jul 25 14:24:23 2012
> > > > @@ -374,9 +374,7 @@ public abstract class DBDatabaseDriver i
> > > >          {   // Use a numeric sequence
> > > >              if (isSupported(DBDriverFeature.SEQUENCES)==false)
> > > >                  return null; // Create Later
> > > > -            // Detect the Sequence Name
> > > > -            Object defValue= column.getDefaultValue();
> > > > -            String SeqName = (defValue != null) ? defValue.toString()
> > > > : this.toString();
> > > > +            String SeqName = column.getSequenceName();
> > > >              return db.getNextSequenceValue(SeqName, conn);
> > > >          }
> > > >          else if (type== DataType.UNIQUEID)
> > > >
> > > > Modified:
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBTableCo
> > > > lumn.java
> > > > URL:
> > > > http://svn.apache.org/viewvc/empire-db/trunk/empire-
> > > db/src/main/java/o
> > > >
> > >
> rg/apache/empire/db/DBTableColumn.java?rev=1365599&r1=1365598&r2=1
> > > 3655
> > > > 99&view=diff
> > > >
> > > >
> > >
> ==========================================================
> > > ============
> > > > ========
> > > > ---
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBTableCo
> > > > lumn.java
> > > > (original)
> > > > +++
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/DBTableCo
> > > > lumn.java
> > > > Wed Jul 25 14:24:23 2012
> > > > @@ -439,4 +439,31 @@ public class DBTableColumn extends DBCol
> > > >          // done
> > > >          return elem;
> > > >      }
> > > > +
> > > > +    /**
> > > > +     * Gets the sequence name for this table's sequence (if it
> > > > + has
> > one)
> > > > +     * This is derived form the default value or auto generated
> > > > + if no
> > > > default value is set
> > > > +     * @return the sequence name
> > > > +     */
> > > > +       public String getSequenceName()
> > > > +       {
> > > > +               String seqName;
> > > > +               Object defValue = getDefaultValue();
> > > > +               if(defValue != null)
> > > > +               {
> > > > +                       seqName = defValue.toString();
> > > > +               }
> > > > +               else
> > > > +               {
> > > > +                       if (rowset != null)
> > > > +                       {
> > > > +                               seqName = rowset.getName() + "." +
> > name;
> > > > +                       }
> > > > +                       else
> > > > +                       {
> > > > +                               seqName = name;
> > > > +                       }
> > > > +               }
> > > > +               return seqName;
> > > > +       }
> > > >  }
> > > > \ No newline at end of file
> > > >
> > > > Modified:
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/oracle/Or
> > > > acleDDLGenerator.java
> > > > URL:
> > > > http://svn.apache.org/viewvc/empire-db/trunk/empire-
> > > db/src/main/java/o
> > > >
> > >
> rg/apache/empire/db/oracle/OracleDDLGenerator.java?rev=1365599&r1=13
> > > 65
> > > > 598&r2=1365599&view=diff
> > > >
> > > >
> > >
> ==========================================================
> > > ============
> > > > ========
> > > > ---
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/oracle/Or
> > > > acleDDLGenerator.java
> > > > (original)
> > > > +++
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/oracle/Or
> > > > acleDDLGenerator.java
> > > > Wed Jul 25 14:24:23 2012
> > > > @@ -123,8 +123,7 @@ public class OracleDDLGenerator extends
> > > >       */
> > > >      protected void createSequence(DBDatabase db, DBTableColumn c,
> > > > DBSQLScript script)
> > > >      {
> > > > -        Object defValue = c.getDefaultValue();
> > > > -        String seqName = (defValue != null) ? defValue.toString() :
> > > > c.toString();
> > > > +        String seqName = c.getSequenceName();
> > > >          // createSQL
> > > >          StringBuilder sql = new StringBuilder();
> > > >          sql.append("-- creating sequence for column ");
> > > >
> > > > Modified:
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/postgresq
> > > > l/PostgreDDLGenerator.java
> > > > URL:
> > > > http://svn.apache.org/viewvc/empire-db/trunk/empire-
> > > db/src/main/java/o
> > > >
> > >
> rg/apache/empire/db/postgresql/PostgreDDLGenerator.java?rev=1365599&
> > > r1
> > > > =1365598&r2=1365599&view=diff
> > > >
> > > >
> > >
> ==========================================================
> > > ============
> > > > ========
> > > > ---
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/postgresq
> > > > l/PostgreDDLGenerator.java
> > > > (original)
> > > > +++
> > > > empire-db/trunk/empire-
> > > db/src/main/java/org/apache/empire/db/postgresq
> > > > l/PostgreDDLGenerator.java
> > > > Wed Jul 25 14:24:23 2012
> > > > @@ -108,8 +108,7 @@ public class PostgreDDLGenerator extends
> > > >       */
> > > >      protected void createSequence(DBDatabase db, DBTableColumn c,
> > > > DBSQLScript script)
> > > >      {
> > > > -        Object defValue = c.getDefaultValue();
> > > > -        String seqName = (defValue != null) ? defValue.toString() :
> > > > c.toString();
> > > > +       String seqName = c.getSequenceName();
> > > >          // createSQL
> > > >          StringBuilder sql = new StringBuilder();
> > > >          sql.append("-- creating sequence for column ");
> > > >
> > > > Modified:
> > > > empire-db/trunk/empire-
> > > db/src/test/java/org/apache/empire/db/hsql/DBDa
> > > > tabaseDriverHSqlTest.java
> > > > URL:
> > > > http://svn.apache.org/viewvc/empire-db/trunk/empire-
> > > db/src/test/java/o
> > > >
> > >
> rg/apache/empire/db/hsql/DBDatabaseDriverHSqlTest.java?rev=1365599&r
> > > 1
> > > =
> > > > 1365598&r2=1365599&view=diff
> > > >
> > > >
> > >
> ==========================================================
> > > ============
> > > > ========
> > > > ---
> > > > empire-db/trunk/empire-
> > > db/src/test/java/org/apache/empire/db/hsql/DBDa
> > > > tabaseDriverHSqlTest.java
> > > > (original)
> > > > +++
> > > > empire-db/trunk/empire-
> > > db/src/test/java/org/apache/empire/db/hsql/DBDa
> > > > tabaseDriverHSqlTest.java
> > > > Wed Jul 25 14:24:23 2012
> > > > @@ -27,11 +27,16 @@ import java.util.Date;
> > > >
> > > >  import org.apache.empire.DBResource;  import
> > > > org.apache.empire.DBResource.DB;
> > > > +import org.apache.empire.data.DataMode; import
> > > > +org.apache.empire.data.DataType;
> > > >  import org.apache.empire.db.CompanyDB;  import
> > > > org.apache.empire.db.DBCmdType;
> > > > +import org.apache.empire.db.DBDatabase;
> > > >  import org.apache.empire.db.DBDatabaseDriver;
> > > >  import org.apache.empire.db.DBRecord;  import
> > > > org.apache.empire.db.DBSQLScript;
> > > > +import org.apache.empire.db.DBTable; import
> > > > +org.apache.empire.db.DBTableColumn;
> > > >  import org.junit.Rule;
> > > >  import org.junit.Test;
> > > >
> > > > @@ -90,9 +95,70 @@ public class DBDatabaseDriverHSqlTest{
> > > >
> > > >          assertEquals("123456",
> > > > emp.getString(db.EMPLOYEE.PHONE_NUMBER));
> > > >
> > > > +
> > > >          script = new DBSQLScript();
> > > >          db.getDriver().getDDLScript(DBCmdType.DROP, db.EMPLOYEE,
> > script);
> > > >          db.getDriver().getDDLScript(DBCmdType.DROP,
> > > > db.DEPARTMENT, script);
> > > >          script.run(db.getDriver(), conn, true);
> > > >      }
> > > > +
> > > > +
> > > > +    /**
> > > > +     * See https://issues.apache.org/jira/browse/EMPIREDB-151
> > > > +     */
> > > > +    @Test
> > > > +    public void testSequence(){
> > > > +       Connection conn = dbResource.getConnection();
> > > > +
> > > > +        DBDatabaseDriver driver = dbResource.newDriver();
> > > > +        SeqDB db = new SeqDB();
> > > > +        db.open(driver, dbResource.getConnection());
> > > > +        DBSQLScript script = new DBSQLScript();
> > > > +        db.getCreateDDLScript(db.getDriver(), script);
> > > > +        script.run(db.getDriver(), dbResource.getConnection(),
> > > > + false);
> > > > +
> > > > +        DBRecord data = new DBRecord();
> > > > +        data.create(db.DATA);
> > > > +        data.setValue(db.DATA.VALUE, "test");
> > > > +        data.update(conn);
> > > > +
> > > > +        final Object id = data.getLong(db.DATA.ID);
> > > > +
> > > > +        DBRecord read = new DBRecord();
> > > > +        read.read(db.DATA, id, conn);
> > > > +
> > > > +        assertEquals("test", read.getString(db.DATA.VALUE));
> > > > +
> > > > +        script = new DBSQLScript();
> > > > +        db.getDriver().getDDLScript(DBCmdType.DROP, db.DATA, script);
> > > > +        script.run(db.getDriver(), conn, true);
> > > > +    }
> > > > +
> > > > +    /**
> > > > +     * This is the basic database for testing
> > > > +     *
> > > > +     */
> > > > +    private class SeqDB extends DBDatabase
> > > > +    {
> > > > +        private final static long serialVersionUID = 1L;
> > > > +        public final Data DATA = new Data(this);
> > > > +    }
> > > > +
> > > > +    /**
> > > > +     * For testing SEQUENCE auto generation stuff
> > > > +     */
> > > > +    public static class Data extends DBTable
> > > > +    {
> > > > +        private final static long serialVersionUID = 1L;
> > > > +        public final DBTableColumn ID;
> > > > +        public final DBTableColumn VALUE;
> > > > +
> > > > +        public Data(DBDatabase db)
> > > > +        {
> > > > +            super("DATA", db);
> > > > +            ID    = addColumn("DATA_ID",
> > > > DataType.AUTOINC,       0, DataMode.AutoGenerated);
> > > > +            VALUE = addColumn("VALUE",          DataType.TEXT,
> > > >   256, DataMode.NotNull);
> > > > +            setPrimaryKey(ID);
> > > > +        }
> > > > +    }
> > > >  }
> > > >
> > > >
> > > >
> > > >
> >

Reply via email to