Search in sources :

Example 1 with QMMObject

use of org.jkiss.dbeaver.model.qm.meta.QMMObject in project dbeaver by serge-rider.

the class TransactionInfoDialog method createContextFilter.

protected QMEventFilter createContextFilter(DBCExecutionContext executionContext) {
    if (executionContext == null) {
        return VOID_FILTER;
    }
    final boolean showAll = showAllCheck != null && showAllCheck.getSelection();
    final boolean showPrevious = showPreviousCheck != null && showPreviousCheck.getSelection();
    final QMMSessionInfo currentSession = QMUtils.getCurrentSession(executionContext);
    final QMMTransactionSavepointInfo currentSP = QMUtils.getCurrentTransaction(executionContext);
    QMEventFilter filter = new QMEventFilter() {

        @Override
        public boolean accept(QMMetaEvent event) {
            QMMObject object = event.getObject();
            if (object instanceof QMMStatementExecuteInfo) {
                QMMStatementExecuteInfo exec = (QMMStatementExecuteInfo) object;
                if (!showPrevious && exec.getSavepoint() != currentSP) {
                    return false;
                }
                if (exec.getStatement().getSession() != currentSession) {
                    return false;
                }
                return (showAll || exec.isTransactional());
            }
            return false;
        }
    };
    return filter;
}
Also used : QMMSessionInfo(org.jkiss.dbeaver.model.qm.meta.QMMSessionInfo) QMEventFilter(org.jkiss.dbeaver.model.qm.QMEventFilter) QMMetaEvent(org.jkiss.dbeaver.model.qm.QMMetaEvent) QMMStatementExecuteInfo(org.jkiss.dbeaver.model.qm.meta.QMMStatementExecuteInfo) QMMObject(org.jkiss.dbeaver.model.qm.meta.QMMObject) QMMTransactionSavepointInfo(org.jkiss.dbeaver.model.qm.meta.QMMTransactionSavepointInfo)

Aggregations

QMEventFilter (org.jkiss.dbeaver.model.qm.QMEventFilter)1 QMMetaEvent (org.jkiss.dbeaver.model.qm.QMMetaEvent)1 QMMObject (org.jkiss.dbeaver.model.qm.meta.QMMObject)1 QMMSessionInfo (org.jkiss.dbeaver.model.qm.meta.QMMSessionInfo)1 QMMStatementExecuteInfo (org.jkiss.dbeaver.model.qm.meta.QMMStatementExecuteInfo)1 QMMTransactionSavepointInfo (org.jkiss.dbeaver.model.qm.meta.QMMTransactionSavepointInfo)1