   ;; automatically retry the query if it times out or otherwise fails. This is on top of the auto-retry added by `execute` so operations going through `process-native*` may be
   ;; retried up to 3 times.
   (u/auto-retry 1
-    (post-process-native (execute-query database query-string))))
+    (post-process-native (execute-bigquery database query-string))))
 
 (defn- process-native [{database :database, {native-query :query} :native}]
   (process-native* database native-query))

   :fields (set (table-schema->metabase-field-info (.getSchema (get-table database table-name))))})


(defn- ^QueryResponse execute-query
  ([{{:keys [project-id]} :details, :as database} query-string]
   (execute-query (database->client database) project-id query-string))

  ([^Bigquery client, ^String project-id, ^String query-string]
   {:pre [client (seq project-id) (seq query-string)]}

                                               :display-name "Auth Code"
                                               :placeholder  "4/HSk-KtxkSzTt61j5zcbee2Rmm5JHkRFbL5gD5lgkXek"
                                               :required     true}])
          :execute-query         (u/drop-first-arg execute-query)
          :field-values-lazy-seq (u/drop-first-arg field-values-lazy-seq)
          :mbql->native          (u/drop-first-arg mbql->native)}))

(driver/register-driver! :bigquery (BigQueryDriver.))
