提交 1b04a821 authored 作者: Evgenij Ryazanov's avatar Evgenij Ryazanov

Extract database into local variable

上级 34aaf066
......@@ -135,9 +135,9 @@ public class ScriptCommand extends ScriptBase {
}
private LocalResult createResult() {
Expression[] expressions = { new ExpressionColumn(
session.getDatabase(), new Column("SCRIPT", Value.STRING)) };
return session.getDatabase().getResultFactory().create(session, expressions, 1);
Database db = session.getDatabase();
return db.getResultFactory().create(session,
new Expression[] { new ExpressionColumn(db, new Column("SCRIPT", Value.STRING)) }, 1);
}
@Override
......
......@@ -9,6 +9,7 @@ import java.util.ArrayList;
import java.util.HashSet;
import org.h2.api.ErrorCode;
import org.h2.engine.Database;
import org.h2.engine.Mode;
import org.h2.engine.Session;
import org.h2.engine.SysProperties;
......@@ -159,7 +160,8 @@ public class SelectUnion extends Query {
}
limitExpr = ValueExpression.get(ValueInt.get(l));
}
if (session.getDatabase().getSettings().optimizeInsertFromSelect) {
Database db = session.getDatabase();
if (db.getSettings().optimizeInsertFromSelect) {
if (unionType == UnionType.UNION_ALL && target != null) {
if (sort == null && !distinct && maxRows == 0 &&
offsetExpr == null && limitExpr == null) {
......@@ -189,7 +191,7 @@ public class SelectUnion extends Query {
return lazyResult;
}
}
LocalResult result = session.getDatabase().getResultFactory().create(session, expressionArray, columnCount);
LocalResult result = db.getResultFactory().create(session, expressionArray, columnCount);
if (sort != null) {
result.setSortOrder(sort);
}
......@@ -239,7 +241,7 @@ public class SelectUnion extends Query {
break;
}
case INTERSECT: {
LocalResult temp = session.getDatabase().getResultFactory().create(session, expressionArray, columnCount);
LocalResult temp = db.getResultFactory().create(session, expressionArray, columnCount);
temp.setDistinct();
while (l.next()) {
temp.addRow(convert(l.currentRow(), columnCount));
......
......@@ -794,4 +794,4 @@ minxf maxxf minyf maxyf bminxf bmaxxf bminyf bmaxyf
minxd maxxd minyd maxyd bminxd bmaxxd bminyd bmaxyd
interior envelopes multilinestring multipoint packed exterior normalization awkward determination subgeometries
xym normalizes coord setz xyzm geometrycollection multipolygon mixup rings polygons rejection finite
pointzm pointz pointm dimensionality
pointzm pointz pointm dimensionality redefine forum measures
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论