This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch version3
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/version3 by this push:
new 5fa85fc EMPIREDB-362 even more beautification
5fa85fc is described below
commit 5fa85fc94265f1904dfd9e430ee8ba521f564988
Author: Rainer Döbele <[email protected]>
AuthorDate: Tue Feb 15 23:29:42 2022 +0100
EMPIREDB-362 even more beautification
---
.../empire/samples/db/advanced/SampleAdvDB.java | 4 ++--
.../apache/empire/samples/db/beans/Department.java | 2 +-
.../apache/empire/samples/db/beans/Employee.java | 2 +-
.../jsf2/websample/db/records/EmployeeRecord.java | 2 +-
.../jsf2/websample/web/SampleApplication.java | 2 +-
.../jsf2/websample/web/pages/SamplePage.java | 2 +-
.../apache/empire/rest/app/SampleServiceApp.java | 16 ++++++-------
.../empire/rest/service/EmployeeService.java | 13 ++++++-----
.../vue/sample/db/records/EmployeeRecord.java | 2 +-
.../empire/vue/sample/db/records/SampleRecord.java | 2 +-
.../main/java/org/apache/empire/db/DBDatabase.java | 2 +-
.../main/java/org/apache/empire/db/DBQuery.java | 4 ++--
.../main/java/org/apache/empire/db/DBRowSet.java | 26 ++++++++++++++++------
.../main/java/org/apache/empire/db/DBTable.java | 14 ++++++------
.../main/java/org/apache/empire/db/DBUtils.java | 8 +++----
.../src/main/java/org/apache/empire/db/DBView.java | 9 ++++++++
.../empire/dbms/oracle/DBMSHandlerOracle.java | 2 +-
.../org/apache/empire/db/AliasExpressionTest.java | 2 +-
.../java/org/apache/empire/db/DBCommandTest.java | 18 +++++++--------
.../apache/empire/db/PreparedStatementTest.java | 2 +-
.../dbms/mssql/DBMSHandlerMSSqlDateTest.java | 4 ++--
.../empire/dbms/mssql/DBMSHandlerMSSqlTest.java | 4 ++--
.../empire/dbms/mysql/DBMSHandlerMySQLTest.java | 6 ++---
.../dbms/postgresql/DBMSHandlerPostgreSQLTest.java | 4 ++--
24 files changed, 86 insertions(+), 66 deletions(-)
diff --git
a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvDB.java
b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvDB.java
index af5eeca..4b576f0 100644
---
a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvDB.java
+++
b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvDB.java
@@ -204,7 +204,7 @@ public class SampleAdvDB extends TDatabase<SampleAdvDB>
SampleAdvDB.EmployeeDepartmentHistory EDH = DB.T_EMP_DEP_HIST;
// Define the sub query
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = newCommand();
cmd.select (EDH.C_EMPLOYEE_ID, EDH.C_DATE_FROM.max());
cmd.groupBy(EDH.C_EMPLOYEE_ID);
return cmd;
@@ -252,7 +252,7 @@ public class SampleAdvDB extends TDatabase<SampleAdvDB>
SampleAdvDB.Departments DEP = DB.T_DEPARTMENTS;
// Define the query
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = newCommand();
// Select required columns
cmd.select(EMP.C_EMPLOYEE_ID);
cmd.select(DEP.C_DEPARTMENT_ID);
diff --git
a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
index 6713b03..d106699 100644
---
a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
+++
b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Department.java
@@ -66,7 +66,7 @@ public class Department implements DataBean<SampleDB>
@Override
public void initialize(SampleDB db, DBContext context, int rownum, Object
parent)
{
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.where(db.EMPLOYEES.DEPARTMENT_ID.is(this.id));
cmd.orderBy(db.EMPLOYEES.FIRST_NAME, db.EMPLOYEES.LAST_NAME);
employees = context.getUtils().queryBeanList(cmd, Employee.class,
db.EMPLOYEES, this);
diff --git
a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
index a26d790..ef76a8e 100644
---
a/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
+++
b/empire-db-examples/empire-db-example-basic/src/main/java/org/apache/empire/samples/db/beans/Employee.java
@@ -282,7 +282,7 @@ public class Employee implements DataBean<SampleDB>
// Don't to that: (because of recursion)
// else department = context.getUtils().queryBean(Department.class,
DBRecord.key(this.departmentId));
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.where(db.PAYMENTS.EMPLOYEE_ID.is(this.id));
cmd.orderBy(db.PAYMENTS.YEAR.desc());
cmd.orderBy(db.PAYMENTS.MONTH.desc());
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/records/EmployeeRecord.java
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/records/EmployeeRecord.java
index e7839a6..0b03e32 100644
---
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/records/EmployeeRecord.java
+++
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/db/records/EmployeeRecord.java
@@ -55,7 +55,7 @@ public class EmployeeRecord extends SampleRecord<TEmployees>
if (column.equals(T.DEPARTMENT_ID))
{
SampleDB db = (SampleDB) getDatabase();
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.T_DEPARTMENTS.ID);
cmd.select(db.T_DEPARTMENTS.NAME);
cmd.orderBy(db.T_DEPARTMENTS.NAME);
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
index 73c4138..b701a8c 100644
---
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
+++
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/SampleApplication.java
@@ -192,7 +192,7 @@ public class SampleApplication extends WebApplication {
private boolean databaseExists(DBContext context) {
// Check wether DB exists
- DBCommand cmd = sampleDB.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(sampleDB.T_DEPARTMENTS.count());
try {
return (context.getUtils().querySingleInt(cmd, -1) >=
0);
diff --git
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/pages/SamplePage.java
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/pages/SamplePage.java
index dc53bf8..554fdfb 100644
---
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/pages/SamplePage.java
+++
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/websample/web/pages/SamplePage.java
@@ -74,6 +74,6 @@ public class SamplePage extends Page
protected DBCommand createQueryCommand()
{
- return getDatabase().createCommand();
+ return getSampleContext().createCommand();
}
}
diff --git
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
index 3104d82..e77ac51 100644
---
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
+++
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/app/SampleServiceApp.java
@@ -193,7 +193,7 @@ public class SampleServiceApp
private static boolean databaseExists(SampleDB db, DBContext context) {
// Check wether DB exists
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.T_DEPARTMENTS.count());
try {
return (context.getUtils().querySingleInt(cmd, -1) >= 0);
@@ -231,8 +231,8 @@ public class SampleServiceApp
// Insert a Department
DBRecord rec = new DBRecord(context, db.T_DEPARTMENTS);
rec.create();
- rec.setValue(db.T_DEPARTMENTS.NAME, department_name);
- rec.setValue(db.T_DEPARTMENTS.BUSINESS_UNIT, businessUnit);
+ rec.set(db.T_DEPARTMENTS.NAME, department_name);
+ rec.set(db.T_DEPARTMENTS.BUSINESS_UNIT, businessUnit);
try {
rec.update();
} catch (Exception e) {
@@ -250,11 +250,11 @@ public class SampleServiceApp
// Insert an Employee
DBRecord rec = new DBRecord(context, db.T_EMPLOYEES);
rec.create();
- rec.setValue(db.T_EMPLOYEES.SALUTATION, salutation);
- rec.setValue(db.T_EMPLOYEES.FIRST_NAME, firstName);
- rec.setValue(db.T_EMPLOYEES.LAST_NAME, lastName);
- rec.setValue(db.T_EMPLOYEES.GENDER, gender);
- rec.setValue(db.T_EMPLOYEES.DEPARTMENT_ID, depID);
+ rec.set(db.T_EMPLOYEES.SALUTATION, salutation);
+ rec.set(db.T_EMPLOYEES.FIRST_NAME, firstName);
+ rec.set(db.T_EMPLOYEES.LAST_NAME, lastName);
+ rec.set(db.T_EMPLOYEES.GENDER, gender);
+ rec.set(db.T_EMPLOYEES.DEPARTMENT_ID, depID);
try {
rec.update();
} catch (Exception e) {
diff --git
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
index b1accdb..cdb6505 100644
---
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
+++
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/rest/service/EmployeeService.java
@@ -61,17 +61,17 @@ public class EmployeeService extends Service {
@Produces(MediaType.APPLICATION_JSON)
public Response getEmployeeFilter() {
- RecordContext ctx = this.getRecordContext();
- TextResolver textResolver = ctx.getTextResolver();
+ RecordContext context = this.getRecordContext();
+ TextResolver textResolver = context.getTextResolver();
// Query Department options
SampleDB db = getDatabase();
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.T_DEPARTMENTS.ID, db.T_DEPARTMENTS.NAME);
cmd.join (db.T_DEPARTMENTS.ID, db.T_EMPLOYEES.DEPARTMENT_ID);
cmd.groupBy(cmd.getSelectExpressions());
cmd.orderBy(db.T_DEPARTMENTS.NAME);
- Options departmentOptions = ctx.getUtils().queryOptionList(cmd);
+ Options departmentOptions = context.getUtils().queryOptionList(cmd);
// Create Metadata
TEmployees TE = db.T_EMPLOYEES;
@@ -103,7 +103,8 @@ public class EmployeeService extends Service {
log.info("Providing employee list...");
- DBCommand cmd = db.createCommand();
+ RecordContext context = getRecordContext();
+ DBCommand cmd = context.createCommand();
cmd.select(TE.ID, FULL_NAME, DEPARTMENT, TE.GENDER, TE.DATE_OF_BIRTH,
TE.RETIRED);
cmd.join (TE.DEPARTMENT_ID, TD.ID, DBJoinType.LEFT);
@@ -126,7 +127,7 @@ public class EmployeeService extends Service {
meta[i] = new JsoColumnMeta(cols.get(i), txtres);
}
- DBReader reader = new DBReader(getRecordContext());
+ DBReader reader = new DBReader(context);
List<JsoRecordData> list = new ArrayList<>();
try {
reader.open(cmd);
diff --git
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/EmployeeRecord.java
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/EmployeeRecord.java
index 5cbca22..9ac5037 100644
---
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/EmployeeRecord.java
+++
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/EmployeeRecord.java
@@ -55,7 +55,7 @@ public class EmployeeRecord extends SampleRecord<TEmployees>
if (column.equals(T.DEPARTMENT_ID))
{
SampleDB db = (SampleDB) getDatabase();
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.T_DEPARTMENTS.ID);
cmd.select(db.T_DEPARTMENTS.NAME);
cmd.orderBy(db.T_DEPARTMENTS.NAME);
diff --git
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/SampleRecord.java
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/SampleRecord.java
index a949588..1e5499f 100644
---
a/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/SampleRecord.java
+++
b/empire-db-examples/empire-db-example-vue/src/main/java/org/apache/empire/vue/sample/db/records/SampleRecord.java
@@ -117,7 +117,7 @@ public abstract class SampleRecord<T extends SampleTable>
extends DBRecord
// set Value
try {
// set the value
- this.setValue(c, value);
+ this.set(c, value);
} catch(FieldValueException e) {
// add exception to list
exptns.add(e);
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
index 6f5028b..0e2f75e 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDatabase.java
@@ -886,7 +886,7 @@ public abstract class DBDatabase extends DBObject
public final DBCommand createCommand()
{
checkOpen();
- return dbms.createCommand(this.isPreparedStatementsEnabled());
+ return dbms.createCommand(isPreparedStatementsEnabled());
}
/**
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
b/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
index ac1e021..0c845b1 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBQuery.java
@@ -433,6 +433,7 @@ public class DBQuery extends DBRowSet
// Get the fields and the flags
Object[] fields = record.getFields();
// Get all Update Commands
+ DBContext context = record.getContext();
Map<DBRowSet, DBCommand> updCmds = new HashMap<DBRowSet, DBCommand>(3);
for (int i = 0; i < columns.size(); i++)
{ // get the table
@@ -443,7 +444,7 @@ public class DBQuery extends DBRowSet
DBCommand updCmd = updCmds.get(table);
if (updCmd == null)
{ // Add a new Command
- updCmd = db.createCommand();
+ updCmd = createRecordCommand(context);
updCmds.put(table, updCmd);
}
/*
@@ -462,7 +463,6 @@ public class DBQuery extends DBRowSet
}
}
// the connection
- DBContext context = record.getContext();
Connection conn = context.getConnection();
// the commands
DBCommand cmd = getCommandFromExpression();
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
index 9bc2acf..2eb4a8c 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRowSet.java
@@ -822,7 +822,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
// Check Arguments
checkParamNull("key", key);
// Select
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(record.getContext());
cmd.select(columns);
// Set key constraints
setKeyConstraints(cmd, key);
@@ -845,7 +845,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
if (c.getRowSet().equals(this)==false)
throw new InvalidArgumentException("whereConstraints",
c.getFullName());
// read now
- DBCommand cmd = getDatabase().createCommand();
+ DBCommand cmd = createRecordCommand(record.getContext());
cmd.select(getColumns());
cmd.where(whereConstraints);
readRecord(record, cmd);
@@ -863,7 +863,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
// Check Arguments
checkParamNull("key", key);
// create command
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(record.getContext());
for (DBColumn column : this.columns)
{ // key column?
if (isKeyColumn(column))
@@ -904,7 +904,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
checkParamNull("key", key);
checkParamNull("context", context);
// Select
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(context);
cmd.select(count());
// Set key constraints
setKeyConstraints(cmd, key);
@@ -953,7 +953,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
// Get the fields and the flags
Object[] fields = record.getFields();
// Build SQL-Statement
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(context);
String sql = null;
int setCount = 0;
// Perform action
@@ -1152,7 +1152,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
DBColumn[] keyColumns =(DBColumn[])getKeyColumns();
if (keyColumns==null || keyColumns.length==0)
{ // No Primary Key
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(context);
for (int i=0; i<parentKey.length; i++)
cmd.where(refs[i].getSourceColumn().is(parentKey[i]));
if (context.executeDelete((DBTable)this, cmd)<0)
@@ -1160,7 +1160,7 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
}
else
{ // Query all key
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(context);
cmd.select(keyColumns);
// Set constraints
for (int i=0; i<parentKey.length; i++)
@@ -1182,6 +1182,18 @@ public abstract class DBRowSet extends DBExpr implements
EntityType
}
// Done
}
+
+ /**
+ * Mabe use Prepared statements even if disabled in context
+ */
+ protected DBCommand createRecordCommand(DBContext context)
+ {
+ /**
+ * alternative is:
+ * return context.getDbms().createCommand(true);
+ */
+ return context.createCommand();
+ }
/**
* Returns additional data stored on a record by the RowSet
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
index 47df45f..d464f21 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBTable.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBTable.java
@@ -590,18 +590,18 @@ public class DBTable extends DBRowSet implements Cloneable
* @param id the record's primary key
* @param conn a valid JDBC connection
*/
- public DBIndex checkUniqueConstraints(DBRecordBase rec)
+ public DBIndex checkUniqueConstraints(DBRecordBase record)
{
for (DBIndex idx : getIndexes())
{
if (idx.getType()==DBIndexType.PRIMARY_KEY)
{ // Only for new records
- if (!rec.isNew())
+ if (!record.isNew())
continue; // not new
}
else if (idx.getType().isUnique())
{ // check if any of the fields were actually changed
- if (!rec.isNew() && !rec.wasAnyModified(idx.getColumns()))
+ if (!record.isNew() &&
!record.wasAnyModified(idx.getColumns()))
continue; // not modified
}
else
@@ -609,14 +609,14 @@ public class DBTable extends DBRowSet implements Cloneable
continue;
}
// Check index
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(record.getContext());
cmd.select(count());
for (DBColumn c : idx.getColumns())
{
- Object value = rec.get(c);
+ Object value = record.get(c);
cmd.where(c.is(value));
}
- DBUtils utils = rec.getContext().getUtils();
+ DBUtils utils = record.getContext().getUtils();
int count = utils.querySingleInt(cmd);
if (count>0)
{ // Index is violated
@@ -670,7 +670,7 @@ public class DBTable extends DBRowSet implements Cloneable
deleteAllReferences(key, context);
// Build SQL-Statement
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = createRecordCommand(context);
// Set key constraints
setKeyConstraints(cmd, key);
// Perform delete
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
index 8d19fd4..2270aaa 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
@@ -1164,8 +1164,7 @@ public class DBUtils implements DBContextAware
DBObject.checkParamNull("rowset", rowset);
DBObject.checkParamNull("whereConstraints", whereConstraints);
// find
- DBDatabase db = whereConstraints.getDatabase();
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.where(whereConstraints);
// use factory of rowset
return queryBean(cmd, getRowsetBeanListFactory(beanType, rowset));
@@ -1185,8 +1184,7 @@ public class DBUtils implements DBContextAware
if (factory==null)
throw new UnknownBeanTypeException(beanType);
// add constraints
- DBDatabase db = whereConstraints.getDatabase();
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.where(whereConstraints);
// query now
return queryBean(cmd, factory);
@@ -1204,7 +1202,7 @@ public class DBUtils implements DBContextAware
DBObject.checkParamNull("rowset", rowset);
DBObject.checkParamNull("key", key);
// set key constraints
- DBCommand cmd = rowset.getDatabase().createCommand();
+ DBCommand cmd = context.createCommand();
rowset.setKeyConstraints(cmd, key);
// use factory of rowset
return queryBean(cmd, getRowsetBeanListFactory(beanType, rowset));
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBView.java
b/empire-db/src/main/java/org/apache/empire/db/DBView.java
index 9d5acd3..2ba45f1 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBView.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBView.java
@@ -252,6 +252,15 @@ public abstract class DBView extends DBRowSet
else
setKeyColumns((DBViewColumn[]) null);
}
+
+ /**
+ * Use this to create a new View command inside the createCommand() method!
+ * @return a new command for this view
+ */
+ protected DBCommand newCommand()
+ {
+ return db.getDbms().createCommand(false);
+ }
/**
* Returns the command required to create the view<br>
diff --git
a/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
b/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
index 2d57c2d..b7f69a5 100644
---
a/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
+++
b/empire-db/src/main/java/org/apache/empire/dbms/oracle/DBMSHandlerOracle.java
@@ -445,7 +445,7 @@ public class DBMSHandlerOracle extends DBMSHandlerBase
// Database definition
OracleSYSDatabase sysDB = new OracleSYSDatabase(this);
// Check Columns
- DBCommand sysDBCommand = sysDB.createCommand();
+ DBCommand sysDBCommand = createCommand(false);
sysDBCommand.select(sysDB.CI.getColumns());
sysDBCommand.where (sysDB.CI.C_OWNER.is(owner));
diff --git
a/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
b/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
index 1f8efa9..a8d78d0 100644
--- a/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/AliasExpressionTest.java
@@ -62,7 +62,7 @@ public class AliasExpressionTest
int numberIndex = record.getFieldIndex(t.C_NUMBER);
Assert.assertEquals(record.getFieldIndex(AMOUNT), numberIndex);
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(ALIAS_1, t.C_TEXT, ALIAS_2, ALIAS_2_NEU, AMOUNT); /* Don't
select ALIAS_X */
DBColumnExpr[] expr = cmd.getSelectExprList();
// Hint: ALIAS_2_NEU is not a separate column
diff --git a/empire-db/src/test/java/org/apache/empire/db/DBCommandTest.java
b/empire-db/src/test/java/org/apache/empire/db/DBCommandTest.java
index 62e300f..00b621c 100644
--- a/empire-db/src/test/java/org/apache/empire/db/DBCommandTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/DBCommandTest.java
@@ -38,25 +38,25 @@ public class DBCommandTest
@Test
public void testDBCommand()
{
- MockDB mock = new MockDB();
+ MockDB MDB = new MockDB();
DBContext context = new DBContextStatic(new MockDriver(), null);
- mock.open(context);
+ MDB.open(context);
List<DBColumn> list = new ArrayList<DBColumn>();
- DBCommand command = mock.createCommand();
+ DBCommand command = context.createCommand();
command.select(list);
assertNull(command.getSelectExprList());
List<DBColumnExpr> list2 = new ArrayList<DBColumnExpr>();
- list2.add(mock.TABLE.COL1);
- list2.add(mock.TABLE.COL3);
- DBCommand command2 = mock.createCommand();
+ list2.add(MDB.TABLE.COL1);
+ list2.add(MDB.TABLE.COL3);
+ DBCommand command2 = context.createCommand();
command2.select(list2);
assertEquals(2, command2.getSelectExprList().length);
- DBCommand command3 = mock.createCommand();
- command3.select (mock.TABLE.getColumns());
- command3.groupBy(mock.TABLE.COL1, mock.TABLE.COL2, mock.TABLE.COL2);
+ DBCommand command3 = context.createCommand();
+ command3.select (MDB.TABLE.getColumns());
+ command3.groupBy(MDB.TABLE.COL1, MDB.TABLE.COL2, MDB.TABLE.COL2);
assertEquals(3, command3.getSelectExprList().length);
assertEquals(2, command3.groupBy.size());
}
diff --git
a/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
b/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
index 6cd0075..34a4ab6 100644
--- a/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
@@ -65,7 +65,7 @@ public class PreparedStatementTest{
// Define shortcuts for tables used - not necessary but convenient
CompanyDB.Departments DEP = db.DEPARTMENT;
// Define the query
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
// Create parameters
DBCmdParam empIdParam = cmd.addParam(null);
// the previous line could be shorter
diff --git
a/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlDateTest.java
b/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlDateTest.java
index fe021a0..5afc152 100644
---
a/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlDateTest.java
+++
b/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlDateTest.java
@@ -121,7 +121,7 @@ public class DBMSHandlerMSSqlDateTest {
* </PRE>
*/
private static void clearDatabase(DBContext context, DateTimeTestDB db)
{
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
// Delete all Employees (no constraints)
context.executeDelete(db.USER_INFO, cmd);
}
@@ -136,7 +136,7 @@ public class DBMSHandlerMSSqlDateTest {
*/
private static boolean databaseExists(DBContext context, DateTimeTestDB
db) {
// Check whether DB exists
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.USER_INFO.count());
// Check using "select count(*) from DEPARTMENTS"
diff --git
a/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlTest.java
b/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlTest.java
index ff56c08..881df0c 100644
---
a/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlTest.java
+++
b/empire-db/src/test/java/org/apache/empire/dbms/mssql/DBMSHandlerMSSqlTest.java
@@ -89,7 +89,7 @@ public class DBMSHandlerMSSqlTest
*/
private static void clearDatabase(DBContext context, CompanyDB db)
{
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
// Delete all Employees (no constraints)
context.executeDelete(db.DEPARTMENT, cmd);
}
@@ -105,7 +105,7 @@ public class DBMSHandlerMSSqlTest
private static boolean databaseExists(DBContext context, CompanyDB db)
{
// Check whether DB exists
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.DEPARTMENT.count());
// Check using "select count(*) from DEPARTMENTS"
System.out.println("Checking whether table DEPARTMENTS exists
(SQLException will be logged if not - please ignore) ...");
diff --git
a/empire-db/src/test/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQLTest.java
b/empire-db/src/test/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQLTest.java
index 2ad27a9..a432193 100644
---
a/empire-db/src/test/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQLTest.java
+++
b/empire-db/src/test/java/org/apache/empire/dbms/mysql/DBMSHandlerMySQLTest.java
@@ -44,21 +44,21 @@ public class DBMSHandlerMySQLTest {
Departments TD = db.DEPARTMENT;
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
// Test 1
cmd.select(TD.count());
cmd.where(TD.NAME.is("\\LCI\\"));
assertTrue(cmd.getSelect().endsWith(("`NAME`='\\\\LCI\\\\'")));
// Must be double escaped
- cmd = db.createCommand();
+ cmd = context.createCommand();
// Test 2
cmd.select(TD.count());
cmd.where(TD.NAME.is("'"));
assertTrue(cmd.getSelect().contains("`NAME`=''''"));
- cmd = db.createCommand();
+ cmd = context.createCommand();
// \ and '
cmd.select(TD.count());
diff --git
a/empire-db/src/test/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQLTest.java
b/empire-db/src/test/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQLTest.java
index fb3ab9b..b9b0ec8 100644
---
a/empire-db/src/test/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQLTest.java
+++
b/empire-db/src/test/java/org/apache/empire/dbms/postgresql/DBMSHandlerPostgreSQLTest.java
@@ -113,7 +113,7 @@ public class DBMSHandlerPostgreSQLTest
emp.update();
// read a value
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.DATA.DATA);
DBReader reader = new DBReader(context);
try {
@@ -137,7 +137,7 @@ public class DBMSHandlerPostgreSQLTest
private static boolean databaseExists(DBContext context, CompanyDB db)
{
// Check whether DB exists
- DBCommand cmd = db.createCommand();
+ DBCommand cmd = context.createCommand();
cmd.select(db.DEPARTMENT.count());
// Check using "select count(*) from DEPARTMENTS"