From 85771c4ba1bfe1e55dbe4dccded94d8a3b0e73c7 Mon Sep 17 00:00:00 2001 From: yanhuqing666 Date: Fri, 1 Sep 2017 11:17:32 +0800 Subject: [PATCH] #243 #219 funcIn ,add log for NP --- .../net/handler/FrontendCommandHandler.java | 5 +++++ .../java/io/mycat/plan/common/item/Item.java | 2 +- .../io/mycat/plan/common/item/ItemField.java | 16 +++++++--------- .../function/operator/cmpfunc/ItemFuncIn.java | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/io/mycat/net/handler/FrontendCommandHandler.java b/src/main/java/io/mycat/net/handler/FrontendCommandHandler.java index 79b344fc55..784e60882e 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.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 @@ * @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 void run() { 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 edb80494ac..d1281f8a84 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 void setFixed(boolean fixed) { 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 1012e529f7..14bf0771b0 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.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 ItemType type() { @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 36bdc3e3de..01f226ece4 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 @@ 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