30 [[nodiscard]]
virtual std::string_view
BooleanLiteral(
bool value)
const noexcept = 0;
33 [[nodiscard]]
virtual std::string_view DateFunction() const noexcept = 0;
36 [[nodiscard]] virtual std::
string StringLiteral(std::string_view value) const noexcept = 0;
39 [[nodiscard]] virtual std::
string StringLiteral(
char value) const noexcept = 0;
48 [[nodiscard]] virtual std::
string Insert(std::string_view intoTable,
49 std::string_view fields,
50 std::string_view values) const = 0;
53 [[nodiscard]] virtual std::
string QueryLastInsertId(std::string_view tableName) const = 0;
56 [[nodiscard]] virtual std::
string SelectAll(
bool distinct,
57 std::string_view fields,
58 std::string_view fromTable,
59 std::string_view fromTableAlias,
60 std::string_view tableJoins,
61 std::string_view whereCondition,
62 std::string_view orderBy,
63 std::string_view groupBy) const = 0;
66 [[nodiscard]] virtual std::
string SelectFirst(
bool distinct,
67 std::string_view fields,
68 std::string_view fromTable,
69 std::string_view fromTableAlias,
70 std::string_view tableJoins,
71 std::string_view whereCondition,
72 std::string_view orderBy,
73 size_t count) const = 0;
76 [[nodiscard]] virtual std::
string SelectRange(
bool distinct,
77 std::string_view fields,
78 std::string_view fromTable,
79 std::string_view fromTableAlias,
80 std::string_view tableJoins,
81 std::string_view whereCondition,
82 std::string_view orderBy,
83 std::string_view groupBy,
85 std::
size_t limit) const = 0;
88 [[nodiscard]] virtual std::
string SelectCount(
bool distinct,
89 std::string_view fromTable,
90 std::string_view fromTableAlias,
91 std::string_view tableJoins,
92 std::string_view whereCondition) const = 0;
95 [[nodiscard]] virtual std::
string Update(std::string_view table,
96 std::string_view tableAlias,
97 std::string_view setFields,
98 std::string_view whereCondition) const = 0;
101 [[nodiscard]] virtual std::
string Delete(std::string_view fromTable,
102 std::string_view fromTableAlias,
103 std::string_view tableJoins,
104 std::string_view whereCondition) const = 0;
106 using StringList = std::vector<std::
string>;
109 [[nodiscard]] virtual std::
string ColumnType(SqlColumnTypeDefinition const& type) const = 0;
112 [[nodiscard]] virtual StringList CreateTable(std::string_view tableName,
116 [[nodiscard]] virtual StringList AlterTable(std::string_view tableName,
117 std::vector<SqlAlterTableCommand> const& commands) const = 0;
120 [[nodiscard]] virtual StringList DropTable(std::string_view const& tableName) const = 0;