Skip to content

Conversation

alvarowolfx
Copy link
Contributor

Draft on new query experience using the new bigquery/v2 client. Will break it down into smaller PR down the line, just testing the interface across languages to settle on a good interface.

Based on Go implementation googleapis/google-cloud-go#12512

@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. api: bigquery Issues related to the googleapis/nodejs-bigquery API. labels Jul 4, 2025
@alvarowolfx alvarowolfx requested a review from leahecole July 4, 2025 18:14
Copy link
Contributor

@leahecole leahecole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some meta questions

  • we had talked about intelligently handing off to BQ storage read where appropriate. I know this is a proof of concept and it's early, but if this is still in scope, is there anything we can change with this implementation to make sure it's friendly to us making that change later?
  • for the various converter utilities, are these duplicated in storage at all? if so, is there a way for us to not be duplicating them?
  • the question for the skeptics: are all of the conveniences found here absolute must haves, or are there some things that are "would be nice"s that we can begin without?

/**
* QueryClient is a client for running queries in BigQuery.
*/
export class QueryClient {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting - why have an entirely new client rather than have this be part of the central client?

// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will these utils only be useful for queries, or are they also useful with other clients?

/**
* RowIterator iterates over the results of a query.
*/
export class RowIterator {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you use the iterator without the reader, or is this only ever used in the context of the reader? If only ever coupled with the reader, my nit would be to have them in the same file

@leahecole leahecole changed the base branch from autogen to preview-9.x July 21, 2025 20:28
@leahecole
Copy link
Contributor

Updated the PR to use preview-9.x as base

@alvarowolfx alvarowolfx mentioned this pull request Sep 15, 2025
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the googleapis/nodejs-bigquery API. size: xl Pull request size is extra large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants