"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "hsqldb/src/org/hsqldb/StatementDML.java" between
hsqldb-2.6.0.zip and hsqldb-2.6.1.zip

About: HSQLDB (HyperSQL DataBase) is a SQL relational database engine written in Java. It supports nearly full ANSI-92 SQL (BNF format) and full core SQL:2008.

StatementDML.java  (hsqldb-2.6.0):StatementDML.java  (hsqldb-2.6.1)
skipping to change at line 57 skipping to change at line 57
import org.hsqldb.result.ResultConstants; import org.hsqldb.result.ResultConstants;
import org.hsqldb.result.ResultMetaData; import org.hsqldb.result.ResultMetaData;
import org.hsqldb.trigger.Trigger; import org.hsqldb.trigger.Trigger;
import org.hsqldb.types.Type; import org.hsqldb.types.Type;
import org.hsqldb.types.Types; import org.hsqldb.types.Types;
/** /**
* Implementation of Statement for DML statements.<p> * Implementation of Statement for DML statements.<p>
* *
* @author Fred Toussi (fredt@users dot sourceforge.net) * @author Fred Toussi (fredt@users dot sourceforge.net)
* @version 2.6.0 * @version 2.6.1
* @since 1.9.0 * @since 1.9.0
*/ */
// support for MERGE statement originally contributed by Justin Spadea (jzs9783@ users dot sourceforge.net) // support for MERGE statement originally contributed by Justin Spadea (jzs9783@ users dot sourceforge.net)
public class StatementDML extends StatementDMQL { public class StatementDML extends StatementDMQL {
Expression[] targets; Expression[] targets;
boolean isTruncate; boolean isTruncate;
boolean isMergeDeleteFirst; boolean isMergeDeleteFirst;
skipping to change at line 1584 skipping to change at line 1584
it.setCurrent(newData); it.setCurrent(newData);
if (!filter.testCondition(session)) { if (!filter.testCondition(session)) {
throw Error.error(ErrorCode.X_44000); throw Error.error(ErrorCode.X_44000);
} }
} }
for (int i = 0, size = table.checkConstraints.length; i < size; i++) { for (int i = 0, size = table.checkConstraints.length; i < size; i++) {
table.checkConstraints[i].checkInsert(session, table, newData, table.checkConstraints[i].checkInsert(session, table, newData,
oldData == null); oldData);
} }
if (!session.database.isReferentialIntegrity()) { if (!session.database.isReferentialIntegrity()) {
return; return;
} }
for (int i = 0, size = table.fkConstraints.length; i < size; i++) { for (int i = 0, size = table.fkConstraints.length; i < size; i++) {
boolean check = oldData == null; boolean check = oldData == null;
Constraint c = table.fkConstraints[i]; Constraint c = table.fkConstraints[i];
int[] fkColumns = c.getRefColumns();
if (!check) { if (!check) {
check = ArrayUtil.haveCommonElement(c.getRefColumns(), check = ArrayUtil.haveCommonElement(fkColumns, updatedColumns);
updatedColumns);
} }
if (check) { if (check) {
c.checkInsert(session, table, newData, oldData == null); c.checkInsert(session, table, newData, oldData);
} }
} }
} }
static void performReferentialActions(Session session, static void performReferentialActions(Session session,
RowSetNavigatorDataChange navigator, RowSetNavigatorDataChange navigator,
Row row, Object[] data, Row row, Object[] data,
int[] changedCols, HashSet path, int[] changedCols, HashSet path,
boolean deleteCascade) { boolean deleteCascade) {
 End of changes. 5 change blocks. 
7 lines changed or deleted 7 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)