Skip to content

Conversation

HeartLinked
Copy link
Contributor

@HeartLinked HeartLinked commented Sep 16, 2025

Reorganizes the catalog module structure to better support the upcoming REST catalog implementation. Changes:

  • Create a new memory subdirectory within iceberg-cpp/src/iceberg/catalog/. Move the existing in_memory_catalog.cc and in_memory_catalog.h files into this new memory subdirectory.
  • Add json dependencies for the rest package to support serialization and deserialization of data.
  • Add the cpp-httplib dependency to the rest test code. This library will be used to simply simulate an Iceberg REST server, enabling tests of whether the RestCatalog client can communicate with it correctly and handle success and failure scenarios.

Hint:

closes #229 .

@HeartLinked HeartLinked force-pushed the feat/catalog-rest1 branch 8 times, most recently from b03771f to 681c18a Compare September 18, 2025 09:11
@HeartLinked HeartLinked changed the title feat: Add rest catalog http request dependency for poc refactor: Restructure catalog module to support REST catalog Sep 19, 2025
@HeartLinked HeartLinked marked this pull request as ready for review September 19, 2025 05:12
@HeartLinked HeartLinked changed the title refactor: Restructure catalog module to support REST catalog refactor: Restructure catalog module Sep 19, 2025
@HeartLinked HeartLinked force-pushed the feat/catalog-rest1 branch 5 times, most recently from 3338363 to e7db68e Compare September 27, 2025 10:40
@@ -15,13 +15,23 @@
# specific language governing permissions and limitations
# under the License.

fetchcontent_declare(cpp-httplib
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WillAyd Do you have any comment?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming this is in the context of Meson then no - this package is available in the wrapdb so it's easy to integrate

# under the License.

iceberg_install_all_headers(iceberg/catalog)
add_subdirectory(memory)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
add_subdirectory(memory)
add_subdirectory(memory)

@Fokko Fokko merged commit 3669b05 into apache:main Oct 10, 2025
7 checks passed
# specific language governing permissions and limitations
# under the License.

iceberg_install_all_headers(iceberg/catalog)
Copy link
Contributor

@WillAyd WillAyd Oct 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI since the in_memory_catalog.h header was moved, this no longer installs anything. Maybe worth removing?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch!

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.

Create iceberg-rest-catalog library for REST catalog

4 participants