ColumnNode
This commit is contained in:
@@ -1702,11 +1702,11 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement
|
||||
setsql.append(", ");
|
||||
}
|
||||
String sqlColumn = info.getSQLColumn(null, col.getColumn());
|
||||
if (col.getValue2() instanceof ColumnBytesNode) {
|
||||
if (col.getValue() instanceof ColumnBytesNode) {
|
||||
if (blobs == null) {
|
||||
blobs = new ArrayList<>();
|
||||
}
|
||||
blobs.add(((ColumnBytesNode) col.getValue2()).getValue());
|
||||
blobs.add(((ColumnBytesNode) col.getValue()).getValue());
|
||||
setsql.append(sqlColumn).append("=").append(prepareParamSign(++index));
|
||||
} else {
|
||||
setsql.append(sqlColumn).append("=").append(info.formatSQLValue(sqlColumn, attr, col, sqlFormatter));
|
||||
@@ -1787,11 +1787,11 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource implement
|
||||
setsql.append(", ");
|
||||
}
|
||||
String sqlColumn = info.getSQLColumn(alias, col.getColumn());
|
||||
if (col.getValue2() instanceof ColumnBytesNode) {
|
||||
if (col.getValue() instanceof ColumnBytesNode) {
|
||||
if (blobs == null) {
|
||||
blobs = new ArrayList<>();
|
||||
}
|
||||
blobs.add(((ColumnBytesNode) col.getValue2()).getValue());
|
||||
blobs.add(((ColumnBytesNode) col.getValue()).getValue());
|
||||
setsql.append(sqlColumn).append("=").append(prepareParamSign(++index));
|
||||
} else {
|
||||
setsql.append(sqlColumn).append("=").append(info.formatSQLValue(sqlColumn, attr, col, sqlFormatter));
|
||||
|
||||
@@ -144,7 +144,7 @@ public class ColumnExpNode implements ColumnNode {
|
||||
return this;
|
||||
}
|
||||
|
||||
public ColumnNode getLeft2() {
|
||||
public ColumnNode getLeft() {
|
||||
return left;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ public class ColumnExpNode implements ColumnNode {
|
||||
this.express = express;
|
||||
}
|
||||
|
||||
public ColumnNode getRight2() {
|
||||
public ColumnNode getRight() {
|
||||
return right;
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ public class ColumnFuncNode implements ColumnNode {
|
||||
this.func = func;
|
||||
}
|
||||
|
||||
public ColumnNode getValue2() {
|
||||
public ColumnNode getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.redkale.util.*;
|
||||
|
||||
/**
|
||||
* ColumnValue主要用于多个字段更新的表达式。
|
||||
* value值一般为:ColumnExpNode、ColumnFuncNode、ColumnNameNode、ColumnNumberNode、ColumnStringNode、ColumnBytesNode <br>
|
||||
* value值为:ColumnExpNode、ColumnFuncNode、ColumnNameNode、ColumnNumberNode、ColumnStringNode、ColumnBytesNode <br>
|
||||
* 用于 DataSource.updateColumn 方法 <br>
|
||||
*
|
||||
* <p>
|
||||
@@ -477,7 +477,7 @@ public class ColumnValue {
|
||||
this.express = express;
|
||||
}
|
||||
|
||||
public ColumnNode getValue2() {
|
||||
public ColumnNode getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
@@ -545,16 +545,16 @@ public final class EntityCache<T> {
|
||||
}
|
||||
|
||||
private Number queryColumnFuncNodeNumber(final List<T> list, final ColumnFuncNode funcNode) {
|
||||
if (funcNode.getValue2() instanceof ColumnNameNode) {
|
||||
final Attribute<T, Serializable> attr = info.getAttribute(((ColumnNameNode) funcNode.getValue2()).getColumn());
|
||||
if (funcNode.getValue() instanceof ColumnNameNode) {
|
||||
final Attribute<T, Serializable> attr = info.getAttribute(((ColumnNameNode) funcNode.getValue()).getColumn());
|
||||
final Function<T, Number> attrFunc = x -> (Number) attr.get(x);
|
||||
return getNumberResult(list, funcNode.getFunc(), null, attr.type(), attrFunc, (FilterNode) null);
|
||||
}
|
||||
Number num = null;
|
||||
if (funcNode.getValue2() instanceof ColumnFuncNode) {
|
||||
num = queryColumnFuncNodeNumber(list, (ColumnFuncNode) funcNode.getValue2());
|
||||
} else if (funcNode.getValue2() instanceof ColumnExpNode) {
|
||||
num = queryColumnExpNodeNumber(list, (ColumnExpNode) funcNode.getValue2());
|
||||
if (funcNode.getValue() instanceof ColumnFuncNode) {
|
||||
num = queryColumnFuncNodeNumber(list, (ColumnFuncNode) funcNode.getValue());
|
||||
} else if (funcNode.getValue() instanceof ColumnExpNode) {
|
||||
num = queryColumnExpNodeNumber(list, (ColumnExpNode) funcNode.getValue());
|
||||
}
|
||||
return num;
|
||||
}
|
||||
@@ -902,7 +902,7 @@ public final class EntityCache<T> {
|
||||
try {
|
||||
for (int i = 0; i < attrs.size(); i++) {
|
||||
ColumnValue cv = values.get(i);
|
||||
updateColumn(attrs.get(i), rs, cv.getExpress(), cv.getValue2());
|
||||
updateColumn(attrs.get(i), rs, cv.getExpress(), cv.getValue());
|
||||
}
|
||||
} finally {
|
||||
tableLock.unlock();
|
||||
@@ -928,7 +928,7 @@ public final class EntityCache<T> {
|
||||
for (T rs : rms) {
|
||||
for (int i = 0; i < attrs.size(); i++) {
|
||||
ColumnValue cv = values.get(i);
|
||||
updateColumn(attrs.get(i), rs, cv.getExpress(), cv.getValue2());
|
||||
updateColumn(attrs.get(i), rs, cv.getExpress(), cv.getValue());
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
@@ -1064,7 +1064,7 @@ public final class EntityCache<T> {
|
||||
|
||||
private <V> Serializable updateColumnExpNode(Attribute<T, V> attr, final T entity, ColumnExpNode node) {
|
||||
Serializable leftVal = null;
|
||||
ColumnNode leftNode = node.getLeft2();
|
||||
ColumnNode leftNode = node.getLeft();
|
||||
//类型只能是ColumnNameNode、ColumnNumberNode、ColumnExpNode
|
||||
if (leftNode instanceof ColumnNameNode) {
|
||||
leftVal = info.getUpdateAttribute(leftNode.toString()).get(entity);
|
||||
@@ -1078,7 +1078,7 @@ public final class EntityCache<T> {
|
||||
}
|
||||
|
||||
Serializable rightVal = null;
|
||||
ColumnNode rightNode = node.getRight2();
|
||||
ColumnNode rightNode = node.getRight();
|
||||
//类型只能是ColumnNameNode、ColumnNumberNode、ColumnExpNode
|
||||
if (rightNode instanceof ColumnNameNode) {
|
||||
rightVal = info.getUpdateAttribute(rightNode.toString()).get(entity);
|
||||
|
||||
@@ -1512,7 +1512,7 @@ public final class EntityInfo<T> {
|
||||
return null;
|
||||
}
|
||||
//ColumnExpNode、ColumnFuncNode、ColumnNameNode、ColumnNumberNode、ColumnStringNode
|
||||
ColumnNode node = cv.getValue2();
|
||||
ColumnNode node = cv.getValue();
|
||||
//ColumnExpNode时 cv.getExpress() == ColumnExpress.MOV 只用于updateColumn
|
||||
if (node instanceof ColumnExpNode) {
|
||||
return formatColumnExpNodeSQLValue(attr, null, (ColumnExpNode) node, formatter);
|
||||
@@ -1551,16 +1551,16 @@ public final class EntityInfo<T> {
|
||||
}
|
||||
|
||||
protected CharSequence formatColumnFuncNodeSQLValue(Attribute<T, Serializable> attr, String tabalis, final ColumnFuncNode node, BiFunction<EntityInfo, Object, CharSequence> formatter) {
|
||||
if (node.getValue2() instanceof ColumnExpNode) {
|
||||
return node.getFunc().getColumn(formatColumnExpNodeSQLValue(attr, tabalis, (ColumnExpNode) node.getValue2(), formatter).toString());
|
||||
if (node.getValue() instanceof ColumnExpNode) {
|
||||
return node.getFunc().getColumn(formatColumnExpNodeSQLValue(attr, tabalis, (ColumnExpNode) node.getValue(), formatter).toString());
|
||||
} else {
|
||||
return node.getFunc().getColumn(formatColumnNameNodeSQLValue(attr, tabalis, (ColumnNameNode) node.getValue2(), formatter).toString());
|
||||
return node.getFunc().getColumn(formatColumnNameNodeSQLValue(attr, tabalis, (ColumnNameNode) node.getValue(), formatter).toString());
|
||||
}
|
||||
}
|
||||
|
||||
protected CharSequence formatColumnExpNodeSQLValue(Attribute<T, Serializable> attr, String tabalis, final ColumnExpNode node, BiFunction<EntityInfo, Object, CharSequence> formatter) {
|
||||
CharSequence leftVal = null;
|
||||
ColumnNode leftNode = node.getLeft2();
|
||||
ColumnNode leftNode = node.getLeft();
|
||||
if (leftNode instanceof ColumnNameNode) {
|
||||
leftVal = formatColumnNameNodeSQLValue(attr, tabalis, (ColumnNameNode) leftNode, formatter);
|
||||
} else if (leftNode instanceof ColumnStringNode) {
|
||||
@@ -1576,7 +1576,7 @@ public final class EntityInfo<T> {
|
||||
return leftVal;
|
||||
}
|
||||
CharSequence rightVal = null;
|
||||
ColumnNode rightNode = node.getRight2();
|
||||
ColumnNode rightNode = node.getRight();
|
||||
if (rightNode instanceof ColumnNameNode) {
|
||||
rightVal = formatColumnNameNodeSQLValue(attr, tabalis, (ColumnNameNode) rightNode, formatter);
|
||||
} else if (rightNode instanceof ColumnStringNode) {
|
||||
|
||||
Reference in New Issue
Block a user