Skip to content

Commit

Permalink
v2.20.0-rc0
Browse files Browse the repository at this point in the history
  • Loading branch information
eddelbuettel committed Jan 24, 2024
1 parent 2819c91 commit f9cfecc
Show file tree
Hide file tree
Showing 43 changed files with 117 additions and 8 deletions.
4 changes: 4 additions & 0 deletions include/tiledb/api/c_api/api_external_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ TILEDB_EXPORT capi_status_t tiledb_status_code(capi_return_t x);
* Invalid error argument would prevent errors from being reported correctly.
*/
#define TILEDB_INVALID_ERROR (-4)
/**
* Invalid error argument would prevent errors from being reported correctly.
*/
#define TILEDB_BUDGET_UNAVAILABLE (-5)
/**@}*/

#ifdef __cplusplus
Expand Down
5 changes: 3 additions & 2 deletions include/tiledb/api/c_api/config/config_api_external.h
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,12 @@ TILEDB_EXPORT void tiledb_config_free(tiledb_config_t** config) TILEDB_NOEXCEPT;
* (since the resulting fragment is dense). <br>
* **Default**: 1.0
* - `sm.consolidation.buffer_size` <br>
* Deprecated. Prefer `sm.consolidation.total_buffer_size` instead.
* **Deprecated**
* The size (in bytes) of the attribute buffers used during
* consolidation. <br>
* **Default**: 50,000,000
* - `sm.consolidation.total_buffer_size` <br>
* **Deprecated**
* The size (in bytes) of all attribute buffers used during
* consolidation. <br>
* **Default**: 2,147,483,648
Expand Down Expand Up @@ -565,7 +566,7 @@ TILEDB_EXPORT void tiledb_config_free(tiledb_config_t** config) TILEDB_NOEXCEPT;
* When set to `true`, the S3 SDK uses a handler that ignores SIGPIPE
* signals.
* **Default**: "true"
* - `vfs.hdfs.name_node_uri"` <br>
* - `vfs.hdfs.name_node_uri` <br>
* Name node for HDFS. <br>
* **Default**: ""
* - `vfs.hdfs.username` <br>
Expand Down
102 changes: 102 additions & 0 deletions include/tiledb/api/c_api/vfs/vfs_api_experimental.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
/**
* @file tiledb/api/c_api/vfs/vfs_api_experimental.h
*
* @section LICENSE
*
* The MIT License
*
* @copyright Copyright (c) 2023 TileDB, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @section DESCRIPTION
*
* This file declares the experimental VFS C API for TileDB.
*/

#ifndef TILEDB_VFS_API_EXPERIMENTAL_H
#define TILEDB_VFS_API_EXPERIMENTAL_H

#include "tiledb/api/c_api/api_external_common.h"
#include "tiledb/api/c_api/context/context_api_external.h"
#include "tiledb/api/c_api/vfs/vfs_api_external.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
* Typedef for ls_recursive callback function invoked on each object collected.
*
* @param path The path of a visited object for the relative filesystem.
* @param path_len The length of the path.
* @param object_size The size of the object at the current path.
* @param data Data passed to the callback used to store collected results.
*/
typedef int32_t (*tiledb_ls_callback_t)(
const char* path, size_t path_len, uint64_t object_size, void* data);

/**
* Visits the children of `path` recursively, invoking the callback for each
* entry. The callback should return 1 to continue traversal, 0 to stop, or -1
* on error. The callback is responsible for writing gathered entries into the
* `data` buffer, for example using a pointer to a user-defined struct.
*
* Currently only S3 is supported, and the `path` must be a valid S3 URI.
*
* **Example:**
*
* @code{.c}
* int my_callback(
* const char* path, size_t path_length, uint64_t file_size, void* data) {
* MyCbStruct cb_data = static_cast<MyCbStruct*>(data);
* // Perform custom callback behavior here.
* return 1; // Continue traversal to next entry.
* }
* MyCbStruct* cb_data = allocate_cb_struct();
*
* tiledb_vfs_ls_recursive(ctx, vfs, "s3://bucket/foo", my_callback, &cb_data);
* @endcode
*
* @param[in] ctx The TileDB context.
* @param[in] vfs The virtual filesystem object.
* @param[in] path The path in which the traversal will occur.
* @param[in] callback
* The callback function to be applied on every visited object.
* The callback should return `0` if the iteration must stop, and `1`
* if the iteration must continue. It takes as input the currently visited
* path, the length of the currently visited path, the size of the file, and
* user provided buffer for paths and object sizes in the form of a struct
* pointer. The callback returns `-1` upon error. Note that `path` in the
* callback will be an **absolute** path.
* @param[in] data Data pointer passed into the callback for storing results.
* @return `TILEDB_OK` for success and `TILEDB_ERR` for error.
*/
TILEDB_EXPORT capi_return_t tiledb_vfs_ls_recursive(
tiledb_ctx_t* ctx,
tiledb_vfs_t* vfs,
const char* path,
tiledb_ls_callback_t callback,
void* data) TILEDB_NOEXCEPT;

#ifdef __cplusplus
}
#endif

#endif // TILEDB_VFS_API_EXPERIMENTAL_H
3 changes: 2 additions & 1 deletion include/tiledb/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -340,11 +340,12 @@ class Config {
* (since the resulting fragments is dense). <br>
* **Default**: 1.0
* - `sm.consolidation.buffer_size` <br>
* Deprecated. Prefer `sm.consolidation.total_buffer_size` instead.
* **Deprecated**
* The size (in bytes) of the attribute buffers used during
* consolidation. <br>
* **Default**: 50,000,000
* - `sm.consolidation.total_buffer_size` <br>
* **Deprecated**
* The size (in bytes) of all attribute buffers used during
* consolidation. <br>
* **Default**: 2,147,483,648
Expand Down
1 change: 1 addition & 0 deletions include/tiledb/tiledb_experimental.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
#include "tiledb/api/c_api/query_aggregate/query_aggregate_api_external_experimental.h"
#include "tiledb/api/c_api/query_field/query_field_api_external_experimental.h"
#include "tiledb/api/c_api/query_plan/query_plan_api_external_experimental.h"
#include "tiledb/api/c_api/vfs/vfs_api_experimental.h"
#include "tiledb_dimension_label_experimental.h"

/* ********************************* */
Expand Down
6 changes: 3 additions & 3 deletions include/tiledb/tiledb_export.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
# define TILEDB_NO_EXPORT
#else
# ifndef TILEDB_EXPORT
# ifdef TILEDB_CORE_OBJECTS_EXPORTS
# ifdef tiledb_EXPORTS
/* We are building this library */
# define TILEDB_EXPORT __declspec(dllexport)
# define TILEDB_EXPORT
# else
/* We are using this library */
# define TILEDB_EXPORT __declspec(dllimport)
# define TILEDB_EXPORT
# endif
# endif

Expand Down
4 changes: 2 additions & 2 deletions include/tiledb/tiledb_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@
*/

#define TILEDB_VERSION_MAJOR 2
#define TILEDB_VERSION_MINOR 19
#define TILEDB_VERSION_PATCH 1
#define TILEDB_VERSION_MINOR 20
#define TILEDB_VERSION_PATCH 0
Binary file modified lib/x64-ucrt/libaws-c-auth.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-cal.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-common.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-compression.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-event-stream.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-http.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-io.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-mqtt.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-s3.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-c-sdkutils.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-checksums.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-access-management.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-cognito-identity.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-core.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-iam.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-identity-management.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-s3.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-cpp-sdk-sts.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libaws-crt-cpp.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libbz2.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libfmt.a
Binary file not shown.
Binary file modified lib/x64-ucrt/liblibmagic.a
Binary file not shown.
Binary file modified lib/x64-ucrt/liblz4.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libpcre2-16.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libpcre2-32.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libpcre2-8.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libpcre2-posix.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libsharpyuv.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libspdlog.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libtiledbstatic.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libwebp.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libwebpdecoder.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libwebpdemux.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libwebpmux.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libzlib.a
Binary file not shown.
Binary file modified lib/x64-ucrt/libzstd.a
Binary file not shown.

0 comments on commit f9cfecc

Please sign in to comment.