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&r1
> =
> > 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