ParserDML.java (hsqldb-2.6.0) | : | ParserDML.java (hsqldb-2.6.1) | ||
---|---|---|---|---|
skipping to change at line 50 | skipping to change at line 50 | |||
import org.hsqldb.lib.LongDeque; | import org.hsqldb.lib.LongDeque; | |||
import org.hsqldb.lib.OrderedHashSet; | import org.hsqldb.lib.OrderedHashSet; | |||
import org.hsqldb.map.ValuePool; | import org.hsqldb.map.ValuePool; | |||
import org.hsqldb.types.TimestampData; | import org.hsqldb.types.TimestampData; | |||
import org.hsqldb.types.Type; | import org.hsqldb.types.Type; | |||
/** | /** | |||
* Parser for DML statements | * Parser for DML statements | |||
* | * | |||
* @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 | |||
*/ | */ | |||
public class ParserDML extends ParserDQL { | public class ParserDML extends ParserDQL { | |||
ParserDML(Session session, Scanner scanner) { | ParserDML(Session session, Scanner scanner) { | |||
super(session, scanner, null); | super(session, scanner, null); | |||
} | } | |||
/** | /** | |||
* Retrieves an INSERT Statement from this parse context. | * Retrieves an INSERT Statement from this parse context. | |||
skipping to change at line 291 | skipping to change at line 291 | |||
// no explicit default | // no explicit default | |||
} | } | |||
if (e.isUnresolvedParam()) { | if (e.isUnresolvedParam()) { | |||
e.setAttributesAsColumn(column); | e.setAttributesAsColumn(column); | |||
} | } | |||
// DYNAMIC_PARAM and PARAMETER expressions may have wide r values | // DYNAMIC_PARAM and PARAMETER expressions may have wide r values | |||
if (e.opType != OpTypes.DEFAULT) { | if (e.opType != OpTypes.DEFAULT) { | |||
if (e.dataType == null || colType | if (e.dataType == null || colType.isArrayType() | |||
.typeDataGroup != e.dataType | || colType.typeDataGroup | |||
.typeDataGroup || colType.isArrayType()) { | != e.dataType.typeDataGroup) { | |||
rowArgs[i] = | rowArgs[i] = ExpressionOp.getConvertExpression( | |||
ExpressionOp.getCastExpression(session, e, | session, e, colType); | |||
colType); | ||||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
if (!assignsToIdentityOrGenerated | if (!assignsToIdentityOrGenerated | |||
&& (overridingUser || overridingSystem)) { | && (overridingUser || overridingSystem)) { | |||
throw unexpectedToken(Tokens.T_OVERRIDING); | throw unexpectedToken(Tokens.T_OVERRIDING); | |||
} | } | |||
skipping to change at line 1341 | skipping to change at line 1340 | |||
if (e.isUnresolvedParam()) { | if (e.isUnresolvedParam()) { | |||
e.setAttributesAsColumn(column); | e.setAttributesAsColumn(column); | |||
} | } | |||
// DYNAMIC_PARAM and PARAMETER expressions may have wider va lues | // DYNAMIC_PARAM and PARAMETER expressions may have wider va lues | |||
if (e.opType != OpTypes.DEFAULT) { | if (e.opType != OpTypes.DEFAULT) { | |||
if (e.dataType == null || colType.typeDataGroup != e | if (e.dataType == null || colType.typeDataGroup != e | |||
.dataType.typeDataGroup || colType | .dataType.typeDataGroup || colType | |||
.isArrayType()) { | .isArrayType()) { | |||
rowArgs[i] = | rowArgs[i] = | |||
ExpressionOp.getCastExpression(session, e, | ExpressionOp.getConvertExpression(session, e, | |||
colType); | colType); | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
StatementDMQL cs = new StatementDML(session, targets, sourceRange, | StatementDMQL cs = new StatementDML(session, targets, sourceRange, | |||
targetRange, fullRangeVars, | targetRange, fullRangeVars, | |||
insertColumnMap, updateColumnMap, | insertColumnMap, updateColumnMap, | |||
End of changes. 3 change blocks. | ||||
8 lines changed or deleted | 7 lines changed or added |