Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate C++ APIs that rely on deprecated APIs. #4879

Merged
merged 2 commits into from
Apr 22, 2024

Conversation

teo-tsirpanis
Copy link
Member

@teo-tsirpanis teo-tsirpanis commented Apr 15, 2024

As part of removing the deprecated APIs, we discovered that there are some non-deprecated C++ APIs that are calling deprecated C APIs and would break once the latter get removed. This PR marks these C++ APIs as deprecated, to be removed alongside the C APIs.


TYPE: CPP_API
DESC: Query::submit_async is deprecated. Call Query::submit() on another thread instead.


TYPE: CPP_API
DESC: Overloads of methods and constructors in Array and ArraySchema that accept encryption keys are deprecated. Specify the encryption key with the sm.encryption_type and sm.encryption_key config options instead.

@teo-tsirpanis teo-tsirpanis requested a review from KiterLuc April 15, 2024 11:51
@teo-tsirpanis teo-tsirpanis changed the title Deprecate Query::submit_async C++ API. Deprecate C++ APIs that rely on deprecated APIs. Apr 18, 2024
@teo-tsirpanis
Copy link
Member Author

Updated PR to deprecate all C++ APIs that use deprecated APIs under the hood.

@KiterLuc KiterLuc merged commit f81be54 into dev Apr 22, 2024
61 checks passed
@KiterLuc KiterLuc deleted the teo/cpp-submit-async-deprecate branch April 22, 2024 11:07
KiterLuc pushed a commit that referenced this pull request Apr 29, 2024
…++ APIs. (#4887)

[SC-23937](https://app.shortcut.com/tiledb-inc/story/23937/build-artifact-disabling-deprecated-functions)

> [!NOTE]
> Depends on #4879.

As part of preparing to remove the deprecated APIs, we need a mechanism
to exclude them from being compiled. There exists already the
`TILEDB_REMOVE_DEPRECATIONS` option, but it covers only a subset of the
deprecated APIs in the C++ `Array` class.

This PR expands `TILEDB_REMOVE_DEPRECATIONS` to cover every deprecated C
and C++ API. When this option is set, a define with the same name is
defined and the deprecated APIs are not compiled into the library. This
flag also gets publicly exported from the `TileDB::tiledb` target.

---
TYPE: BUILD
DESC: Update the `TILEDB_REMOVE_DEPRECATIONS` option to exclude all
deprecated C and C++ APIs from the library binary and the headers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants