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