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

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


The following commit(s) were added to refs/heads/main by this push:
     new a187ead78 feat(go/adbc/driver/bigquery): Return data about table/view 
partitioning (#2697)
a187ead78 is described below

commit a187ead78afebe85c75b466a06ad6e01ae4ac8c6
Author: Felipe Oliveira Carvalho <[email protected]>
AuthorDate: Fri Apr 11 18:56:05 2025 -0300

    feat(go/adbc/driver/bigquery): Return data about table/view partitioning 
(#2697)
---
 go/adbc/driver/bigquery/connection.go | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/go/adbc/driver/bigquery/connection.go 
b/go/adbc/driver/bigquery/connection.go
index d93cd7f4d..7ac6ffb20 100644
--- a/go/adbc/driver/bigquery/connection.go
+++ b/go/adbc/driver/bigquery/connection.go
@@ -617,7 +617,32 @@ func (c *connectionImpl) getTableSchemaWithFilter(ctx 
context.Context, catalog *
                metadata["MaterializedView.Query"] = md.MaterializedView.Query
                metadata["MaterializedView.RefreshInterval"] = 
md.MaterializedView.RefreshInterval.String()
                metadata["MaterializedView.AllowNonIncrementalDefinition"] = 
strconv.FormatBool(md.MaterializedView.AllowNonIncrementalDefinition)
-               metadata["MaterializedView.MaxStaleness"] = 
md.MaxStaleness.String()
+               if md.MaxStaleness != nil {
+                       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 {

Reply via email to