joellubi opened a new issue, #1074:
URL: https://github.com/apache/arrow-adbc/issues/1074

   I have noticed some unexpected behavior in the handling of options passed in 
during driver initialization in `snowflake.Driver.NewDatabase(opts)`. When 
setting an option value that does not have a predefined key 
like`adbc.OptionKey*` or `snowflake.Option*`, the option is often ignored but 
not 100% of the time.
   
   After some investigation I found a small bug where the [Param is assigned a 
pointer to the 
value](https://github.com/apache/arrow-adbc/blob/efe12aa1ff2b8e9acbb8cf381f26c3ad8aa5d1a4/go/adbc/driver/snowflake/driver.go#L521),
 but the value is a loop variable that mutates with each iteration.
   
   I am happy to contribute the fix, the variable just needs to be explicitly 
assigned within the loop. I already have this working and tested on a local 
branch, but I am new to the arrow/adbc project and had some questions before I 
do so. I saw that `GetOption*` functions were added to most drivers recently 
and I wanted to leverage those in a unit test for this fix (i.e. `SetOptions` 
then check with `GetOption`). In order to add this to the generic 
`DatabaseTests` in validation.go, `GetOption` would need to be included in the 
adbc.go interface. That seems like a bigger change to the project but 
potentially something that would be done eventually given the changes to 
specific drivers, so I wanted to check in before proceeding.
   
   I would appreciate any feedback on this kind of change and am happy to open 
a PR to discuss the specific code changes.
   
   Thank you, and looking forward to contributing.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to