1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:57:35 +00:00

LibSQL: Basic dynamic value classes for SQL Storage layer

This patch adds the basic dynamic value classes used by the SQL Storage
layer. The most elementary class is Value, which holds a typed Value
which can be converted to standard C++ types. A Tuple is a collection
of Values described by a TupleDescriptor, which specifies the names,
types, and ordering of the elements in the Tuple.

Tuples and Values can be serialized and deserialized to and from
ByteBuffers. This is mechanism which is used to save them to disk.

Tuples are used as keys in SQL indexes and rows in SQL tables.

Also included is a test file.
This commit is contained in:
Jan de Visser 2021-06-17 13:23:52 -04:00 committed by Andreas Kling
parent a6ba05b02b
commit 2a46529170
10 changed files with 1186 additions and 5 deletions

View file

@ -22,6 +22,8 @@ class ColumnNameExpression;
class CommonTableExpression;
class CommonTableExpressionList;
class CreateTable;
class TupleDescriptor;
struct TupleElement;
class Delete;
class DropColumn;
class DropTable;
@ -58,7 +60,9 @@ class Statement;
class StringLiteral;
class TableOrSubquery;
class Token;
class Tuple;
class TypeName;
class UnaryOperatorExpression;
class Update;
class Value;
}