Skip to content

Apache Iceberg C++ 0.1.0

Latest

Choose a tag to compare

@liurenjie1024 liurenjie1024 released this 15 Sep 07:15
· 65 commits to main since this release
b717675

What's Changed

  • Add ASF yaml by @Fokko in #1
  • Add basic CMake support for the iceberg library by @wgtmac in #3
  • Add clang format by @zhjwpku in #4
  • Add basic CI to build iceberg and example by @raulcd in #7
  • Add CMake format by @zhjwpku in #5
  • add .gitignore by @zhjwpku in #9
  • Add Dependabot for GitHub Actions by @Fokko in #11
  • Add license checker by @Fokko in #10
  • Add pre-commit config by @zhjwpku in #16
  • Bump actions/setup-python from 3 to 5 by @dependabot[bot] in #18
  • Bump actions/checkout from 3 to 4 by @dependabot[bot] in #19
  • Add GitHub cpp-linter-action by @wgtmac in #20
  • Add iceberg_arrow library by @wgtmac in #6
  • Remove .DS_Store and add it into gitignore by @ConeyLiu in #23
  • Integrate Googletest as Test Framework by @zhjwpku in #13
  • fix wrong copyright year range by @zhjwpku in #25
  • Fix CMake to support being a subproject by @wgtmac in #29
  • Add Doxygen for generating API documentation by @lidavidm in #27
  • ci: add initial collaborators by @wgtmac in #38
  • ci: add clang-tidy Checks by @zhjwpku in #32
  • add iceberg_avro interface by @zhjwpku in #34
  • fix: use upstream avro tag by @wgtmac in #42
  • Add data type/schema field/schema by @lidavidm in #31
  • Make field repr explicit about optionality, add exception type by @lidavidm in #43
  • backport c++23 std::expected by @zhjwpku in #40
  • Add Arrow C Data Interface and nanoarrow dependency by @wgtmac in #44
  • add missing iceberg_export.h by @zhjwpku in #48
  • fix: do not write ICEBERG_INCLUDES everywhere by @wgtmac in #49
  • feat: add pure virtual classes for Catalog, Table, etc. by @wgtmac in #47
  • refactor: simplify library management by @wgtmac in #52
  • feat: convert iceberg schema to arrow schema by @wgtmac in #53
  • feat: add partition field/partition spec by @gty404 in #54
  • feat: add file_io and local impl by adapting arrow::filesystem by @zhjwpku in #30
  • feat: convert arrow schema to iceberg schema by @wgtmac in #57
  • feat: sort order by @zhjwpku in #59
  • feat: add nlohmann/json library by @wgtmac in #63
  • feat: add table metadata definition by @wgtmac in #62
  • feat: add json serialization for schema by @wgtmac in #65
  • feat: sort field/order json serialize/deserialization by @gty404 in #64
  • refactor: consolidate json utility by @wgtmac in #66
  • refactor: consolidate result type by @gty404 in #67
  • feat: add json serialization for partition spec by @gty404 in #68
  • feat: transform function by @gty404 in #61
  • feat: snapshot by @zhjwpku in #60
  • chore: don't include expected.h but result.h by @zhjwpku in #69
  • feat: snapshot serde by @zhjwpku in #74
  • chore: update avro-cpp for fixes from the upstream by @wgtmac in #76
  • feat: adopt MurmurHash3 by @zhjwpku in #78
  • feat:add init expression interface. by @yingcai-cy in #58
  • feat: add json serde for table metadata by @wgtmac in #75
  • refactor: add expression subdirectory by @wgtmac in #81
  • test: add table metadata deserialization test by @wgtmac in #82
  • chore: use chrono::milliseconds in snapshot and consolidate error usage by @zhjwpku in #83
  • feat: add formatter specialization by @wgtmac in #86
  • feat: add table metadata reader and writer by @wgtmac in #85
  • feat: enable arrow to build parquet by @wgtmac in #89
  • feat: add file reader interface by @wgtmac in #88
  • chore: fix a build error due to name conflict by @zhjwpku in #90
  • feat: add base config implementation by @yingcai-cy in #92
  • feat: add name mapping by @wgtmac in #93
  • chore: better error handling of nlohmann json lib apis by @zhjwpku in #95
  • feat: add doc attribute to SchemaField by @wgtmac in #96
  • feat: add visit type support by @zhjwpku in #94
  • feat: add json serde to name mapping by @wgtmac in #97
  • feat: add metadata columns definition by @wgtmac in #98
  • feat: create name mapping from schema by @wgtmac in #99
  • feat: add schema conversion to avro schema by @wgtmac in #100
  • feat: add zlib dependency by @dongxiao1198 in #101
  • feat: add manifest related structures by @zhjwpku in #91
  • fix: bump avro version to enable uuid type test case by @wgtmac in #103
  • feat: add field id checker to avro schema by @wgtmac in #106
  • feat: add avro input&output stream based on arrow stream impl by @dongxiao1198 in #105
  • feat: add schema projection support by @wgtmac in #102
  • refactor: use nesting enum for DataFile and ManifestFile content by @wgtmac in #110
  • feat: add avro schema projection by @wgtmac in #109
  • feat: implement initial MemoryCatalog functionality with namespace and table support by @gty404 in #80
  • feat: support decompress gzip metadata by @dongxiao1198 in #108
  • ci: add asan and ubsan support by @METONLIULEI in #107
  • fix: Minor typo fixes by @mapleFU in #115
  • feat: implement avro file reader by @wgtmac in #113
  • fix: fix build warning in switch case (#118) by @MisterRaindrop in #119
  • fix: allow PartitionField's field_id to be missing in Iceberg v1 by @Smith-Cruise in #121
  • refactor: remove explicit operator!= using C++20 rewrite candidates by @mapleFU in #123
  • feat: implement Primitive type Literal by @mapleFU in #117
  • feat: add or expression by @yingcai-cy in #120
  • chore: enable compile warning as error by @zhjwpku in #125
  • refactor: replace std::any placeholder with Literal by @wgtmac in #130
  • ci: enable sanitizer by @wgtmac in #129
  • feat: add support for avro to arrow data conversion by @wgtmac in #124
  • feat: metadata access support for table by @lishuxu in #111
  • fix: no member named 'SourceFieldIndex' by @zhjwpku in #131
  • feat: add avro reader to registry by @wgtmac in #133
  • refactor: add factory functions for primitive types by @zhjwpku in #134
  • feat: basic table scan planning by @gty404 in #112
  • chore: bump C++ standard to 23 by @zhjwpku in #139
  • feat: add spdlog dependency to implement logging by @wgtmac in #140
  • chore: upgrade nanoarrow dependency by @gty404 in #146
  • refactor: Add SchemaById and SnapshotById to TableMetadata by @gty404 in #144
  • feat: add manifest list reader by @dongxiao1198 in #143
  • feat: RegisterTable support for InMemoryCatalog by @lishuxu in #142
  • feat: support operator== for Literal/Manifest/ManifestList by @dongxiao1198 in #147
  • feat: implement transform ResultType by @zhjwpku in #132
  • feat: add in-memory FileIO backed by Arrow MockFileSystem by @wgtmac in #148
  • bump arrow version to 21.0.0 by @zhjwpku in #149
  • feat: support manifest reader by @dongxiao1198 in #150
  • fix: wrong header inclusion by @zhjwpku in #155
  • refactor: Simplify test setup using a common CMake function by @lishuxu in #151
  • feat: pass partition schema to manifest reader by @dongxiao1198 in #157
  • feat: add scaffolding work for parquet reader by @wgtmac in #154
  • feat(parquet): add HasFieldIds check by @wgtmac in #158
  • chore(deps): bump cpp-linter/cpp-linter-action from 2.13.3 to 2.15.0 by @dependabot[bot] in #114
  • fix: correct return type of ArrowFileSystemFileIO functions( MakeMockFileIO, MakeLocalFileIO ) by @nullccxsy in #161
  • feat: add file writer and manifest writer interface definition by @dongxiao1198 in #160
  • fix: Correct BuildTable method signature by @HeartLinked in #163
  • feat: implement Literal Transform by @zhjwpku in #156
  • feat(parquet): add schema projection to parquet by @wgtmac in #159
  • feat: Refresh method support for table by @lishuxu in #152
  • test: add test of manifestlistv1 by @nullccxsy in #171
  • chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #170
  • fix: content in manifest entry should be optional by @nullccxsy in #172
  • feat: support avro writer by @dongxiao1198 in #173
  • test:  enhance ManifestListReaderV2Test and unified test architecture by @HeartLinked in #168
  • feat(parquet): project arrow array for parquet by @wgtmac in #165
  • feat(avro): extract avro datum from arrow array by @wgtmac in #166
  • fix: correct partition field handling for non-partitioned tables and add test for manifest file reader by @HeartLinked in #175
  • test: add parquet reader test by @wgtmac in #184
  • feat: avro support applying field-ids based on name mapping by @MisterRaindrop in #127
  • chore: use more from_chars by @zhjwpku in #186
  • chore: add missing license header by @HeartLinked in #189
  • refactor: enhance forward declarations in type_fwd.h to reduce compile dependencies by @HeartLinked in #187
  • chore: consolidate avro and parquet register api by @wgtmac in #191
  • refactor: clean up code to apply name mapping on avro by @wgtmac in #195
  • chore(deps): bump cpp-linter/cpp-linter-action from 2.15.0 to 2.16.0 by @dependabot[bot] in #183
  • feat: implement manifest entry metadata inheritance by @HeartLinked in #178
  • refactor: rename util files from *_utils to *_util for consistency by @HeartLinked in #197
  • refactor: default equality operators for statistic file structs by @smaheshwar-pltr in #202
  • refactor: remove unused arrow_c_data_internal files by @nullccxsy in #203
  • feat: implement endian conversion utilities by @HeartLinked in #196
  • feat: add find field (by id and name) support to schema by @nullccxsy in #180
  • feat: add find field (by name) support to NestedType by @nullccxsy in #194
  • feat: implement basic parquet writer and add roundtrip tests by @HuaHuaY in #198
  • feat: implement AvroWriter Write method by @nullccxsy in #204
  • feat: add manifest&manifest list writer by @dongxiao1198 in #176
  • feat: add demo for registering table and planning files by @wgtmac in #205
  • chore: use ninja for ci build by @zhjwpku in #215
  • chore: add release script and github workflow by @HeartLinked in #193
  • chore: add missing license for spdlog and zlib by @wgtmac in #217

New Contributors

Full Changelog: https://github.com/apache/iceberg-cpp/commits/v0.1.0