@@ -51,19 +51,11 @@ public virtual async Task<DbDataReader> ExecuteReaderAsync(string commandText, M
51
51
CommandBehavior behavior , IOBehavior ioBehavior , CancellationToken cancellationToken )
52
52
{
53
53
cancellationToken . ThrowIfCancellationRequested ( ) ;
54
+ var payload = CreateQueryPayload ( commandText , parameterCollection ) ;
54
55
using ( m_command . RegisterCancel ( cancellationToken ) )
55
56
{
56
57
m_command . Connection . Session . StartQuerying ( m_command ) ;
57
58
m_command . LastInsertedId = - 1 ;
58
- var statementPreparerOptions = StatementPreparerOptions . None ;
59
- if ( m_command . Connection . AllowUserVariables || m_command . CommandType == CommandType . StoredProcedure )
60
- statementPreparerOptions |= StatementPreparerOptions . AllowUserVariables ;
61
- if ( m_command . Connection . OldGuids )
62
- statementPreparerOptions |= StatementPreparerOptions . OldGuids ;
63
- if ( m_command . CommandType == CommandType . StoredProcedure )
64
- statementPreparerOptions |= StatementPreparerOptions . AllowOutputParameters ;
65
- var preparer = new MySqlStatementPreparer ( commandText , parameterCollection , statementPreparerOptions ) ;
66
- var payload = new PayloadData ( preparer . ParseAndBindParameters ( ) ) ;
67
59
try
68
60
{
69
61
await m_command . Connection . Session . SendAsync ( payload , ioBehavior , CancellationToken . None ) . ConfigureAwait ( false ) ;
@@ -83,6 +75,19 @@ public virtual async Task<DbDataReader> ExecuteReaderAsync(string commandText, M
83
75
}
84
76
}
85
77
78
+ private PayloadData CreateQueryPayload ( string commandText , MySqlParameterCollection parameterCollection )
79
+ {
80
+ var statementPreparerOptions = StatementPreparerOptions . None ;
81
+ if ( m_command . Connection . AllowUserVariables || m_command . CommandType == CommandType . StoredProcedure )
82
+ statementPreparerOptions |= StatementPreparerOptions . AllowUserVariables ;
83
+ if ( m_command . Connection . OldGuids )
84
+ statementPreparerOptions |= StatementPreparerOptions . OldGuids ;
85
+ if ( m_command . CommandType == CommandType . StoredProcedure )
86
+ statementPreparerOptions |= StatementPreparerOptions . AllowOutputParameters ;
87
+ var preparer = new MySqlStatementPreparer ( commandText , parameterCollection , statementPreparerOptions ) ;
88
+ return new PayloadData ( preparer . ParseAndBindParameters ( ) ) ;
89
+ }
90
+
86
91
readonly MySqlCommand m_command ;
87
92
}
88
93
}
0 commit comments