All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mariadb.r2dbc.client.Client Maven / Gradle / Ivy

There is a newer version: 1.3.0
Show newest version
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2020-2024 MariaDB Corporation Ab

package org.mariadb.r2dbc.client;

import io.r2dbc.spi.TransactionDefinition;
import org.mariadb.r2dbc.ExceptionFactory;
import org.mariadb.r2dbc.MariadbConnectionConfiguration;
import org.mariadb.r2dbc.message.ClientMessage;
import org.mariadb.r2dbc.message.Context;
import org.mariadb.r2dbc.message.ServerMessage;
import org.mariadb.r2dbc.message.client.ExecutePacket;
import org.mariadb.r2dbc.message.client.PreparePacket;
import org.mariadb.r2dbc.message.client.SslRequestPacket;
import org.mariadb.r2dbc.message.server.InitialHandshakePacket;
import org.mariadb.r2dbc.util.HostAddress;
import org.mariadb.r2dbc.util.PrepareCache;
import org.mariadb.r2dbc.util.ServerPrepareResult;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public interface Client {

  Mono close();

  boolean closeChannelIfNeeded();

  void handleConnectionError(Throwable throwable);

  void sendCommandWithoutResult(ClientMessage requests);

  Flux sendCommand(ClientMessage requests, boolean canSafelyBeReExecuted);

  Flux sendCommand(
      ClientMessage requests, DecoderState initialState, boolean canSafelyBeReExecuted);

  Flux sendCommand(
      ClientMessage requests, DecoderState initialState, String sql, boolean canSafelyBeReExecuted);

  Flux sendCommand(
      PreparePacket preparePacket, ExecutePacket executePacket, boolean canSafelyBeReExecuted);

  Mono sendPrepare(
      ClientMessage requests, ExceptionFactory factory, String sql);

  Mono sendSslRequest(
      SslRequestPacket sslRequest, MariadbConnectionConfiguration configuration);

  boolean isAutoCommit();

  boolean isInTransaction();

  boolean noBackslashEscapes();

  ServerVersion getVersion();

  boolean isConnected();

  boolean isCloseRequested();

  void setContext(InitialHandshakePacket packet, long clientCapabilities);

  Context getContext();

  PrepareCache getPrepareCache();

  Mono beginTransaction();

  Mono beginTransaction(TransactionDefinition definition);

  Mono commitTransaction();

  Mono rollbackTransaction();

  Mono setAutoCommit(boolean autoCommit);

  Mono rollbackTransactionToSavepoint(String name);

  long getThreadId();

  HostAddress getHostAddress();

  Mono redirect();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy