lostluck commented on a change in pull request #12061:
URL: https://github.com/apache/beam/pull/12061#discussion_r444548615



##########
File path: sdks/go/pkg/beam/io/bigqueryio/bigquery.go
##########
@@ -93,18 +93,37 @@ func Read(s beam.Scope, project, table string, t 
reflect.Type) beam.PCollection
        return query(s, project, fmt.Sprintf("SELECT * from [%v]", table), t)
 }
 
+// QueryOptions represents additional options for executing a query.
+type QueryOptions struct {
+       // UseStandardSQL enables BigQuery's Standard SQL dialect when 
executing a query.
+       UseStandardSQL bool
+}
+
+// UseStandardSQL enables BigQuery's Standard SQL dialect when executing a 
query.
+func UseStandardSQL(qo *QueryOptions) error {
+       qo.UseStandardSQL = true
+       return nil
+}

Review comment:
       Part of the functional options is to have the user level functions 
return functions. This allows for closures over user configuration for more 
complicated options later on.  Probably doesn't matter in this case, but 
otherwise:
   
   eg. 
   ```suggestion
   func UseStandardSQL() func(qo *QueryOptions) error {
        return func(qo *QueryOptions) error
                qo.UseStandardSQL = true
                return nil
        }
   }
   ```
   
   I'd probably drop the "use" so it's just StandardSQL.  When there are more 
of these, the repeated Use prefix will get tiresome and reduce readability.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to