lidavidm commented on issue #4085:
URL: https://github.com/apache/arrow-adbc/issues/4085#issuecomment-4053208922

   Does this seem reasonable?
   
   - We check all arguments for a profile first.
   - Multiple profiles is an error.
   - If we have a profile, we load it.
   - We then check driver. If there is no driver, we check URI instead.
   - If we have a driver (either specified directly, or via URI), then we 
ensure it matches the profile (if set).
   - If we have a driver (specified directly), then URI is just a normal 
argument. (Unless it was a profile, but then in the first step we already 
checked it.)
   
   
   | driver=     | uri=           | profile= | Behavior                         
                                                             |
   
|-------------|----------------|----------|-----------------------------------------------------------------------------------------------|
   | Empty       | Empty          | Empty    | Error                            
                                                             |
   | Empty       | Empty          | Profile  | Load profile                     
                                                             |
   | Empty       | Driver URI     | Empty    | Load driver, set URI             
                                                             |
   | Empty       | Driver URI     | Profile  | Load profile, ensure driver in 
driver URI matches profile, set URI                            |
   | Empty       | Profile URI    | Empty    | Load profile                     
                                                             |
   | Empty       | Profile URI    | Profile  | Error                            
                                                             |
   | Empty       | Non-driver URI | Empty    | Probably fail to find driver     
                                                             |
   | Empty       | Non-driver URI | Profile  | Load profile, set URI            
                                                             |
   | Driver      | Empty          | Empty    | Load driver                      
                                                             |
   | Driver      | Empty          | Profile  | Load profile                     
                                                             |
   | Driver      | Driver URI     | Empty    | Load driver, set URI (driver in 
URI is ignored)                                               |
   | Driver      | Driver URI     | Profile  | Load profile, ensure driver 
matches profile, set URI (driver in URI is ignored)               |
   | Driver      | Profile URI    | Empty    | Load profile, ensure driver 
matches profile                                                   |
   | Driver      | Profile URI    | Profile  | Error                            
                                                             |
   | Driver      | Non-driver URI | Empty    | Load driver, set URI             
                                                             |
   | Driver      | Non-driver URI | Profile  | Load profile, ensure driver 
matches profile, set URI                                          |
   | Driver URI  | Empty          | Empty    | Load driver, set URI             
                                                             |
   | Driver URI  | Empty          | Profile  | Load profile, ensure driver in 
driver URI matches profile, set URI                            |
   | Driver URI  | Driver URI     | Empty    | Load driver, set URI (driver in 
URI is ignored)                                               |
   | Driver URI  | Driver URI     | Profile  | Load profile, ensure driver in 
driver URI matches profile, set URI (driver in URI is ignored) |
   | Driver URI  | Profile URI    | Empty    | Load profile, ensure driver in 
driver URI matches profile, set URI                            |
   | Driver URI  | Profile URI    | Profile  | Error                            
                                                             |
   | Driver URI  | Non-driver URI | Empty    | Load driver, set URI (driver in 
URI is ignored)                                               |
   | Driver URI  | Non-driver URI | Profile  | Load profile, ensure driver in 
driver URI matches profile, set URI                            |
   | Profile URI | Empty          | Empty    | Load profile                     
                                                             |
   | Profile URI | Empty          | Profile  | Error                            
                                                             |
   | Profile URI | Driver URI     | Empty    | Load profile, set URI            
                                                             |
   | Profile URI | Driver URI     | Profile  | Error                            
                                                             |
   | Profile URI | Profile URI    | Empty    | Error                            
                                                             |
   | Profile URI | Profile URI    | Profile  | Error                            
                                                             |
   | Profile URI | Non-driver URI | Empty    | Load profile, set URI            
                                                             |
   | Profile URI | Non-driver URI | Profile  | Error                            
                                                             |


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