2.4.0 it is :-)
On 31 July 2012 11:28, Rainer Döbele <[email protected]> wrote: > 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); >> > > > + } >> > > > + } >> > > > } >> > > > >> > > > >> > > > >> > > > >> >
