Package org.mariadb.r2dbc
Class MariadbCommonStatement
- java.lang.Object
-
- org.mariadb.r2dbc.MariadbCommonStatement
-
- All Implemented Interfaces:
io.r2dbc.spi.Statement,MariadbStatement
public abstract class MariadbCommonStatement extends Object implements MariadbStatement
-
-
Field Summary
Fields Modifier and Type Field Description protected List<Binding>bindingsprotected org.mariadb.r2dbc.client.Clientclientprotected MariadbConnectionConfigurationconfigurationprotected intexpectedSizeprotected ExceptionFactoryfactoryprotected String[]generatedColumnsprotected StringinitialSqlstatic intUNKNOWN_SIZE
-
Constructor Summary
Constructors Constructor Description MariadbCommonStatement(org.mariadb.r2dbc.client.Client client, String sql, MariadbConnectionConfiguration configuration, Protocol defaultProtocol)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description MariadbStatementadd()static Stringaugment(String sql, String[] generatedColumns)Augments an SQL statement with aRETURNINGstatement and column names.MariadbStatementbind(int index, Object value)MariadbStatementbind(String identifier, Object value)MariadbStatementbindNull(int index, Class<?> type)MariadbStatementbindNull(String identifier, Class<?> type)protected voidclearBindings(Iterator<Binding> iterator, AtomicBoolean canceled)protected abstract intgetColumnIndex(String name)protected BindinggetCurrentBinding()protected intgetExpectedSize()protected voidinitializeBinding()reactor.core.publisher.Flux<MariadbResult>toResult(Protocol protocol, reactor.core.publisher.Flux<ServerMessage> messages, ExceptionFactory factory, AtomicReference<ServerPrepareResult> prepareResult)protected static voidtryNextBinding(Iterator<Binding> iterator, reactor.core.publisher.Sinks.Many<Binding> bindingSink, AtomicBoolean canceled)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.mariadb.r2dbc.api.MariadbStatement
execute, fetchSize, returnGeneratedValues
-
-
-
-
Field Detail
-
UNKNOWN_SIZE
public static final int UNKNOWN_SIZE
- See Also:
- Constant Field Values
-
expectedSize
protected int expectedSize
-
client
protected final org.mariadb.r2dbc.client.Client client
-
initialSql
protected final String initialSql
-
configuration
protected final MariadbConnectionConfiguration configuration
-
factory
protected ExceptionFactory factory
-
generatedColumns
protected String[] generatedColumns
-
-
Constructor Detail
-
MariadbCommonStatement
public MariadbCommonStatement(org.mariadb.r2dbc.client.Client client, String sql, MariadbConnectionConfiguration configuration, Protocol defaultProtocol)
-
-
Method Detail
-
initializeBinding
protected void initializeBinding()
-
add
public MariadbStatement add()
- Specified by:
addin interfaceMariadbStatement- Specified by:
addin interfaceio.r2dbc.spi.Statement
-
bind
public MariadbStatement bind(String identifier, Object value)
- Specified by:
bindin interfaceMariadbStatement- Specified by:
bindin interfaceio.r2dbc.spi.Statement
-
bindNull
public MariadbStatement bindNull(String identifier, Class<?> type)
- Specified by:
bindNullin interfaceMariadbStatement- Specified by:
bindNullin interfaceio.r2dbc.spi.Statement
-
bindNull
public MariadbStatement bindNull(int index, Class<?> type)
- Specified by:
bindNullin interfaceMariadbStatement- Specified by:
bindNullin interfaceio.r2dbc.spi.Statement
-
bind
public MariadbStatement bind(int index, Object value)
- Specified by:
bindin interfaceMariadbStatement- Specified by:
bindin interfaceio.r2dbc.spi.Statement
-
getColumnIndex
protected abstract int getColumnIndex(String name)
-
augment
public static String augment(String sql, String[] generatedColumns)
Augments an SQL statement with aRETURNINGstatement and column names. If the collection is empty, uses*for column names.- Parameters:
sql- the SQL to augmentgeneratedColumns- the names of the columns to augment with- Returns:
- an augmented sql statement returning the specified columns or a wildcard
- Throws:
IllegalArgumentException- ifsqlorgeneratedColumnsisnull
-
toResult
public reactor.core.publisher.Flux<MariadbResult> toResult(Protocol protocol, reactor.core.publisher.Flux<ServerMessage> messages, ExceptionFactory factory, AtomicReference<ServerPrepareResult> prepareResult)
-
tryNextBinding
protected static void tryNextBinding(Iterator<Binding> iterator, reactor.core.publisher.Sinks.Many<Binding> bindingSink, AtomicBoolean canceled)
-
clearBindings
protected void clearBindings(Iterator<Binding> iterator, AtomicBoolean canceled)
-
getExpectedSize
protected int getExpectedSize()
-
-