This is an automated email from the ASF dual-hosted git repository.

zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-go.git


The following commit(s) were added to refs/heads/main by this push:
     new 8957d761 docs(parquet): Add thrift generation contribution info (#971)
8957d761 is described below

commit 8957d76120907bca2c07e3a475868de3a595a5d1
Author: Colton Loftus <[email protected]>
AuthorDate: Thu Jul 23 16:11:12 2026 -0400

    docs(parquet): Add thrift generation contribution info (#971)
    
    ### Rationale for this change
    
    When making changes to parquet-related logic sometimes contributors need
    to regenerate thrift generated files. I did this for
    https://github.com/apache/arrow-go/pull/960 However since the thrift
    definitions don't live in this repo, it might be worth documenting for
    new users.
    
    These docs are based on my understanding from discussions with
    maintainers in the iceberg go slack.
    
    Feel free to close or propose / make direct edits as you see fit
    
    ### What changes are included in this PR?
    
    Just documentation
    
    ### Are these changes tested?
    
    No since they are just docs
    
    ### Are there any user-facing changes?
    
    No
---
 CONTRIBUTING.md | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0b79fa54..e2ad4e1c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -40,6 +40,36 @@ ci: update CI environment
 feat(parquet): support new encoding type
 ```
 
+## Generating Thrift
+
+The generated Go definitions for Parquet Thrift live under
+`parquet/internal/gen-go`. If the upstream Parquet Thrift definitions change,
+or if you are updating code that depends on definitions others have changed,
+regenerate these files with the Thrift compiler before sending a PR.
+
+Install the `thrift` compiler locally, then download the current Parquet Thrift
+definition into the repository root:
+
+```sh
+curl -L -o parquet.thrift 
https://raw.githubusercontent.com/apache/parquet-format/master/src/main/thrift/parquet.thrift
+```
+
+Run generation from the repository root:
+
+```sh
+go generate ./parquet
+```
+
+The downloaded `parquet.thrift` file is only an input to generation. Do not add
+it to git; commit the generated Go changes instead.
+
+The generated package is internal on purpose. Public APIs should not expose the
+whole generated Thrift surface directly. When a generated enum, struct, or
+constant needs to be used outside the internal package, add or update the small
+public wrapper, alias, or conversion helper in the relevant `parquet` package
+instead. This keeps the exported API controlled while still making conversions
+to and from the generated Thrift types straightforward.
+
 ## Did you find a bug?
 
 The Arrow project uses GitHub as a bug tracker.  To report a bug, sign in 

Reply via email to