This is an automated email from the ASF dual-hosted git repository. felipecrv pushed a commit to branch felipe/bq-partitions in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
commit 290f3145f1c65bedb7c71986546571395f08a46e Author: Felipe Oliveira Carvalho <[email protected]> AuthorDate: Thu Apr 10 19:45:17 2025 -0700 feat(go/adbc/driver/bigquery): Return data about table/view partitioning --- go/adbc/driver/bigquery/connection.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/go/adbc/driver/bigquery/connection.go b/go/adbc/driver/bigquery/connection.go index f4caeb122..466b9741a 100644 --- a/go/adbc/driver/bigquery/connection.go +++ b/go/adbc/driver/bigquery/connection.go @@ -621,6 +621,29 @@ func (c *connectionImpl) getTableSchemaWithFilter(ctx context.Context, catalog * metadata["MaterializedView.MaxStaleness"] = md.MaxStaleness.String() } } + if md.TimePartitioning != nil { + // "DAY", "HOUR", "MONTH", "YEAR" + metadata["TimePartitioning.Type"] = string(md.TimePartitioning.Type) + if md.TimePartitioning.Expiration != 0 { + metadata["TimePartitioning.Expiration"] = md.TimePartitioning.Expiration.String() + } + if md.TimePartitioning.Field != "" { + metadata["TimePartitioning.Field"] = md.TimePartitioning.Field + } + } + if md.RangePartitioning != nil { + if md.RangePartitioning.Field != "" { + metadata["RangePartitioning.Field"] = md.RangePartitioning.Field + } + if md.RangePartitioning.Range != nil { + metadata["RangePartitioning.Range.Start"] = strconv.FormatInt(md.RangePartitioning.Range.Start, 10) + metadata["RangePartitioning.Range.End"] = strconv.FormatInt(md.RangePartitioning.Range.End, 10) + metadata["RangePartitioning.Range.Interval"] = strconv.FormatInt(md.RangePartitioning.Range.Interval, 10) + } + } + if md.RequirePartitionFilter { + metadata["RequirePartitionFilter"] = strconv.FormatBool(md.RequirePartitionFilter) + } labels := "" if len(md.Labels) > 0 { encodedLabel, err := json.Marshal(md.Labels)
