public abstract class org.apache.nifi.processors.standard.AbstractExecuteSQL extends org.apache.nifi.processor.AbstractProcessor
{
public static final java.lang.String RESULT_ROW_COUNT;
public static final java.lang.String RESULT_QUERY_DURATION;
public static final java.lang.String RESULT_QUERY_EXECUTION_TIME;
public static final java.lang.String RESULT_QUERY_FETCH_TIME;
public static final java.lang.String RESULTSET_INDEX;
public static final java.lang.String RESULT_ERROR_MESSAGE;
public static final java.lang.String INPUT_FLOWFILE_UUID;
public static final java.lang.String FRAGMENT_ID;
public static final java.lang.String FRAGMENT_INDEX;
public static final java.lang.String FRAGMENT_COUNT;
public static final org.apache.nifi.processor.Relationship REL_SUCCESS;
public static final org.apache.nifi.processor.Relationship REL_FAILURE;
protected java.util.Set relationships;
public static final org.apache.nifi.components.PropertyDescriptor DBCP_SERVICE;
public static final org.apache.nifi.components.PropertyDescriptor SQL_PRE_QUERY;
public static final org.apache.nifi.components.PropertyDescriptor SQL_SELECT_QUERY;
public static final org.apache.nifi.components.PropertyDescriptor SQL_POST_QUERY;
public static final org.apache.nifi.components.PropertyDescriptor QUERY_TIMEOUT;
public static final org.apache.nifi.components.PropertyDescriptor MAX_ROWS_PER_FLOW_FILE;
public static final org.apache.nifi.components.PropertyDescriptor OUTPUT_BATCH_SIZE;
public static final org.apache.nifi.components.PropertyDescriptor FETCH_SIZE;
public static final org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT;
protected java.util.List propDescriptors;
protected org.apache.nifi.dbcp.DBCPService dbcpService;
public void <init>()
{
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: void <init>()>();
return;
}
public java.util.Set getRelationships()
{
java.util.Set v;
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v = v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.util.Set relationships>;
return v;
}
protected java.util.List getSupportedPropertyDescriptors()
{
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
java.util.List v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v = v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.util.List propDescriptors>;
return v;
}
public void setup(org.apache.nifi.processor.ProcessContext)
{
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.components.PropertyDescriptor v, v;
org.apache.nifi.processor.exception.ProcessException v;
org.apache.nifi.components.PropertyValue v, v;
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
org.apache.nifi.controller.ControllerService v;
boolean v, v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_SELECT_QUERY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: boolean isSet()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: boolean hasIncomingConnection()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String)>("Either the Select Query must be specified or there must be an incoming connection providing flowfile(s) containing a SQL select query");
v = new org.apache.nifi.processor.exception.ProcessException;
specialinvoke v.<org.apache.nifi.processor.exception.ProcessException: void <init>(java.lang.String)>("Either the Select Query must be specified or there must be an incoming connection providing flowfile(s) containing a SQL select query");
throw v;
label:
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor DBCP_SERVICE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.controller.ControllerService asControllerService(java.lang.Class)>(class "Lorg/apache/nifi/dbcp/DBCPService;");
v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.dbcp.DBCPService dbcpService> = v;
return;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession) throws org.apache.nifi.processor.exception.ProcessException
{
java.sql.SQLFeatureNotSupportedException v;
java.lang.Integer v, v, v;
byte v, v;
org.apache.commons.lang.tuple.Pair v, v;
java.lang.Long v, v;
java.util.Map v, v, v, v, v, v;
java.util.stream.Collector v;
java.sql.PreparedStatement v;
java.util.stream.Stream v, v;
org.apache.nifi.util.StopWatch v, v;
java.lang.StringBuilder v;
org.apache.nifi.dbcp.DBCPService v;
java.lang.Object[] v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v, v, v, v, v;
org.apache.nifi.processor.ProcessSession v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.nifi.flowfile.attributes.CoreAttributes v;
java.sql.Connection v;
org.apache.nifi.components.PropertyValue v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.sql.SqlWriter v;
java.util.UUID v;
org.apache.nifi.util.db.SensitiveValueWrapper v;
java.util.function.Function v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Boolean v, v;
java.util.function.Consumer v;
java.lang.Object v, v, v, v, v, v, v, v;
org.apache.nifi.processor.io.OutputStreamCallback v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v, v;
java.sql.ResultSet v;
java.util.Set v, v;
java.lang.Exception v;
java.lang.Throwable v, v, v;
java.util.ArrayList v;
java.sql.SQLException v, v, v;
org.apache.nifi.provenance.ProvenanceReporter v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
org.apache.nifi.processor.io.InputStreamCallback v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.flowfile.FlowFile v, v, v, v, v, v;
java.util.function.Predicate v;
java.util.List v, v;
java.util.HashMap v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.processor.exception.ProcessException v, v, v;
java.util.Iterator v;
org.apache.nifi.processor.ProcessContext v;
java.util.concurrent.TimeUnit v, v, v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v = null;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: boolean hasIncomingConnection()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile get()>();
if v != null goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: boolean hasNonLoopConnection()>();
if v == 0 goto label;
return;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.logging.ComponentLog getLogger()>();
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor QUERY_TIMEOUT>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<java.lang.Long: int intValue()>();
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor MAX_ROWS_PER_FLOW_FILE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Integer asInteger()>();
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor OUTPUT_BATCH_SIZE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Integer asInteger()>();
if v != null goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
label:
v = v;
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor FETCH_SIZE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Integer asInteger()>();
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_PRE_QUERY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.util.List getQueries(java.lang.String)>(v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_POST_QUERY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.util.List getQueries(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processors.standard.sql.SqlWriter configureSqlWriter(org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext,org.apache.nifi.flowfile.FlowFile)>(v, v, v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_SELECT_QUERY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_SELECT_QUERY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
goto label;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$lambda_onTrigger_0__3: org.apache.nifi.processor.io.InputStreamCallback bootstrap$(java.lang.StringBuilder)>(v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void read(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.InputStreamCallback)>(v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
v = 0;
label:
v = v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.dbcp.DBCPService dbcpService>;
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.util.Map getAttributes()>();
label:
v = interfaceinvoke v.<org.apache.nifi.dbcp.DBCPService: java.sql.Connection getConnection(java.util.Map)>(v);
label:
v = interfaceinvoke v.<java.sql.Connection: boolean getAutoCommit()>();
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Boolean asBoolean()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == v goto label;
label:
interfaceinvoke v.<java.sql.Connection: void setAutoCommit(boolean)>(v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("setAutoCommit({}) not supported by this driver", v);
label:
v = interfaceinvoke v.<java.sql.Connection: java.sql.PreparedStatement prepareStatement(java.lang.String)>(v);
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 0 goto label;
label:
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
interfaceinvoke v.<java.sql.PreparedStatement: void setFetchSize(int)>(v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<java.sql.SQLException: java.lang.String getLocalizedMessage()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Cannot set fetch size to {} due to {}", v);
label:
interfaceinvoke v.<java.sql.PreparedStatement: void setQueryTimeout(int)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.commons.lang.tuple.Pair executeConfigStatements(java.sql.Connection,java.util.List)>(v, v);
if v == null goto label;
v = virtualinvoke v.<org.apache.commons.lang.tuple.Pair: java.lang.Object getLeft()>();
v = virtualinvoke v.<org.apache.commons.lang.tuple.Pair: java.lang.Object getRight()>();
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: java.util.Map getProperties()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$lambda_onTrigger_1__4: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$lambda_onTrigger_2__5: java.util.function.Function bootstrap$()>();
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$lambda_onTrigger_3__6: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.util.Map getAttributes()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = new org.apache.nifi.util.db.SensitiveValueWrapper;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
specialinvoke v.<org.apache.nifi.util.db.SensitiveValueWrapper: void <init>(java.lang.String,boolean)>(v, 0);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
staticinvoke <org.apache.nifi.util.db.JdbcCommon: void setSensitiveParameters(java.sql.PreparedStatement,java.util.Map)>(v, v);
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Executing query {}", v);
v = 0;
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v = new org.apache.nifi.util.StopWatch;
specialinvoke v.<org.apache.nifi.util.StopWatch: void <init>(boolean)>(1);
v = interfaceinvoke v.<java.sql.PreparedStatement: boolean execute()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.nifi.util.StopWatch: long getElapsed(java.util.concurrent.TimeUnit)>(v);
v = interfaceinvoke v.<java.sql.PreparedStatement: int getUpdateCount()>();
v = (int) -1;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != null goto label;
v = null;
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.util.Map getAttributes()>();
label:
v = v;
if v != null goto label;
v = null;
goto label;
label:
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes UUID>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.String getAttribute(java.lang.String)>(v);
label:
v = v;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v == 0 goto label;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
label:
v = interfaceinvoke v.<java.sql.PreparedStatement: java.sql.ResultSet getResultSet()>();
label:
v = new org.apache.nifi.util.StopWatch;
specialinvoke v.<org.apache.nifi.util.StopWatch: void <init>(boolean)>(1);
if v != null goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile create()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile create(org.apache.nifi.flowfile.FlowFile)>(v);
label:
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$lambda_onTrigger_4__7: org.apache.nifi.processor.io.OutputStreamCallback bootstrap$(org.apache.nifi.processors.standard.AbstractExecuteSQL,java.util.concurrent.atomic.AtomicLong,org.apache.nifi.processors.standard.sql.SqlWriter,java.sql.ResultSet)>(v, v, v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile write(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.OutputStreamCallback)>(v, v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v cmp 0L;
if v != 0 goto label;
if v <= 0 goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
label:
goto label;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.nifi.util.StopWatch: long getElapsed(java.util.concurrent.TimeUnit)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
if v == null goto label;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("executesql.row.count", v);
v = v + v;
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("executesql.query.duration", v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("executesql.query.executiontime", v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("executesql.query.fetchtime", v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("executesql.resultset.index", v);
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("input.flowfile.uuid", v);
label:
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 0 goto label;
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: java.lang.String FRAGMENT_ID>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: java.lang.String FRAGMENT_INDEX>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = interfaceinvoke v.<org.apache.nifi.processors.standard.sql.SqlWriter: java.util.Map getAttributesToAdd()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
interfaceinvoke v.<org.apache.nifi.processors.standard.sql.SqlWriter: void updateCounters(org.apache.nifi.processor.ProcessSession)>(v);
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("{} contains {} records; transferring to \'success\'", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: boolean hasIncomingConnection()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Retrieved \u rows");
v = v + v;
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void fetch(org.apache.nifi.flowfile.FlowFile,java.lang.String,long)>(v, v, v);
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Retrieved \u rows");
v = v + v;
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void receive(org.apache.nifi.flowfile.FlowFile,java.lang.String,long)>(v, v, v);
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(java.util.Collection,org.apache.nifi.processor.Relationship)>(v, v);
if v == null goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
v = null;
label:
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void commitAsync()>();
interfaceinvoke v.<java.util.List: void clear()>();
label:
v = v + 1;
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(java.util.Collection)>(v);
v = v instanceof org.apache.nifi.processor.exception.ProcessException;
if v == 0 goto label;
throw v;
label:
v = new org.apache.nifi.processor.exception.ProcessException;
specialinvoke v.<org.apache.nifi.processor.exception.ProcessException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v cmp v;
if v == 0 goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v <= 0 goto label;
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: java.lang.String FRAGMENT_COUNT>;
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAttribute(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String)>(v, v, v);
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.processor.exception.ProcessException;
specialinvoke v.<org.apache.nifi.processor.exception.ProcessException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v + 1;
label:
v = interfaceinvoke v.<java.sql.PreparedStatement: boolean getMoreResults(int)>(1);
v = interfaceinvoke v.<java.sql.PreparedStatement: int getUpdateCount()>();
v = (int) -1;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
goto label;
label:
v := @caughtexception;
v = 0;
v = 0;
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.commons.lang.tuple.Pair executeConfigStatements(java.sql.Connection,java.util.List)>(v, v);
if v == null goto label;
virtualinvoke v.<org.apache.commons.lang.tuple.Pair: java.lang.Object getLeft()>();
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$remove__8: java.util.function.Consumer bootstrap$(org.apache.nifi.processor.ProcessSession)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<org.apache.commons.lang.tuple.Pair: java.lang.Object getRight()>();
throw v;
label:
v = interfaceinvoke v.<java.sql.Connection: boolean getAutoCommit()>();
if v != 0 goto label;
interfaceinvoke v.<java.sql.Connection: void commit()>();
label:
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(java.util.Collection,org.apache.nifi.processor.Relationship)>(v, v);
interfaceinvoke v.<java.util.List: void clear()>();
if v == null goto label;
if v <= 0 goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.flowfile.FlowFile setFlowFileEmptyResults(org.apache.nifi.processor.ProcessSession,org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processors.standard.sql.SqlWriter)>(v, v, v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
goto label;
label:
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile create()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.flowfile.FlowFile setFlowFileEmptyResults(org.apache.nifi.processor.ProcessSession,org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processors.standard.sql.SqlWriter)>(v, v, v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
label:
interfaceinvoke v.<java.sql.PreparedStatement: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
interfaceinvoke v.<java.sql.Connection: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
if v != null goto label;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("Unable to execute SQL select query [{}]. No FlowFile to route to failure", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: boolean hasIncomingConnection()>();
if v == 0 goto label;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("Unable to execute SQL select query [{}] for {} routing to failure", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile penalize(org.apache.nifi.flowfile.FlowFile)>(v);
goto label;
label:
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("Unable to execute SQL select query [{}] routing to failure", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
label:
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAttribute(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String)>(v, "executesql.error.message", v);
v = <org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
label:
return;
catch java.sql.SQLFeatureNotSupportedException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.sql.SQLException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch org.apache.nifi.processor.exception.ProcessException from label to label with label;
catch java.sql.SQLException from label to label with label;
}
protected org.apache.nifi.flowfile.FlowFile setFlowFileEmptyResults(org.apache.nifi.processor.ProcessSession, org.apache.nifi.flowfile.FlowFile, org.apache.nifi.processors.standard.sql.SqlWriter)
{
org.apache.nifi.processor.io.OutputStreamCallback v;
org.apache.nifi.flowfile.FlowFile v, v, v;
java.util.HashMap v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
java.lang.String v, v;
org.apache.nifi.flowfile.attributes.CoreAttributes v;
org.apache.nifi.processors.standard.sql.SqlWriter v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.flowfile.FlowFile;
v := @parameter: org.apache.nifi.processors.standard.sql.SqlWriter;
v = staticinvoke <org.apache.nifi.processors.standard.AbstractExecuteSQL$lambda_setFlowFileEmptyResults_5__9: org.apache.nifi.processor.io.OutputStreamCallback bootstrap$(org.apache.nifi.processors.standard.AbstractExecuteSQL,org.apache.nifi.processors.standard.sql.SqlWriter)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile write(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.OutputStreamCallback)>(v, v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("executesql.row.count", "0");
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes MIME_TYPE>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
v = interfaceinvoke v.<org.apache.nifi.processors.standard.sql.SqlWriter: java.lang.String getMimeType()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
return v;
}
protected org.apache.commons.lang.tuple.Pair executeConfigStatements(java.sql.Connection, java.util.List)
{
java.lang.Throwable v;
java.sql.Connection v;
java.util.Iterator v;
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
java.sql.SQLException v;
java.util.List v;
org.apache.commons.lang.tuple.Pair v;
java.sql.Statement v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v := @parameter: java.sql.Connection;
v := @parameter: java.util.List;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
label:
return null;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
v = interfaceinvoke v.<java.sql.Connection: java.sql.Statement createStatement()>();
label:
interfaceinvoke v.<java.sql.Statement: boolean execute(java.lang.String)>(v);
label:
interfaceinvoke v.<java.sql.Statement: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = staticinvoke <org.apache.commons.lang.tuple.Pair: org.apache.commons.lang.tuple.Pair of(java.lang.Object,java.lang.Object)>(v, v);
return v;
label:
return null;
catch java.lang.Throwable from label to label with label;
catch java.sql.SQLException from label to label with label;
}
protected java.util.List getQueries(java.lang.String)
{
java.lang.String[] v;
org.apache.nifi.processors.standard.AbstractExecuteSQL v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v;
java.util.LinkedList v;
v := @this: org.apache.nifi.processors.standard.AbstractExecuteSQL;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
return null;
label:
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("(?<!\\\\);");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\\\;", ";");
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
return v;
}
protected abstract org.apache.nifi.processors.standard.sql.SqlWriter configureSqlWriter(org.apache.nifi.processor.ProcessSession, org.apache.nifi.processor.ProcessContext, org.apache.nifi.flowfile.FlowFile);
static void <clinit>()
{
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v, v;
org.apache.nifi.flowfile.attributes.FragmentAttributes v, v, v;
org.apache.nifi.processor.Relationship v, v;
java.lang.String v, v, v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.expression.ExpressionLanguageScope v, v, v, v, v, v, v;
java.lang.String[] v;
org.apache.nifi.components.Validator v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship$Builder v, v, v, v, v, v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes FRAGMENT_ID>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.lang.String FRAGMENT_ID> = v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes FRAGMENT_INDEX>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.lang.String FRAGMENT_INDEX> = v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes FRAGMENT_COUNT>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: java.lang.String FRAGMENT_COUNT> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("success");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("Successfully created FlowFile from SQL query result set.");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_SUCCESS> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("failure");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("SQL query execution failed. Incoming FlowFile will be penalized and routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.processor.Relationship REL_FAILURE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Database Connection Pooling Service");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The Controller Service that is used to obtain connection to database");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder identifiesControllerService(java.lang.Class)>(class "Lorg/apache/nifi/dbcp/DBCPService;");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor DBCP_SERVICE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("sql-pre-query");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("SQL Pre-Query");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("A semicolon-delimited list of queries executed before the main SQL query is executed. For example, set session properties before main query. It\'s possible to include semicolons in the statements themselves by escaping them with a backslash (\'\\;\'). Results/outputs from these queries will be suppressed if there are no errors.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_PRE_QUERY> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("SQL select query");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The SQL select query to execute. The query can be empty, a constant value, or built from attributes using Expression Language. If this property is specified, it will be used regardless of the content of incoming flowfiles. If this property is empty, the content of the incoming flow file is expected to contain a valid SQL select query, to be issued by the processor to the database. Note that Expression Language is not evaluated for flow file contents.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_SELECT_QUERY> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("sql-post-query");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("SQL Post-Query");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("A semicolon-delimited list of queries executed after the main SQL query is executed. Example like setting session properties after main query. It\'s possible to include semicolons in the statements themselves by escaping them with a backslash (\'\\;\'). Results/outputs from these queries will be suppressed if there are no errors.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor SQL_POST_QUERY> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Max Wait Time");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The maximum amount of time allowed for a running SQL select query  , zero means there is no limit. Max time less than 1 second will be equal to zero.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("0 seconds");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator TIME_PERIOD_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder sensitive(boolean)>(0);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor QUERY_TIMEOUT> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("esql-max-rows");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Max Rows Per Flow File");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The maximum number of result rows that will be included in a single FlowFile. This will allow you to break up very large result sets into multiple FlowFiles. If the value specified is zero, then all rows are returned in a single FlowFile.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("0");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_NEGATIVE_INTEGER_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor MAX_ROWS_PER_FLOW_FILE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("esql-output-batch-size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Output Batch Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The number of output FlowFiles to queue before committing the process session. When set to zero, the session will be committed when all result set rows have been processed and the output FlowFiles are ready for transfer to the downstream relationship. For large result sets, this can cause a large burst of FlowFiles to be transferred at the end of processor execution. If this property is set, then when the specified number of FlowFiles are ready for transfer, then the session will be committed, thus releasing the FlowFiles to the downstream relationship. NOTE: The fragment.count attribute will not be set on FlowFiles when this property is set.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("0");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_NEGATIVE_INTEGER_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor OUTPUT_BATCH_SIZE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("esql-fetch-size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Fetch Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The number of result rows to be fetched from the result set at a time. This is a hint to the database driver and may not be honored and/or exact. If the value specified is zero, then the hint is ignored.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("0");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_NEGATIVE_INTEGER_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor FETCH_SIZE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("esql-auto-commit");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Set Auto Commit");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Enables or disables the auto commit functionality of the DB connection. Default value is \'true\'. The default value can be used with most of the JDBC drivers and this functionality doesn\'t have any impact in most of the cases since this processor is used to read data. However, for some JDBC drivers such as PostgreSQL driver, it is required to disable the auto committing functionality to limit the number of result rows fetching at a time. When auto commit is enabled, postgreSQL driver loads whole result set to memory at once. This could lead for a large amount of memory usage when executing queries which fetch large data sets. More Details of this behaviour in PostgreSQL driver can be found in https://jdbc.postgresql.org//documentation/head/query.html. ");
v = newarray (java.lang.String)[2];
v[0] = "true";
v[1] = "false";
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(java.lang.String[])>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("true");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.AbstractExecuteSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT> = v;
return;
}
}