Types¶
Column type definitions for sqbooster table schemas.
Each type maps to SQL column types and handles serialization/deserialization.
- class sqbooster.types.ColumnType[source]¶
Bases:
objectBase class for all column types.
- sql_type = ''¶
- class sqbooster.types.Integer[source]¶
Bases:
ColumnTypeInteger column type. Maps to INTEGER in SQL.
- sql_type = 'INTEGER'¶
- class sqbooster.types.Text(max_length=None)[source]¶
Bases:
ColumnTypeText/string column type. Maps to TEXT/VARCHAR in SQL.
- sql_type = 'TEXT'¶
- class sqbooster.types.Float[source]¶
Bases:
ColumnTypeFloating-point column type. Maps to REAL/FLOAT in SQL.
- sql_type = 'REAL'¶
- class sqbooster.types.Boolean[source]¶
Bases:
ColumnTypeBoolean column type. Maps to INTEGER (0/1) in SQLite or BOOLEAN in PostgreSQL.
- sql_type = 'INTEGER'¶
- class sqbooster.types.Blob[source]¶
Bases:
ColumnTypeBinary large object column type. Maps to BLOB in SQL. Used for storing pickled Python objects or raw bytes. Non-bytes values are automatically pickled on write.
- sql_type = 'BLOB'¶
- class sqbooster.types.Timestamp[source]¶
Bases:
ColumnTypeTimestamp column type. Maps to TIMESTAMP in SQL.
- sql_type = 'TIMESTAMP'¶
- class sqbooster.types.Real[source]¶
Bases:
ColumnTypeAlias for Float. Maps to REAL in SQL.
- sql_type = 'REAL'¶
- class sqbooster.types.VARCHAR(max_length=255)[source]¶
Bases:
ColumnTypeVARCHAR column type with optional max length.
- sql_type = 'VARCHAR'¶
- property sql_type_with_length¶
- class sqbooster.types.JSON[source]¶
Bases:
ColumnTypeJSON column type. Stores JSON-serialized data as TEXT in SQLite, native JSONB in PostgreSQL.
- sql_type = 'TEXT'¶
- class sqbooster.types.Pickle[source]¶
Bases:
ColumnTypePickle column type. Stores arbitrary Python objects as pickled BLOBs. Use with caution - not portable across Python versions.
- sql_type = 'BLOB'¶