From 75ccf8c494e6ce896a77139093ee4d1bee5a802c Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 1 Aug 2013 08:15:48 +0800 Subject: [PATCH] improve wall.html --- .../MySqlParameterizedOutputVisitor.java | 2 +- .../support/http/resources/wall.html | 16 +++++++-- ...MySqlParameterizedOutputVisitorTest_4.java | 36 +++++++++++++++++++ 3 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlParameterizedOutputVisitorTest_4.java diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java index 1aed2dc2de..ff4d22a253 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java @@ -90,7 +90,7 @@ public class MySqlParameterizedOutputVisitor extends MySqlOutputVisitor implemen if (computeSharding) { int pos = name.lastIndexOf('_'); - if (pos != -1 && pos != name.length()) { + if (pos != -1 && pos != name.length() - 1) { boolean isNumber = true; for (int i = pos + 1; i < name.length(); ++i) { char ch = name.charAt(i); diff --git a/src/main/resources/support/http/resources/wall.html b/src/main/resources/support/http/resources/wall.html index 84988f6c0a..cf1e227005 100644 --- a/src/main/resources/support/http/resources/wall.html +++ b/src/main/resources/support/http/resources/wall.html @@ -98,6 +98,7 @@ sample executeCount fetchRowCount + updateCount @@ -109,6 +110,7 @@ sample executeCount fetchRowCount + updateCount @@ -208,6 +210,12 @@ } else { html += "" + white.fetchRowCount + ""; } + + if (typeof white.updateCount == "undefined") { + html += ""; + } else { + html += "" + white.updateCount + ""; + } html += ""; } $("#dataTable3 tbody").html(html); @@ -238,8 +246,12 @@ } else { html += "" + black.fetchRowCount + ""; } - html += ""; - } + + if (typeof black.updateCount == "undefined") { + html += ""; + } else { + html += "" + black.updateCount + ""; + } } $("#dataTable4 tbody").html(html); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlParameterizedOutputVisitorTest_4.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlParameterizedOutputVisitorTest_4.java new file mode 100644 index 0000000000..879ad4edbe --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlParameterizedOutputVisitorTest_4.java @@ -0,0 +1,36 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.alibaba.druid.bvt.sql.mysql; + +import junit.framework.TestCase; + +import org.junit.Assert; + +import com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils; +import com.alibaba.druid.util.JdbcConstants; + +public class MySqlParameterizedOutputVisitorTest_4 extends TestCase { + + public void test_0() throws Exception { + String sql = "select user0_.id as id0_, user0_.email as email0_, " // + + "user0_.login_name as login3_0_, user0_.name as name0_, "// + + "user0_.password as password0_ " // + + "from acct_user user0_ "// + + "where user0_.login_name=? limit ?"; + Assert.assertSame(ParameterizedOutputVisitorUtils.parameterize(sql, JdbcConstants.MYSQL), sql); + } + +}