db9010 / com.jovial.db9010 / Column

Column

abstract class Column<T>

A column in a select statement. This can be either a TableColumn or a QueryColumn.

Constructors

<init>

A column in a select statement. This can be either a TableColumn or a QueryColumn.

Column(sqlName: String, adapter: ValueAdapter<T>, jsonName: String)

Properties

adapter

This column's Kotlin type, and a converter between that and JDBC's type system.

val adapter: ValueAdapter<T>

jsonName

The name of this column when JSON-friendly maps are used. A reasonable default is provided if client code doesn't explicitly set a JSON name. See SelectQuery.setFromJson, ColumnSetter.setFromJson and ResultsHolder.getJson.

val jsonName: String

qualifiedName

The name of this column, qualified by the table name if there is one. Gives a value like "MyTable.myColumn".

open val qualifiedName: String

sqlName

The SQL name of this column, like "myColumn", or "COUNT(*)".

val sqlName: String

Functions

toString

open fun toString(): String

Inheritors

QueryColumn

A query column with a SQL expression, like "COUNT(*)". QueryColumn values are read-only, and query columns cannot appear in a SelectQuery marked as for update.

class QueryColumn<T> : Column<T>

TableColumn

A column in a Table. The SQL type of the column is determined by sqlType, and the Kotlin type is determined by adapter. See Table

class TableColumn<T> : Column<T>