oxygen.sql.schema

Members list

Type members

Classlikes

final case class Column(name: String, columnType: Type, nullable: Boolean)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Column

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Column.type
final case class Columns[A](columns: Contiguous[Column])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Columns extends WithInstances[Columns]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait WithInstances[Columns]
trait Derivable[Columns]
class Object
trait Matchable
class Any
Show all
Self type
Columns.type
trait InputEncoder[-A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ColumnEncoder[A]
class ConcatAll[A]
class ContramapEncoder[A, B]
trait CustomEncoder[A]
object Empty
class OptionalEncoder[A]
class SingleEncoder[A]
class Zip[A]
Show all
object InputEncoder extends WithInstances[InputEncoder]

Attributes

Companion
trait
Supertypes
trait WithInstances[InputEncoder]
trait Derivable[InputEncoder]
class Object
trait Matchable
class Any
Self type
trait ResultDecoder[+A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ColumnDecoder[A]
trait CustomDecoder[A]
object Empty
class MapDecoder[A, B]
class MapOrFailDecoder[A, B]
class OptionalDecoder[A]
class SingleDecoder[A]
class WithColumns[A]
Show all
object ResultDecoder extends WithInstances[ResultDecoder]

Attributes

Companion
trait
Supertypes
trait WithInstances[ResultDecoder]
trait Derivable[ResultDecoder]
class Object
trait Matchable
class Any
Self type
trait RowRepr[A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ColumnRepr[A]
object Empty
class OptionalRepr[A]
trait ProductRepr[A]
class Transform[A, B]
class TransformOrFail[A, B]
Show all
object RowRepr

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
RowRepr.type
final case class TableRepr[A, K](schemaName: String, tableName: String, rowRepr: ProductRepr[A], pk: Partial[A, K], nonPK: Partial[A, _])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object TableRepr

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
TableRepr.type
final case class columnName(name: String) extends StaticAnnotation

Explicitly set the name of a column.

Explicitly set the name of a column.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
Show all
object columnName

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
columnName.type
final class inlineColumnNames extends StaticAnnotation

Best explained with an example: final case class Inner(field_1: String, field_2: String) derives RowSchema.ProductSchema final case class Outer(inner: Inner) derives RowSchema.ProductSchema

Best explained with an example: final case class Inner(field_1: String, field_2: String) derives RowSchema.ProductSchema final case class Outer(inner: Inner) derives RowSchema.ProductSchema

By default, this schema will have 2 fields: inner_field_1 and inner_field_2. Using inlineColumnNames on inner, like: final case class Outer(@inlineColumnName inner: Inner) derives RowSchema.ProductSchema will result in fields field_1 and field_2.

NOTE: If this is used on field that is not a product schema, the annotation will be ignored.

Attributes

Companion
object
Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class primaryKey extends StaticAnnotation

Denotes that this field should be a primary key for the table.

Denotes that this field should be a primary key for the table.

Attributes

Companion
object
Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
object primaryKey

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
primaryKey.type
final case class schemaName(name: String) extends StaticAnnotation

Explicitly set the name of the schema a table is in.

Explicitly set the name of the schema a table is in.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
Show all
object schemaName

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
schemaName.type
final case class tableName(name: String) extends StaticAnnotation

Explicitly set the name of a table.

Explicitly set the name of a table.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
Show all
object tableName

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
tableName.type