TileDB
TileDB copied to clipboard
Support for setting the root path of arrays
This PR is to provide capability to set the root directory of a tiledb context to a user specified location on the local file system. Instead of using current working directory, we can set config parameter "vfs.local_root_path" or env to specify the root directory.
TYPE: FEATURE DESC: Provide capability to set the root path of a context
This pull request has been linked to Shortcut Story #9783: Provide capability to set the root directory of a context.
My concern remains here: even constraining it to a single context, this setting applies to the VFS level. I would prefer to only apply it to
tiledb_array_open.
I will try to constrain it to only in the function 'tiledb_array_open'
I tested around on my local Windows machine by using relative and absolute paths, different slash directions, and in different directories, and it looks good to me.
I'm a little concerned about the complete removal of the functionality I -think- make_uri() was providing... Going back/forth between before/after, seems like its presence may have enabled a user to set the root and then be able to call various auxiliary methods (vacuum, consolidate, whatelse) without having any further external changes. Without that functionality in place, user's will have to go through the extra steps to extract the necessary name from array.uri() to pass to the other auxiliary functionality(), whereas with it in place seems like the up front setting into the config of the context would have been enough to have it work, since that its likely 'that' context in play with all areas in any currently existing code, the array and the auxiliary methods all likely already being called with the same context.
We didn't get response of user's requirement. At the mean time, we want to restrict it to open and create an array(don't want to apply to consolidate and else). so I finally removed make_uri in StorageManager.
This will be reworked and reopened when the request is better defined.