piyushgarg5021 commented on issue #15157:
URL: https://github.com/apache/datafusion/issues/15157#issuecomment-2715489360

   Proposed Solution:
   There are two possible solutions:
   
   1. Implement Serialize and Deserialize for datafusion_proto_common::Schema:
   
   Add #[derive(Serialize, Deserialize)] to the datafusion_proto_common::Schema 
type if it is a local type.
   
   If datafusion_proto_common::Schema is from another crate, check if the crate 
provides a serde feature flag and enable it.
   
   2. Remove or Fix the json Feature:
   
   If the json feature is not intended to work, it should be removed from the 
crate.
   
   Alternatively, fix the feature by ensuring all required types implement 
Serialize and Deserialize.
   
   **Implementation Plan:**
   Check if datafusion_proto_common::Schema is Local:
   
   If it is a local type, derive Serialize and Deserialize:
   
   rust
   #[derive(Serialize, Deserialize)]
   pub struct Schema {
       // fields
   }
   If it is from another crate, check if the crate provides a serde feature 
flag and enable it in Cargo.toml.
   
   Update Cargo.toml:
   
   Ensure the serde dependency is included and properly configured:
   
   toml
   
   [dependencies]
   serde = { version = "1.0", features = ["derive"] }
   Add Tests:
   
   Add tests to verify that the json feature works as expected:
   
   rust
   
   #[cfg(feature = "json")]
   #[test]
   fn test_json_serialization() {
       use serde_json;
       let schema = Schema::new();
       let json = serde_json::to_string(&schema).unwrap();
       let deserialized_schema: Schema = serde_json::from_str(&json).unwrap();
       assert_eq!(schema, deserialized_schema);
   }
   Remove the json Feature (if necessary):
   
   If the feature is not intended to work, remove it from Cargo.toml and update 
the documentation.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to