Class.forName("org.hsqldb.jdbcDriver");
String dbUrl = "jdbc:hsqldb:"
+ dbFilePath
- + ";shutdown=true;hsqldb.default_table_type=cached;hsqldb.large_data=true;hdqldb.log_data=false"; //$NON-NLS-1$
+ + ";shutdown=false;hsqldb.default_table_type=cached;hsqldb.large_data=true;hdqldb.log_data=false"; //$NON-NLS-1$
connection = DriverManager.getConnection(dbUrl, "SA", "");
SQLWarning warning = connection.getWarnings();
while (warning != null) {
KERNEL_LIST_VIEW_END_PC=End pc addr
KERNEL_LIST_VIEW_ENTRY=Entry of func.
KERNEL_LIST_VIEW_EXIT=Exit of func.
-KERNEL_LIST_VIEW_CORE=Core number
+KERNEL_LIST_VIEW_CORE=CPU Core
KERNEL_LIST_VIEW_FUNCTION=Function name
KERNEL_STATISTIC_TITLE=Kernel Statistics
+ path
+ File.separator
+ AnalyzerConstants.DATABASE_NAME
- + ";shutdown=true;hsqldb.default_table_type=cached;hsqldb.large_data=true;hdqldb.log_data=false"; //$NON-NLS-1$
+ + ";shutdown=false;hsqldb.default_table_type=cached;hsqldb.large_data=true;hdqldb.log_data=false"; //$NON-NLS-1$
connection = DriverManager.getConnection(dbUrl, "SA", "");
SQLWarning warning = connection.getWarnings();
while (warning != null) {
return;
} else {
try {
- Statement st = connection.createStatement();
- st.execute("SHUTDOWN");
- CommonUtil.tryClose(st);
+// Statement st = connection.createStatement();
+// st.execute("SHUTDOWN");
+// CommonUtil.tryClose(st);
connection.close();
} catch (SQLException se) {
if (!se.getSQLState().equals("XJ015")) {
KernelPageLabels.KERNEL_LIST_VIEW_END_PC,
KernelPageLabels.KERNEL_LIST_VIEW_FUNCTION };
- private int[] columnSizes = { 40, 40, 40, 40, 90, 90, 90, 120, 120, 250 };
+ private int[] columnSizes = { 40, 40, 40, 65, 80, 80, 100, 100, 100, 250 };
private int[] columnAlignment = { SWT.RIGHT, SWT.LEFT, SWT.LEFT, SWT.LEFT,
SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT };
public void updateView(DAViewData data) {
if (data instanceof DASelectionData) {
DASelectionData selData = (DASelectionData) data;
-
+
long start = selData.getStartTime();
long end = selData.getEndTime();
Object odata = selData.getData();
import org.tizen.dynamicanalyzer.swap.model.data.ProfileData;
public class KernelDataMaker {
+ private static final String queryto_withTime = "where %s < %s and %s > %s order by %s";
+ private static final String queryto_withTidAndTime = "where %s = %s and %s < %s and %s > %s order by %s";
+ private static final String queryto_withTid = "where %s = %s group by %s";
+
public static final int START_TYPE_START = 10;
public static final int START_TYPE_RESUME = 20;
public static final int START_TYPE_RETURNED = 30;
}
public List<List<Object>> getContextDataFromDB(long start, long end) {
- String where = "where " + ContextDataDBTable.STARTTIME + " < " + end
- + " and " + ContextDataDBTable.ENDTIME + " > " + start
- + " order by " + ContextDataDBTable.STARTTIME;
+ String where = String.format(queryto_withTime,
+ ContextDataDBTable.STARTTIME, end, ContextDataDBTable.ENDTIME,
+ start, ContextDataDBTable.STARTTIME);
DBTable table = KernelDataManager.getInstance().getContextDataTable();
public List<List<Object>> getFunctionDataFromDB(long start, long end,
int tid) {
- String where = "where ";
+ String where;
+
if (tid >= 0) {
- where = where + FunctionDataDBTable.TID + " = " + tid + " and ";
+ where = String.format(queryto_withTidAndTime,
+ FunctionDataDBTable.TID, tid,
+ FunctionDataDBTable.STARTTIME, end,
+ FunctionDataDBTable.ENDTIME, start,
+ FunctionDataDBTable.STARTTIME);
+ } else {
+ where = String.format(queryto_withTime,
+ FunctionDataDBTable.STARTTIME, end,
+ FunctionDataDBTable.ENDTIME, start,
+ FunctionDataDBTable.STARTTIME);
}
- where = where + FunctionDataDBTable.STARTTIME + " < " + end + " and "
- + FunctionDataDBTable.ENDTIME + " > " + start + " order by "
- + FunctionDataDBTable.STARTTIME;
DBTable table = KernelDataManager.getInstance().getFunctionDataTable();
}
public List<List<Object>> getFuncnameFromDB(int tid) {
- String where = "where " + FunctionDataDBTable.TID + " = "
- + tid + " group by " + FunctionDataDBTable.FUNCNAME;
+ String where = String.format(queryto_withTid, FunctionDataDBTable.TID,
+ tid, FunctionDataDBTable.FUNCNAME);
List<String> selectColumn = new ArrayList<String>();
selectColumn.add(FunctionDataDBTable.FUNCNAME);
totalItemCount = getItemCountByPid();
} else {
if (totalItemCount == 0) { // open or never trace
- if (SqlConnectionManager.isConnected()) {
+ String tablename = getDBTableName();
+ if (tablename != null && !tablename.isEmpty()) {
String query = String.format(queryto_GetItemCount,
getDBTableName(), getSelectQueryCountOption());
List<List<Object>> result = SqlConnectionManager
.executeQuery(query);
- if(result != null)
- totalItemCount = (Integer) result.get(0).get(0);
+ if (result != null) {
+ Object object = result.get(0).get(0);
+ if (object instanceof Integer) {
+ totalItemCount = (Integer) object;
+ } else if (object instanceof Long) {
+ totalItemCount = ((Long) object).intValue();
+ } else {
+ System.out
+ .println("[ERR] result of item count query is not expected!!");
+ totalItemCount = 0;
+ }
+ }
}
} else { // stop
totalItemCount = getItemCountByPid();
}
private List<List<Object>> getObjectDataFromDB(int itemCount) {
+ String tableName = getDBTableName();
+ if (tableName == null || tableName.isEmpty()) {
+ return null;
+ }
+
int scrollSelection = vScrollbar.getSelection();
if (scrollSelection > itemCount) { // change PID
scrollSelection = 0;
}
String query = String.format(queryto_GetLimitedItem, scrollSelection,
- selectedEndIndex + 1, columnString.toString(),
- getDBTableName(), getSelectQueryOption());
+ selectedEndIndex + 1, columnString.toString(), tableName,
+ getSelectQueryOption());
return SqlConnectionManager.executeQuery(query);
}
private List<LogData> getLogDataFromDB(int itemCount) {
+ String tableName = getDBTableName();
+ if (tableName == null || tableName.isEmpty()) {
+ return null;
+ }
+
int scrollSelection = vScrollbar.getSelection();
if (scrollSelection > itemCount) { // change PID
scrollSelection = 0;
selectedEndIndex = itemCount;
}
List<LogData> outputList = SqlManager.getInstance().selectTableData(
- getDBTableName(), getDBTableColumnNames(), scrollSelection,
+ tableName, getDBTableColumnNames(), scrollSelection,
selectedEndIndex + 1, getSelectQueryOption());
return outputList;
}
}
public void setSelectionByTime(long startTime, long endTime) {
- selectionStartTime = startTime;
- selectionEndTime = endTime;
-
- int selectionIndex = SqlManager.getInstance().getSelectionIndex(
- getDBTableName(), getTimeColumnName(), selectionStartTime,
- getSelectQueryCountOption());
- vScrollbar.setSelection(selectionIndex - 1);
+ String tableName = getDBTableName();
+ if (tableName != null && !tableName.isEmpty()) {
+ selectionStartTime = startTime;
+ selectionEndTime = endTime;
+
+ int selectionIndex = SqlManager.getInstance().getSelectionIndex(
+ tableName, getTimeColumnName(), selectionStartTime,
+ getSelectQueryCountOption());
+ vScrollbar.setSelection(selectionIndex - 1);
+ }
}
public void setDataType(boolean isLogData, int timeColumnIndex) {