You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by be...@apache.org on 2011/09/04 12:29:31 UTC
svn commit: r1164987 - in /incubator/empire-db/trunk/empire-db-codegen/src:
main/java/org/apache/empire/db/codegen/CodeGenParser.java
test/java/org/apache/empire/db/codegen/CodeGenParserTest.java
test/resources/hsqldb/sample.script
Author: benniven
Date: Sun Sep 4 10:29:31 2011
New Revision: 1164987
URL: http://svn.apache.org/viewvc?rev=1164987&view=rev
Log:
This commit is for EMPIREDB-114:
- integrated and tested the patch for the testcase supplied by "Matt DeHoust"
- added fix for EMPIREDB-114 solution as follows:
the subroutine "gatherRelations" was called for each tablePattern, although it should have been called just once!
Modified:
incubator/empire-db/trunk/empire-db-codegen/src/main/java/org/apache/empire/db/codegen/CodeGenParser.java
incubator/empire-db/trunk/empire-db-codegen/src/test/java/org/apache/empire/db/codegen/CodeGenParserTest.java
incubator/empire-db/trunk/empire-db-codegen/src/test/resources/hsqldb/sample.script
Modified: incubator/empire-db/trunk/empire-db-codegen/src/main/java/org/apache/empire/db/codegen/CodeGenParser.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db-codegen/src/main/java/org/apache/empire/db/codegen/CodeGenParser.java?rev=1164987&r1=1164986&r2=1164987&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db-codegen/src/main/java/org/apache/empire/db/codegen/CodeGenParser.java (original)
+++ incubator/empire-db/trunk/empire-db-codegen/src/main/java/org/apache/empire/db/codegen/CodeGenParser.java Sun Sep 4 10:29:31 2011
@@ -168,10 +168,9 @@ public class CodeGenParser {
tableCount++;
}
}
-
- // Add all relations
- gatherRelations(db, dbMeta, populatedTables);
}
+ // Add all relations
+ gatherRelations(db, dbMeta, populatedTables);
if (tableCount==0 && viewCount==0) {
// getTables returned no result
Modified: incubator/empire-db/trunk/empire-db-codegen/src/test/java/org/apache/empire/db/codegen/CodeGenParserTest.java
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db-codegen/src/test/java/org/apache/empire/db/codegen/CodeGenParserTest.java?rev=1164987&r1=1164986&r2=1164987&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db-codegen/src/test/java/org/apache/empire/db/codegen/CodeGenParserTest.java (original)
+++ incubator/empire-db/trunk/empire-db-codegen/src/test/java/org/apache/empire/db/codegen/CodeGenParserTest.java Sun Sep 4 10:29:31 2011
@@ -42,9 +42,9 @@ public class CodeGenParserTest {
public void setUp() throws Exception {
final CodeGenConfig config = new CodeGenConfig();
config.init("src/test/resources/testconfig.xml");
- config.setDbSchema(null);
+ config.setDbSchema("PUBLIC");
+ config.setDbTablePattern("DEPARTMENTS,EMPLOYEES,ORGANIZATIONS");
parser = new CodeGenParser(config);
- parser.loadDbModel();
}
@Test
@@ -58,9 +58,9 @@ public class CodeGenParserTest {
assertNotNull("Expected EMPLOYEES table.", employees);
final List<DBRelation> relations = db.getRelations();
- assertEquals("Should have EMPLOYEES->DEPARTMENTS relation.", 1, relations.size());
+ assertEquals("Should have two relations.", 2, relations.size());
- final DBRelation dbRelation = relations.get(0);
+ final DBRelation dbRelation = relations.get(1);
assertEquals("EMPLOYEES_DEPARTMENT_I_FK", dbRelation.getName());
final DBReference[] references = dbRelation.getReferences();
Modified: incubator/empire-db/trunk/empire-db-codegen/src/test/resources/hsqldb/sample.script
URL: http://svn.apache.org/viewvc/incubator/empire-db/trunk/empire-db-codegen/src/test/resources/hsqldb/sample.script?rev=1164987&r1=1164986&r2=1164987&view=diff
==============================================================================
--- incubator/empire-db/trunk/empire-db-codegen/src/test/resources/hsqldb/sample.script (original)
+++ incubator/empire-db/trunk/empire-db-codegen/src/test/resources/hsqldb/sample.script Sun Sep 4 10:29:31 2011
@@ -18,7 +18,8 @@
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE SEQUENCE DEP_ID_SEQUENCE AS INTEGER START WITH 3
CREATE SEQUENCE EMPLOYEE_ID_SEQUENCE AS INTEGER START WITH 4
-CREATE MEMORY TABLE DEPARTMENTS(DEPARTMENT_ID BIGINT NOT NULL,NAME VARCHAR(80) NOT NULL,HEAD VARCHAR(80),BUSINESS_UNIT VARCHAR(4) NOT NULL,UPDATE_TIMESTAMP TIMESTAMP NOT NULL,CONSTRAINT DEPARTMENTS_PK PRIMARY KEY(DEPARTMENT_ID))
+CREATE MEMORY TABLE ORGANIZATIONS(ORGANIZATION_ID BIGINT NOT NULL,NAME VARCHAR(80) NOT NULL,CONSTRAINT ORGANIZATIONS_PK PRIMARY KEY(ORGANIZATION_ID))
+CREATE MEMORY TABLE DEPARTMENTS(DEPARTMENT_ID BIGINT NOT NULL,ORGANIZATION_ID BIGINT NOT NULL,NAME VARCHAR(80) NOT NULL,HEAD VARCHAR(80),BUSINESS_UNIT VARCHAR(4) NOT NULL,UPDATE_TIMESTAMP TIMESTAMP NOT NULL,CONSTRAINT DEPARTMENTS_PK PRIMARY KEY(DEPARTMENT_ID),CONSTRAINT DEPARTMENTS_ORGANIZATION_I_FK FOREIGN KEY(ORGANIZATION_ID) REFERENCES ORGANIZATIONS(ORGANIZATION_ID))
CREATE UNIQUE INDEX DEARTMENT_NAME_IDX ON DEPARTMENTS(NAME)
CREATE MEMORY TABLE EMPLOYEES(EMPLOYEE_ID BIGINT NOT NULL,SALUTATION VARCHAR(20),FIRSTNAME VARCHAR(40) NOT NULL,LASTNAME VARCHAR(40) NOT NULL,DATE_OF_BIRTH DATE,DEPARTMENT_ID BIGINT NOT NULL,GENDER VARCHAR(1),PHONE_NUMBER VARCHAR(40),EMAIL VARCHAR(80),SALARY DECIMAL(10,2),RETIRED BOOLEAN NOT NULL,UPDATE_TIMESTAMP TIMESTAMP NOT NULL,CONSTRAINT EMPLOYEES_PK PRIMARY KEY(EMPLOYEE_ID),CONSTRAINT EMPLOYEES_DEPARTMENT_I_FK FOREIGN KEY(DEPARTMENT_ID) REFERENCES DEPARTMENTS(DEPARTMENT_ID))
CREATE UNIQUE INDEX EMPLOYEE_NAME_IDX ON EMPLOYEES(FIRSTNAME,LASTNAME,DATE_OF_BIRTH)
@@ -26,8 +27,9 @@ CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 10
SET SCHEMA PUBLIC
-INSERT INTO DEPARTMENTS VALUES(1,'Development',NULL,'ITTK','2010-02-01 22:27:44.200000000')
-INSERT INTO DEPARTMENTS VALUES(2,'Sales',NULL,'ITTK','2010-02-01 22:27:44.212000000')
+INSERT INTO ORGANIZATIONS VALUES(1,'Top')
+INSERT INTO DEPARTMENTS VALUES(1,1,'Development',NULL,'ITTK','2010-02-01 22:27:44.200000000')
+INSERT INTO DEPARTMENTS VALUES(2,1,'Sales',NULL,'ITTK','2010-02-01 22:27:44.212000000')
INSERT INTO EMPLOYEES VALUES(1,NULL,'Peter','Sharp',NULL,1,'M','+49-7531-457160',NULL,NULL,FALSE,'2010-02-01 22:27:44.226000000')
INSERT INTO EMPLOYEES VALUES(2,NULL,'Fred','Bloggs',NULL,1,'M','+49-5555-505050',NULL,NULL,FALSE,'2010-02-01 22:27:44.240000000')
INSERT INTO EMPLOYEES VALUES(3,NULL,'Emma','White',NULL,2,'F','+49-040-125486',NULL,NULL,FALSE,'2010-02-01 22:27:44.243000000')