// (1) Filter by procedure name
// (2) Filter on partitions that start on our BASE_PARTITION
// (3) Filter to only include multi-partition txns
// (4) Another limit to stop after allowing ### txns
// Where is your god now???
Filter filter = new ProcedureNameFilter(false)
.include(TARGET_PROCEDURE.getSimpleName())
.attach(new ProcParameterValueFilter().include(1, new Integer(5))) // D_ID
// .attach(new ProcParameterArraySizeFilter(CatalogUtil.getArrayProcParameters(catalog_proc).get(0), 10, ExpressionType.COMPARE_EQUAL))
.attach(new BasePartitionTxnFilter(p_estimator, BASE_PARTITION))
.attach(new MultiPartitionTxnFilter(p_estimator, false))
.attach(new ProcedureLimitFilter(WORKLOAD_XACT_LIMIT));
workload.load(file, catalogContext.database, filter);
// Make a copy that doesn't have the first TransactionTrace
Workload clone = new Workload(catalogContext.catalog, new Filter() {
private boolean first = true;
@Override
protected FilterResult filter(AbstractTraceElement<? extends CatalogType> element) {
if (element instanceof TransactionTrace && first) {
this.first = false;