Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented Oct 10, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

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: 
- This PR depends on the dependencies introduced in and should be merged
after #236.

closes #229 .
…#185)

## Summary
Implements binary serialization and deserialization support for Literal
values, enabling conversion between Literal objects and binary
representations. Adds comprehensive formatting support for date, time,
and timestamp types.

  ## Changes
- Added `Conversions` utility class
(`src/iceberg/util/conversions.cc/h`) with `ToBytes()` and `FromBytes()`
methods for `Literal` binary serialization/deserialization
- Added literal formatting utilities
(`src/iceberg/util/literal_format.cc/h`) for `date`, `time`,
`timestamp`, and `timestamptz` formatting
- Implemented `Literal` serialization methods: Replaced placeholder
implementations of `Serialize()` and `Deserialize()` with full
functionality
- Enhanced `Literal::ToString()`: Added support for `date`, `time`,
`timestamp`, and `timestamptz` types
- Added `TypeId` string conversion: Implemented `ToString(TypeId)`
utility function for type name lookups
- Updated CMake configuration: Added new util source files to build
system

 ## Test Plan
- Comprehensive binary round-trip tests for all primitive types
(boolean, int, long, float, double, string, binary)
- Serialization correctness tests verify exact byte representations
match expected formats
- Date/time formatting tests ensure proper ISO 8601 compatible string
output
- Modify existing test(e.g. manifest_reader_test.cc) to use binary
serialization.
@pull pull bot locked and limited conversation to collaborators Oct 10, 2025
@pull pull bot added the ⤵️ pull label Oct 10, 2025
@pull pull bot merged commit 046f149 into muzammilar:main Oct 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant