Skip to content

Commit

Permalink
feat: property for allowNonIncrementalDefinition materialized view
Browse files Browse the repository at this point in the history
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
  • Loading branch information
yu-iskw committed Nov 28, 2024
1 parent 9e19ecd commit eef811f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
16 changes: 16 additions & 0 deletions google/cloud/bigquery/table.py
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,7 @@ class Table(_TableBase):
"mview_last_refresh_time": ["materializedView", "lastRefreshTime"],
"mview_query": "materializedView",
"mview_refresh_interval": "materializedView",
"mview_allow_non_incremental_definition": "materializedView",
"num_bytes": "numBytes",
"num_rows": "numRows",
"partition_expiration": "timePartitioning",
Expand Down Expand Up @@ -928,6 +929,21 @@ def mview_refresh_interval(self, value):
refresh_interval_ms,
)

@property
def mview_allow_non_incremental_definition(self):
"""Optional[bool]: Allow non-incremental definition of the materialized view.
The default value is :data:`False`.
"""
api_field = self._PROPERTY_TO_API_FIELD["mview_allow_non_incremental_definition"]
return _helpers._get_sub_prop(self._properties, [api_field, "allowNonIncrementalDefinition"])

@mview_allow_non_incremental_definition.setter
def mview_allow_non_incremental_definition(self, value):
api_field = self._PROPERTY_TO_API_FIELD["mview_allow_non_incremental_definition"]
_helpers._set_sub_prop(
self._properties, [api_field, "allowNonIncrementalDefinition"], value
)

@property
def streaming_buffer(self):
"""google.cloud.bigquery.StreamingBuffer: Information about a table's
Expand Down
6 changes: 6 additions & 0 deletions tests/unit/test_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -1050,6 +1050,12 @@ def test_mview_refresh_interval(self):
table.mview_refresh_interval = None
self.assertIsNone(table.mview_refresh_interval)

def test_mview_allow_non_incremental_definition(self):
table = self._make_one()
self.assertIsNone(table.mview_allow_non_incremental_definition)
table.mview_allow_non_incremental_definition = True
self.assertTrue(table.mview_allow_non_incremental_definition)

def test_from_string(self):
cls = self._get_target_class()
got = cls.from_string("string-project.string_dataset.string_table")
Expand Down

0 comments on commit eef811f

Please sign in to comment.