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]