duckdb 0.3.2-dev988.0 → 0.3.2-dev992.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/duckdb.hpp +475 -475
- package/src/parquet-amalgamation.cpp +36313 -36313
package/src/duckdb.hpp
CHANGED
|
@@ -11,8 +11,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
|
11
11
|
#pragma once
|
|
12
12
|
#define DUCKDB_AMALGAMATION 1
|
|
13
13
|
#define DUCKDB_AMALGAMATION_EXTENDED 1
|
|
14
|
-
#define DUCKDB_SOURCE_ID "
|
|
15
|
-
#define DUCKDB_VERSION "0.3.2-
|
|
14
|
+
#define DUCKDB_SOURCE_ID "c16a2f0cb"
|
|
15
|
+
#define DUCKDB_VERSION "0.3.2-dev992"
|
|
16
16
|
//===----------------------------------------------------------------------===//
|
|
17
17
|
// DuckDB
|
|
18
18
|
//
|
|
@@ -20933,7 +20933,7 @@ private:
|
|
|
20933
20933
|
//===----------------------------------------------------------------------===//
|
|
20934
20934
|
// DuckDB
|
|
20935
20935
|
//
|
|
20936
|
-
// duckdb/parser/expression/
|
|
20936
|
+
// duckdb/parser/expression/star_expression.hpp
|
|
20937
20937
|
//
|
|
20938
20938
|
//
|
|
20939
20939
|
//===----------------------------------------------------------------------===//
|
|
@@ -20942,21 +20942,25 @@ private:
|
|
|
20942
20942
|
|
|
20943
20943
|
|
|
20944
20944
|
|
|
20945
|
+
|
|
20945
20946
|
namespace duckdb {
|
|
20946
20947
|
|
|
20947
|
-
|
|
20948
|
+
//! Represents a * expression in the SELECT clause
|
|
20949
|
+
class StarExpression : public ParsedExpression {
|
|
20948
20950
|
public:
|
|
20949
|
-
|
|
20950
|
-
unique_ptr<ParsedExpression> upper);
|
|
20951
|
+
StarExpression(string relation_name = string());
|
|
20951
20952
|
|
|
20952
|
-
|
|
20953
|
-
|
|
20954
|
-
|
|
20953
|
+
//! The relation name in case of tbl.*, or empty if this is a normal *
|
|
20954
|
+
string relation_name;
|
|
20955
|
+
//! List of columns to exclude from the STAR expression
|
|
20956
|
+
case_insensitive_set_t exclude_list;
|
|
20957
|
+
//! List of columns to replace with another expression
|
|
20958
|
+
case_insensitive_map_t<unique_ptr<ParsedExpression>> replace_list;
|
|
20955
20959
|
|
|
20956
20960
|
public:
|
|
20957
20961
|
string ToString() const override;
|
|
20958
20962
|
|
|
20959
|
-
static bool Equals(const
|
|
20963
|
+
static bool Equals(const StarExpression *a, const StarExpression *b);
|
|
20960
20964
|
|
|
20961
20965
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
20962
20966
|
|
|
@@ -20967,7 +20971,7 @@ public:
|
|
|
20967
20971
|
//===----------------------------------------------------------------------===//
|
|
20968
20972
|
// DuckDB
|
|
20969
20973
|
//
|
|
20970
|
-
// duckdb/parser/expression/
|
|
20974
|
+
// duckdb/parser/expression/conjunction_expression.hpp
|
|
20971
20975
|
//
|
|
20972
20976
|
//
|
|
20973
20977
|
//===----------------------------------------------------------------------===//
|
|
@@ -20976,23 +20980,61 @@ public:
|
|
|
20976
20980
|
|
|
20977
20981
|
|
|
20978
20982
|
|
|
20983
|
+
|
|
20979
20984
|
namespace duckdb {
|
|
20980
|
-
|
|
20985
|
+
|
|
20986
|
+
//! Represents a conjunction (AND/OR)
|
|
20987
|
+
class ConjunctionExpression : public ParsedExpression {
|
|
20981
20988
|
public:
|
|
20982
|
-
|
|
20989
|
+
explicit ConjunctionExpression(ExpressionType type);
|
|
20990
|
+
ConjunctionExpression(ExpressionType type, vector<unique_ptr<ParsedExpression>> children);
|
|
20991
|
+
ConjunctionExpression(ExpressionType type, unique_ptr<ParsedExpression> left, unique_ptr<ParsedExpression> right);
|
|
20983
20992
|
|
|
20984
|
-
|
|
20993
|
+
vector<unique_ptr<ParsedExpression>> children;
|
|
20985
20994
|
|
|
20986
20995
|
public:
|
|
20987
|
-
|
|
20988
|
-
return false;
|
|
20989
|
-
}
|
|
20996
|
+
void AddExpression(unique_ptr<ParsedExpression> expr);
|
|
20990
20997
|
|
|
20991
20998
|
string ToString() const override;
|
|
20992
20999
|
|
|
20993
|
-
static bool Equals(const
|
|
21000
|
+
static bool Equals(const ConjunctionExpression *a, const ConjunctionExpression *b);
|
|
21001
|
+
|
|
21002
|
+
unique_ptr<ParsedExpression> Copy() const override;
|
|
21003
|
+
|
|
21004
|
+
void Serialize(Serializer &serializer) override;
|
|
21005
|
+
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21006
|
+
};
|
|
21007
|
+
} // namespace duckdb
|
|
21008
|
+
//===----------------------------------------------------------------------===//
|
|
21009
|
+
// DuckDB
|
|
21010
|
+
//
|
|
21011
|
+
// duckdb/parser/expression/collate_expression.hpp
|
|
21012
|
+
//
|
|
21013
|
+
//
|
|
21014
|
+
//===----------------------------------------------------------------------===//
|
|
21015
|
+
|
|
21016
|
+
|
|
21017
|
+
|
|
21018
|
+
|
|
21019
|
+
|
|
21020
|
+
namespace duckdb {
|
|
21021
|
+
|
|
21022
|
+
//! CollateExpression represents a COLLATE statement
|
|
21023
|
+
class CollateExpression : public ParsedExpression {
|
|
21024
|
+
public:
|
|
21025
|
+
CollateExpression(string collation, unique_ptr<ParsedExpression> child);
|
|
21026
|
+
|
|
21027
|
+
//! The child of the cast expression
|
|
21028
|
+
unique_ptr<ParsedExpression> child;
|
|
21029
|
+
//! The collation clause
|
|
21030
|
+
string collation;
|
|
21031
|
+
|
|
21032
|
+
public:
|
|
21033
|
+
string ToString() const override;
|
|
21034
|
+
|
|
21035
|
+
static bool Equals(const CollateExpression *a, const CollateExpression *b);
|
|
21036
|
+
|
|
20994
21037
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
20995
|
-
hash_t Hash() const override;
|
|
20996
21038
|
|
|
20997
21039
|
void Serialize(Serializer &serializer) override;
|
|
20998
21040
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
@@ -21050,7 +21092,7 @@ public:
|
|
|
21050
21092
|
//===----------------------------------------------------------------------===//
|
|
21051
21093
|
// DuckDB
|
|
21052
21094
|
//
|
|
21053
|
-
// duckdb/parser/expression/
|
|
21095
|
+
// duckdb/parser/expression/constant_expression.hpp
|
|
21054
21096
|
//
|
|
21055
21097
|
//
|
|
21056
21098
|
//===----------------------------------------------------------------------===//
|
|
@@ -21059,34 +21101,34 @@ public:
|
|
|
21059
21101
|
|
|
21060
21102
|
|
|
21061
21103
|
|
|
21104
|
+
|
|
21062
21105
|
namespace duckdb {
|
|
21063
|
-
|
|
21106
|
+
|
|
21107
|
+
//! ConstantExpression represents a constant value in the query
|
|
21108
|
+
class ConstantExpression : public ParsedExpression {
|
|
21064
21109
|
public:
|
|
21065
|
-
|
|
21110
|
+
explicit ConstantExpression(Value val);
|
|
21066
21111
|
|
|
21067
|
-
|
|
21112
|
+
//! The constant value referenced
|
|
21113
|
+
Value value;
|
|
21068
21114
|
|
|
21069
21115
|
public:
|
|
21070
|
-
bool IsScalar() const override {
|
|
21071
|
-
return true;
|
|
21072
|
-
}
|
|
21073
|
-
bool HasParameter() const override {
|
|
21074
|
-
return true;
|
|
21075
|
-
}
|
|
21076
|
-
|
|
21077
21116
|
string ToString() const override;
|
|
21078
21117
|
|
|
21079
|
-
|
|
21118
|
+
static bool Equals(const ConstantExpression *a, const ConstantExpression *b);
|
|
21080
21119
|
hash_t Hash() const override;
|
|
21081
21120
|
|
|
21121
|
+
unique_ptr<ParsedExpression> Copy() const override;
|
|
21122
|
+
|
|
21082
21123
|
void Serialize(Serializer &serializer) override;
|
|
21083
21124
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21084
21125
|
};
|
|
21126
|
+
|
|
21085
21127
|
} // namespace duckdb
|
|
21086
21128
|
//===----------------------------------------------------------------------===//
|
|
21087
21129
|
// DuckDB
|
|
21088
21130
|
//
|
|
21089
|
-
// duckdb/parser/expression/
|
|
21131
|
+
// duckdb/parser/expression/lambda_expression.hpp
|
|
21090
21132
|
//
|
|
21091
21133
|
//
|
|
21092
21134
|
//===----------------------------------------------------------------------===//
|
|
@@ -21098,18 +21140,19 @@ public:
|
|
|
21098
21140
|
|
|
21099
21141
|
namespace duckdb {
|
|
21100
21142
|
|
|
21101
|
-
//!
|
|
21102
|
-
|
|
21143
|
+
//! LambdaExpression represents a lambda operator that can be used for e.g. mapping an expression to a list
|
|
21144
|
+
//! Lambda expressions are written in the form of "capture -> expr", e.g. "x -> x + 1"
|
|
21145
|
+
class LambdaExpression : public ParsedExpression {
|
|
21103
21146
|
public:
|
|
21104
|
-
|
|
21147
|
+
LambdaExpression(vector<string> parameters, unique_ptr<ParsedExpression> expression);
|
|
21105
21148
|
|
|
21106
|
-
|
|
21107
|
-
|
|
21149
|
+
vector<string> parameters;
|
|
21150
|
+
unique_ptr<ParsedExpression> expression;
|
|
21108
21151
|
|
|
21109
21152
|
public:
|
|
21110
21153
|
string ToString() const override;
|
|
21111
21154
|
|
|
21112
|
-
static bool Equals(const
|
|
21155
|
+
static bool Equals(const LambdaExpression *a, const LambdaExpression *b);
|
|
21113
21156
|
hash_t Hash() const override;
|
|
21114
21157
|
|
|
21115
21158
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
@@ -21122,7 +21165,7 @@ public:
|
|
|
21122
21165
|
//===----------------------------------------------------------------------===//
|
|
21123
21166
|
// DuckDB
|
|
21124
21167
|
//
|
|
21125
|
-
// duckdb/parser/expression/
|
|
21168
|
+
// duckdb/parser/expression/positional_reference_expression.hpp
|
|
21126
21169
|
//
|
|
21127
21170
|
//
|
|
21128
21171
|
//===----------------------------------------------------------------------===//
|
|
@@ -21132,10 +21175,11 @@ public:
|
|
|
21132
21175
|
|
|
21133
21176
|
|
|
21134
21177
|
namespace duckdb {
|
|
21135
|
-
|
|
21136
|
-
class DefaultExpression : public ParsedExpression {
|
|
21178
|
+
class PositionalReferenceExpression : public ParsedExpression {
|
|
21137
21179
|
public:
|
|
21138
|
-
|
|
21180
|
+
PositionalReferenceExpression(idx_t index);
|
|
21181
|
+
|
|
21182
|
+
idx_t index;
|
|
21139
21183
|
|
|
21140
21184
|
public:
|
|
21141
21185
|
bool IsScalar() const override {
|
|
@@ -21144,8 +21188,11 @@ public:
|
|
|
21144
21188
|
|
|
21145
21189
|
string ToString() const override;
|
|
21146
21190
|
|
|
21191
|
+
static bool Equals(const PositionalReferenceExpression *a, const PositionalReferenceExpression *b);
|
|
21147
21192
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
21193
|
+
hash_t Hash() const override;
|
|
21148
21194
|
|
|
21195
|
+
void Serialize(Serializer &serializer) override;
|
|
21149
21196
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21150
21197
|
};
|
|
21151
21198
|
} // namespace duckdb
|
|
@@ -21191,61 +21238,7 @@ public:
|
|
|
21191
21238
|
//===----------------------------------------------------------------------===//
|
|
21192
21239
|
// DuckDB
|
|
21193
21240
|
//
|
|
21194
|
-
// duckdb/parser/expression/
|
|
21195
|
-
//
|
|
21196
|
-
//
|
|
21197
|
-
//===----------------------------------------------------------------------===//
|
|
21198
|
-
|
|
21199
|
-
|
|
21200
|
-
|
|
21201
|
-
|
|
21202
|
-
|
|
21203
|
-
|
|
21204
|
-
|
|
21205
|
-
namespace duckdb {
|
|
21206
|
-
//! Represents a function call
|
|
21207
|
-
class FunctionExpression : public ParsedExpression {
|
|
21208
|
-
public:
|
|
21209
|
-
FunctionExpression(string schema_name, const string &function_name, vector<unique_ptr<ParsedExpression>> children,
|
|
21210
|
-
unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
|
|
21211
|
-
bool distinct = false, bool is_operator = false);
|
|
21212
|
-
FunctionExpression(const string &function_name, vector<unique_ptr<ParsedExpression>> children,
|
|
21213
|
-
unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
|
|
21214
|
-
bool distinct = false, bool is_operator = false);
|
|
21215
|
-
|
|
21216
|
-
//! Schema of the function
|
|
21217
|
-
string schema;
|
|
21218
|
-
//! Function name
|
|
21219
|
-
string function_name;
|
|
21220
|
-
//! Whether or not the function is an operator, only used for rendering
|
|
21221
|
-
bool is_operator;
|
|
21222
|
-
//! List of arguments to the function
|
|
21223
|
-
vector<unique_ptr<ParsedExpression>> children;
|
|
21224
|
-
//! Whether or not the aggregate function is distinct, only used for aggregates
|
|
21225
|
-
bool distinct;
|
|
21226
|
-
//! Expression representing a filter, only used for aggregates
|
|
21227
|
-
unique_ptr<ParsedExpression> filter;
|
|
21228
|
-
//! Modifier representing an ORDER BY, only used for aggregates
|
|
21229
|
-
unique_ptr<OrderModifier> order_bys;
|
|
21230
|
-
|
|
21231
|
-
public:
|
|
21232
|
-
string ToString() const override;
|
|
21233
|
-
|
|
21234
|
-
unique_ptr<ParsedExpression> Copy() const override;
|
|
21235
|
-
|
|
21236
|
-
static bool Equals(const FunctionExpression *a, const FunctionExpression *b);
|
|
21237
|
-
hash_t Hash() const override;
|
|
21238
|
-
|
|
21239
|
-
//! Serializes a FunctionExpression to a stand-alone binary blob
|
|
21240
|
-
void Serialize(Serializer &serializer) override;
|
|
21241
|
-
//! Deserializes a blob back into an FunctionExpression
|
|
21242
|
-
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21243
|
-
};
|
|
21244
|
-
} // namespace duckdb
|
|
21245
|
-
//===----------------------------------------------------------------------===//
|
|
21246
|
-
// DuckDB
|
|
21247
|
-
//
|
|
21248
|
-
// duckdb/parser/expression/lambda_expression.hpp
|
|
21241
|
+
// duckdb/parser/expression/between_expression.hpp
|
|
21249
21242
|
//
|
|
21250
21243
|
//
|
|
21251
21244
|
//===----------------------------------------------------------------------===//
|
|
@@ -21254,30 +21247,27 @@ public:
|
|
|
21254
21247
|
|
|
21255
21248
|
|
|
21256
21249
|
|
|
21257
|
-
|
|
21258
21250
|
namespace duckdb {
|
|
21259
21251
|
|
|
21260
|
-
|
|
21261
|
-
//! Lambda expressions are written in the form of "capture -> expr", e.g. "x -> x + 1"
|
|
21262
|
-
class LambdaExpression : public ParsedExpression {
|
|
21252
|
+
class BetweenExpression : public ParsedExpression {
|
|
21263
21253
|
public:
|
|
21264
|
-
|
|
21254
|
+
BetweenExpression(unique_ptr<ParsedExpression> input, unique_ptr<ParsedExpression> lower,
|
|
21255
|
+
unique_ptr<ParsedExpression> upper);
|
|
21265
21256
|
|
|
21266
|
-
|
|
21267
|
-
unique_ptr<ParsedExpression>
|
|
21257
|
+
unique_ptr<ParsedExpression> input;
|
|
21258
|
+
unique_ptr<ParsedExpression> lower;
|
|
21259
|
+
unique_ptr<ParsedExpression> upper;
|
|
21268
21260
|
|
|
21269
21261
|
public:
|
|
21270
21262
|
string ToString() const override;
|
|
21271
21263
|
|
|
21272
|
-
static bool Equals(const
|
|
21273
|
-
hash_t Hash() const override;
|
|
21264
|
+
static bool Equals(const BetweenExpression *a, const BetweenExpression *b);
|
|
21274
21265
|
|
|
21275
21266
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
21276
21267
|
|
|
21277
21268
|
void Serialize(Serializer &serializer) override;
|
|
21278
21269
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21279
21270
|
};
|
|
21280
|
-
|
|
21281
21271
|
} // namespace duckdb
|
|
21282
21272
|
//===----------------------------------------------------------------------===//
|
|
21283
21273
|
// DuckDB
|
|
@@ -21312,9 +21302,6 @@ public:
|
|
|
21312
21302
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21313
21303
|
};
|
|
21314
21304
|
} // namespace duckdb
|
|
21315
|
-
|
|
21316
|
-
|
|
21317
|
-
|
|
21318
21305
|
//===----------------------------------------------------------------------===//
|
|
21319
21306
|
// DuckDB
|
|
21320
21307
|
//
|
|
@@ -21354,10 +21341,18 @@ public:
|
|
|
21354
21341
|
};
|
|
21355
21342
|
} // namespace duckdb
|
|
21356
21343
|
|
|
21344
|
+
|
|
21345
|
+
|
|
21346
|
+
|
|
21347
|
+
|
|
21348
|
+
|
|
21349
|
+
|
|
21350
|
+
|
|
21351
|
+
|
|
21357
21352
|
//===----------------------------------------------------------------------===//
|
|
21358
21353
|
// DuckDB
|
|
21359
21354
|
//
|
|
21360
|
-
// duckdb/parser/expression/
|
|
21355
|
+
// duckdb/parser/expression/default_expression.hpp
|
|
21361
21356
|
//
|
|
21362
21357
|
//
|
|
21363
21358
|
//===----------------------------------------------------------------------===//
|
|
@@ -21367,35 +21362,28 @@ public:
|
|
|
21367
21362
|
|
|
21368
21363
|
|
|
21369
21364
|
namespace duckdb {
|
|
21370
|
-
|
|
21371
|
-
|
|
21372
|
-
class CollateExpression : public ParsedExpression {
|
|
21365
|
+
//! Represents the default value of a column
|
|
21366
|
+
class DefaultExpression : public ParsedExpression {
|
|
21373
21367
|
public:
|
|
21374
|
-
|
|
21375
|
-
|
|
21376
|
-
//! The child of the cast expression
|
|
21377
|
-
unique_ptr<ParsedExpression> child;
|
|
21378
|
-
//! The collation clause
|
|
21379
|
-
string collation;
|
|
21368
|
+
DefaultExpression();
|
|
21380
21369
|
|
|
21381
21370
|
public:
|
|
21382
|
-
|
|
21371
|
+
bool IsScalar() const override {
|
|
21372
|
+
return false;
|
|
21373
|
+
}
|
|
21383
21374
|
|
|
21384
|
-
|
|
21375
|
+
string ToString() const override;
|
|
21385
21376
|
|
|
21386
21377
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
21387
21378
|
|
|
21388
|
-
void Serialize(Serializer &serializer) override;
|
|
21389
21379
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21390
21380
|
};
|
|
21391
21381
|
} // namespace duckdb
|
|
21392
21382
|
|
|
21393
|
-
|
|
21394
|
-
|
|
21395
21383
|
//===----------------------------------------------------------------------===//
|
|
21396
21384
|
// DuckDB
|
|
21397
21385
|
//
|
|
21398
|
-
// duckdb/parser/expression/
|
|
21386
|
+
// duckdb/parser/expression/function_expression.hpp
|
|
21399
21387
|
//
|
|
21400
21388
|
//
|
|
21401
21389
|
//===----------------------------------------------------------------------===//
|
|
@@ -21405,35 +21393,49 @@ public:
|
|
|
21405
21393
|
|
|
21406
21394
|
|
|
21407
21395
|
|
|
21408
|
-
namespace duckdb {
|
|
21409
|
-
|
|
21410
|
-
//! Represents a conjunction (AND/OR)
|
|
21411
|
-
class ConjunctionExpression : public ParsedExpression {
|
|
21412
|
-
public:
|
|
21413
|
-
explicit ConjunctionExpression(ExpressionType type);
|
|
21414
|
-
ConjunctionExpression(ExpressionType type, vector<unique_ptr<ParsedExpression>> children);
|
|
21415
|
-
ConjunctionExpression(ExpressionType type, unique_ptr<ParsedExpression> left, unique_ptr<ParsedExpression> right);
|
|
21416
|
-
|
|
21417
|
-
vector<unique_ptr<ParsedExpression>> children;
|
|
21418
21396
|
|
|
21397
|
+
namespace duckdb {
|
|
21398
|
+
//! Represents a function call
|
|
21399
|
+
class FunctionExpression : public ParsedExpression {
|
|
21419
21400
|
public:
|
|
21420
|
-
|
|
21401
|
+
FunctionExpression(string schema_name, const string &function_name, vector<unique_ptr<ParsedExpression>> children,
|
|
21402
|
+
unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
|
|
21403
|
+
bool distinct = false, bool is_operator = false);
|
|
21404
|
+
FunctionExpression(const string &function_name, vector<unique_ptr<ParsedExpression>> children,
|
|
21405
|
+
unique_ptr<ParsedExpression> filter = nullptr, unique_ptr<OrderModifier> order_bys = nullptr,
|
|
21406
|
+
bool distinct = false, bool is_operator = false);
|
|
21421
21407
|
|
|
21422
|
-
|
|
21408
|
+
//! Schema of the function
|
|
21409
|
+
string schema;
|
|
21410
|
+
//! Function name
|
|
21411
|
+
string function_name;
|
|
21412
|
+
//! Whether or not the function is an operator, only used for rendering
|
|
21413
|
+
bool is_operator;
|
|
21414
|
+
//! List of arguments to the function
|
|
21415
|
+
vector<unique_ptr<ParsedExpression>> children;
|
|
21416
|
+
//! Whether or not the aggregate function is distinct, only used for aggregates
|
|
21417
|
+
bool distinct;
|
|
21418
|
+
//! Expression representing a filter, only used for aggregates
|
|
21419
|
+
unique_ptr<ParsedExpression> filter;
|
|
21420
|
+
//! Modifier representing an ORDER BY, only used for aggregates
|
|
21421
|
+
unique_ptr<OrderModifier> order_bys;
|
|
21423
21422
|
|
|
21424
|
-
|
|
21423
|
+
public:
|
|
21424
|
+
string ToString() const override;
|
|
21425
21425
|
|
|
21426
21426
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
21427
21427
|
|
|
21428
|
+
static bool Equals(const FunctionExpression *a, const FunctionExpression *b);
|
|
21429
|
+
hash_t Hash() const override;
|
|
21430
|
+
|
|
21431
|
+
//! Serializes a FunctionExpression to a stand-alone binary blob
|
|
21428
21432
|
void Serialize(Serializer &serializer) override;
|
|
21433
|
+
//! Deserializes a blob back into an FunctionExpression
|
|
21429
21434
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
21430
21435
|
};
|
|
21431
21436
|
} // namespace duckdb
|
|
21432
21437
|
|
|
21433
21438
|
|
|
21434
|
-
|
|
21435
|
-
|
|
21436
|
-
|
|
21437
21439
|
//===----------------------------------------------------------------------===//
|
|
21438
21440
|
// DuckDB
|
|
21439
21441
|
//
|
|
@@ -21469,12 +21471,10 @@ public:
|
|
|
21469
21471
|
};
|
|
21470
21472
|
} // namespace duckdb
|
|
21471
21473
|
|
|
21472
|
-
|
|
21473
|
-
|
|
21474
21474
|
//===----------------------------------------------------------------------===//
|
|
21475
21475
|
// DuckDB
|
|
21476
21476
|
//
|
|
21477
|
-
// duckdb/parser/expression/
|
|
21477
|
+
// duckdb/parser/expression/parameter_expression.hpp
|
|
21478
21478
|
//
|
|
21479
21479
|
//
|
|
21480
21480
|
//===----------------------------------------------------------------------===//
|
|
@@ -21483,27 +21483,25 @@ public:
|
|
|
21483
21483
|
|
|
21484
21484
|
|
|
21485
21485
|
|
|
21486
|
-
|
|
21487
21486
|
namespace duckdb {
|
|
21488
|
-
|
|
21489
|
-
//! Represents a * expression in the SELECT clause
|
|
21490
|
-
class StarExpression : public ParsedExpression {
|
|
21487
|
+
class ParameterExpression : public ParsedExpression {
|
|
21491
21488
|
public:
|
|
21492
|
-
|
|
21489
|
+
ParameterExpression();
|
|
21493
21490
|
|
|
21494
|
-
|
|
21495
|
-
string relation_name;
|
|
21496
|
-
//! List of columns to exclude from the STAR expression
|
|
21497
|
-
case_insensitive_set_t exclude_list;
|
|
21498
|
-
//! List of columns to replace with another expression
|
|
21499
|
-
case_insensitive_map_t<unique_ptr<ParsedExpression>> replace_list;
|
|
21491
|
+
idx_t parameter_nr;
|
|
21500
21492
|
|
|
21501
21493
|
public:
|
|
21502
|
-
|
|
21494
|
+
bool IsScalar() const override {
|
|
21495
|
+
return true;
|
|
21496
|
+
}
|
|
21497
|
+
bool HasParameter() const override {
|
|
21498
|
+
return true;
|
|
21499
|
+
}
|
|
21503
21500
|
|
|
21504
|
-
|
|
21501
|
+
string ToString() const override;
|
|
21505
21502
|
|
|
21506
21503
|
unique_ptr<ParsedExpression> Copy() const override;
|
|
21504
|
+
hash_t Hash() const override;
|
|
21507
21505
|
|
|
21508
21506
|
void Serialize(Serializer &serializer) override;
|
|
21509
21507
|
static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
|
|
@@ -21512,10 +21510,12 @@ public:
|
|
|
21512
21510
|
|
|
21513
21511
|
|
|
21514
21512
|
|
|
21513
|
+
|
|
21514
|
+
|
|
21515
21515
|
//===----------------------------------------------------------------------===//
|
|
21516
21516
|
// DuckDB
|
|
21517
21517
|
//
|
|
21518
|
-
// duckdb/parser/parsed_data/
|
|
21518
|
+
// duckdb/parser/parsed_data/create_type_info.hpp
|
|
21519
21519
|
//
|
|
21520
21520
|
//
|
|
21521
21521
|
//===----------------------------------------------------------------------===//
|
|
@@ -21525,10 +21525,35 @@ public:
|
|
|
21525
21525
|
|
|
21526
21526
|
|
|
21527
21527
|
|
|
21528
|
+
|
|
21529
|
+
|
|
21530
|
+
namespace duckdb {
|
|
21531
|
+
|
|
21532
|
+
struct CreateTypeInfo : public CreateInfo {
|
|
21533
|
+
|
|
21534
|
+
CreateTypeInfo() : CreateInfo(CatalogType::TYPE_ENTRY) {
|
|
21535
|
+
}
|
|
21536
|
+
|
|
21537
|
+
//! Name of the Type
|
|
21538
|
+
string name;
|
|
21539
|
+
//! Shared Pointer of Logical Type
|
|
21540
|
+
unique_ptr<LogicalType> type;
|
|
21541
|
+
|
|
21542
|
+
public:
|
|
21543
|
+
unique_ptr<CreateInfo> Copy() const override {
|
|
21544
|
+
auto result = make_unique<CreateTypeInfo>();
|
|
21545
|
+
CopyProperties(*result);
|
|
21546
|
+
result->name = name;
|
|
21547
|
+
result->type = make_unique<LogicalType>(*type);
|
|
21548
|
+
return move(result);
|
|
21549
|
+
}
|
|
21550
|
+
};
|
|
21551
|
+
|
|
21552
|
+
} // namespace duckdb
|
|
21528
21553
|
//===----------------------------------------------------------------------===//
|
|
21529
21554
|
// DuckDB
|
|
21530
21555
|
//
|
|
21531
|
-
// duckdb/parser/
|
|
21556
|
+
// duckdb/parser/parsed_data/vacuum_info.hpp
|
|
21532
21557
|
//
|
|
21533
21558
|
//
|
|
21534
21559
|
//===----------------------------------------------------------------------===//
|
|
@@ -21537,73 +21562,59 @@ public:
|
|
|
21537
21562
|
|
|
21538
21563
|
|
|
21539
21564
|
|
|
21540
|
-
|
|
21541
21565
|
namespace duckdb {
|
|
21542
|
-
|
|
21543
|
-
class
|
|
21566
|
+
|
|
21567
|
+
enum class LoadType { LOAD, INSTALL, FORCE_INSTALL };
|
|
21568
|
+
|
|
21569
|
+
struct LoadInfo : public ParseInfo {
|
|
21570
|
+
std::string filename;
|
|
21571
|
+
LoadType load_type;
|
|
21572
|
+
|
|
21544
21573
|
public:
|
|
21545
|
-
|
|
21574
|
+
unique_ptr<LoadInfo> Copy() const {
|
|
21575
|
+
auto result = make_unique<LoadInfo>();
|
|
21576
|
+
result->filename = filename;
|
|
21577
|
+
result->load_type = load_type;
|
|
21578
|
+
return result;
|
|
21546
21579
|
}
|
|
21580
|
+
};
|
|
21547
21581
|
|
|
21548
|
-
|
|
21549
|
-
|
|
21550
|
-
|
|
21551
|
-
|
|
21552
|
-
|
|
21553
|
-
|
|
21582
|
+
} // namespace duckdb
|
|
21583
|
+
//===----------------------------------------------------------------------===//
|
|
21584
|
+
// DuckDB
|
|
21585
|
+
//
|
|
21586
|
+
// duckdb/parser/parsed_data/export_table_data.hpp
|
|
21587
|
+
//
|
|
21588
|
+
//
|
|
21589
|
+
//===----------------------------------------------------------------------===//
|
|
21554
21590
|
|
|
21555
|
-
public:
|
|
21556
|
-
string ToString() const override;
|
|
21557
|
-
bool Equals(const TableRef *other_p) const override;
|
|
21558
21591
|
|
|
21559
|
-
unique_ptr<TableRef> Copy() override;
|
|
21560
21592
|
|
|
21561
|
-
//! Serializes a blob into a BaseTableRef
|
|
21562
|
-
void Serialize(Serializer &serializer) override;
|
|
21563
|
-
//! Deserializes a blob back into a BaseTableRef
|
|
21564
|
-
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
21565
|
-
};
|
|
21566
|
-
} // namespace duckdb
|
|
21567
21593
|
|
|
21568
21594
|
|
|
21569
21595
|
|
|
21570
21596
|
namespace duckdb {
|
|
21571
21597
|
|
|
21572
|
-
struct
|
|
21573
|
-
|
|
21574
|
-
|
|
21598
|
+
struct ExportedTableData {
|
|
21599
|
+
//! Name of the exported table
|
|
21600
|
+
string table_name;
|
|
21575
21601
|
|
|
21576
|
-
//!
|
|
21577
|
-
|
|
21578
|
-
//! Name of the Index
|
|
21579
|
-
string index_name;
|
|
21580
|
-
//! If it is an unique index
|
|
21581
|
-
bool unique = false;
|
|
21582
|
-
//! The table to create the index on
|
|
21583
|
-
unique_ptr<BaseTableRef> table;
|
|
21584
|
-
//! Set of expressions to index by
|
|
21585
|
-
vector<unique_ptr<ParsedExpression>> expressions;
|
|
21602
|
+
//! Name of the schema
|
|
21603
|
+
string schema_name;
|
|
21586
21604
|
|
|
21587
|
-
|
|
21588
|
-
|
|
21589
|
-
|
|
21590
|
-
|
|
21591
|
-
|
|
21592
|
-
|
|
21593
|
-
result->unique = unique;
|
|
21594
|
-
result->table = unique_ptr_cast<TableRef, BaseTableRef>(table->Copy());
|
|
21595
|
-
for (auto &expr : expressions) {
|
|
21596
|
-
result->expressions.push_back(expr->Copy());
|
|
21597
|
-
}
|
|
21598
|
-
return move(result);
|
|
21599
|
-
}
|
|
21605
|
+
//! Path to be exported
|
|
21606
|
+
string file_path;
|
|
21607
|
+
};
|
|
21608
|
+
|
|
21609
|
+
struct BoundExportData : public ParseInfo {
|
|
21610
|
+
unordered_map<TableCatalogEntry *, ExportedTableData> data;
|
|
21600
21611
|
};
|
|
21601
21612
|
|
|
21602
21613
|
} // namespace duckdb
|
|
21603
21614
|
//===----------------------------------------------------------------------===//
|
|
21604
21615
|
// DuckDB
|
|
21605
21616
|
//
|
|
21606
|
-
// duckdb/parser/parsed_data/
|
|
21617
|
+
// duckdb/parser/parsed_data/vacuum_info.hpp
|
|
21607
21618
|
//
|
|
21608
21619
|
//
|
|
21609
21620
|
//===----------------------------------------------------------------------===//
|
|
@@ -21612,41 +21623,17 @@ public:
|
|
|
21612
21623
|
|
|
21613
21624
|
|
|
21614
21625
|
|
|
21615
|
-
|
|
21616
21626
|
namespace duckdb {
|
|
21617
21627
|
|
|
21618
|
-
struct
|
|
21619
|
-
|
|
21620
|
-
}
|
|
21621
|
-
CreateViewInfo(string schema, string view_name)
|
|
21622
|
-
: CreateInfo(CatalogType::VIEW_ENTRY, schema), view_name(view_name) {
|
|
21623
|
-
}
|
|
21624
|
-
|
|
21625
|
-
//! Table name to insert to
|
|
21626
|
-
string view_name;
|
|
21627
|
-
//! Aliases of the view
|
|
21628
|
-
vector<string> aliases;
|
|
21629
|
-
//! Return types
|
|
21630
|
-
vector<LogicalType> types;
|
|
21631
|
-
//! The SelectStatement of the view
|
|
21632
|
-
unique_ptr<SelectStatement> query;
|
|
21633
|
-
|
|
21634
|
-
public:
|
|
21635
|
-
unique_ptr<CreateInfo> Copy() const override {
|
|
21636
|
-
auto result = make_unique<CreateViewInfo>(schema, view_name);
|
|
21637
|
-
CopyProperties(*result);
|
|
21638
|
-
result->aliases = aliases;
|
|
21639
|
-
result->types = types;
|
|
21640
|
-
result->query = unique_ptr_cast<SQLStatement, SelectStatement>(query->Copy());
|
|
21641
|
-
return move(result);
|
|
21642
|
-
}
|
|
21628
|
+
struct VacuumInfo : public ParseInfo {
|
|
21629
|
+
// nothing for now
|
|
21643
21630
|
};
|
|
21644
21631
|
|
|
21645
21632
|
} // namespace duckdb
|
|
21646
21633
|
//===----------------------------------------------------------------------===//
|
|
21647
21634
|
// DuckDB
|
|
21648
21635
|
//
|
|
21649
|
-
// duckdb/parser/parsed_data/
|
|
21636
|
+
// duckdb/parser/parsed_data/create_collation_info.hpp
|
|
21650
21637
|
//
|
|
21651
21638
|
//
|
|
21652
21639
|
//===----------------------------------------------------------------------===//
|
|
@@ -21658,25 +21645,27 @@ public:
|
|
|
21658
21645
|
|
|
21659
21646
|
namespace duckdb {
|
|
21660
21647
|
|
|
21661
|
-
struct
|
|
21662
|
-
|
|
21663
|
-
:
|
|
21664
|
-
|
|
21665
|
-
this->name =
|
|
21666
|
-
}
|
|
21667
|
-
CreatePragmaFunctionInfo(string name, vector<PragmaFunction> functions_)
|
|
21668
|
-
: CreateFunctionInfo(CatalogType::PRAGMA_FUNCTION_ENTRY), functions(move(functions_)) {
|
|
21669
|
-
this->name = name;
|
|
21670
|
-
for (auto &function : functions) {
|
|
21671
|
-
function.name = name;
|
|
21672
|
-
}
|
|
21648
|
+
struct CreateCollationInfo : public CreateInfo {
|
|
21649
|
+
CreateCollationInfo(string name_p, ScalarFunction function_p, bool combinable_p, bool not_required_for_equality_p)
|
|
21650
|
+
: CreateInfo(CatalogType::COLLATION_ENTRY), function(move(function_p)), combinable(combinable_p),
|
|
21651
|
+
not_required_for_equality(not_required_for_equality_p) {
|
|
21652
|
+
this->name = move(name_p);
|
|
21673
21653
|
}
|
|
21674
21654
|
|
|
21675
|
-
|
|
21655
|
+
//! The name of the collation
|
|
21656
|
+
string name;
|
|
21657
|
+
//! The collation function to push in case collation is required
|
|
21658
|
+
ScalarFunction function;
|
|
21659
|
+
//! Whether or not the collation can be combined with other collations.
|
|
21660
|
+
bool combinable;
|
|
21661
|
+
//! Whether or not the collation is required for equality comparisons or not. For many collations a binary
|
|
21662
|
+
//! comparison for equality comparisons is correct, allowing us to skip the collation in these cases which greatly
|
|
21663
|
+
//! speeds up processing.
|
|
21664
|
+
bool not_required_for_equality;
|
|
21676
21665
|
|
|
21677
21666
|
public:
|
|
21678
21667
|
unique_ptr<CreateInfo> Copy() const override {
|
|
21679
|
-
auto result = make_unique<
|
|
21668
|
+
auto result = make_unique<CreateCollationInfo>(name, function, combinable, not_required_for_equality);
|
|
21680
21669
|
CopyProperties(*result);
|
|
21681
21670
|
return move(result);
|
|
21682
21671
|
}
|
|
@@ -21730,7 +21719,7 @@ public:
|
|
|
21730
21719
|
//===----------------------------------------------------------------------===//
|
|
21731
21720
|
// DuckDB
|
|
21732
21721
|
//
|
|
21733
|
-
// duckdb/parser/parsed_data/
|
|
21722
|
+
// duckdb/parser/parsed_data/create_view_info.hpp
|
|
21734
21723
|
//
|
|
21735
21724
|
//
|
|
21736
21725
|
//===----------------------------------------------------------------------===//
|
|
@@ -21739,23 +21728,41 @@ public:
|
|
|
21739
21728
|
|
|
21740
21729
|
|
|
21741
21730
|
|
|
21742
|
-
namespace duckdb {
|
|
21743
21731
|
|
|
21744
|
-
|
|
21732
|
+
namespace duckdb {
|
|
21745
21733
|
|
|
21746
|
-
struct
|
|
21747
|
-
|
|
21734
|
+
struct CreateViewInfo : public CreateInfo {
|
|
21735
|
+
CreateViewInfo() : CreateInfo(CatalogType::VIEW_ENTRY, INVALID_SCHEMA) {
|
|
21736
|
+
}
|
|
21737
|
+
CreateViewInfo(string schema, string view_name)
|
|
21738
|
+
: CreateInfo(CatalogType::VIEW_ENTRY, schema), view_name(view_name) {
|
|
21748
21739
|
}
|
|
21749
21740
|
|
|
21750
|
-
//!
|
|
21751
|
-
|
|
21741
|
+
//! Table name to insert to
|
|
21742
|
+
string view_name;
|
|
21743
|
+
//! Aliases of the view
|
|
21744
|
+
vector<string> aliases;
|
|
21745
|
+
//! Return types
|
|
21746
|
+
vector<LogicalType> types;
|
|
21747
|
+
//! The SelectStatement of the view
|
|
21748
|
+
unique_ptr<SelectStatement> query;
|
|
21749
|
+
|
|
21750
|
+
public:
|
|
21751
|
+
unique_ptr<CreateInfo> Copy() const override {
|
|
21752
|
+
auto result = make_unique<CreateViewInfo>(schema, view_name);
|
|
21753
|
+
CopyProperties(*result);
|
|
21754
|
+
result->aliases = aliases;
|
|
21755
|
+
result->types = types;
|
|
21756
|
+
result->query = unique_ptr_cast<SQLStatement, SelectStatement>(query->Copy());
|
|
21757
|
+
return move(result);
|
|
21758
|
+
}
|
|
21752
21759
|
};
|
|
21753
21760
|
|
|
21754
21761
|
} // namespace duckdb
|
|
21755
21762
|
//===----------------------------------------------------------------------===//
|
|
21756
21763
|
// DuckDB
|
|
21757
21764
|
//
|
|
21758
|
-
// duckdb/parser/parsed_data/
|
|
21765
|
+
// duckdb/parser/parsed_data/create_index_info.hpp
|
|
21759
21766
|
//
|
|
21760
21767
|
//
|
|
21761
21768
|
//===----------------------------------------------------------------------===//
|
|
@@ -21765,35 +21772,10 @@ struct TransactionInfo : public ParseInfo {
|
|
|
21765
21772
|
|
|
21766
21773
|
|
|
21767
21774
|
|
|
21768
|
-
|
|
21769
|
-
|
|
21770
|
-
namespace duckdb {
|
|
21771
|
-
|
|
21772
|
-
struct CreateTypeInfo : public CreateInfo {
|
|
21773
|
-
|
|
21774
|
-
CreateTypeInfo() : CreateInfo(CatalogType::TYPE_ENTRY) {
|
|
21775
|
-
}
|
|
21776
|
-
|
|
21777
|
-
//! Name of the Type
|
|
21778
|
-
string name;
|
|
21779
|
-
//! Shared Pointer of Logical Type
|
|
21780
|
-
unique_ptr<LogicalType> type;
|
|
21781
|
-
|
|
21782
|
-
public:
|
|
21783
|
-
unique_ptr<CreateInfo> Copy() const override {
|
|
21784
|
-
auto result = make_unique<CreateTypeInfo>();
|
|
21785
|
-
CopyProperties(*result);
|
|
21786
|
-
result->name = name;
|
|
21787
|
-
result->type = make_unique<LogicalType>(*type);
|
|
21788
|
-
return move(result);
|
|
21789
|
-
}
|
|
21790
|
-
};
|
|
21791
|
-
|
|
21792
|
-
} // namespace duckdb
|
|
21793
21775
|
//===----------------------------------------------------------------------===//
|
|
21794
21776
|
// DuckDB
|
|
21795
21777
|
//
|
|
21796
|
-
// duckdb/parser/
|
|
21778
|
+
// duckdb/parser/tableref/basetableref.hpp
|
|
21797
21779
|
//
|
|
21798
21780
|
//
|
|
21799
21781
|
//===----------------------------------------------------------------------===//
|
|
@@ -21802,61 +21784,64 @@ public:
|
|
|
21802
21784
|
|
|
21803
21785
|
|
|
21804
21786
|
|
|
21805
|
-
namespace duckdb {
|
|
21806
|
-
|
|
21807
|
-
enum class LoadType { LOAD, INSTALL, FORCE_INSTALL };
|
|
21808
|
-
|
|
21809
|
-
struct LoadInfo : public ParseInfo {
|
|
21810
|
-
std::string filename;
|
|
21811
|
-
LoadType load_type;
|
|
21812
21787
|
|
|
21788
|
+
namespace duckdb {
|
|
21789
|
+
//! Represents a TableReference to a base table in the schema
|
|
21790
|
+
class BaseTableRef : public TableRef {
|
|
21813
21791
|
public:
|
|
21814
|
-
|
|
21815
|
-
auto result = make_unique<LoadInfo>();
|
|
21816
|
-
result->filename = filename;
|
|
21817
|
-
result->load_type = load_type;
|
|
21818
|
-
return result;
|
|
21792
|
+
BaseTableRef() : TableRef(TableReferenceType::BASE_TABLE), schema_name(INVALID_SCHEMA) {
|
|
21819
21793
|
}
|
|
21820
|
-
};
|
|
21821
21794
|
|
|
21822
|
-
|
|
21823
|
-
|
|
21824
|
-
|
|
21825
|
-
|
|
21826
|
-
|
|
21827
|
-
|
|
21828
|
-
//
|
|
21829
|
-
//===----------------------------------------------------------------------===//
|
|
21795
|
+
//! Schema name
|
|
21796
|
+
string schema_name;
|
|
21797
|
+
//! Table name
|
|
21798
|
+
string table_name;
|
|
21799
|
+
//! Aliases for the column names
|
|
21800
|
+
vector<string> column_name_alias;
|
|
21830
21801
|
|
|
21802
|
+
public:
|
|
21803
|
+
string ToString() const override;
|
|
21804
|
+
bool Equals(const TableRef *other_p) const override;
|
|
21831
21805
|
|
|
21806
|
+
unique_ptr<TableRef> Copy() override;
|
|
21832
21807
|
|
|
21808
|
+
//! Serializes a blob into a BaseTableRef
|
|
21809
|
+
void Serialize(Serializer &serializer) override;
|
|
21810
|
+
//! Deserializes a blob back into a BaseTableRef
|
|
21811
|
+
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
21812
|
+
};
|
|
21813
|
+
} // namespace duckdb
|
|
21833
21814
|
|
|
21834
21815
|
|
|
21835
21816
|
|
|
21836
21817
|
namespace duckdb {
|
|
21837
21818
|
|
|
21838
|
-
struct
|
|
21839
|
-
|
|
21840
|
-
: CreateInfo(CatalogType::COLLATION_ENTRY), function(move(function_p)), combinable(combinable_p),
|
|
21841
|
-
not_required_for_equality(not_required_for_equality_p) {
|
|
21842
|
-
this->name = move(name_p);
|
|
21819
|
+
struct CreateIndexInfo : public CreateInfo {
|
|
21820
|
+
CreateIndexInfo() : CreateInfo(CatalogType::INDEX_ENTRY) {
|
|
21843
21821
|
}
|
|
21844
21822
|
|
|
21845
|
-
//!
|
|
21846
|
-
|
|
21847
|
-
//!
|
|
21848
|
-
|
|
21849
|
-
//!
|
|
21850
|
-
bool
|
|
21851
|
-
//!
|
|
21852
|
-
|
|
21853
|
-
//!
|
|
21854
|
-
|
|
21823
|
+
//! Index Type (e.g., B+-tree, Skip-List, ...)
|
|
21824
|
+
IndexType index_type;
|
|
21825
|
+
//! Name of the Index
|
|
21826
|
+
string index_name;
|
|
21827
|
+
//! If it is an unique index
|
|
21828
|
+
bool unique = false;
|
|
21829
|
+
//! The table to create the index on
|
|
21830
|
+
unique_ptr<BaseTableRef> table;
|
|
21831
|
+
//! Set of expressions to index by
|
|
21832
|
+
vector<unique_ptr<ParsedExpression>> expressions;
|
|
21855
21833
|
|
|
21856
21834
|
public:
|
|
21857
21835
|
unique_ptr<CreateInfo> Copy() const override {
|
|
21858
|
-
auto result = make_unique<
|
|
21836
|
+
auto result = make_unique<CreateIndexInfo>();
|
|
21859
21837
|
CopyProperties(*result);
|
|
21838
|
+
result->index_type = index_type;
|
|
21839
|
+
result->index_name = index_name;
|
|
21840
|
+
result->unique = unique;
|
|
21841
|
+
result->table = unique_ptr_cast<TableRef, BaseTableRef>(table->Copy());
|
|
21842
|
+
for (auto &expr : expressions) {
|
|
21843
|
+
result->expressions.push_back(expr->Copy());
|
|
21844
|
+
}
|
|
21860
21845
|
return move(result);
|
|
21861
21846
|
}
|
|
21862
21847
|
};
|
|
@@ -21865,7 +21850,7 @@ public:
|
|
|
21865
21850
|
//===----------------------------------------------------------------------===//
|
|
21866
21851
|
// DuckDB
|
|
21867
21852
|
//
|
|
21868
|
-
// duckdb/parser/parsed_data/
|
|
21853
|
+
// duckdb/parser/parsed_data/show_select_info.hpp
|
|
21869
21854
|
//
|
|
21870
21855
|
//
|
|
21871
21856
|
//===----------------------------------------------------------------------===//
|
|
@@ -21874,17 +21859,26 @@ public:
|
|
|
21874
21859
|
|
|
21875
21860
|
|
|
21876
21861
|
|
|
21862
|
+
|
|
21877
21863
|
namespace duckdb {
|
|
21878
21864
|
|
|
21879
|
-
struct
|
|
21880
|
-
|
|
21881
|
-
|
|
21865
|
+
struct ShowSelectInfo : public ParseInfo {
|
|
21866
|
+
//! Types of projected columns
|
|
21867
|
+
vector<LogicalType> types;
|
|
21868
|
+
//! The QueryNode of select query
|
|
21869
|
+
unique_ptr<QueryNode> query;
|
|
21870
|
+
//! Aliases of projected columns
|
|
21871
|
+
vector<string> aliases;
|
|
21872
|
+
//! Whether or not we are requesting a summary or a describe
|
|
21873
|
+
bool is_summary;
|
|
21882
21874
|
|
|
21883
|
-
|
|
21884
|
-
|
|
21885
|
-
|
|
21886
|
-
|
|
21887
|
-
|
|
21875
|
+
unique_ptr<ShowSelectInfo> Copy() {
|
|
21876
|
+
auto result = make_unique<ShowSelectInfo>();
|
|
21877
|
+
result->types = types;
|
|
21878
|
+
result->query = query->Copy();
|
|
21879
|
+
result->aliases = aliases;
|
|
21880
|
+
result->is_summary = is_summary;
|
|
21881
|
+
return result;
|
|
21888
21882
|
}
|
|
21889
21883
|
};
|
|
21890
21884
|
|
|
@@ -21892,7 +21886,7 @@ public:
|
|
|
21892
21886
|
//===----------------------------------------------------------------------===//
|
|
21893
21887
|
// DuckDB
|
|
21894
21888
|
//
|
|
21895
|
-
// duckdb/parser/parsed_data/
|
|
21889
|
+
// duckdb/parser/parsed_data/transaction_info.hpp
|
|
21896
21890
|
//
|
|
21897
21891
|
//
|
|
21898
21892
|
//===----------------------------------------------------------------------===//
|
|
@@ -21903,26 +21897,21 @@ public:
|
|
|
21903
21897
|
|
|
21904
21898
|
namespace duckdb {
|
|
21905
21899
|
|
|
21906
|
-
|
|
21907
|
-
// nothing for now
|
|
21908
|
-
};
|
|
21909
|
-
|
|
21910
|
-
} // namespace duckdb
|
|
21911
|
-
//===----------------------------------------------------------------------===//
|
|
21912
|
-
// DuckDB
|
|
21913
|
-
//
|
|
21914
|
-
// duckdb/parser/parsed_data/create_macro_info.hpp
|
|
21915
|
-
//
|
|
21916
|
-
//
|
|
21917
|
-
//===----------------------------------------------------------------------===//
|
|
21918
|
-
|
|
21900
|
+
enum class TransactionType : uint8_t { INVALID, BEGIN_TRANSACTION, COMMIT, ROLLBACK };
|
|
21919
21901
|
|
|
21902
|
+
struct TransactionInfo : public ParseInfo {
|
|
21903
|
+
explicit TransactionInfo(TransactionType type) : type(type) {
|
|
21904
|
+
}
|
|
21920
21905
|
|
|
21906
|
+
//! The type of transaction statement
|
|
21907
|
+
TransactionType type;
|
|
21908
|
+
};
|
|
21921
21909
|
|
|
21910
|
+
} // namespace duckdb
|
|
21922
21911
|
//===----------------------------------------------------------------------===//
|
|
21923
21912
|
// DuckDB
|
|
21924
21913
|
//
|
|
21925
|
-
// duckdb/
|
|
21914
|
+
// duckdb/parser/parsed_data/create_schema_info.hpp
|
|
21926
21915
|
//
|
|
21927
21916
|
//
|
|
21928
21917
|
//===----------------------------------------------------------------------===//
|
|
@@ -21931,48 +21920,55 @@ struct VacuumInfo : public ParseInfo {
|
|
|
21931
21920
|
|
|
21932
21921
|
|
|
21933
21922
|
|
|
21934
|
-
|
|
21935
|
-
|
|
21936
|
-
|
|
21937
21923
|
namespace duckdb {
|
|
21938
21924
|
|
|
21939
|
-
|
|
21940
|
-
|
|
21941
|
-
|
|
21942
|
-
public:
|
|
21943
|
-
explicit MacroFunction(unique_ptr<ParsedExpression> expression);
|
|
21944
|
-
|
|
21945
|
-
//! Check whether the supplied arguments are valid
|
|
21946
|
-
static string ValidateArguments(MacroCatalogEntry ¯o_func, FunctionExpression &function_expr,
|
|
21947
|
-
vector<unique_ptr<ParsedExpression>> &positionals,
|
|
21948
|
-
unordered_map<string, unique_ptr<ParsedExpression>> &defaults);
|
|
21949
|
-
//! The macro expression
|
|
21950
|
-
unique_ptr<ParsedExpression> expression;
|
|
21951
|
-
//! The positional parameters
|
|
21952
|
-
vector<unique_ptr<ParsedExpression>> parameters;
|
|
21953
|
-
//! The default parameters and their associated values
|
|
21954
|
-
unordered_map<string, unique_ptr<ParsedExpression>> default_parameters;
|
|
21925
|
+
struct CreateSchemaInfo : public CreateInfo {
|
|
21926
|
+
CreateSchemaInfo() : CreateInfo(CatalogType::SCHEMA_ENTRY) {
|
|
21927
|
+
}
|
|
21955
21928
|
|
|
21956
21929
|
public:
|
|
21957
|
-
unique_ptr<
|
|
21930
|
+
unique_ptr<CreateInfo> Copy() const override {
|
|
21931
|
+
auto result = make_unique<CreateSchemaInfo>();
|
|
21932
|
+
CopyProperties(*result);
|
|
21933
|
+
return move(result);
|
|
21934
|
+
}
|
|
21958
21935
|
};
|
|
21959
21936
|
|
|
21960
21937
|
} // namespace duckdb
|
|
21938
|
+
//===----------------------------------------------------------------------===//
|
|
21939
|
+
// DuckDB
|
|
21940
|
+
//
|
|
21941
|
+
// duckdb/parser/parsed_data/create_pragma_function_info.hpp
|
|
21942
|
+
//
|
|
21943
|
+
//
|
|
21944
|
+
//===----------------------------------------------------------------------===//
|
|
21945
|
+
|
|
21946
|
+
|
|
21947
|
+
|
|
21948
|
+
|
|
21961
21949
|
|
|
21962
21950
|
|
|
21963
21951
|
namespace duckdb {
|
|
21964
21952
|
|
|
21965
|
-
struct
|
|
21966
|
-
|
|
21953
|
+
struct CreatePragmaFunctionInfo : public CreateFunctionInfo {
|
|
21954
|
+
explicit CreatePragmaFunctionInfo(PragmaFunction function)
|
|
21955
|
+
: CreateFunctionInfo(CatalogType::PRAGMA_FUNCTION_ENTRY) {
|
|
21956
|
+
functions.push_back(move(function));
|
|
21957
|
+
this->name = function.name;
|
|
21958
|
+
}
|
|
21959
|
+
CreatePragmaFunctionInfo(string name, vector<PragmaFunction> functions_)
|
|
21960
|
+
: CreateFunctionInfo(CatalogType::PRAGMA_FUNCTION_ENTRY), functions(move(functions_)) {
|
|
21961
|
+
this->name = name;
|
|
21962
|
+
for (auto &function : functions) {
|
|
21963
|
+
function.name = name;
|
|
21964
|
+
}
|
|
21967
21965
|
}
|
|
21968
21966
|
|
|
21969
|
-
|
|
21967
|
+
vector<PragmaFunction> functions;
|
|
21970
21968
|
|
|
21971
21969
|
public:
|
|
21972
21970
|
unique_ptr<CreateInfo> Copy() const override {
|
|
21973
|
-
auto result = make_unique<
|
|
21974
|
-
result->function = function->Copy();
|
|
21975
|
-
result->name = name;
|
|
21971
|
+
auto result = make_unique<CreatePragmaFunctionInfo>(functions[0].name, functions);
|
|
21976
21972
|
CopyProperties(*result);
|
|
21977
21973
|
return move(result);
|
|
21978
21974
|
}
|
|
@@ -22023,7 +22019,7 @@ public:
|
|
|
22023
22019
|
//===----------------------------------------------------------------------===//
|
|
22024
22020
|
// DuckDB
|
|
22025
22021
|
//
|
|
22026
|
-
// duckdb/parser/parsed_data/
|
|
22022
|
+
// duckdb/parser/parsed_data/create_macro_info.hpp
|
|
22027
22023
|
//
|
|
22028
22024
|
//
|
|
22029
22025
|
//===----------------------------------------------------------------------===//
|
|
@@ -22031,58 +22027,62 @@ public:
|
|
|
22031
22027
|
|
|
22032
22028
|
|
|
22033
22029
|
|
|
22030
|
+
//===----------------------------------------------------------------------===//
|
|
22031
|
+
// DuckDB
|
|
22032
|
+
//
|
|
22033
|
+
// duckdb/function/macro_function.hpp
|
|
22034
|
+
//
|
|
22035
|
+
//
|
|
22036
|
+
//===----------------------------------------------------------------------===//
|
|
22034
22037
|
|
|
22035
22038
|
|
|
22036
|
-
namespace duckdb {
|
|
22037
22039
|
|
|
22038
|
-
struct ExportedTableData {
|
|
22039
|
-
//! Name of the exported table
|
|
22040
|
-
string table_name;
|
|
22041
22040
|
|
|
22042
|
-
//! Name of the schema
|
|
22043
|
-
string schema_name;
|
|
22044
22041
|
|
|
22045
|
-
//! Path to be exported
|
|
22046
|
-
string file_path;
|
|
22047
|
-
};
|
|
22048
22042
|
|
|
22049
|
-
struct BoundExportData : public ParseInfo {
|
|
22050
|
-
unordered_map<TableCatalogEntry *, ExportedTableData> data;
|
|
22051
|
-
};
|
|
22052
22043
|
|
|
22053
|
-
} // namespace duckdb
|
|
22054
|
-
//===----------------------------------------------------------------------===//
|
|
22055
|
-
// DuckDB
|
|
22056
|
-
//
|
|
22057
|
-
// duckdb/parser/parsed_data/show_select_info.hpp
|
|
22058
|
-
//
|
|
22059
|
-
//
|
|
22060
|
-
//===----------------------------------------------------------------------===//
|
|
22061
22044
|
|
|
22045
|
+
namespace duckdb {
|
|
22046
|
+
|
|
22047
|
+
class MacroCatalogEntry;
|
|
22048
|
+
|
|
22049
|
+
class MacroFunction {
|
|
22050
|
+
public:
|
|
22051
|
+
explicit MacroFunction(unique_ptr<ParsedExpression> expression);
|
|
22062
22052
|
|
|
22053
|
+
//! Check whether the supplied arguments are valid
|
|
22054
|
+
static string ValidateArguments(MacroCatalogEntry ¯o_func, FunctionExpression &function_expr,
|
|
22055
|
+
vector<unique_ptr<ParsedExpression>> &positionals,
|
|
22056
|
+
unordered_map<string, unique_ptr<ParsedExpression>> &defaults);
|
|
22057
|
+
//! The macro expression
|
|
22058
|
+
unique_ptr<ParsedExpression> expression;
|
|
22059
|
+
//! The positional parameters
|
|
22060
|
+
vector<unique_ptr<ParsedExpression>> parameters;
|
|
22061
|
+
//! The default parameters and their associated values
|
|
22062
|
+
unordered_map<string, unique_ptr<ParsedExpression>> default_parameters;
|
|
22063
22063
|
|
|
22064
|
+
public:
|
|
22065
|
+
unique_ptr<MacroFunction> Copy();
|
|
22066
|
+
};
|
|
22064
22067
|
|
|
22068
|
+
} // namespace duckdb
|
|
22065
22069
|
|
|
22066
22070
|
|
|
22067
22071
|
namespace duckdb {
|
|
22068
22072
|
|
|
22069
|
-
struct
|
|
22070
|
-
|
|
22071
|
-
|
|
22072
|
-
//! The QueryNode of select query
|
|
22073
|
-
unique_ptr<QueryNode> query;
|
|
22074
|
-
//! Aliases of projected columns
|
|
22075
|
-
vector<string> aliases;
|
|
22076
|
-
//! Whether or not we are requesting a summary or a describe
|
|
22077
|
-
bool is_summary;
|
|
22073
|
+
struct CreateMacroInfo : public CreateFunctionInfo {
|
|
22074
|
+
CreateMacroInfo() : CreateFunctionInfo(CatalogType::MACRO_ENTRY, INVALID_SCHEMA) {
|
|
22075
|
+
}
|
|
22078
22076
|
|
|
22079
|
-
unique_ptr<
|
|
22080
|
-
|
|
22081
|
-
|
|
22082
|
-
|
|
22083
|
-
result
|
|
22084
|
-
result->
|
|
22085
|
-
|
|
22077
|
+
unique_ptr<MacroFunction> function;
|
|
22078
|
+
|
|
22079
|
+
public:
|
|
22080
|
+
unique_ptr<CreateInfo> Copy() const override {
|
|
22081
|
+
auto result = make_unique<CreateMacroInfo>();
|
|
22082
|
+
result->function = function->Copy();
|
|
22083
|
+
result->name = name;
|
|
22084
|
+
CopyProperties(*result);
|
|
22085
|
+
return move(result);
|
|
22086
22086
|
}
|
|
22087
22087
|
};
|
|
22088
22088
|
|
|
@@ -22125,47 +22125,6 @@ public:
|
|
|
22125
22125
|
//===----------------------------------------------------------------------===//
|
|
22126
22126
|
// DuckDB
|
|
22127
22127
|
//
|
|
22128
|
-
// duckdb/parser/tableref/table_function_ref.hpp
|
|
22129
|
-
//
|
|
22130
|
-
//
|
|
22131
|
-
//===----------------------------------------------------------------------===//
|
|
22132
|
-
|
|
22133
|
-
|
|
22134
|
-
|
|
22135
|
-
|
|
22136
|
-
|
|
22137
|
-
|
|
22138
|
-
|
|
22139
|
-
|
|
22140
|
-
namespace duckdb {
|
|
22141
|
-
//! Represents a Table producing function
|
|
22142
|
-
class TableFunctionRef : public TableRef {
|
|
22143
|
-
public:
|
|
22144
|
-
TableFunctionRef() : TableRef(TableReferenceType::TABLE_FUNCTION) {
|
|
22145
|
-
}
|
|
22146
|
-
|
|
22147
|
-
unique_ptr<ParsedExpression> function;
|
|
22148
|
-
vector<string> column_name_alias;
|
|
22149
|
-
|
|
22150
|
-
// if the function takes a subquery as argument its in here
|
|
22151
|
-
unique_ptr<SelectStatement> subquery;
|
|
22152
|
-
|
|
22153
|
-
public:
|
|
22154
|
-
string ToString() const override;
|
|
22155
|
-
|
|
22156
|
-
bool Equals(const TableRef *other_p) const override;
|
|
22157
|
-
|
|
22158
|
-
unique_ptr<TableRef> Copy() override;
|
|
22159
|
-
|
|
22160
|
-
//! Serializes a blob into a BaseTableRef
|
|
22161
|
-
void Serialize(Serializer &serializer) override;
|
|
22162
|
-
//! Deserializes a blob back into a BaseTableRef
|
|
22163
|
-
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
22164
|
-
};
|
|
22165
|
-
} // namespace duckdb
|
|
22166
|
-
//===----------------------------------------------------------------------===//
|
|
22167
|
-
// DuckDB
|
|
22168
|
-
//
|
|
22169
22128
|
// duckdb/parser/tableref/crossproductref.hpp
|
|
22170
22129
|
//
|
|
22171
22130
|
//
|
|
@@ -22198,12 +22157,10 @@ public:
|
|
|
22198
22157
|
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
22199
22158
|
};
|
|
22200
22159
|
} // namespace duckdb
|
|
22201
|
-
|
|
22202
|
-
|
|
22203
22160
|
//===----------------------------------------------------------------------===//
|
|
22204
22161
|
// DuckDB
|
|
22205
22162
|
//
|
|
22206
|
-
// duckdb/parser/tableref/
|
|
22163
|
+
// duckdb/parser/tableref/joinref.hpp
|
|
22207
22164
|
//
|
|
22208
22165
|
//
|
|
22209
22166
|
//===----------------------------------------------------------------------===//
|
|
@@ -22212,25 +22169,41 @@ public:
|
|
|
22212
22169
|
|
|
22213
22170
|
|
|
22214
22171
|
|
|
22172
|
+
|
|
22173
|
+
|
|
22174
|
+
|
|
22175
|
+
|
|
22215
22176
|
namespace duckdb {
|
|
22216
|
-
//! Represents a
|
|
22217
|
-
class
|
|
22177
|
+
//! Represents a JOIN between two expressions
|
|
22178
|
+
class JoinRef : public TableRef {
|
|
22218
22179
|
public:
|
|
22219
|
-
|
|
22180
|
+
JoinRef() : TableRef(TableReferenceType::JOIN), is_natural(false) {
|
|
22220
22181
|
}
|
|
22221
22182
|
|
|
22183
|
+
//! The left hand side of the join
|
|
22184
|
+
unique_ptr<TableRef> left;
|
|
22185
|
+
//! The right hand side of the join
|
|
22186
|
+
unique_ptr<TableRef> right;
|
|
22187
|
+
//! The join condition
|
|
22188
|
+
unique_ptr<ParsedExpression> condition;
|
|
22189
|
+
//! The join type
|
|
22190
|
+
JoinType type;
|
|
22191
|
+
//! Natural join
|
|
22192
|
+
bool is_natural;
|
|
22193
|
+
//! The set of USING columns (if any)
|
|
22194
|
+
vector<string> using_columns;
|
|
22195
|
+
|
|
22222
22196
|
public:
|
|
22223
22197
|
bool Equals(const TableRef *other_p) const override;
|
|
22224
22198
|
|
|
22225
22199
|
unique_ptr<TableRef> Copy() override;
|
|
22226
22200
|
|
|
22227
|
-
//! Serializes a blob into a
|
|
22201
|
+
//! Serializes a blob into a JoinRef
|
|
22228
22202
|
void Serialize(Serializer &serializer) override;
|
|
22229
|
-
//! Deserializes a blob back into a
|
|
22203
|
+
//! Deserializes a blob back into a JoinRef
|
|
22230
22204
|
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
22231
22205
|
};
|
|
22232
22206
|
} // namespace duckdb
|
|
22233
|
-
|
|
22234
22207
|
//===----------------------------------------------------------------------===//
|
|
22235
22208
|
// DuckDB
|
|
22236
22209
|
//
|
|
@@ -22271,11 +22244,10 @@ public:
|
|
|
22271
22244
|
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
22272
22245
|
};
|
|
22273
22246
|
} // namespace duckdb
|
|
22274
|
-
|
|
22275
22247
|
//===----------------------------------------------------------------------===//
|
|
22276
22248
|
// DuckDB
|
|
22277
22249
|
//
|
|
22278
|
-
// duckdb/parser/tableref/
|
|
22250
|
+
// duckdb/parser/tableref/emptytableref.hpp
|
|
22279
22251
|
//
|
|
22280
22252
|
//
|
|
22281
22253
|
//===----------------------------------------------------------------------===//
|
|
@@ -22284,41 +22256,69 @@ public:
|
|
|
22284
22256
|
|
|
22285
22257
|
|
|
22286
22258
|
|
|
22259
|
+
namespace duckdb {
|
|
22260
|
+
//! Represents a cross product
|
|
22261
|
+
class EmptyTableRef : public TableRef {
|
|
22262
|
+
public:
|
|
22263
|
+
EmptyTableRef() : TableRef(TableReferenceType::EMPTY) {
|
|
22264
|
+
}
|
|
22265
|
+
|
|
22266
|
+
public:
|
|
22267
|
+
bool Equals(const TableRef *other_p) const override;
|
|
22268
|
+
|
|
22269
|
+
unique_ptr<TableRef> Copy() override;
|
|
22270
|
+
|
|
22271
|
+
//! Serializes a blob into a DummyTableRef
|
|
22272
|
+
void Serialize(Serializer &serializer) override;
|
|
22273
|
+
//! Deserializes a blob back into a DummyTableRef
|
|
22274
|
+
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
22275
|
+
};
|
|
22276
|
+
} // namespace duckdb
|
|
22277
|
+
//===----------------------------------------------------------------------===//
|
|
22278
|
+
// DuckDB
|
|
22279
|
+
//
|
|
22280
|
+
// duckdb/parser/tableref/table_function_ref.hpp
|
|
22281
|
+
//
|
|
22282
|
+
//
|
|
22283
|
+
//===----------------------------------------------------------------------===//
|
|
22284
|
+
|
|
22285
|
+
|
|
22286
|
+
|
|
22287
|
+
|
|
22287
22288
|
|
|
22288
22289
|
|
|
22289
22290
|
|
|
22290
22291
|
|
|
22291
22292
|
namespace duckdb {
|
|
22292
|
-
//! Represents a
|
|
22293
|
-
class
|
|
22293
|
+
//! Represents a Table producing function
|
|
22294
|
+
class TableFunctionRef : public TableRef {
|
|
22294
22295
|
public:
|
|
22295
|
-
|
|
22296
|
+
TableFunctionRef() : TableRef(TableReferenceType::TABLE_FUNCTION) {
|
|
22296
22297
|
}
|
|
22297
22298
|
|
|
22298
|
-
|
|
22299
|
-
|
|
22300
|
-
|
|
22301
|
-
|
|
22302
|
-
|
|
22303
|
-
unique_ptr<ParsedExpression> condition;
|
|
22304
|
-
//! The join type
|
|
22305
|
-
JoinType type;
|
|
22306
|
-
//! Natural join
|
|
22307
|
-
bool is_natural;
|
|
22308
|
-
//! The set of USING columns (if any)
|
|
22309
|
-
vector<string> using_columns;
|
|
22299
|
+
unique_ptr<ParsedExpression> function;
|
|
22300
|
+
vector<string> column_name_alias;
|
|
22301
|
+
|
|
22302
|
+
// if the function takes a subquery as argument its in here
|
|
22303
|
+
unique_ptr<SelectStatement> subquery;
|
|
22310
22304
|
|
|
22311
22305
|
public:
|
|
22306
|
+
string ToString() const override;
|
|
22307
|
+
|
|
22312
22308
|
bool Equals(const TableRef *other_p) const override;
|
|
22313
22309
|
|
|
22314
22310
|
unique_ptr<TableRef> Copy() override;
|
|
22315
22311
|
|
|
22316
|
-
//! Serializes a blob into a
|
|
22312
|
+
//! Serializes a blob into a BaseTableRef
|
|
22317
22313
|
void Serialize(Serializer &serializer) override;
|
|
22318
|
-
//! Deserializes a blob back into a
|
|
22314
|
+
//! Deserializes a blob back into a BaseTableRef
|
|
22319
22315
|
static unique_ptr<TableRef> Deserialize(Deserializer &source);
|
|
22320
22316
|
};
|
|
22321
22317
|
} // namespace duckdb
|
|
22322
22318
|
|
|
22323
22319
|
|
|
22324
22320
|
|
|
22321
|
+
|
|
22322
|
+
|
|
22323
|
+
|
|
22324
|
+
|