提交 2865c749 编写于 作者: Y Yiming Liu

fixbugs

上级 660b089f
......@@ -35,6 +35,7 @@ import com.dianping.bee.engine.spi.meta.ColumnMeta;
import com.dianping.bee.engine.spi.meta.Row;
import com.dianping.bee.engine.spi.meta.RowSet;
import com.dianping.bee.engine.spi.meta.internal.TypeUtils;
import com.site.helper.Joiners;
import com.site.lookup.annotation.Inject;
/**
......@@ -61,7 +62,8 @@ public class SelectHandler extends AbstractCommandHandler {
selectSession(c, first.substring("@@SESSION.".length()));
} else {
try {
selectStatement(c, first);
String stmt = "select " + Joiners.by(' ').join(parts);
selectStatement(c, stmt);
} catch (SQLSyntaxErrorException e) {
error(c, ErrorCode.ER_SYNTAX_ERROR, e.getMessage());
}
......
......@@ -35,10 +35,9 @@ public class ShowHandler extends AbstractCommandHandler {
showStatus(c);
} else if ("variables".equalsIgnoreCase(first)) {
showVariables(c);
} else if ("collation".equalsIgnoreCase(first)){
} else if ("collation".equalsIgnoreCase(first)) {
showCollation(c);
}
else {
} else {
error(c, ErrorCode.ER_UNKNOWN_COM_ERROR, "Unsupported show command");
}
}
......@@ -46,7 +45,7 @@ public class ShowHandler extends AbstractCommandHandler {
/**
* @param c
*/
private void showCollation(ServerConnection c) {
private void showCollation(ServerConnection c) {
CommandContext ctx = new CommandContext(c);
String[] names = { "Collation", "Charset", "Id", "Default", "Compiled", "Sortlen" };
......@@ -57,12 +56,12 @@ public class ShowHandler extends AbstractCommandHandler {
}
ctx.writeEOF();
// TODO real data here
ctx.writeEOF();
ctx.complete();
}
}
private void showStatus(ServerConnection c) {
Map<String, String> map = new HashMap<String, String>();
......@@ -152,9 +151,9 @@ public class ShowHandler extends AbstractCommandHandler {
TableProvider[] tables = provider.getTables();
CommandContext ctx = new CommandContext(c);
String[] names = { "Name", "Engine", "Version", "Row_format", "Rows", "Avg_row_length", "Data_length", "Max_data_length",
"Index_length", "Data_free", "Auto_increment", "Create_time", "Update_time", "Check_time", "Collation", "Checksum",
"Create_options", "Comment" };
String[] names = { "Name", "Engine", "Version", "Row_format", "Rows", "Avg_row_length", "Data_length",
"Max_data_length", "Index_length", "Data_free", "Auto_increment", "Create_time", "Update_time",
"Check_time", "Collation", "Checksum", "Create_options", "Comment" };
ctx.writeHeader(names.length);
......@@ -181,9 +180,30 @@ public class ShowHandler extends AbstractCommandHandler {
private void showVariables(ServerConnection c) {
Map<String, String> map = new HashMap<String, String>();
map.put("BeeStatus", "Good");
// map.put("language","");
map.put("net_write_timeout","60");
map.put("interactive_timeout","28800");
map.put("wait_timeout","28800");
map.put("character_set_client","gbk");
map.put("character_set_connection","gbk");
// map.put("character_set","");
map.put("character_set_server","latin1");
map.put("tx_isolation","REPEATABLE-READ");
map.put("transaction_isolation","");
map.put("character_set_results","gbk");
// map.put("timezone","");
map.put("time_zone","SYSTEM");
map.put("system_time_zone","");
map.put("lower_case_table_names","1");
map.put("max_allowed_packet", "1048576");
map.put("net_buffer_length","8192");
map.put("sql_mode","");
map.put("query_cache_type","ON");
map.put("query_cache_size","0");
map.put("init_connect","");
// TODO real data here
CommandContext ctx = new CommandContext(c);
String[] names = { "Variable_name", "Value" };
......
......@@ -43,7 +43,7 @@ public class SimpleServerQueryHandler implements FrontendQueryHandler {
case SimpleServerParse.SET:
SetHandler.handle(sql, c, rs >>> 8);
break;
case SimpleServerParse.DESC:
case SimpleServerParse.DESC: // New added
m_descHandler.handle(sql, c, rs >>> 8);
break;
case SimpleServerParse.SHOW:
......
......@@ -17,6 +17,7 @@ package com.dianping.bee.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import org.junit.Test;
......@@ -62,18 +63,26 @@ public class JDBCTest extends ComponentTestCase {
String password = "test";
Class.forName(driver).newInstance();
System.out.println("Driver loaded");
DriverManager.setLoginTimeout(600);
conn = DriverManager.getConnection(url + dbName, userName, password);
System.out.println("Connected to the database");
System.out.println("Query began");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select type, sum(failures) from transaction where domain=? and starttime=?");
ResultSetMetaData meta = rs.getMetaData();
int columns = meta.getColumnCount();
for (int column = 1; column <= columns; column++) {
String columnName = meta.getColumnName(column);
System.out.print(columnName + "\t");
}
System.out.println();
while (rs.next()) {
System.out.println(rs.getString(1));
for (int column = 1; column <= columns; column++) {
System.out.print(rs.getString(column) + "\t");
}
System.out.println();
}
conn.close();
System.out.println("Disconnected from database");
System.out.println("Query Finished");
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册