/* * This software is subject to the terms of the Eclipse Public License v1.0 * Agreement, available at the following URL: * http://www.eclipse.org/legal/epl-v10.html. * You must accept the terms of that agreement to use this software. * * Copyright (c) 2002-2013 Pentaho Corporation.. All rights reserved. */ package mondrian.server.monitor; import mondrian.server.Locus; /** * Event created when Mondrian finishes executing an SQL statement. */ public class SqlStatementEndEvent extends SqlStatementEvent { public final long rowFetchCount; public final boolean canceled; public final Throwable throwable; /** * Creates a SqlStatementEndEvent. * * @param timestamp Timestamp * @param sqlStatementId SQL statement id * @param locus Locus of event * @param sql SQL * @param purpose Why Mondrian is executing this statement * @param rowFetchCount Number of rows fetched * @param canceled Whether statement was canceled * @param throwable Throwable, or null if there was no error */ public SqlStatementEndEvent( long timestamp, long sqlStatementId, Locus locus, String sql, Purpose purpose, long rowFetchCount, boolean canceled, Throwable throwable) { super(timestamp, sqlStatementId, locus, sql, purpose); this.rowFetchCount = rowFetchCount; this.canceled = canceled; this.throwable = throwable; } public String toString() { return "SqlStatementEndEvent(" + sqlStatementId + ")"; } public <T> T accept(Visitor<T> visitor) { return visitor.visit(this); } } // End SqlStatementEndEvent.java