Skip to content

Commit a187ead

Browse files
authored
feat(go/adbc/driver/bigquery): Return data about table/view partitioning (#2697)
1 parent 9ba6bdb commit a187ead

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

Diff for: go/adbc/driver/bigquery/connection.go

+26-1
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,32 @@ func (c *connectionImpl) getTableSchemaWithFilter(ctx context.Context, catalog *
617617
metadata["MaterializedView.Query"] = md.MaterializedView.Query
618618
metadata["MaterializedView.RefreshInterval"] = md.MaterializedView.RefreshInterval.String()
619619
metadata["MaterializedView.AllowNonIncrementalDefinition"] = strconv.FormatBool(md.MaterializedView.AllowNonIncrementalDefinition)
620-
metadata["MaterializedView.MaxStaleness"] = md.MaxStaleness.String()
620+
if md.MaxStaleness != nil {
621+
metadata["MaterializedView.MaxStaleness"] = md.MaxStaleness.String()
622+
}
623+
}
624+
if md.TimePartitioning != nil {
625+
// "DAY", "HOUR", "MONTH", "YEAR"
626+
metadata["TimePartitioning.Type"] = string(md.TimePartitioning.Type)
627+
if md.TimePartitioning.Expiration != 0 {
628+
metadata["TimePartitioning.Expiration"] = md.TimePartitioning.Expiration.String()
629+
}
630+
if md.TimePartitioning.Field != "" {
631+
metadata["TimePartitioning.Field"] = md.TimePartitioning.Field
632+
}
633+
}
634+
if md.RangePartitioning != nil {
635+
if md.RangePartitioning.Field != "" {
636+
metadata["RangePartitioning.Field"] = md.RangePartitioning.Field
637+
}
638+
if md.RangePartitioning.Range != nil {
639+
metadata["RangePartitioning.Range.Start"] = strconv.FormatInt(md.RangePartitioning.Range.Start, 10)
640+
metadata["RangePartitioning.Range.End"] = strconv.FormatInt(md.RangePartitioning.Range.End, 10)
641+
metadata["RangePartitioning.Range.Interval"] = strconv.FormatInt(md.RangePartitioning.Range.Interval, 10)
642+
}
643+
}
644+
if md.RequirePartitionFilter {
645+
metadata["RequirePartitionFilter"] = strconv.FormatBool(md.RequirePartitionFilter)
621646
}
622647
labels := ""
623648
if len(md.Labels) > 0 {

0 commit comments

Comments
 (0)