Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

display the output of 'SHOW' command in Table format #68

Merged
merged 1 commit into from May 12, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -122,25 +122,4 @@ public static void beginCollectExecStats(Connection conn) {
QueryUtil.freeQuery(stmt);
}
}

/**
* Judge the sql is command
* @param sql
* @return
*/
public static boolean isCommand(String sql) {
if (!StringUtil.isEmpty(sql)) {
if (sql.trim().endsWith(";")) {
sql = sql.trim().substring(0, sql.trim().length() - 1);
}

String[] wordArray = sql.split("\\s|\\r|\\n|\\t");
if (wordArray.length > 0) {
if ("SHOW".equalsIgnoreCase(wordArray[0])
|| "SET".equalsIgnoreCase(wordArray[0]))
return true;
}
}
return false;
}
}
Expand Up @@ -229,7 +229,6 @@ public class QueryExecuter implements IShowMoreOperator{ // FIXME very complicat

private String statsLog;
private String queryPlanLog;
private boolean isCommand;
private String textData = "";
private List<String> columnTableNames;

Expand Down Expand Up @@ -276,8 +275,6 @@ public QueryExecuter(QueryEditorPart qe, int idx, String query, CubridDatabase c
formater4Float.setMaximumIntegerDigits(38);
formater4Float.setMaximumFractionDigits(7);
}

isCommand = CubridUtil.isCommand(orignQuery);
}

public QueryExecuter(QueryEditorPart qe, int idx, String query, CubridDatabase cubridDatabase,
Expand All @@ -295,9 +292,7 @@ public QueryExecuter(QueryEditorPart qe, int idx, String query, CubridDatabase c
public void makeResult(CUBRIDResultSetProxy rs) throws SQLException {
fillColumnData(rs);
fillTableItemData(rs);
if (isCommand) {
fillTextData();
}
fillTextData();
}

public void fillTextData() {
Expand Down Expand Up @@ -692,73 +687,64 @@ public void makeResult(final TableSelectSupport tableSelectSupport,
resultMessage.append(query);
queryRange[1] = query.length();

if (!isCommand) {
ServerInfo serverInfo = database.getServer() == null ? null
: database.getServer().getServerInfo();
String fontString = QueryOptions.getFontString(serverInfo);
Font tmpFont = ResourceManager.getFont(fontString);
if (tmpFont == null) {
String[] fontData = QueryOptions.getDefaultFont();
tmpFont = ResourceManager.getFont(fontData[0],
Integer.valueOf(fontData[1]),
Integer.valueOf(fontData[2]));
}
font = tmpFont;
tblResult.setFont(font);
int[] fontColor = QueryOptions.getFontColor(serverInfo);
color = ResourceManager.getColor(fontColor[0], fontColor[1],fontColor[2]);
tblResult.setForeground(color);
// Set font and foreground
selectableSupport.getTableCursor().setFont(font);
selectableSupport.getTableCursor().setForeground(color);
selectableSupport.setShowDetailOperator(this);
tblResult.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent e) {
selectableSupport.redrawMoreButton();
}
});

if (queryEditor != null) {
if (!multiQueryResult) {
createContextMenuItems();
}

editor = new ControlEditor(selectableSupport.getTableCursor());
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
editor.grabVertical = true;
ServerInfo serverInfo = database.getServer() == null ? null
: database.getServer().getServerInfo();
String fontString = QueryOptions.getFontString(serverInfo);
Font tmpFont = ResourceManager.getFont(fontString);
if (tmpFont == null) {
String[] fontData = QueryOptions.getDefaultFont();
tmpFont = ResourceManager.getFont(fontData[0],
Integer.valueOf(fontData[1]),
Integer.valueOf(fontData[2]));
}
font = tmpFont;
tblResult.setFont(font);
int[] fontColor = QueryOptions.getFontColor(serverInfo);
color = ResourceManager.getColor(fontColor[0], fontColor[1],fontColor[2]);
tblResult.setForeground(color);
// Set font and foreground
selectableSupport.getTableCursor().setFont(font);
selectableSupport.getTableCursor().setForeground(color);
selectableSupport.setShowDetailOperator(this);
tblResult.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent e) {
selectableSupport.redrawMoreButton();
}
});

bindEvents();
addTableItemToolTips();
if (queryEditor != null) {
if (!multiQueryResult) {
createContextMenuItems();
}

makeColumn();
makeItem();
editor = new ControlEditor(selectableSupport.getTableCursor());
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
editor.grabVertical = true;

if (!StringUtil.isEmpty(queryPlanLog)) {
resultMessage.append(StringUtil.NEWLINE).append(
QueryUtil.SPLIT_LINE_FOR_QUERY_RESULT);
resultMessage.append(StringUtil.NEWLINE).append(queryPlanLog);
}
bindEvents();
addTableItemToolTips();
}

if (!StringUtil.isEmpty(statsLog)) {
resultMessage.append(StringUtil.NEWLINE)
.append(Messages.queryStat).append(":");
resultMessage.append(StringUtil.NEWLINE).append(
QueryUtil.SPLIT_LINE_FOR_QUERY_RESULT);
resultMessage.append(StringUtil.NEWLINE).append(statsLog);
}
makeColumn();
makeItem();

messageText.setText(resultMessage.toString());
} else {
if (!StringUtil.isEmpty(queryPlanLog)) {
resultMessage.append(StringUtil.NEWLINE).append(
QueryUtil.SPLIT_LINE_FOR_QUERY_RESULT);
resultMessage.append(StringUtil.NEWLINE);

resultMessage.append(textData);
messageText.setText(resultMessage.toString());
resultMessage.append(StringUtil.NEWLINE).append(queryPlanLog);
}

if (!StringUtil.isEmpty(statsLog)) {
resultMessage.append(StringUtil.NEWLINE)
.append(Messages.queryStat).append(":");
resultMessage.append(StringUtil.NEWLINE).append(
QueryUtil.SPLIT_LINE_FOR_QUERY_RESULT);
resultMessage.append(StringUtil.NEWLINE).append(statsLog);
}

messageText.setText(resultMessage.toString());

// Styled Query info
StyleRange queryInfoStyle = new StyleRange();
queryInfoStyle.start = queryInfoRange[0];
Expand Down