Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.

Commit eef811f

Browse files
committed
feat: property for allowNonIncrementalDefinition materialized view
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
1 parent 9e19ecd commit eef811f

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

google/cloud/bigquery/table.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,7 @@ class Table(_TableBase):
390390
"mview_last_refresh_time": ["materializedView", "lastRefreshTime"],
391391
"mview_query": "materializedView",
392392
"mview_refresh_interval": "materializedView",
393+
"mview_allow_non_incremental_definition": "materializedView",
393394
"num_bytes": "numBytes",
394395
"num_rows": "numRows",
395396
"partition_expiration": "timePartitioning",
@@ -928,6 +929,21 @@ def mview_refresh_interval(self, value):
928929
refresh_interval_ms,
929930
)
930931

932+
@property
933+
def mview_allow_non_incremental_definition(self):
934+
"""Optional[bool]: Allow non-incremental definition of the materialized view.
935+
The default value is :data:`False`.
936+
"""
937+
api_field = self._PROPERTY_TO_API_FIELD["mview_allow_non_incremental_definition"]
938+
return _helpers._get_sub_prop(self._properties, [api_field, "allowNonIncrementalDefinition"])
939+
940+
@mview_allow_non_incremental_definition.setter
941+
def mview_allow_non_incremental_definition(self, value):
942+
api_field = self._PROPERTY_TO_API_FIELD["mview_allow_non_incremental_definition"]
943+
_helpers._set_sub_prop(
944+
self._properties, [api_field, "allowNonIncrementalDefinition"], value
945+
)
946+
931947
@property
932948
def streaming_buffer(self):
933949
"""google.cloud.bigquery.StreamingBuffer: Information about a table's

tests/unit/test_table.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,6 +1050,12 @@ def test_mview_refresh_interval(self):
10501050
table.mview_refresh_interval = None
10511051
self.assertIsNone(table.mview_refresh_interval)
10521052

1053+
def test_mview_allow_non_incremental_definition(self):
1054+
table = self._make_one()
1055+
self.assertIsNone(table.mview_allow_non_incremental_definition)
1056+
table.mview_allow_non_incremental_definition = True
1057+
self.assertTrue(table.mview_allow_non_incremental_definition)
1058+
10531059
def test_from_string(self):
10541060
cls = self._get_target_class()
10551061
got = cls.from_string("string-project.string_dataset.string_table")

0 commit comments

Comments
 (0)