berkaysynnada commented on PR #11330:
URL: https://github.com/apache/datafusion/pull/11330#issuecomment-2214018210

   > > Thanks @xinlifoobar working on this issue.
   > > What I suggest is that we can let people to define their own 
normalizations. Rather than directing all values to lowercase, people can 
declare their own normalization methods for specific option keys. If we choose 
to do that in this PR, I believe the normalization process should be done 
during the assignment of table options.
   > 
   > The APIs that could be used in the `datafusion-sql` crate are limited. Do 
you think it is a good idea to add a method, e.g., 
`get_options_normalized_function` a good idea?
   
   `SqlParserOptions` is accessible, what do you think about adding it there? 
But I'm not sure if we can support dynamic method registration. My idea is to 
provide hard-coded functions like the one below, but I'm uncertain where to 
bind it:
   
   ```
   lazy_static! {
       static ref NORMALIZATION_MAP: Mutex<HashMap<String, fn(String) -> 
String>> = {
           let mut m = HashMap::new();
           m.insert("hf.user_access_token".to_string(), lowercase as fn(String) 
-> String);
           // Other normalizations
           Mutex::new(m)
       };
   }
   
   fn lowercase(s: String) -> String {
       s.to_lowercase()
   }
   // Other normalizations
   
   ```
   If the key is not found, use the default normalization or do nothing 
(according to your `enable_options_value_normalization`).
   


-- 
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