@@ -168,6 +168,9 @@ type QueryConfig struct {
168168 //
169169 // Note: This feature is not yet generally available.
170170 MaxSlots int32
171+
172+ // Whether to run the query as continuous or a regular query.
173+ Continuous bool
171174}
172175
173176func (qc * QueryConfig ) toBQ () (* bq.JobConfiguration , error ) {
@@ -184,6 +187,7 @@ func (qc *QueryConfig) toBQ() (*bq.JobConfiguration, error) {
184187 DestinationEncryptionConfiguration : qc .DestinationEncryptionConfig .toBQ (),
185188 SchemaUpdateOptions : qc .SchemaUpdateOptions ,
186189 CreateSession : qc .CreateSession ,
190+ Continuous : qc .Continuous ,
187191 }
188192 if len (qc .TableDefinitions ) > 0 {
189193 qconf .TableDefinitions = make (map [string ]bq.ExternalDataConfiguration )
@@ -271,6 +275,7 @@ func bqToQueryConfig(q *bq.JobConfiguration, c *Client) (*QueryConfig, error) {
271275 DestinationEncryptionConfig : bqToEncryptionConfig (qq .DestinationEncryptionConfiguration ),
272276 SchemaUpdateOptions : qq .SchemaUpdateOptions ,
273277 CreateSession : qq .CreateSession ,
278+ Continuous : qq .Continuous ,
274279 }
275280 qc .UseStandardSQL = ! qc .UseLegacySQL
276281 qc .Reservation = q .Reservation
@@ -478,6 +483,7 @@ func (q *Query) probeFastPath() (*bq.QueryRequest, error) {
478483 q .QueryConfig .DestinationEncryptionConfig != nil ||
479484 q .QueryConfig .SchemaUpdateOptions != nil ||
480485 q .QueryConfig .JobTimeout != 0 ||
486+ q .QueryConfig .Continuous ||
481487 // User has defined the jobID generation behavior
482488 q .JobIDConfig .JobID != "" {
483489 return nil , fmt .Errorf ("QueryConfig incompatible with fastPath" )
0 commit comments