@@ -52,7 +52,7 @@ const OPT_BINARY_FORMAT: &str = "binary_format";
5252const OPT_USE_LOGIC_TYPE : & str = "use_logic_type" ;
5353
5454/// File format parameters after checking and parsing.
55- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
55+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
5656#[ serde( tag = "type" ) ]
5757pub enum FileFormatParams {
5858 Csv ( CsvFileFormatParams ) ,
@@ -446,7 +446,7 @@ impl FileFormatOptionsReader {
446446 }
447447}
448448
449- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
449+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
450450pub struct CsvFileFormatParams {
451451 pub compression : StageFileCompression ,
452452
@@ -498,7 +498,7 @@ impl CsvFileFormatParams {
498498 }
499499}
500500
501- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
501+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
502502pub struct TsvFileFormatParams {
503503 pub compression : StageFileCompression ,
504504 pub headers : u64 ,
@@ -532,7 +532,7 @@ impl TsvFileFormatParams {
532532 }
533533}
534534
535- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
535+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
536536pub struct XmlFileFormatParams {
537537 pub compression : StageFileCompression ,
538538 pub row_tag : String ,
@@ -558,7 +558,7 @@ impl Default for XmlFileFormatParams {
558558
559559/// used for both `missing_field_as` and `null_field_as`
560560/// for extensibility, it is stored as PB string in meta
561- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize , Default ) ]
561+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize , Default ) ]
562562pub enum NullAs {
563563 /// for `missing_field_as` only, and is default for it for safety,
564564 /// in case of wrong field names when creating table.
@@ -570,7 +570,7 @@ pub enum NullAs {
570570 FieldDefault ,
571571}
572572
573- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize , Default ) ]
573+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize , Default ) ]
574574pub enum EmptyFieldAs {
575575 #[ default]
576576 Null ,
@@ -638,7 +638,7 @@ impl Display for NullAs {
638638 }
639639}
640640
641- #[ derive( Clone , Copy , Debug , PartialEq , Eq , Serialize , Deserialize , Default ) ]
641+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash , Serialize , Deserialize , Default ) ]
642642pub enum BinaryFormat {
643643 #[ default]
644644 Hex ,
@@ -668,7 +668,7 @@ impl Display for BinaryFormat {
668668 }
669669}
670670
671- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
671+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
672672pub struct JsonFileFormatParams {
673673 pub compression : StageFileCompression ,
674674}
@@ -690,7 +690,7 @@ impl Default for JsonFileFormatParams {
690690 }
691691}
692692
693- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
693+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
694694pub struct NdJsonFileFormatParams {
695695 pub compression : StageFileCompression ,
696696 pub missing_field_as : NullAs ,
@@ -741,7 +741,7 @@ impl NdJsonFileFormatParams {
741741 }
742742}
743743
744- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
744+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
745745pub struct AvroFileFormatParams {
746746 pub compression : StageFileCompression ,
747747 pub missing_field_as : NullAs ,
@@ -791,7 +791,7 @@ impl AvroFileFormatParams {
791791 }
792792}
793793
794- #[ derive( Clone , Debug , PartialEq , Eq , Serialize , Deserialize ) ]
794+ #[ derive( Clone , Debug , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
795795pub struct ParquetFileFormatParams {
796796 // used only for unload
797797 pub compression : StageFileCompression ,
@@ -828,7 +828,7 @@ impl ParquetFileFormatParams {
828828 }
829829}
830830
831- #[ derive( Clone , Debug , Default , PartialEq , Eq , Serialize , Deserialize ) ]
831+ #[ derive( Clone , Debug , Default , PartialEq , Eq , Hash , Serialize , Deserialize ) ]
832832pub struct OrcFileFormatParams {
833833 pub missing_field_as : NullAs ,
834834}
0 commit comments