Package

com.github.mauricio.async

db

Permalink

package db

Visibility
  1. Public
  2. All

Type Members

  1. case class Configuration(username: String, host: String = "localhost", port: Int = 5432, password: Option[String] = None, database: Option[String] = None, ssl: SSLConfiguration = SSLConfiguration(), charset: Charset = Configuration.DefaultCharset, maximumMessageSize: Int = 16777216, allocator: ByteBufAllocator = PooledByteBufAllocator.DEFAULT, connectTimeout: Duration = 5.seconds, testTimeout: Duration = 5.seconds, queryTimeout: Option[Duration] = None) extends Product with Serializable

    Permalink

    Contains the configuration necessary to connect to a database.

    Contains the configuration necessary to connect to a database.

    username

    database username

    host

    database host, defaults to "localhost"

    port

    database port, defaults to 5432

    password

    password, defaults to no password

    database

    database name, defaults to no database

    ssl

    ssl configuration

    charset

    charset for the connection, defaults to UTF-8, make sure you know what you are doing if you change this

    maximumMessageSize

    the maximum size a message from the server could possibly have, this limits possible OOM or eternal loop attacks the client could have, defaults to 16 MB. You can set this to any value you would like but again, make sure you know what you are doing if you do change it.

    allocator

    the netty buffer allocator to be used

    connectTimeout

    the timeout for connecting to servers

    testTimeout

    the timeout for connection tests performed by pools

    queryTimeout

    the optional query timeout

  2. trait Connection extends AnyRef

    Permalink

    Base interface for all objects that behave like a connection.

    Base interface for all objects that behave like a connection. This trait will usually be implemented by the objects that connect to a database, either over the filesystem or sockets. Connection are not supposed to be thread-safe and clients should assume implementations **are not** thread safe and shouldn't try to perform more than one statement (either common or prepared) at the same time. They should wait for the previous statement to be executed to then be able to pick the next one.

    You can, for instance, compose on top of the futures returned by this class to execute many statements at the same time:

    val handler: Connection = ...
    val result: Future[QueryResult] = handler.connect
      .map(parameters => handler)
      .flatMap(connection => connection.sendQuery("BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ"))
      .flatMap(query => handler.sendQuery("SELECT 0"))
      .flatMap(query => handler.sendQuery("COMMIT").map(value => query))
    
    val queryResult: QueryResult = Await.result(result, Duration(5, SECONDS))
  3. trait KindedMessage extends Serializable

    Permalink
  4. class QueryResult extends AnyRef

    Permalink

    This is the result of the execution of a statement, contains basic information as the number or rows affected by the statement and the rows returned if there were any.

  5. trait ResultSet extends IndexedSeq[RowData]

    Permalink

    Represents the collection of rows that is returned from a statement inside a QueryResult.

    Represents the collection of rows that is returned from a statement inside a QueryResult. It's basically a collection of Array[Any]. Mutating fields in this array will not affect the database in any way

  6. trait RowData extends IndexedSeq[Any]

    Permalink

    Represents a row from a database, allows clients to access rows by column number or column name.

  7. case class SSLConfiguration(mode: SSLConfiguration.Mode.Value = Mode.Disable, rootCert: Option[File] = None) extends Product with Serializable

    Permalink

    Contains the SSL configuration necessary to connect to a database.

    Contains the SSL configuration necessary to connect to a database.

    mode

    whether and with what priority a SSL connection will be negotiated, default disabled

    rootCert

    path to PEM encoded trusted root certificates, None to use internal JDK cacerts, defaults to None

Value Members

  1. object Configuration extends Serializable

    Permalink
  2. object SSLConfiguration extends Serializable

    Permalink
  3. package column

    Permalink
  4. package exceptions

    Permalink
  5. package general

    Permalink
  6. package pool

    Permalink
  7. package util

    Permalink

Ungrouped