|
| 1 | +<!-- |
| 2 | + ~ Licensed to the Apache Software Foundation (ASF) under one |
| 3 | + ~ or more contributor license agreements. See the NOTICE file |
| 4 | + ~ distributed with this work for additional information |
| 5 | + ~ regarding copyright ownership. The ASF licenses this file |
| 6 | + ~ to you under the Apache License, Version 2.0 (the |
| 7 | + ~ "License"); you may not use this file except in compliance |
| 8 | + ~ with the License. You may obtain a copy of the License at |
| 9 | + ~ |
| 10 | + ~ http://www.apache.org/licenses/LICENSE-2.0 |
| 11 | + ~ |
| 12 | + ~ Unless required by applicable law or agreed to in writing, |
| 13 | + ~ software distributed under the License is distributed on an |
| 14 | + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| 15 | + ~ KIND, either express or implied. See the License for the |
| 16 | + ~ specific language governing permissions and limitations |
| 17 | + ~ under the License. |
| 18 | +--> |
| 19 | + |
| 20 | +# Vendored Hive Metastore Thrift IDL |
| 21 | + |
| 22 | +This directory contains vendored Thrift interface definitions used to generate |
| 23 | +the C++ Hive Metastore (HMS) client consumed by the `iceberg_hive` library. The |
| 24 | +files are copied verbatim from upstream Apache projects and remain under the |
| 25 | +Apache License, Version 2.0 (see `LICENSE` in the repository root). The only |
| 26 | +modification is the repository's pre-commit normalization (trailing whitespace |
| 27 | +stripped, single final newline); each file retains its original upstream license |
| 28 | +header in place. |
| 29 | + |
| 30 | +## Vendored sources |
| 31 | + |
| 32 | +Sources are pinned to immutable upstream tags and commit SHAs so the provenance |
| 33 | +is reproducible and future updates are deterministic. |
| 34 | + |
| 35 | +| File | Upstream | Tag | Commit | |
| 36 | +| --- | --- | --- | --- | |
| 37 | +| `hive_metastore.thrift` | [apache/hive](https://github.com/apache/hive) — `standalone-metastore/src/main/thrift/hive_metastore.thrift` | `rel/release-3.1.3` | [`04c1b307d1bbd1ae268ad47dc36ca4f50c6d9cd8`](https://github.com/apache/hive/blob/04c1b307d1bbd1ae268ad47dc36ca4f50c6d9cd8/standalone-metastore/src/main/thrift/hive_metastore.thrift) | |
| 38 | +| `share/fb303/if/fb303.thrift` | [apache/thrift](https://github.com/apache/thrift) — `contrib/fb303/if/fb303.thrift` | `v0.14.0` | [`8411e189b0af09e5baad34031555870cf692c1ad`](https://github.com/apache/thrift/blob/8411e189b0af09e5baad34031555870cf692c1ad/contrib/fb303/if/fb303.thrift) | |
| 39 | + |
| 40 | +`fb303.thrift` is the Facebook fb303 management service IDL, transitively |
| 41 | +included by `hive_metastore.thrift`. It was originally developed at Facebook, |
| 42 | +Inc. and contributed to the Apache Software Foundation under the Apache License, |
| 43 | +Version 2.0. |
| 44 | + |
| 45 | +## Updating |
| 46 | + |
| 47 | +Keep a single vendored IDL pinned to an immutable Hive release tag or commit. |
| 48 | +To update, re-fetch the file at the new upstream ref, refresh the table above |
| 49 | +with the new tag and commit SHA, and re-run the pre-commit hooks. |
0 commit comments