harness.sql
package harness.sql
Members list
Packages
package harness.sql.autoSchema
package harness.sql.error
package harness.sql.query
package harness.sql.typeclass
Type members
Classlikes
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object AppliedCol
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AppliedCol.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
object Atomically
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Atomically.type
final case class Col[T](colName: String, colType: ColType, codec: QueryCodecSingle[T], nullable: Boolean, keyType: Option[KeyType])
object Col
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
object ConnectionFactory
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ConnectionFactory.type
This represents access to an SQL database. When accessing your database, it could be in one of 3 states:
This represents access to an SQL database. When accessing your database, it could be in one of 3 states:
- Pool : you are not in a transaction, and are able to execute as many parallel fibers as your pool will allow.
- Transaction : you are in a db transaction, and are only able to execute 1 parallel fiber at a time.
- Savepoint : you are in a db transaction + savepoint, and are only able to execute 1 parallel fiber at a time.
You can get a Transaction/Savepoint by using Atomically.atomically/Atomically.atomicScope. These can also be accessed via: Atomically.Live$.atomically/Atomically.Live$.atomicScope. The reason Transaction/Savepoint only support a single parallel fiber is because anything happening atomically in the db needs to be on a single connection, and transactions/savepoints are scoped to the entire connection. Otherwise, you could end up with a scenario like:
- in transaction
- fiber-a : in savepoint
- fiber-b : in savepoint
- fiber-a : insert R1
- fiber-b : insert R2
- fiber-a : insert R3
- fiber-a : rollback (insertion of R2 is also rolled back)
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
object Database
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object DbConfig
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object ForeignKeyRef
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ForeignKeyRef.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
object OptionEv
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
object PreparedStatement
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PreparedStatement.type
final class ResultSet[O](queryName: String, fragment: Fragment, rs: ResultSet, decoder: QueryDecoderMany[O])
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
abstract class Table extends Product
Attributes
- Companion
- object
- Supertypes
-
trait Producttrait Equalsclass Objecttrait Matchableclass Any
- Known subtypes
object Table
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
final case class TableSchema[T <: ([_[_]] =>> Table)](tableSchema: String, tableName: String, columns: T[Col], functorK: FunctorK[T], flatten: Flatten[T], codec: QueryCodecMany[T[Identity]], colChunk: Chunk[Col[_]], insertFragment: Fragment)
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object TableSchema
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
TableSchema.type
In this article