mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-27 23:09:08 +00:00
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.
68 lines
1.4 KiB
C++
68 lines
1.4 KiB
C++
/*
|
|
* Copyright (c) 2021, Tim Flynn <trflynn89@pm.me>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
namespace SQL {
|
|
class AddColumn;
|
|
class AlterTable;
|
|
class ASTNode;
|
|
class BetweenExpression;
|
|
class BinaryOperatorExpression;
|
|
class BlobLiteral;
|
|
class CaseExpression;
|
|
class CastExpression;
|
|
class ChainedExpression;
|
|
class CollateExpression;
|
|
class ColumnDefinition;
|
|
class ColumnNameExpression;
|
|
class CommonTableExpression;
|
|
class CommonTableExpressionList;
|
|
class CreateTable;
|
|
class TupleDescriptor;
|
|
struct TupleElement;
|
|
class Delete;
|
|
class DropColumn;
|
|
class DropTable;
|
|
class ErrorExpression;
|
|
class ErrorStatement;
|
|
class ExistsExpression;
|
|
class Expression;
|
|
class GroupByClause;
|
|
class InChainedExpression;
|
|
class InSelectionExpression;
|
|
class Insert;
|
|
class InTableExpression;
|
|
class InvertibleNestedDoubleExpression;
|
|
class InvertibleNestedExpression;
|
|
class IsExpression;
|
|
class Lexer;
|
|
class LimitClause;
|
|
class MatchExpression;
|
|
class NestedDoubleExpression;
|
|
class NestedExpression;
|
|
class NullExpression;
|
|
class NullLiteral;
|
|
class NumericLiteral;
|
|
class OrderingTerm;
|
|
class Parser;
|
|
class QualifiedTableName;
|
|
class RenameColumn;
|
|
class RenameTable;
|
|
class ResultColumn;
|
|
class ReturningClause;
|
|
class Select;
|
|
class SignedNumber;
|
|
class Statement;
|
|
class StringLiteral;
|
|
class TableOrSubquery;
|
|
class Token;
|
|
class Tuple;
|
|
class TypeName;
|
|
class UnaryOperatorExpression;
|
|
class Update;
|
|
class Value;
|
|
}
|