aboutsummaryrefslogtreecommitdiff
path: root/qlite/src/column.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2026-08-23 19:32:25 +0200
committerMarvin W <git@larma.de>2026-10-23 16:59:51 +0200
commit98ef191bfb3cc5694b9d1001e46a9b00abbd7195 (patch)
treeb6d30b203266afe44f0b5ae8aaf479960e361273 /qlite/src/column.vala
parentb0456e13ed35e6ebf684b3a7f4d1cb4b6ec352cc (diff)
Move qlite into libdino
Diffstat (limited to 'qlite/src/column.vala')
-rw-r--r--qlite/src/column.vala190
1 files changed, 0 insertions, 190 deletions
diff --git a/qlite/src/column.vala b/qlite/src/column.vala
deleted file mode 100644
index 36c8fcff..00000000
--- a/qlite/src/column.vala
+++ /dev/null
@@ -1,190 +0,0 @@
-using Sqlite;
-
-namespace Qlite {
-
-public abstract class Column<T> {
- public const string DEFAULT_TABLE_NAME = "";
-
- public string name { get; private set; }
- public string? default { get; set; }
- public int sqlite_type { get; private set; }
- public bool primary_key { get; set; }
- public bool auto_increment { get; set; }
- public bool unique { get; set; }
- public virtual bool not_null { get; set; }
- public long min_version { get; set; default = -1; }
- public long max_version { get; set; default = long.MAX; }
- internal Table table { get; set; }
-
- public abstract T get(Row row, string? table_name = DEFAULT_TABLE_NAME);
-
- public virtual bool is_null(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return false;
- }
-
- internal abstract void bind(Statement stmt, int index, T value);
-
- public string to_string() {
- return table == null ? name : (table.name + "." + name);
- }
-
- public string to_column_definition() {
- string res = name;
- switch (sqlite_type) {
- case INTEGER:
- res += " INTEGER";
- break;
- case FLOAT:
- res += " REAL";
- break;
- case TEXT:
- res += " TEXT";
- break;
- default:
- res += " UNKNOWN";
- break;
- }
- if (primary_key) {
- res += " PRIMARY KEY";
- if (auto_increment) res += " AUTOINCREMENT";
- }
- if (not_null) res += " NOT NULL";
- if (unique) res += " UNIQUE";
- if (default != null) res += @" DEFAULT $((!) default)";
-
- return res;
- }
-
- Column(string name, int type) {
- this.name = name;
- this.sqlite_type = type;
- }
-
- public class Integer : Column<int> {
- public Integer(string name) {
- base(name, INTEGER);
- }
-
- public override int get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return (int) row.get_integer(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- public override bool is_null(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return !row.has_integer(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- internal override void bind(Statement stmt, int index, int value) {
- stmt.bind_int(index, value);
- }
- }
-
- public class Long : Column<long> {
- public Long(string name) {
- base(name, INTEGER);
- }
-
- public override long get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return (long) row.get_integer(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- public override bool is_null(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return !row.has_integer(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- internal override void bind(Statement stmt, int index, long value) {
- stmt.bind_int64(index, value);
- }
- }
-
- public class NullableReal : Column<double?> {
- public NullableReal(string name) {
- base(name, FLOAT);
- }
-
- public override bool not_null { get { return false; } set {} }
-
- public override double? get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return row.get_real(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- public override bool is_null(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return !row.has_real(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- internal override void bind(Statement stmt, int index, double? value) {
- stmt.bind_double(index, value);
- }
- }
-
- public class Text : Column<string?> {
- public Text(string name) {
- base(name, TEXT);
- }
-
- public override string? get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return row.get_text(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- public override bool is_null(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return get(row, table_name == DEFAULT_TABLE_NAME ? table.name : table_name) == null;
- }
-
- internal override void bind(Statement stmt, int index, string? value) {
- if (value != null) {
- stmt.bind_text(index, (!) value);
- } else {
- stmt.bind_null(index);
- }
- }
- }
-
- public class NonNullText : Column<string> {
- public NonNullText(string name) {
- base(name, TEXT);
- }
-
- public override bool not_null { get { return true; } set {} }
-
- public override string get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return (!)row.get_text(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name);
- }
-
- public override bool is_null(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return false;
- }
-
- internal override void bind(Statement stmt, int index, string value) {
- stmt.bind_text(index, (!) value);
- }
- }
-
- public class BoolText : Column<bool> {
- public BoolText(string name) {
- base(name, TEXT);
- }
-
- public override bool get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return row.get_text(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name) == "1";
- }
-
- internal override void bind(Statement stmt, int index, bool value) {
- stmt.bind_text(index, value ? "1" : "0");
- }
- }
-
- public class BoolInt : Column<bool> {
- public BoolInt(string name) {
- base(name, INTEGER);
- }
-
- public override bool get(Row row, string? table_name = DEFAULT_TABLE_NAME) {
- return row.get_integer(name, table_name == DEFAULT_TABLE_NAME ? table.name : table_name) == 1;
- }
-
- internal override void bind(Statement stmt, int index, bool value) {
- stmt.bind_int(index, value ? 1 : 0);
- }
- }
-}
-
-}