提交 cda3bc6c 编写于 作者: S serge-rider

QM event browser impl


Former-commit-id: 6898bf5c
上级 efabf020
......@@ -29,21 +29,35 @@ package org.jkiss.dbeaver.model.exec;
*/
public enum DBCExecutionPurpose {
USER(true), // User query
USER_FILTERED(true), // User query with additional filters
USER_SCRIPT(true), // User script query
UTIL(false), // Utility query (utility method initialized by user)
META(false), // Metadata query, processed by data source providers internally
META_DDL(false),;
USER(0, true), // User query
USER_FILTERED(1, true), // User query with additional filters
USER_SCRIPT(2, true), // User script query
UTIL(3, false), // Utility query (utility method initialized by user)
META(4, false), // Metadata query, processed by data source providers internally
META_DDL(5, false),;
private final int id;
private final boolean user;
DBCExecutionPurpose(boolean user) {
DBCExecutionPurpose(int id, boolean user) {
this.id = id;
this.user = user;
}
public int getId() {
return id;
}
public boolean isUser() {
return user;
} // Metadata modifications (DDL)
public static DBCExecutionPurpose getById(int id) {
for (DBCExecutionPurpose purpose : values()) {
if (purpose.getId() == id) {
return purpose;
}
}
return USER;
}
}
......@@ -42,6 +42,12 @@ public abstract class QMMObject {
this.openTime = getTimeStamp();
}
protected QMMObject(long openTime, long closeTime) {
this.objectId = generateObjectId();
this.openTime = openTime;
this.closeTime = closeTime;
}
protected void close()
{
this.closeTime = getTimeStamp();
......
......@@ -58,7 +58,8 @@ public class QMMSessionInfo extends QMMObject {
}
}
public QMMSessionInfo(String containerId, String containerName, String driverId, DBPConnectionConfiguration connectionConfiguration, String contextName, boolean transactional) {
public QMMSessionInfo(long openTime, long closeTime, String containerId, String containerName, String driverId, DBPConnectionConfiguration connectionConfiguration, String contextName, boolean transactional) {
super(openTime, closeTime);
this.containerId = containerId;
this.containerName = containerName;
this.driverId = driverId;
......
......@@ -60,6 +60,18 @@ public class QMMStatementExecuteInfo extends QMMObject {
}
public QMMStatementExecuteInfo(long openTime, long closeTime, QMMStatementInfo stmt, String queryString, long rowCount, int errorCode, String errorMessage, long fetchBeginTime, long fetchEndTime, boolean transactional) {
super(openTime, closeTime);
this.statement = stmt;
this.queryString = queryString;
this.rowCount = rowCount;
this.errorCode = errorCode;
this.errorMessage = errorMessage;
this.fetchBeginTime = fetchBeginTime;
this.fetchEndTime = fetchEndTime;
this.transactional = transactional;
}
void close(long rowCount, Throwable error)
{
if (error != null) {
......
......@@ -30,7 +30,7 @@ public class QMMStatementInfo extends QMMObject {
private transient DBCStatement reference;
QMMStatementInfo(QMMSessionInfo session, DBCStatement reference, QMMStatementInfo previous)
public QMMStatementInfo(QMMSessionInfo session, DBCStatement reference, QMMStatementInfo previous)
{
this.session = session;
this.reference = reference;
......@@ -38,6 +38,13 @@ public class QMMStatementInfo extends QMMObject {
this.previous = previous;
}
public QMMStatementInfo(long openTime, long closeTime, QMMSessionInfo session, DBCExecutionPurpose purpose) {
super(openTime, closeTime);
this.session = session;
this.purpose = purpose;
this.previous = null;
}
@Override
public void close()
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册