duckdb 0.3.2-dev1175.0 → 0.3.2-dev1197.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/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 "c49927a99"
15
- #define DUCKDB_VERSION "v0.3.2-dev1175"
14
+ #define DUCKDB_SOURCE_ID "bd1402371"
15
+ #define DUCKDB_VERSION "v0.3.2-dev1197"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -1550,6 +1550,7 @@ public:
1550
1550
  } // namespace duckdb
1551
1551
 
1552
1552
 
1553
+ #include <type_traits>
1553
1554
 
1554
1555
  namespace duckdb {
1555
1556
 
@@ -1563,19 +1564,18 @@ public:
1563
1564
 
1564
1565
  template <class T>
1565
1566
  void Write(T element) {
1567
+ static_assert(std::is_trivially_destructible<T>(), "Write element must be trivially destructible");
1568
+
1566
1569
  WriteData((const_data_ptr_t)&element, sizeof(T));
1567
1570
  }
1568
1571
 
1569
- //! Write data from a string buffer directly (wihtout length prefix)
1572
+ //! Write data from a string buffer directly (without length prefix)
1570
1573
  void WriteBufferData(const string &str) {
1571
1574
  WriteData((const_data_ptr_t)str.c_str(), str.size());
1572
1575
  }
1573
1576
  //! Write a string with a length prefix
1574
1577
  void WriteString(const string &val) {
1575
- Write<uint32_t>((uint32_t)val.size());
1576
- if (!val.empty()) {
1577
- WriteData((const_data_ptr_t)val.c_str(), val.size());
1578
- }
1578
+ WriteStringLen((const_data_ptr_t)val.c_str(), val.size());
1579
1579
  }
1580
1580
  void WriteStringLen(const_data_ptr_t val, idx_t len) {
1581
1581
  Write<uint32_t>((uint32_t)len);
@@ -1585,7 +1585,7 @@ public:
1585
1585
  }
1586
1586
 
1587
1587
  template <class T>
1588
- void WriteList(vector<unique_ptr<T>> &list) {
1588
+ void WriteList(const vector<unique_ptr<T>> &list) {
1589
1589
  Write<uint32_t>((uint32_t)list.size());
1590
1590
  for (auto &child : list) {
1591
1591
  child->Serialize(*this);
@@ -2777,7 +2777,7 @@ public:
2777
2777
  DUCKDB_API bool TryCastAs(const LogicalType &target_type, bool strict = false);
2778
2778
 
2779
2779
  //! Serializes a Value to a stand-alone binary blob
2780
- DUCKDB_API void Serialize(Serializer &serializer);
2780
+ DUCKDB_API void Serialize(Serializer &serializer) const;
2781
2781
  //! Deserializes a Value from a blob
2782
2782
  DUCKDB_API static Value Deserialize(Deserializer &source);
2783
2783
 
@@ -5818,6 +5818,8 @@ public:
5818
5818
  namespace duckdb {
5819
5819
  class Serializer;
5820
5820
  class Deserializer;
5821
+ class FieldWriter;
5822
+ class FieldReader;
5821
5823
 
5822
5824
  //! The ParsedExpression class is a base class that can represent any expression
5823
5825
  //! part of a SQL statement.
@@ -5851,7 +5853,10 @@ public:
5851
5853
  virtual unique_ptr<ParsedExpression> Copy() const = 0;
5852
5854
 
5853
5855
  //! Serializes an Expression to a stand-alone binary blob
5854
- virtual void Serialize(Serializer &serializer);
5856
+ void Serialize(Serializer &serializer) const;
5857
+ //! Serializes an Expression to a stand-alone binary blob
5858
+ virtual void Serialize(FieldWriter &writer) const = 0;
5859
+
5855
5860
  //! Deserializes a blob back into an Expression [CAN THROW:
5856
5861
  //! SerializationException]
5857
5862
  static unique_ptr<ParsedExpression> Deserialize(Deserializer &source);
@@ -6731,6 +6736,8 @@ struct SelectionVector;
6731
6736
 
6732
6737
  class Serializer;
6733
6738
  class Deserializer;
6739
+ class FieldWriter;
6740
+ class FieldReader;
6734
6741
  class Vector;
6735
6742
  class ValidityStatistics;
6736
6743
 
@@ -6745,24 +6752,27 @@ public:
6745
6752
  unique_ptr<BaseStatistics> validity_stats;
6746
6753
 
6747
6754
  public:
6748
- bool CanHaveNull();
6749
- bool CanHaveNoNull();
6755
+ bool CanHaveNull() const;
6756
+ bool CanHaveNoNull() const;
6750
6757
 
6751
- virtual bool IsConstant() {
6758
+ virtual bool IsConstant() const {
6752
6759
  return false;
6753
6760
  }
6754
6761
 
6755
6762
  static unique_ptr<BaseStatistics> CreateEmpty(LogicalType type);
6756
6763
 
6757
6764
  virtual void Merge(const BaseStatistics &other);
6758
- virtual unique_ptr<BaseStatistics> Copy();
6759
- virtual void Serialize(Serializer &serializer);
6765
+
6766
+ virtual unique_ptr<BaseStatistics> Copy() const;
6767
+ void Serialize(Serializer &serializer) const;
6768
+ virtual void Serialize(FieldWriter &writer) const;
6760
6769
  static unique_ptr<BaseStatistics> Deserialize(Deserializer &source, LogicalType type);
6770
+
6761
6771
  //! Verify that a vector does not violate the statistics
6762
- virtual void Verify(Vector &vector, const SelectionVector &sel, idx_t count);
6763
- void Verify(Vector &vector, idx_t count);
6772
+ virtual void Verify(Vector &vector, const SelectionVector &sel, idx_t count) const;
6773
+ void Verify(Vector &vector, idx_t count) const;
6764
6774
 
6765
- virtual string ToString();
6775
+ virtual string ToString() const;
6766
6776
  };
6767
6777
 
6768
6778
  } // namespace duckdb
@@ -7387,6 +7397,8 @@ enum class OrderByNullType : uint8_t { INVALID = 0, ORDER_DEFAULT = 1, NULLS_FIR
7387
7397
 
7388
7398
 
7389
7399
  namespace duckdb {
7400
+ class FieldWriter;
7401
+ class FieldReader;
7390
7402
 
7391
7403
  enum ResultModifierType : uint8_t {
7392
7404
  LIMIT_MODIFIER = 1,
@@ -7410,9 +7422,11 @@ public:
7410
7422
  virtual bool Equals(const ResultModifier *other) const;
7411
7423
 
7412
7424
  //! Create a copy of this ResultModifier
7413
- virtual unique_ptr<ResultModifier> Copy() = 0;
7425
+ virtual unique_ptr<ResultModifier> Copy() const = 0;
7414
7426
  //! Serializes a ResultModifier to a stand-alone binary blob
7415
- virtual void Serialize(Serializer &serializer);
7427
+ void Serialize(Serializer &serializer) const;
7428
+ //! Serializes a ResultModifier to a stand-alone binary blob
7429
+ virtual void Serialize(FieldWriter &writer) const = 0;
7416
7430
  //! Deserializes a blob back into a ResultModifier
7417
7431
  static unique_ptr<ResultModifier> Deserialize(Deserializer &source);
7418
7432
  };
@@ -7431,7 +7445,7 @@ struct OrderByNode {
7431
7445
  unique_ptr<ParsedExpression> expression;
7432
7446
 
7433
7447
  public:
7434
- void Serialize(Serializer &serializer);
7448
+ void Serialize(Serializer &serializer) const;
7435
7449
  string ToString() const;
7436
7450
  static OrderByNode Deserialize(Deserializer &source);
7437
7451
  };
@@ -7448,9 +7462,9 @@ public:
7448
7462
 
7449
7463
  public:
7450
7464
  bool Equals(const ResultModifier *other) const override;
7451
- unique_ptr<ResultModifier> Copy() override;
7452
- void Serialize(Serializer &serializer) override;
7453
- static unique_ptr<ResultModifier> Deserialize(Deserializer &source);
7465
+ unique_ptr<ResultModifier> Copy() const override;
7466
+ void Serialize(FieldWriter &writer) const override;
7467
+ static unique_ptr<ResultModifier> Deserialize(FieldReader &reader);
7454
7468
  };
7455
7469
 
7456
7470
  class OrderModifier : public ResultModifier {
@@ -7463,9 +7477,9 @@ public:
7463
7477
 
7464
7478
  public:
7465
7479
  bool Equals(const ResultModifier *other) const override;
7466
- unique_ptr<ResultModifier> Copy() override;
7467
- void Serialize(Serializer &serializer) override;
7468
- static unique_ptr<ResultModifier> Deserialize(Deserializer &source);
7480
+ unique_ptr<ResultModifier> Copy() const override;
7481
+ void Serialize(FieldWriter &writer) const override;
7482
+ static unique_ptr<ResultModifier> Deserialize(FieldReader &reader);
7469
7483
  };
7470
7484
 
7471
7485
  class DistinctModifier : public ResultModifier {
@@ -7478,9 +7492,9 @@ public:
7478
7492
 
7479
7493
  public:
7480
7494
  bool Equals(const ResultModifier *other) const override;
7481
- unique_ptr<ResultModifier> Copy() override;
7482
- void Serialize(Serializer &serializer) override;
7483
- static unique_ptr<ResultModifier> Deserialize(Deserializer &source);
7495
+ unique_ptr<ResultModifier> Copy() const override;
7496
+ void Serialize(FieldWriter &writer) const override;
7497
+ static unique_ptr<ResultModifier> Deserialize(FieldReader &reader);
7484
7498
  };
7485
7499
 
7486
7500
  class LimitPercentModifier : public ResultModifier {
@@ -7495,9 +7509,9 @@ public:
7495
7509
 
7496
7510
  public:
7497
7511
  bool Equals(const ResultModifier *other) const override;
7498
- unique_ptr<ResultModifier> Copy() override;
7499
- void Serialize(Serializer &serializer) override;
7500
- static unique_ptr<ResultModifier> Deserialize(Deserializer &source);
7512
+ unique_ptr<ResultModifier> Copy() const override;
7513
+ void Serialize(FieldWriter &writer) const override;
7514
+ static unique_ptr<ResultModifier> Deserialize(FieldReader &reader);
7501
7515
  };
7502
7516
 
7503
7517
  } // namespace duckdb
@@ -13536,6 +13550,8 @@ namespace duckdb {
13536
13550
 
13537
13551
  class Serializer;
13538
13552
  class Deserializer;
13553
+ class FieldWriter;
13554
+ class FieldReader;
13539
13555
 
13540
13556
  //===--------------------------------------------------------------------===//
13541
13557
  // Constraint Types
@@ -13558,13 +13574,14 @@ public:
13558
13574
 
13559
13575
  public:
13560
13576
  DUCKDB_API virtual string ToString() const = 0;
13561
- DUCKDB_API void Print();
13577
+ DUCKDB_API void Print() const;
13562
13578
 
13563
- DUCKDB_API virtual unique_ptr<Constraint> Copy() = 0;
13579
+ DUCKDB_API virtual unique_ptr<Constraint> Copy() const = 0;
13564
13580
  //! Serializes a Constraint to a stand-alone binary blob
13565
- DUCKDB_API virtual void Serialize(Serializer &serializer);
13566
- //! Deserializes a blob back into a Constraint, returns NULL if
13567
- //! deserialization is not possible
13581
+ DUCKDB_API void Serialize(Serializer &serializer) const;
13582
+ //! Serializes a Constraint to a stand-alone binary blob
13583
+ DUCKDB_API virtual void Serialize(FieldWriter &writer) const = 0;
13584
+ //! Deserializes a blob back into a Constraint
13568
13585
  DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
13569
13586
  };
13570
13587
  } // namespace duckdb
@@ -13835,10 +13852,8 @@ enum class AlterType : uint8_t {
13835
13852
  };
13836
13853
 
13837
13854
  struct AlterInfo : public ParseInfo {
13838
- AlterInfo(AlterType type, string schema, string name) : type(type), schema(move(schema)), name(move(name)) {
13839
- }
13840
- ~AlterInfo() override {
13841
- }
13855
+ AlterInfo(AlterType type, string schema, string name);
13856
+ ~AlterInfo() override;
13842
13857
 
13843
13858
  AlterType type;
13844
13859
  //! Schema name to alter
@@ -13847,9 +13862,10 @@ struct AlterInfo : public ParseInfo {
13847
13862
  string name;
13848
13863
 
13849
13864
  public:
13850
- virtual CatalogType GetCatalogType() = 0;
13865
+ virtual CatalogType GetCatalogType() const = 0;
13851
13866
  virtual unique_ptr<AlterInfo> Copy() const = 0;
13852
- virtual void Serialize(Serializer &serializer);
13867
+ void Serialize(Serializer &serializer) const;
13868
+ virtual void Serialize(FieldWriter &writer) const = 0;
13853
13869
  static unique_ptr<AlterInfo> Deserialize(Deserializer &source);
13854
13870
  };
13855
13871
 
@@ -13858,10 +13874,7 @@ public:
13858
13874
  //===--------------------------------------------------------------------===//
13859
13875
  struct ChangeOwnershipInfo : public AlterInfo {
13860
13876
  ChangeOwnershipInfo(CatalogType entry_catalog_type, string entry_schema, string entry_name, string owner_schema,
13861
- string owner_name)
13862
- : AlterInfo(AlterType::CHANGE_OWNERSHIP, entry_schema, entry_name), entry_catalog_type(entry_catalog_type),
13863
- owner_schema(owner_schema), owner_name(owner_name) {
13864
- }
13877
+ string owner_name);
13865
13878
 
13866
13879
  // Catalog type refers to the entry type, since this struct is usually built from an
13867
13880
  // ALTER <TYPE> <schema>.<name> OWNED BY <owner_schema>.<owner_name> statement
@@ -13872,8 +13885,9 @@ struct ChangeOwnershipInfo : public AlterInfo {
13872
13885
  string owner_name;
13873
13886
 
13874
13887
  public:
13875
- CatalogType GetCatalogType() override;
13888
+ CatalogType GetCatalogType() const override;
13876
13889
  unique_ptr<AlterInfo> Copy() const override;
13890
+ void Serialize(FieldWriter &writer) const override;
13877
13891
  };
13878
13892
 
13879
13893
  //===--------------------------------------------------------------------===//
@@ -13890,32 +13904,24 @@ enum class AlterTableType : uint8_t {
13890
13904
  };
13891
13905
 
13892
13906
  struct AlterTableInfo : public AlterInfo {
13893
- AlterTableInfo(AlterTableType type, string schema, string table)
13894
- : AlterInfo(AlterType::ALTER_TABLE, schema, table), alter_table_type(type) {
13895
- }
13896
- ~AlterTableInfo() override {
13897
- }
13907
+ AlterTableInfo(AlterTableType type, string schema, string table);
13908
+ ~AlterTableInfo() override;
13898
13909
 
13899
13910
  AlterTableType alter_table_type;
13900
13911
 
13901
13912
  public:
13902
- CatalogType GetCatalogType() override {
13903
- return CatalogType::TABLE_ENTRY;
13904
- }
13905
- void Serialize(Serializer &serializer) override;
13906
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source);
13913
+ CatalogType GetCatalogType() const override;
13914
+ void Serialize(FieldWriter &writer) const override;
13915
+ virtual void SerializeAlterTable(FieldWriter &writer) const = 0;
13916
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader);
13907
13917
  };
13908
13918
 
13909
13919
  //===--------------------------------------------------------------------===//
13910
13920
  // RenameColumnInfo
13911
13921
  //===--------------------------------------------------------------------===//
13912
13922
  struct RenameColumnInfo : public AlterTableInfo {
13913
- RenameColumnInfo(string schema, string table, string old_name_p, string new_name_p)
13914
- : AlterTableInfo(AlterTableType::RENAME_COLUMN, move(schema), move(table)), old_name(move(old_name_p)),
13915
- new_name(move(new_name_p)) {
13916
- }
13917
- ~RenameColumnInfo() override {
13918
- }
13923
+ RenameColumnInfo(string schema, string table, string old_name_p, string new_name_p);
13924
+ ~RenameColumnInfo() override;
13919
13925
 
13920
13926
  //! Column old name
13921
13927
  string old_name;
@@ -13924,58 +13930,48 @@ struct RenameColumnInfo : public AlterTableInfo {
13924
13930
 
13925
13931
  public:
13926
13932
  unique_ptr<AlterInfo> Copy() const override;
13927
- void Serialize(Serializer &serializer) override;
13928
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
13933
+ void SerializeAlterTable(FieldWriter &writer) const override;
13934
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
13929
13935
  };
13930
13936
 
13931
13937
  //===--------------------------------------------------------------------===//
13932
13938
  // RenameTableInfo
13933
13939
  //===--------------------------------------------------------------------===//
13934
13940
  struct RenameTableInfo : public AlterTableInfo {
13935
- RenameTableInfo(string schema, string table, string new_name)
13936
- : AlterTableInfo(AlterTableType::RENAME_TABLE, schema, table), new_table_name(new_name) {
13937
- }
13938
- ~RenameTableInfo() override {
13939
- }
13941
+ RenameTableInfo(string schema, string table, string new_name);
13942
+ ~RenameTableInfo() override;
13940
13943
 
13941
13944
  //! Relation new name
13942
13945
  string new_table_name;
13943
13946
 
13944
13947
  public:
13945
13948
  unique_ptr<AlterInfo> Copy() const override;
13946
- void Serialize(Serializer &serializer) override;
13947
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
13949
+ void SerializeAlterTable(FieldWriter &writer) const override;
13950
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
13948
13951
  };
13949
13952
 
13950
13953
  //===--------------------------------------------------------------------===//
13951
13954
  // AddColumnInfo
13952
13955
  //===--------------------------------------------------------------------===//
13953
13956
  struct AddColumnInfo : public AlterTableInfo {
13954
- AddColumnInfo(string schema, string table, ColumnDefinition new_column)
13955
- : AlterTableInfo(AlterTableType::ADD_COLUMN, schema, table), new_column(move(new_column)) {
13956
- }
13957
- ~AddColumnInfo() override {
13958
- }
13957
+ AddColumnInfo(string schema, string table, ColumnDefinition new_column);
13958
+ ~AddColumnInfo() override;
13959
13959
 
13960
13960
  //! New column
13961
13961
  ColumnDefinition new_column;
13962
13962
 
13963
13963
  public:
13964
13964
  unique_ptr<AlterInfo> Copy() const override;
13965
- void Serialize(Serializer &serializer) override;
13966
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
13965
+ void SerializeAlterTable(FieldWriter &writer) const override;
13966
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
13967
13967
  };
13968
13968
 
13969
13969
  //===--------------------------------------------------------------------===//
13970
13970
  // RemoveColumnInfo
13971
13971
  //===--------------------------------------------------------------------===//
13972
13972
  struct RemoveColumnInfo : public AlterTableInfo {
13973
- RemoveColumnInfo(string schema, string table, string removed_column, bool if_exists)
13974
- : AlterTableInfo(AlterTableType::REMOVE_COLUMN, schema, table), removed_column(move(removed_column)),
13975
- if_exists(if_exists) {
13976
- }
13977
- ~RemoveColumnInfo() override {
13978
- }
13973
+ RemoveColumnInfo(string schema, string table, string removed_column, bool if_exists);
13974
+ ~RemoveColumnInfo() override;
13979
13975
 
13980
13976
  //! The column to remove
13981
13977
  string removed_column;
@@ -13984,8 +13980,8 @@ struct RemoveColumnInfo : public AlterTableInfo {
13984
13980
 
13985
13981
  public:
13986
13982
  unique_ptr<AlterInfo> Copy() const override;
13987
- void Serialize(Serializer &serializer) override;
13988
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
13983
+ void SerializeAlterTable(FieldWriter &writer) const override;
13984
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
13989
13985
  };
13990
13986
 
13991
13987
  //===--------------------------------------------------------------------===//
@@ -13993,12 +13989,8 @@ public:
13993
13989
  //===--------------------------------------------------------------------===//
13994
13990
  struct ChangeColumnTypeInfo : public AlterTableInfo {
13995
13991
  ChangeColumnTypeInfo(string schema, string table, string column_name, LogicalType target_type,
13996
- unique_ptr<ParsedExpression> expression)
13997
- : AlterTableInfo(AlterTableType::ALTER_COLUMN_TYPE, schema, table), column_name(move(column_name)),
13998
- target_type(move(target_type)), expression(move(expression)) {
13999
- }
14000
- ~ChangeColumnTypeInfo() override {
14001
- }
13992
+ unique_ptr<ParsedExpression> expression);
13993
+ ~ChangeColumnTypeInfo() override;
14002
13994
 
14003
13995
  //! The column name to alter
14004
13996
  string column_name;
@@ -14009,20 +14001,16 @@ struct ChangeColumnTypeInfo : public AlterTableInfo {
14009
14001
 
14010
14002
  public:
14011
14003
  unique_ptr<AlterInfo> Copy() const override;
14012
- void Serialize(Serializer &serializer) override;
14013
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
14004
+ void SerializeAlterTable(FieldWriter &writer) const override;
14005
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
14014
14006
  };
14015
14007
 
14016
14008
  //===--------------------------------------------------------------------===//
14017
14009
  // SetDefaultInfo
14018
14010
  //===--------------------------------------------------------------------===//
14019
14011
  struct SetDefaultInfo : public AlterTableInfo {
14020
- SetDefaultInfo(string schema, string table, string column_name, unique_ptr<ParsedExpression> new_default)
14021
- : AlterTableInfo(AlterTableType::SET_DEFAULT, schema, table), column_name(move(column_name)),
14022
- expression(move(new_default)) {
14023
- }
14024
- ~SetDefaultInfo() override {
14025
- }
14012
+ SetDefaultInfo(string schema, string table, string column_name, unique_ptr<ParsedExpression> new_default);
14013
+ ~SetDefaultInfo() override;
14026
14014
 
14027
14015
  //! The column name to alter
14028
14016
  string column_name;
@@ -14031,8 +14019,8 @@ struct SetDefaultInfo : public AlterTableInfo {
14031
14019
 
14032
14020
  public:
14033
14021
  unique_ptr<AlterInfo> Copy() const override;
14034
- void Serialize(Serializer &serializer) override;
14035
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
14022
+ void SerializeAlterTable(FieldWriter &writer) const override;
14023
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
14036
14024
  };
14037
14025
 
14038
14026
  //===--------------------------------------------------------------------===//
@@ -14041,39 +14029,32 @@ public:
14041
14029
  enum class AlterViewType : uint8_t { INVALID = 0, RENAME_VIEW = 1 };
14042
14030
 
14043
14031
  struct AlterViewInfo : public AlterInfo {
14044
- AlterViewInfo(AlterViewType type, string schema, string view)
14045
- : AlterInfo(AlterType::ALTER_VIEW, schema, view), alter_view_type(type) {
14046
- }
14047
- ~AlterViewInfo() override {
14048
- }
14032
+ AlterViewInfo(AlterViewType type, string schema, string view);
14033
+ ~AlterViewInfo() override;
14049
14034
 
14050
14035
  AlterViewType alter_view_type;
14051
14036
 
14052
14037
  public:
14053
- CatalogType GetCatalogType() override {
14054
- return CatalogType::VIEW_ENTRY;
14055
- }
14056
- void Serialize(Serializer &serializer) override;
14057
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source);
14038
+ CatalogType GetCatalogType() const override;
14039
+ void Serialize(FieldWriter &writer) const override;
14040
+ virtual void SerializeAlterView(FieldWriter &writer) const = 0;
14041
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader);
14058
14042
  };
14059
14043
 
14060
14044
  //===--------------------------------------------------------------------===//
14061
14045
  // RenameViewInfo
14062
14046
  //===--------------------------------------------------------------------===//
14063
14047
  struct RenameViewInfo : public AlterViewInfo {
14064
- RenameViewInfo(string schema, string view, string new_name)
14065
- : AlterViewInfo(AlterViewType::RENAME_VIEW, schema, view), new_view_name(new_name) {
14066
- }
14067
- ~RenameViewInfo() override {
14068
- }
14048
+ RenameViewInfo(string schema, string view, string new_name);
14049
+ ~RenameViewInfo() override;
14069
14050
 
14070
14051
  //! Relation new name
14071
14052
  string new_view_name;
14072
14053
 
14073
14054
  public:
14074
14055
  unique_ptr<AlterInfo> Copy() const override;
14075
- void Serialize(Serializer &serializer) override;
14076
- static unique_ptr<AlterInfo> Deserialize(Deserializer &source, string schema, string table);
14056
+ void SerializeAlterView(FieldWriter &writer) const override;
14057
+ static unique_ptr<AlterInfo> Deserialize(FieldReader &reader, string schema, string table);
14077
14058
  };
14078
14059
 
14079
14060
  } // namespace duckdb
@@ -15159,8 +15140,8 @@ public:
15159
15140
 
15160
15141
  unique_ptr<ParsedExpression> Copy() const override;
15161
15142
 
15162
- void Serialize(Serializer &serializer) override;
15163
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
15143
+ void Serialize(FieldWriter &writer) const override;
15144
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
15164
15145
  };
15165
15146
  } // namespace duckdb
15166
15147
 
@@ -15394,6 +15375,10 @@ public:
15394
15375
  unique_ptr<ParsedExpression> Copy() const override {
15395
15376
  throw SerializationException("Cannot copy or serialize bound expression");
15396
15377
  }
15378
+
15379
+ void Serialize(FieldWriter &writer) const override {
15380
+ throw SerializationException("Cannot copy or serialize bound expression");
15381
+ }
15397
15382
  };
15398
15383
 
15399
15384
  } // namespace duckdb
@@ -16173,9 +16158,11 @@ public:
16173
16158
  virtual unique_ptr<TableRef> Copy() = 0;
16174
16159
 
16175
16160
  //! Serializes a TableRef to a stand-alone binary blob
16176
- virtual void Serialize(Serializer &serializer);
16161
+ DUCKDB_API void Serialize(Serializer &serializer) const;
16162
+ //! Serializes a TableRef to a stand-alone binary blob
16163
+ DUCKDB_API virtual void Serialize(FieldWriter &writer) const = 0;
16177
16164
  //! Deserializes a blob back into a TableRef
16178
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
16165
+ DUCKDB_API static unique_ptr<TableRef> Deserialize(Deserializer &source);
16179
16166
 
16180
16167
  //! Copy the properties of this table ref to the target
16181
16168
  void CopyProperties(TableRef &target) const;
@@ -16200,7 +16187,7 @@ public:
16200
16187
  //! Create a copy of this SelectStatement
16201
16188
  unique_ptr<SQLStatement> Copy() const override;
16202
16189
  //! Serializes a SelectStatement to a stand-alone binary blob
16203
- void Serialize(Serializer &serializer);
16190
+ void Serialize(Serializer &serializer) const;
16204
16191
  //! Deserializes a blob back into a SelectStatement, returns nullptr if
16205
16192
  //! deserialization is not possible
16206
16193
  static unique_ptr<SelectStatement> Deserialize(Deserializer &source);
@@ -16251,12 +16238,13 @@ public:
16251
16238
  virtual bool Equals(const QueryNode *other) const;
16252
16239
 
16253
16240
  //! Create a copy of this QueryNode
16254
- virtual unique_ptr<QueryNode> Copy() = 0;
16241
+ virtual unique_ptr<QueryNode> Copy() const = 0;
16255
16242
  //! Serializes a QueryNode to a stand-alone binary blob
16256
- virtual void Serialize(Serializer &serializer);
16257
- //! Deserializes a blob back into a QueryNode, returns nullptr if
16258
- //! deserialization is not possible
16259
- static unique_ptr<QueryNode> Deserialize(Deserializer &source);
16243
+ DUCKDB_API void Serialize(Serializer &serializer) const;
16244
+ //! Serializes a QueryNode to a stand-alone binary blob
16245
+ DUCKDB_API virtual void Serialize(FieldWriter &writer) const = 0;
16246
+ //! Deserializes a blob back into a QueryNode
16247
+ DUCKDB_API static unique_ptr<QueryNode> Deserialize(Deserializer &source);
16260
16248
 
16261
16249
  protected:
16262
16250
  //! Copy base QueryNode properties from another expression to this one,
@@ -16451,8 +16439,8 @@ public:
16451
16439
 
16452
16440
  unique_ptr<ParsedExpression> Copy() const override;
16453
16441
 
16454
- void Serialize(Serializer &serializer) override;
16455
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
16442
+ void Serialize(FieldWriter &writer) const override;
16443
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
16456
16444
  };
16457
16445
  } // namespace duckdb
16458
16446
 
@@ -18608,12 +18596,12 @@ public:
18608
18596
  public:
18609
18597
  DUCKDB_API string ToString() const override;
18610
18598
 
18611
- DUCKDB_API unique_ptr<Constraint> Copy() override;
18599
+ DUCKDB_API unique_ptr<Constraint> Copy() const override;
18612
18600
 
18613
18601
  //! Serialize to a stand-alone binary blob
18614
- DUCKDB_API void Serialize(Serializer &serializer) override;
18602
+ DUCKDB_API void Serialize(FieldWriter &writer) const override;
18615
18603
  //! Deserializes a NotNullConstraint
18616
- DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
18604
+ DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
18617
18605
  };
18618
18606
 
18619
18607
  } // namespace duckdb
@@ -20167,17 +20155,17 @@ public:
20167
20155
  public:
20168
20156
  void Merge(const BaseStatistics &other) override;
20169
20157
 
20170
- bool IsConstant() override;
20158
+ bool IsConstant() const override;
20171
20159
 
20172
- unique_ptr<BaseStatistics> Copy() override;
20173
- void Serialize(Serializer &serializer) override;
20174
- static unique_ptr<BaseStatistics> Deserialize(Deserializer &source);
20175
- void Verify(Vector &vector, const SelectionVector &sel, idx_t count) override;
20160
+ unique_ptr<BaseStatistics> Copy() const override;
20161
+ void Serialize(FieldWriter &writer) const override;
20162
+ static unique_ptr<BaseStatistics> Deserialize(FieldReader &reader);
20163
+ void Verify(Vector &vector, const SelectionVector &sel, idx_t count) const override;
20176
20164
 
20177
20165
  static unique_ptr<BaseStatistics> Combine(const unique_ptr<BaseStatistics> &lstats,
20178
20166
  const unique_ptr<BaseStatistics> &rstats);
20179
20167
 
20180
- string ToString() override;
20168
+ string ToString() const override;
20181
20169
  };
20182
20170
 
20183
20171
  } // namespace duckdb
@@ -20207,14 +20195,14 @@ public:
20207
20195
  void Update(const string_t &value);
20208
20196
  void Merge(const BaseStatistics &other) override;
20209
20197
 
20210
- unique_ptr<BaseStatistics> Copy() override;
20211
- void Serialize(Serializer &serializer) override;
20212
- static unique_ptr<BaseStatistics> Deserialize(Deserializer &source, LogicalType type);
20213
- void Verify(Vector &vector, const SelectionVector &sel, idx_t count) override;
20198
+ unique_ptr<BaseStatistics> Copy() const override;
20199
+ void Serialize(FieldWriter &writer) const override;
20200
+ static unique_ptr<BaseStatistics> Deserialize(FieldReader &reader, LogicalType type);
20201
+ void Verify(Vector &vector, const SelectionVector &sel, idx_t count) const override;
20214
20202
 
20215
- FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const string &value);
20203
+ FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const string &value) const;
20216
20204
 
20217
- string ToString() override;
20205
+ string ToString() const override;
20218
20206
  };
20219
20207
 
20220
20208
  } // namespace duckdb
@@ -20295,20 +20283,20 @@ public:
20295
20283
  public:
20296
20284
  void Merge(const BaseStatistics &other) override;
20297
20285
 
20298
- bool IsConstant() override;
20286
+ bool IsConstant() const override;
20299
20287
 
20300
- FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const Value &constant);
20288
+ FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const Value &constant) const;
20301
20289
 
20302
- unique_ptr<BaseStatistics> Copy() override;
20303
- void Serialize(Serializer &serializer) override;
20304
- static unique_ptr<BaseStatistics> Deserialize(Deserializer &source, LogicalType type);
20305
- void Verify(Vector &vector, const SelectionVector &sel, idx_t count) override;
20290
+ unique_ptr<BaseStatistics> Copy() const override;
20291
+ void Serialize(FieldWriter &writer) const override;
20292
+ static unique_ptr<BaseStatistics> Deserialize(FieldReader &reader, LogicalType type);
20293
+ void Verify(Vector &vector, const SelectionVector &sel, idx_t count) const override;
20306
20294
 
20307
- string ToString() override;
20295
+ string ToString() const override;
20308
20296
 
20309
20297
  private:
20310
20298
  template <class T>
20311
- void TemplatedVerify(Vector &vector, const SelectionVector &sel, idx_t count);
20299
+ void TemplatedVerify(Vector &vector, const SelectionVector &sel, idx_t count) const;
20312
20300
 
20313
20301
  public:
20314
20302
  template <class T>
@@ -21043,8 +21031,8 @@ public:
21043
21031
 
21044
21032
  unique_ptr<ParsedExpression> Copy() const override;
21045
21033
 
21046
- void Serialize(Serializer &serializer) override;
21047
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21034
+ void Serialize(FieldWriter &writer) const override;
21035
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21048
21036
  };
21049
21037
  } // namespace duckdb
21050
21038
  //===----------------------------------------------------------------------===//
@@ -21080,8 +21068,8 @@ public:
21080
21068
 
21081
21069
  unique_ptr<ParsedExpression> Copy() const override;
21082
21070
 
21083
- void Serialize(Serializer &serializer) override;
21084
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21071
+ void Serialize(FieldWriter &writer) const override;
21072
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21085
21073
  };
21086
21074
  } // namespace duckdb
21087
21075
  //===----------------------------------------------------------------------===//
@@ -21115,8 +21103,8 @@ public:
21115
21103
 
21116
21104
  unique_ptr<ParsedExpression> Copy() const override;
21117
21105
 
21118
- void Serialize(Serializer &serializer) override;
21119
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21106
+ void Serialize(FieldWriter &writer) const override;
21107
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21120
21108
  };
21121
21109
  } // namespace duckdb
21122
21110
  //===----------------------------------------------------------------------===//
@@ -21164,8 +21152,8 @@ public:
21164
21152
 
21165
21153
  unique_ptr<ParsedExpression> Copy() const override;
21166
21154
 
21167
- void Serialize(Serializer &serializer) override;
21168
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21155
+ void Serialize(FieldWriter &writer) const override;
21156
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21169
21157
  };
21170
21158
  } // namespace duckdb
21171
21159
  //===----------------------------------------------------------------------===//
@@ -21199,8 +21187,8 @@ public:
21199
21187
 
21200
21188
  unique_ptr<ParsedExpression> Copy() const override;
21201
21189
 
21202
- void Serialize(Serializer &serializer) override;
21203
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21190
+ void Serialize(FieldWriter &writer) const override;
21191
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21204
21192
  };
21205
21193
 
21206
21194
  } // namespace duckdb
@@ -21236,8 +21224,8 @@ public:
21236
21224
 
21237
21225
  unique_ptr<ParsedExpression> Copy() const override;
21238
21226
 
21239
- void Serialize(Serializer &serializer) override;
21240
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21227
+ void Serialize(FieldWriter &writer) const override;
21228
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21241
21229
  };
21242
21230
 
21243
21231
  } // namespace duckdb
@@ -21271,8 +21259,8 @@ public:
21271
21259
  unique_ptr<ParsedExpression> Copy() const override;
21272
21260
  hash_t Hash() const override;
21273
21261
 
21274
- void Serialize(Serializer &serializer) override;
21275
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21262
+ void Serialize(FieldWriter &writer) const override;
21263
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21276
21264
  };
21277
21265
  } // namespace duckdb
21278
21266
  //===----------------------------------------------------------------------===//
@@ -21310,8 +21298,8 @@ public:
21310
21298
 
21311
21299
  unique_ptr<ParsedExpression> Copy() const override;
21312
21300
 
21313
- void Serialize(Serializer &serializer) override;
21314
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21301
+ void Serialize(FieldWriter &writer) const override;
21302
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21315
21303
  };
21316
21304
  } // namespace duckdb
21317
21305
  //===----------------------------------------------------------------------===//
@@ -21344,8 +21332,8 @@ public:
21344
21332
 
21345
21333
  unique_ptr<ParsedExpression> Copy() const override;
21346
21334
 
21347
- void Serialize(Serializer &serializer) override;
21348
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21335
+ void Serialize(FieldWriter &writer) const override;
21336
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21349
21337
  };
21350
21338
  } // namespace duckdb
21351
21339
  //===----------------------------------------------------------------------===//
@@ -21377,8 +21365,8 @@ public:
21377
21365
 
21378
21366
  unique_ptr<ParsedExpression> Copy() const override;
21379
21367
 
21380
- void Serialize(Serializer &serializer) override;
21381
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21368
+ void Serialize(FieldWriter &writer) const override;
21369
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21382
21370
  };
21383
21371
  } // namespace duckdb
21384
21372
  //===----------------------------------------------------------------------===//
@@ -21415,8 +21403,8 @@ public:
21415
21403
 
21416
21404
  unique_ptr<ParsedExpression> Copy() const override;
21417
21405
 
21418
- void Serialize(Serializer &serializer) override;
21419
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21406
+ void Serialize(FieldWriter &writer) const override;
21407
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21420
21408
  };
21421
21409
  } // namespace duckdb
21422
21410
 
@@ -21455,7 +21443,8 @@ public:
21455
21443
 
21456
21444
  unique_ptr<ParsedExpression> Copy() const override;
21457
21445
 
21458
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21446
+ void Serialize(FieldWriter &writer) const override;
21447
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21459
21448
  };
21460
21449
  } // namespace duckdb
21461
21450
 
@@ -21507,10 +21496,8 @@ public:
21507
21496
  static bool Equals(const FunctionExpression *a, const FunctionExpression *b);
21508
21497
  hash_t Hash() const override;
21509
21498
 
21510
- //! Serializes a FunctionExpression to a stand-alone binary blob
21511
- void Serialize(Serializer &serializer) override;
21512
- //! Deserializes a blob back into an FunctionExpression
21513
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21499
+ void Serialize(FieldWriter &writer) const override;
21500
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21514
21501
  };
21515
21502
  } // namespace duckdb
21516
21503
 
@@ -21545,8 +21532,8 @@ public:
21545
21532
 
21546
21533
  unique_ptr<ParsedExpression> Copy() const override;
21547
21534
 
21548
- void Serialize(Serializer &serializer) override;
21549
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21535
+ void Serialize(FieldWriter &writer) const override;
21536
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21550
21537
  };
21551
21538
  } // namespace duckdb
21552
21539
 
@@ -21582,8 +21569,8 @@ public:
21582
21569
  unique_ptr<ParsedExpression> Copy() const override;
21583
21570
  hash_t Hash() const override;
21584
21571
 
21585
- void Serialize(Serializer &serializer) override;
21586
- static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, Deserializer &source);
21572
+ void Serialize(FieldWriter &writer) const override;
21573
+ static unique_ptr<ParsedExpression> Deserialize(ExpressionType type, FieldReader &source);
21587
21574
  };
21588
21575
  } // namespace duckdb
21589
21576
 
@@ -21615,15 +21602,15 @@ struct CreateTypeInfo : public CreateInfo {
21615
21602
 
21616
21603
  //! Name of the Type
21617
21604
  string name;
21618
- //! Shared Pointer of Logical Type
21619
- unique_ptr<LogicalType> type;
21605
+ //! Logical Type
21606
+ LogicalType type;
21620
21607
 
21621
21608
  public:
21622
21609
  unique_ptr<CreateInfo> Copy() const override {
21623
21610
  auto result = make_unique<CreateTypeInfo>();
21624
21611
  CopyProperties(*result);
21625
21612
  result->name = name;
21626
- result->type = make_unique<LogicalType>(*type);
21613
+ result->type = type;
21627
21614
  return move(result);
21628
21615
  }
21629
21616
  };
@@ -21885,9 +21872,9 @@ public:
21885
21872
  unique_ptr<TableRef> Copy() override;
21886
21873
 
21887
21874
  //! Serializes a blob into a BaseTableRef
21888
- void Serialize(Serializer &serializer) override;
21875
+ void Serialize(FieldWriter &serializer) const override;
21889
21876
  //! Deserializes a blob back into a BaseTableRef
21890
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
21877
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
21891
21878
  };
21892
21879
  } // namespace duckdb
21893
21880
 
@@ -22196,9 +22183,9 @@ public:
22196
22183
  unique_ptr<TableRef> Copy() override;
22197
22184
 
22198
22185
  //! Serializes a blob into a SubqueryRef
22199
- void Serialize(Serializer &serializer) override;
22186
+ void Serialize(FieldWriter &serializer) const override;
22200
22187
  //! Deserializes a blob back into a SubqueryRef
22201
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22188
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22202
22189
  };
22203
22190
  } // namespace duckdb
22204
22191
  //===----------------------------------------------------------------------===//
@@ -22231,9 +22218,9 @@ public:
22231
22218
  unique_ptr<TableRef> Copy() override;
22232
22219
 
22233
22220
  //! Serializes a blob into a CrossProductRef
22234
- void Serialize(Serializer &serializer) override;
22221
+ void Serialize(FieldWriter &serializer) const override;
22235
22222
  //! Deserializes a blob back into a CrossProductRef
22236
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22223
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22237
22224
  };
22238
22225
  } // namespace duckdb
22239
22226
  //===----------------------------------------------------------------------===//
@@ -22278,9 +22265,9 @@ public:
22278
22265
  unique_ptr<TableRef> Copy() override;
22279
22266
 
22280
22267
  //! Serializes a blob into a JoinRef
22281
- void Serialize(Serializer &serializer) override;
22268
+ void Serialize(FieldWriter &serializer) const override;
22282
22269
  //! Deserializes a blob back into a JoinRef
22283
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22270
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22284
22271
  };
22285
22272
  } // namespace duckdb
22286
22273
  //===----------------------------------------------------------------------===//
@@ -22318,9 +22305,9 @@ public:
22318
22305
  unique_ptr<TableRef> Copy() override;
22319
22306
 
22320
22307
  //! Serializes a blob into a ExpressionListRef
22321
- void Serialize(Serializer &serializer) override;
22308
+ void Serialize(FieldWriter &serializer) const override;
22322
22309
  //! Deserializes a blob back into a ExpressionListRef
22323
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22310
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22324
22311
  };
22325
22312
  } // namespace duckdb
22326
22313
  //===----------------------------------------------------------------------===//
@@ -22348,9 +22335,9 @@ public:
22348
22335
  unique_ptr<TableRef> Copy() override;
22349
22336
 
22350
22337
  //! Serializes a blob into a DummyTableRef
22351
- void Serialize(Serializer &serializer) override;
22338
+ void Serialize(FieldWriter &serializer) const override;
22352
22339
  //! Deserializes a blob back into a DummyTableRef
22353
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22340
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22354
22341
  };
22355
22342
  } // namespace duckdb
22356
22343
  //===----------------------------------------------------------------------===//
@@ -22389,9 +22376,9 @@ public:
22389
22376
  unique_ptr<TableRef> Copy() override;
22390
22377
 
22391
22378
  //! Serializes a blob into a BaseTableRef
22392
- void Serialize(Serializer &serializer) override;
22379
+ void Serialize(FieldWriter &serializer) const override;
22393
22380
  //! Deserializes a blob back into a BaseTableRef
22394
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22381
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22395
22382
  };
22396
22383
  } // namespace duckdb
22397
22384