duckdb 0.3.2-dev1149.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 "27b2ba7ee"
15
- #define DUCKDB_VERSION "v0.3.2-dev1149"
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
@@ -10680,6 +10694,9 @@ public:
10680
10694
  DUCKDB_API shared_ptr<Relation> Join(const shared_ptr<Relation> &other, const string &condition,
10681
10695
  JoinType type = JoinType::INNER);
10682
10696
 
10697
+ // CROSS PRODUCT operation
10698
+ DUCKDB_API shared_ptr<Relation> CrossProduct(const shared_ptr<Relation> &other);
10699
+
10683
10700
  // SET operations
10684
10701
  DUCKDB_API shared_ptr<Relation> Union(const shared_ptr<Relation> &other);
10685
10702
  DUCKDB_API shared_ptr<Relation> Except(const shared_ptr<Relation> &other);
@@ -13533,6 +13550,8 @@ namespace duckdb {
13533
13550
 
13534
13551
  class Serializer;
13535
13552
  class Deserializer;
13553
+ class FieldWriter;
13554
+ class FieldReader;
13536
13555
 
13537
13556
  //===--------------------------------------------------------------------===//
13538
13557
  // Constraint Types
@@ -13555,13 +13574,14 @@ public:
13555
13574
 
13556
13575
  public:
13557
13576
  DUCKDB_API virtual string ToString() const = 0;
13558
- DUCKDB_API void Print();
13577
+ DUCKDB_API void Print() const;
13559
13578
 
13560
- DUCKDB_API virtual unique_ptr<Constraint> Copy() = 0;
13579
+ DUCKDB_API virtual unique_ptr<Constraint> Copy() const = 0;
13561
13580
  //! Serializes a Constraint to a stand-alone binary blob
13562
- DUCKDB_API virtual void Serialize(Serializer &serializer);
13563
- //! Deserializes a blob back into a Constraint, returns NULL if
13564
- //! 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
13565
13585
  DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
13566
13586
  };
13567
13587
  } // namespace duckdb
@@ -13832,10 +13852,8 @@ enum class AlterType : uint8_t {
13832
13852
  };
13833
13853
 
13834
13854
  struct AlterInfo : public ParseInfo {
13835
- AlterInfo(AlterType type, string schema, string name) : type(type), schema(move(schema)), name(move(name)) {
13836
- }
13837
- ~AlterInfo() override {
13838
- }
13855
+ AlterInfo(AlterType type, string schema, string name);
13856
+ ~AlterInfo() override;
13839
13857
 
13840
13858
  AlterType type;
13841
13859
  //! Schema name to alter
@@ -13844,9 +13862,10 @@ struct AlterInfo : public ParseInfo {
13844
13862
  string name;
13845
13863
 
13846
13864
  public:
13847
- virtual CatalogType GetCatalogType() = 0;
13865
+ virtual CatalogType GetCatalogType() const = 0;
13848
13866
  virtual unique_ptr<AlterInfo> Copy() const = 0;
13849
- virtual void Serialize(Serializer &serializer);
13867
+ void Serialize(Serializer &serializer) const;
13868
+ virtual void Serialize(FieldWriter &writer) const = 0;
13850
13869
  static unique_ptr<AlterInfo> Deserialize(Deserializer &source);
13851
13870
  };
13852
13871
 
@@ -13855,10 +13874,7 @@ public:
13855
13874
  //===--------------------------------------------------------------------===//
13856
13875
  struct ChangeOwnershipInfo : public AlterInfo {
13857
13876
  ChangeOwnershipInfo(CatalogType entry_catalog_type, string entry_schema, string entry_name, string owner_schema,
13858
- string owner_name)
13859
- : AlterInfo(AlterType::CHANGE_OWNERSHIP, entry_schema, entry_name), entry_catalog_type(entry_catalog_type),
13860
- owner_schema(owner_schema), owner_name(owner_name) {
13861
- }
13877
+ string owner_name);
13862
13878
 
13863
13879
  // Catalog type refers to the entry type, since this struct is usually built from an
13864
13880
  // ALTER <TYPE> <schema>.<name> OWNED BY <owner_schema>.<owner_name> statement
@@ -13869,8 +13885,9 @@ struct ChangeOwnershipInfo : public AlterInfo {
13869
13885
  string owner_name;
13870
13886
 
13871
13887
  public:
13872
- CatalogType GetCatalogType() override;
13888
+ CatalogType GetCatalogType() const override;
13873
13889
  unique_ptr<AlterInfo> Copy() const override;
13890
+ void Serialize(FieldWriter &writer) const override;
13874
13891
  };
13875
13892
 
13876
13893
  //===--------------------------------------------------------------------===//
@@ -13887,32 +13904,24 @@ enum class AlterTableType : uint8_t {
13887
13904
  };
13888
13905
 
13889
13906
  struct AlterTableInfo : public AlterInfo {
13890
- AlterTableInfo(AlterTableType type, string schema, string table)
13891
- : AlterInfo(AlterType::ALTER_TABLE, schema, table), alter_table_type(type) {
13892
- }
13893
- ~AlterTableInfo() override {
13894
- }
13907
+ AlterTableInfo(AlterTableType type, string schema, string table);
13908
+ ~AlterTableInfo() override;
13895
13909
 
13896
13910
  AlterTableType alter_table_type;
13897
13911
 
13898
13912
  public:
13899
- CatalogType GetCatalogType() override {
13900
- return CatalogType::TABLE_ENTRY;
13901
- }
13902
- void Serialize(Serializer &serializer) override;
13903
- 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);
13904
13917
  };
13905
13918
 
13906
13919
  //===--------------------------------------------------------------------===//
13907
13920
  // RenameColumnInfo
13908
13921
  //===--------------------------------------------------------------------===//
13909
13922
  struct RenameColumnInfo : public AlterTableInfo {
13910
- RenameColumnInfo(string schema, string table, string old_name_p, string new_name_p)
13911
- : AlterTableInfo(AlterTableType::RENAME_COLUMN, move(schema), move(table)), old_name(move(old_name_p)),
13912
- new_name(move(new_name_p)) {
13913
- }
13914
- ~RenameColumnInfo() override {
13915
- }
13923
+ RenameColumnInfo(string schema, string table, string old_name_p, string new_name_p);
13924
+ ~RenameColumnInfo() override;
13916
13925
 
13917
13926
  //! Column old name
13918
13927
  string old_name;
@@ -13921,58 +13930,48 @@ struct RenameColumnInfo : public AlterTableInfo {
13921
13930
 
13922
13931
  public:
13923
13932
  unique_ptr<AlterInfo> Copy() const override;
13924
- void Serialize(Serializer &serializer) override;
13925
- 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);
13926
13935
  };
13927
13936
 
13928
13937
  //===--------------------------------------------------------------------===//
13929
13938
  // RenameTableInfo
13930
13939
  //===--------------------------------------------------------------------===//
13931
13940
  struct RenameTableInfo : public AlterTableInfo {
13932
- RenameTableInfo(string schema, string table, string new_name)
13933
- : AlterTableInfo(AlterTableType::RENAME_TABLE, schema, table), new_table_name(new_name) {
13934
- }
13935
- ~RenameTableInfo() override {
13936
- }
13941
+ RenameTableInfo(string schema, string table, string new_name);
13942
+ ~RenameTableInfo() override;
13937
13943
 
13938
13944
  //! Relation new name
13939
13945
  string new_table_name;
13940
13946
 
13941
13947
  public:
13942
13948
  unique_ptr<AlterInfo> Copy() const override;
13943
- void Serialize(Serializer &serializer) override;
13944
- 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);
13945
13951
  };
13946
13952
 
13947
13953
  //===--------------------------------------------------------------------===//
13948
13954
  // AddColumnInfo
13949
13955
  //===--------------------------------------------------------------------===//
13950
13956
  struct AddColumnInfo : public AlterTableInfo {
13951
- AddColumnInfo(string schema, string table, ColumnDefinition new_column)
13952
- : AlterTableInfo(AlterTableType::ADD_COLUMN, schema, table), new_column(move(new_column)) {
13953
- }
13954
- ~AddColumnInfo() override {
13955
- }
13957
+ AddColumnInfo(string schema, string table, ColumnDefinition new_column);
13958
+ ~AddColumnInfo() override;
13956
13959
 
13957
13960
  //! New column
13958
13961
  ColumnDefinition new_column;
13959
13962
 
13960
13963
  public:
13961
13964
  unique_ptr<AlterInfo> Copy() const override;
13962
- void Serialize(Serializer &serializer) override;
13963
- 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);
13964
13967
  };
13965
13968
 
13966
13969
  //===--------------------------------------------------------------------===//
13967
13970
  // RemoveColumnInfo
13968
13971
  //===--------------------------------------------------------------------===//
13969
13972
  struct RemoveColumnInfo : public AlterTableInfo {
13970
- RemoveColumnInfo(string schema, string table, string removed_column, bool if_exists)
13971
- : AlterTableInfo(AlterTableType::REMOVE_COLUMN, schema, table), removed_column(move(removed_column)),
13972
- if_exists(if_exists) {
13973
- }
13974
- ~RemoveColumnInfo() override {
13975
- }
13973
+ RemoveColumnInfo(string schema, string table, string removed_column, bool if_exists);
13974
+ ~RemoveColumnInfo() override;
13976
13975
 
13977
13976
  //! The column to remove
13978
13977
  string removed_column;
@@ -13981,8 +13980,8 @@ struct RemoveColumnInfo : public AlterTableInfo {
13981
13980
 
13982
13981
  public:
13983
13982
  unique_ptr<AlterInfo> Copy() const override;
13984
- void Serialize(Serializer &serializer) override;
13985
- 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);
13986
13985
  };
13987
13986
 
13988
13987
  //===--------------------------------------------------------------------===//
@@ -13990,12 +13989,8 @@ public:
13990
13989
  //===--------------------------------------------------------------------===//
13991
13990
  struct ChangeColumnTypeInfo : public AlterTableInfo {
13992
13991
  ChangeColumnTypeInfo(string schema, string table, string column_name, LogicalType target_type,
13993
- unique_ptr<ParsedExpression> expression)
13994
- : AlterTableInfo(AlterTableType::ALTER_COLUMN_TYPE, schema, table), column_name(move(column_name)),
13995
- target_type(move(target_type)), expression(move(expression)) {
13996
- }
13997
- ~ChangeColumnTypeInfo() override {
13998
- }
13992
+ unique_ptr<ParsedExpression> expression);
13993
+ ~ChangeColumnTypeInfo() override;
13999
13994
 
14000
13995
  //! The column name to alter
14001
13996
  string column_name;
@@ -14006,20 +14001,16 @@ struct ChangeColumnTypeInfo : public AlterTableInfo {
14006
14001
 
14007
14002
  public:
14008
14003
  unique_ptr<AlterInfo> Copy() const override;
14009
- void Serialize(Serializer &serializer) override;
14010
- 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);
14011
14006
  };
14012
14007
 
14013
14008
  //===--------------------------------------------------------------------===//
14014
14009
  // SetDefaultInfo
14015
14010
  //===--------------------------------------------------------------------===//
14016
14011
  struct SetDefaultInfo : public AlterTableInfo {
14017
- SetDefaultInfo(string schema, string table, string column_name, unique_ptr<ParsedExpression> new_default)
14018
- : AlterTableInfo(AlterTableType::SET_DEFAULT, schema, table), column_name(move(column_name)),
14019
- expression(move(new_default)) {
14020
- }
14021
- ~SetDefaultInfo() override {
14022
- }
14012
+ SetDefaultInfo(string schema, string table, string column_name, unique_ptr<ParsedExpression> new_default);
14013
+ ~SetDefaultInfo() override;
14023
14014
 
14024
14015
  //! The column name to alter
14025
14016
  string column_name;
@@ -14028,8 +14019,8 @@ struct SetDefaultInfo : public AlterTableInfo {
14028
14019
 
14029
14020
  public:
14030
14021
  unique_ptr<AlterInfo> Copy() const override;
14031
- void Serialize(Serializer &serializer) override;
14032
- 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);
14033
14024
  };
14034
14025
 
14035
14026
  //===--------------------------------------------------------------------===//
@@ -14038,39 +14029,32 @@ public:
14038
14029
  enum class AlterViewType : uint8_t { INVALID = 0, RENAME_VIEW = 1 };
14039
14030
 
14040
14031
  struct AlterViewInfo : public AlterInfo {
14041
- AlterViewInfo(AlterViewType type, string schema, string view)
14042
- : AlterInfo(AlterType::ALTER_VIEW, schema, view), alter_view_type(type) {
14043
- }
14044
- ~AlterViewInfo() override {
14045
- }
14032
+ AlterViewInfo(AlterViewType type, string schema, string view);
14033
+ ~AlterViewInfo() override;
14046
14034
 
14047
14035
  AlterViewType alter_view_type;
14048
14036
 
14049
14037
  public:
14050
- CatalogType GetCatalogType() override {
14051
- return CatalogType::VIEW_ENTRY;
14052
- }
14053
- void Serialize(Serializer &serializer) override;
14054
- 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);
14055
14042
  };
14056
14043
 
14057
14044
  //===--------------------------------------------------------------------===//
14058
14045
  // RenameViewInfo
14059
14046
  //===--------------------------------------------------------------------===//
14060
14047
  struct RenameViewInfo : public AlterViewInfo {
14061
- RenameViewInfo(string schema, string view, string new_name)
14062
- : AlterViewInfo(AlterViewType::RENAME_VIEW, schema, view), new_view_name(new_name) {
14063
- }
14064
- ~RenameViewInfo() override {
14065
- }
14048
+ RenameViewInfo(string schema, string view, string new_name);
14049
+ ~RenameViewInfo() override;
14066
14050
 
14067
14051
  //! Relation new name
14068
14052
  string new_view_name;
14069
14053
 
14070
14054
  public:
14071
14055
  unique_ptr<AlterInfo> Copy() const override;
14072
- void Serialize(Serializer &serializer) override;
14073
- 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);
14074
14058
  };
14075
14059
 
14076
14060
  } // namespace duckdb
@@ -15156,8 +15140,8 @@ public:
15156
15140
 
15157
15141
  unique_ptr<ParsedExpression> Copy() const override;
15158
15142
 
15159
- void Serialize(Serializer &serializer) override;
15160
- 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);
15161
15145
  };
15162
15146
  } // namespace duckdb
15163
15147
 
@@ -15391,6 +15375,10 @@ public:
15391
15375
  unique_ptr<ParsedExpression> Copy() const override {
15392
15376
  throw SerializationException("Cannot copy or serialize bound expression");
15393
15377
  }
15378
+
15379
+ void Serialize(FieldWriter &writer) const override {
15380
+ throw SerializationException("Cannot copy or serialize bound expression");
15381
+ }
15394
15382
  };
15395
15383
 
15396
15384
  } // namespace duckdb
@@ -16170,9 +16158,11 @@ public:
16170
16158
  virtual unique_ptr<TableRef> Copy() = 0;
16171
16159
 
16172
16160
  //! Serializes a TableRef to a stand-alone binary blob
16173
- 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;
16174
16164
  //! Deserializes a blob back into a TableRef
16175
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
16165
+ DUCKDB_API static unique_ptr<TableRef> Deserialize(Deserializer &source);
16176
16166
 
16177
16167
  //! Copy the properties of this table ref to the target
16178
16168
  void CopyProperties(TableRef &target) const;
@@ -16197,7 +16187,7 @@ public:
16197
16187
  //! Create a copy of this SelectStatement
16198
16188
  unique_ptr<SQLStatement> Copy() const override;
16199
16189
  //! Serializes a SelectStatement to a stand-alone binary blob
16200
- void Serialize(Serializer &serializer);
16190
+ void Serialize(Serializer &serializer) const;
16201
16191
  //! Deserializes a blob back into a SelectStatement, returns nullptr if
16202
16192
  //! deserialization is not possible
16203
16193
  static unique_ptr<SelectStatement> Deserialize(Deserializer &source);
@@ -16248,12 +16238,13 @@ public:
16248
16238
  virtual bool Equals(const QueryNode *other) const;
16249
16239
 
16250
16240
  //! Create a copy of this QueryNode
16251
- virtual unique_ptr<QueryNode> Copy() = 0;
16241
+ virtual unique_ptr<QueryNode> Copy() const = 0;
16252
16242
  //! Serializes a QueryNode to a stand-alone binary blob
16253
- virtual void Serialize(Serializer &serializer);
16254
- //! Deserializes a blob back into a QueryNode, returns nullptr if
16255
- //! deserialization is not possible
16256
- 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);
16257
16248
 
16258
16249
  protected:
16259
16250
  //! Copy base QueryNode properties from another expression to this one,
@@ -16448,8 +16439,8 @@ public:
16448
16439
 
16449
16440
  unique_ptr<ParsedExpression> Copy() const override;
16450
16441
 
16451
- void Serialize(Serializer &serializer) override;
16452
- 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);
16453
16444
  };
16454
16445
  } // namespace duckdb
16455
16446
 
@@ -18605,12 +18596,12 @@ public:
18605
18596
  public:
18606
18597
  DUCKDB_API string ToString() const override;
18607
18598
 
18608
- DUCKDB_API unique_ptr<Constraint> Copy() override;
18599
+ DUCKDB_API unique_ptr<Constraint> Copy() const override;
18609
18600
 
18610
18601
  //! Serialize to a stand-alone binary blob
18611
- DUCKDB_API void Serialize(Serializer &serializer) override;
18602
+ DUCKDB_API void Serialize(FieldWriter &writer) const override;
18612
18603
  //! Deserializes a NotNullConstraint
18613
- DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
18604
+ DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
18614
18605
  };
18615
18606
 
18616
18607
  } // namespace duckdb
@@ -20164,17 +20155,17 @@ public:
20164
20155
  public:
20165
20156
  void Merge(const BaseStatistics &other) override;
20166
20157
 
20167
- bool IsConstant() override;
20158
+ bool IsConstant() const override;
20168
20159
 
20169
- unique_ptr<BaseStatistics> Copy() override;
20170
- void Serialize(Serializer &serializer) override;
20171
- static unique_ptr<BaseStatistics> Deserialize(Deserializer &source);
20172
- 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;
20173
20164
 
20174
20165
  static unique_ptr<BaseStatistics> Combine(const unique_ptr<BaseStatistics> &lstats,
20175
20166
  const unique_ptr<BaseStatistics> &rstats);
20176
20167
 
20177
- string ToString() override;
20168
+ string ToString() const override;
20178
20169
  };
20179
20170
 
20180
20171
  } // namespace duckdb
@@ -20204,14 +20195,14 @@ public:
20204
20195
  void Update(const string_t &value);
20205
20196
  void Merge(const BaseStatistics &other) override;
20206
20197
 
20207
- unique_ptr<BaseStatistics> Copy() override;
20208
- void Serialize(Serializer &serializer) override;
20209
- static unique_ptr<BaseStatistics> Deserialize(Deserializer &source, LogicalType type);
20210
- 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;
20211
20202
 
20212
- FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const string &value);
20203
+ FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const string &value) const;
20213
20204
 
20214
- string ToString() override;
20205
+ string ToString() const override;
20215
20206
  };
20216
20207
 
20217
20208
  } // namespace duckdb
@@ -20292,20 +20283,20 @@ public:
20292
20283
  public:
20293
20284
  void Merge(const BaseStatistics &other) override;
20294
20285
 
20295
- bool IsConstant() override;
20286
+ bool IsConstant() const override;
20296
20287
 
20297
- FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const Value &constant);
20288
+ FilterPropagateResult CheckZonemap(ExpressionType comparison_type, const Value &constant) const;
20298
20289
 
20299
- unique_ptr<BaseStatistics> Copy() override;
20300
- void Serialize(Serializer &serializer) override;
20301
- static unique_ptr<BaseStatistics> Deserialize(Deserializer &source, LogicalType type);
20302
- 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;
20303
20294
 
20304
- string ToString() override;
20295
+ string ToString() const override;
20305
20296
 
20306
20297
  private:
20307
20298
  template <class T>
20308
- void TemplatedVerify(Vector &vector, const SelectionVector &sel, idx_t count);
20299
+ void TemplatedVerify(Vector &vector, const SelectionVector &sel, idx_t count) const;
20309
20300
 
20310
20301
  public:
20311
20302
  template <class T>
@@ -21040,8 +21031,8 @@ public:
21040
21031
 
21041
21032
  unique_ptr<ParsedExpression> Copy() const override;
21042
21033
 
21043
- void Serialize(Serializer &serializer) override;
21044
- 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);
21045
21036
  };
21046
21037
  } // namespace duckdb
21047
21038
  //===----------------------------------------------------------------------===//
@@ -21077,8 +21068,8 @@ public:
21077
21068
 
21078
21069
  unique_ptr<ParsedExpression> Copy() const override;
21079
21070
 
21080
- void Serialize(Serializer &serializer) override;
21081
- 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);
21082
21073
  };
21083
21074
  } // namespace duckdb
21084
21075
  //===----------------------------------------------------------------------===//
@@ -21112,8 +21103,8 @@ public:
21112
21103
 
21113
21104
  unique_ptr<ParsedExpression> Copy() const override;
21114
21105
 
21115
- void Serialize(Serializer &serializer) override;
21116
- 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);
21117
21108
  };
21118
21109
  } // namespace duckdb
21119
21110
  //===----------------------------------------------------------------------===//
@@ -21161,8 +21152,8 @@ public:
21161
21152
 
21162
21153
  unique_ptr<ParsedExpression> Copy() const override;
21163
21154
 
21164
- void Serialize(Serializer &serializer) override;
21165
- 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);
21166
21157
  };
21167
21158
  } // namespace duckdb
21168
21159
  //===----------------------------------------------------------------------===//
@@ -21196,8 +21187,8 @@ public:
21196
21187
 
21197
21188
  unique_ptr<ParsedExpression> Copy() const override;
21198
21189
 
21199
- void Serialize(Serializer &serializer) override;
21200
- 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);
21201
21192
  };
21202
21193
 
21203
21194
  } // namespace duckdb
@@ -21233,8 +21224,8 @@ public:
21233
21224
 
21234
21225
  unique_ptr<ParsedExpression> Copy() const override;
21235
21226
 
21236
- void Serialize(Serializer &serializer) override;
21237
- 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);
21238
21229
  };
21239
21230
 
21240
21231
  } // namespace duckdb
@@ -21268,8 +21259,8 @@ public:
21268
21259
  unique_ptr<ParsedExpression> Copy() const override;
21269
21260
  hash_t Hash() const override;
21270
21261
 
21271
- void Serialize(Serializer &serializer) override;
21272
- 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);
21273
21264
  };
21274
21265
  } // namespace duckdb
21275
21266
  //===----------------------------------------------------------------------===//
@@ -21307,8 +21298,8 @@ public:
21307
21298
 
21308
21299
  unique_ptr<ParsedExpression> Copy() const override;
21309
21300
 
21310
- void Serialize(Serializer &serializer) override;
21311
- 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);
21312
21303
  };
21313
21304
  } // namespace duckdb
21314
21305
  //===----------------------------------------------------------------------===//
@@ -21341,8 +21332,8 @@ public:
21341
21332
 
21342
21333
  unique_ptr<ParsedExpression> Copy() const override;
21343
21334
 
21344
- void Serialize(Serializer &serializer) override;
21345
- 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);
21346
21337
  };
21347
21338
  } // namespace duckdb
21348
21339
  //===----------------------------------------------------------------------===//
@@ -21374,8 +21365,8 @@ public:
21374
21365
 
21375
21366
  unique_ptr<ParsedExpression> Copy() const override;
21376
21367
 
21377
- void Serialize(Serializer &serializer) override;
21378
- 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);
21379
21370
  };
21380
21371
  } // namespace duckdb
21381
21372
  //===----------------------------------------------------------------------===//
@@ -21412,8 +21403,8 @@ public:
21412
21403
 
21413
21404
  unique_ptr<ParsedExpression> Copy() const override;
21414
21405
 
21415
- void Serialize(Serializer &serializer) override;
21416
- 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);
21417
21408
  };
21418
21409
  } // namespace duckdb
21419
21410
 
@@ -21452,7 +21443,8 @@ public:
21452
21443
 
21453
21444
  unique_ptr<ParsedExpression> Copy() const override;
21454
21445
 
21455
- 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);
21456
21448
  };
21457
21449
  } // namespace duckdb
21458
21450
 
@@ -21504,10 +21496,8 @@ public:
21504
21496
  static bool Equals(const FunctionExpression *a, const FunctionExpression *b);
21505
21497
  hash_t Hash() const override;
21506
21498
 
21507
- //! Serializes a FunctionExpression to a stand-alone binary blob
21508
- void Serialize(Serializer &serializer) override;
21509
- //! Deserializes a blob back into an FunctionExpression
21510
- 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);
21511
21501
  };
21512
21502
  } // namespace duckdb
21513
21503
 
@@ -21542,8 +21532,8 @@ public:
21542
21532
 
21543
21533
  unique_ptr<ParsedExpression> Copy() const override;
21544
21534
 
21545
- void Serialize(Serializer &serializer) override;
21546
- 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);
21547
21537
  };
21548
21538
  } // namespace duckdb
21549
21539
 
@@ -21579,8 +21569,8 @@ public:
21579
21569
  unique_ptr<ParsedExpression> Copy() const override;
21580
21570
  hash_t Hash() const override;
21581
21571
 
21582
- void Serialize(Serializer &serializer) override;
21583
- 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);
21584
21574
  };
21585
21575
  } // namespace duckdb
21586
21576
 
@@ -21612,15 +21602,15 @@ struct CreateTypeInfo : public CreateInfo {
21612
21602
 
21613
21603
  //! Name of the Type
21614
21604
  string name;
21615
- //! Shared Pointer of Logical Type
21616
- unique_ptr<LogicalType> type;
21605
+ //! Logical Type
21606
+ LogicalType type;
21617
21607
 
21618
21608
  public:
21619
21609
  unique_ptr<CreateInfo> Copy() const override {
21620
21610
  auto result = make_unique<CreateTypeInfo>();
21621
21611
  CopyProperties(*result);
21622
21612
  result->name = name;
21623
- result->type = make_unique<LogicalType>(*type);
21613
+ result->type = type;
21624
21614
  return move(result);
21625
21615
  }
21626
21616
  };
@@ -21882,9 +21872,9 @@ public:
21882
21872
  unique_ptr<TableRef> Copy() override;
21883
21873
 
21884
21874
  //! Serializes a blob into a BaseTableRef
21885
- void Serialize(Serializer &serializer) override;
21875
+ void Serialize(FieldWriter &serializer) const override;
21886
21876
  //! Deserializes a blob back into a BaseTableRef
21887
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
21877
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
21888
21878
  };
21889
21879
  } // namespace duckdb
21890
21880
 
@@ -22193,9 +22183,9 @@ public:
22193
22183
  unique_ptr<TableRef> Copy() override;
22194
22184
 
22195
22185
  //! Serializes a blob into a SubqueryRef
22196
- void Serialize(Serializer &serializer) override;
22186
+ void Serialize(FieldWriter &serializer) const override;
22197
22187
  //! Deserializes a blob back into a SubqueryRef
22198
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22188
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22199
22189
  };
22200
22190
  } // namespace duckdb
22201
22191
  //===----------------------------------------------------------------------===//
@@ -22228,9 +22218,9 @@ public:
22228
22218
  unique_ptr<TableRef> Copy() override;
22229
22219
 
22230
22220
  //! Serializes a blob into a CrossProductRef
22231
- void Serialize(Serializer &serializer) override;
22221
+ void Serialize(FieldWriter &serializer) const override;
22232
22222
  //! Deserializes a blob back into a CrossProductRef
22233
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22223
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22234
22224
  };
22235
22225
  } // namespace duckdb
22236
22226
  //===----------------------------------------------------------------------===//
@@ -22275,9 +22265,9 @@ public:
22275
22265
  unique_ptr<TableRef> Copy() override;
22276
22266
 
22277
22267
  //! Serializes a blob into a JoinRef
22278
- void Serialize(Serializer &serializer) override;
22268
+ void Serialize(FieldWriter &serializer) const override;
22279
22269
  //! Deserializes a blob back into a JoinRef
22280
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22270
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22281
22271
  };
22282
22272
  } // namespace duckdb
22283
22273
  //===----------------------------------------------------------------------===//
@@ -22315,9 +22305,9 @@ public:
22315
22305
  unique_ptr<TableRef> Copy() override;
22316
22306
 
22317
22307
  //! Serializes a blob into a ExpressionListRef
22318
- void Serialize(Serializer &serializer) override;
22308
+ void Serialize(FieldWriter &serializer) const override;
22319
22309
  //! Deserializes a blob back into a ExpressionListRef
22320
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22310
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22321
22311
  };
22322
22312
  } // namespace duckdb
22323
22313
  //===----------------------------------------------------------------------===//
@@ -22345,9 +22335,9 @@ public:
22345
22335
  unique_ptr<TableRef> Copy() override;
22346
22336
 
22347
22337
  //! Serializes a blob into a DummyTableRef
22348
- void Serialize(Serializer &serializer) override;
22338
+ void Serialize(FieldWriter &serializer) const override;
22349
22339
  //! Deserializes a blob back into a DummyTableRef
22350
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22340
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22351
22341
  };
22352
22342
  } // namespace duckdb
22353
22343
  //===----------------------------------------------------------------------===//
@@ -22386,9 +22376,9 @@ public:
22386
22376
  unique_ptr<TableRef> Copy() override;
22387
22377
 
22388
22378
  //! Serializes a blob into a BaseTableRef
22389
- void Serialize(Serializer &serializer) override;
22379
+ void Serialize(FieldWriter &serializer) const override;
22390
22380
  //! Deserializes a blob back into a BaseTableRef
22391
- static unique_ptr<TableRef> Deserialize(Deserializer &source);
22381
+ static unique_ptr<TableRef> Deserialize(FieldReader &source);
22392
22382
  };
22393
22383
  } // namespace duckdb
22394
22384