@@ -124,8 +124,10 @@ def _verifyResourceProperties(self, table, resource):
124124
125125 if 'view' in resource :
126126 self .assertEqual (table .view_query , resource ['view' ]['query' ])
127+ self .assertEqual (table .view_use_legacy_sql , resource ['view' ].get ('useLegacySql' ))
127128 else :
128129 self .assertIsNone (table .view_query )
130+ self .assertIsNone (table .view_use_legacy_sql )
129131
130132 if 'schema' in resource :
131133 self ._verifySchema (table .schema , resource )
@@ -160,6 +162,7 @@ def test_ctor(self):
160162 self .assertIsNone (table .friendly_name )
161163 self .assertIsNone (table .location )
162164 self .assertIsNone (table .view_query )
165+ self .assertIsNone (table .view_use_legacy_sql )
163166
164167 def test_ctor_w_schema (self ):
165168 from google .cloud .bigquery .table import SchemaField
@@ -358,6 +361,22 @@ def test_view_query_deleter(self):
358361 del table .view_query
359362 self .assertIsNone (table .view_query )
360363
364+ def test_view_use_legacy_sql_setter_bad_value (self ):
365+ client = _Client (self .PROJECT )
366+ dataset = _Dataset (client )
367+ table = self ._make_one (self .TABLE_NAME , dataset )
368+ with self .assertRaises (ValueError ):
369+ table .view_use_legacy_sql = 12345
370+
371+ def test_view_use_legacy_sql_setter (self ):
372+ client = _Client (self .PROJECT )
373+ dataset = _Dataset (client )
374+ table = self ._make_one (self .TABLE_NAME , dataset )
375+ table .view_use_legacy_sql = False
376+ table .view_query = 'select * from foo'
377+ self .assertEqual (table .view_use_legacy_sql , False )
378+ self .assertEqual (table .view_query , 'select * from foo' )
379+
361380 def test_from_api_repr_missing_identity (self ):
362381 self ._setUpConstants ()
363382 client = _Client (self .PROJECT )
@@ -978,7 +997,7 @@ def test_update_w_alternate_client(self):
978997 self .EXP_TIME = datetime .datetime (2015 , 8 , 1 , 23 , 59 , 59 ,
979998 tzinfo = UTC )
980999 RESOURCE ['expirationTime' ] = _millis (self .EXP_TIME )
981- RESOURCE ['view' ] = {'query' : QUERY }
1000+ RESOURCE ['view' ] = {'query' : QUERY , 'useLegacySql' : True }
9821001 RESOURCE ['type' ] = 'VIEW'
9831002 conn1 = _Connection ()
9841003 client1 = _Client (project = self .PROJECT , connection = conn1 )
@@ -990,6 +1009,7 @@ def test_update_w_alternate_client(self):
9901009 table .location = LOCATION
9911010 table .expires = self .EXP_TIME
9921011 table .view_query = QUERY
1012+ table .view_use_legacy_sql = True
9931013
9941014 table .update (client = client2 )
9951015
@@ -1005,7 +1025,7 @@ def test_update_w_alternate_client(self):
10051025 'tableId' : self .TABLE_NAME },
10061026 'expirationTime' : _millis (self .EXP_TIME ),
10071027 'location' : 'EU' ,
1008- 'view' : {'query' : QUERY },
1028+ 'view' : {'query' : QUERY , 'useLegacySql' : True },
10091029 }
10101030 self .assertEqual (req ['data' ], SENT )
10111031 self ._verifyResourceProperties (table , RESOURCE )
0 commit comments