zeroshade commented on code in PR #3694:
URL: https://github.com/apache/arrow-adbc/pull/3694#discussion_r2524571075
##########
c/driver_manager/adbc_driver_manager.cc:
##########
@@ -1691,16 +1691,45 @@ AdbcStatusCode AdbcDatabaseSetOption(struct
AdbcDatabase* database, const char*
TempDatabase* args = reinterpret_cast<TempDatabase*>(database->private_data);
if (std::strcmp(key, "driver") == 0) {
std::string_view v{value};
- std::string::size_type pos = v.find("://");
+ std::string::size_type pos = v.find(":");
if (pos != std::string::npos) {
std::string_view d = v.substr(0, pos);
args->driver = std::string{d};
- args->options["uri"] = std::string{v};
+
+ auto next = v.at(pos + 1);
+ if (next == '/' || next == ':') {
+ // uri is like 'driver://...' or 'driver:file::...'
Review Comment:
sqlite is the one that I've seen, `sqlite:file::memory:` etc. as far as i'm
aware, duckdb also allows the same. When you say special-case, you mean that we
should only support `::` if it's `file::`?
--
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]