summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibSQL/Forward.h
diff options
context:
space:
mode:
authorJan de Visser <jan@de-visser.net>2021-06-17 13:23:52 -0400
committerAndreas Kling <kling@serenityos.org>2021-06-19 22:06:45 +0200
commit2a465291703f553b281639cc13f4a834ff4125ab (patch)
treebf4a44dbcad2282513b5357c47f7b4d8c444f338 /Userland/Libraries/LibSQL/Forward.h
parenta6ba05b02b7e89102b3e724d48ae88fa38698334 (diff)
downloadserenity-2a465291703f553b281639cc13f4a834ff4125ab.zip
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.
Diffstat (limited to 'Userland/Libraries/LibSQL/Forward.h')
-rw-r--r--Userland/Libraries/LibSQL/Forward.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Userland/Libraries/LibSQL/Forward.h b/Userland/Libraries/LibSQL/Forward.h
index 14c08d0923..fffb12748f 100644
--- a/Userland/Libraries/LibSQL/Forward.h
+++ b/Userland/Libraries/LibSQL/Forward.h
@@ -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;
}