diff --git a/src/main/java/io/mycat/net/handler/FrontendCommandHandler.java b/src/main/java/io/mycat/net/handler/FrontendCommandHandler.java index 79b344fc5..784e60882 100644 --- a/src/main/java/io/mycat/net/handler/FrontendCommandHandler.java +++ b/src/main/java/io/mycat/net/handler/FrontendCommandHandler.java @@ -28,7 +28,10 @@ import io.mycat.config.ErrorCode; import io.mycat.net.FrontendConnection; import io.mycat.net.NIOHandler; import io.mycat.net.mysql.MySQLPacket; +import io.mycat.server.NonBlockingSession; import io.mycat.statistic.CommandCount; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicBoolean; @@ -39,6 +42,7 @@ import java.util.concurrent.atomic.AtomicBoolean; * @author mycat */ public class FrontendCommandHandler implements NIOHandler { + private static final Logger LOGGER = LoggerFactory.getLogger(NonBlockingSession.class); protected final ConcurrentLinkedQueue dataQueue = new ConcurrentLinkedQueue<>(); protected final AtomicBoolean handleStatus; protected final FrontendConnection source; @@ -131,6 +135,7 @@ public class FrontendCommandHandler implements NIOHandler { handleData(data); } } catch (Exception e) { + LOGGER.warn("maybe occur a bug,", e); source.writeErrMessage(ErrorCode.ER_UNKNOWN_ERROR, e.toString()); dataQueue.clear(); } finally { diff --git a/src/main/java/io/mycat/plan/common/item/Item.java b/src/main/java/io/mycat/plan/common/item/Item.java index edb80494a..d1281f8a8 100644 --- a/src/main/java/io/mycat/plan/common/item/Item.java +++ b/src/main/java/io/mycat/plan/common/item/Item.java @@ -104,7 +104,7 @@ public abstract class Item { public ItemResult getCmpContext() { return cmpContext; } - + //TODO DELETE public void setCmpContext(ItemResult cmpContext) { this.cmpContext = cmpContext; } diff --git a/src/main/java/io/mycat/plan/common/item/ItemField.java b/src/main/java/io/mycat/plan/common/item/ItemField.java index 1012e529f..14bf0771b 100644 --- a/src/main/java/io/mycat/plan/common/item/ItemField.java +++ b/src/main/java/io/mycat/plan/common/item/ItemField.java @@ -1,16 +1,8 @@ package io.mycat.plan.common.item; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.List; - -import org.apache.commons.lang.StringUtils; - import com.alibaba.druid.sql.ast.SQLExpr; import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; - import io.mycat.backend.mysql.CharsetUtil; import io.mycat.config.ErrorCode; import io.mycat.net.mysql.FieldPacket; @@ -24,6 +16,12 @@ import io.mycat.plan.common.field.Field; import io.mycat.plan.common.time.MySQLTime; import io.mycat.plan.node.JoinNode; import io.mycat.util.StringUtil; +import org.apache.commons.lang.StringUtils; + +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.List; public class ItemField extends ItemIdent { @@ -75,7 +73,7 @@ public class ItemField extends ItemIdent { @Override public ItemResult resultType() { - return field.resultType(); + return field == null ? null : field.resultType(); } @Override diff --git a/src/main/java/io/mycat/plan/common/item/function/operator/cmpfunc/ItemFuncIn.java b/src/main/java/io/mycat/plan/common/item/function/operator/cmpfunc/ItemFuncIn.java index 36bdc3e3d..01f226ece 100644 --- a/src/main/java/io/mycat/plan/common/item/function/operator/cmpfunc/ItemFuncIn.java +++ b/src/main/java/io/mycat/plan/common/item/function/operator/cmpfunc/ItemFuncIn.java @@ -13,6 +13,7 @@ import java.util.List; public class ItemFuncIn extends ItemFuncOptNeg { + //TODO :DELETE private ItemResult leftResultType; /** @@ -22,7 +23,6 @@ public class ItemFuncIn extends ItemFuncOptNeg { */ public ItemFuncIn(List args, boolean isNegation) { super(args, isNegation); - leftResultType = args.get(0).resultType(); } @Override