[bigquery-jdbc] Expose dry-run / query cost estimation API
Maintainer thường phản hồi trong vòng 1 ngày
@logachev đang làm issue này rồi.
Từ ngày 10/9/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Problem
BigQuery clients often need to estimate the amount of data a query will process before executing it, because BigQuery billing depends on bytes processed.
The BigQuery API supports this through dry runs and returns totalBytesProcessed. The Java BigQuery client also exposes this capability, including Connection.dryRun(String) / BigQueryDryRunResult.
However, google-cloud-bigquery-jdbc does not currently expose an equivalent public API through BigQueryConnection or BigQueryStatement.
This prevents JDBC-based database tools such as DataGrip from providing the same pre-execution cost information that the BigQuery Console provides.
Requested API
It would be useful to expose dry-run/query estimation as a BigQuery-specific JDBC extension, for example through an unwrapped BigQueryConnection or BigQueryStatement:
BigQueryStatement statement =
jdbcStatement.unwrap(BigQueryStatement.class);
BigQueryDryRunResult result = statement.dryRun(sql);
long bytes = result.getTotalBytesProcessed();
The exact API shape is not important; the main requirement is to perform the dry run using the existing JDBC connection configuration and authentication.
Ideally it should preserve:
- authentication/credentials
- project
- location
- default dataset
- session configuration
- prepared-statement parameters, where applicable
Motivation
For database IDEs and other JDBC tools, this would allow:
This query will process approximately 1.8 TB.
to be shown before execution, optionally allowing clients to warn users about unexpectedly expensive queries.
MaximumBytesBilled is useful as a hard safety limit, but it does not expose the estimated number of bytes to the JDBC client before execution.
The underlying BigQuery APIs already provide dry-run estimation, so this request is specifically about making that capability accessible through the JDBC driver.
- Ngôn ngữ chính
- Java
- Star
- 2.1k
- Fork
- 1.2k
- Merge trung bình
- 2 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 192
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của googleapis/google-cloud-java
-
[java-core] Timestamp.of(java.sql.Timestamp) is one second late for a time less than a second before the epochCó thể đã có người làm @Vcode2407 đã nhận 4 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
googleapis/google-cloud-java#14636 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[java-firestore] UserDataConverter encodes a pre-epoch Date with negative nanos, so the write is refusedCó thể đã có người làm @wu-hui đã nhận 23 ngày trước. Đang mởpriority: p2 type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
googleapis/google-cloud-java#14635 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[java-firestore] UserDataConverter throws IndexOutOfBoundsException on an empty __binary__ valueCó thể đã có người làm @wu-hui đã nhận 23 ngày trước. Đang mởpriority: p2 type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
googleapis/google-cloud-java#14634 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[java-firestore] CustomClassMapper.convertBigDecimal calls .abs() on Double, unintentionally flipping negative values to positiveCó thể làm lại được @wu-hui đã nhận 45 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
googleapis/google-cloud-java#14533 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Github CI failing when trying to install xmllintCó thể đã có người làm @blakeli0 đã nhận 81 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
googleapis/google-cloud-java#14132 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của googleapis/google-cloud-java
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 84/100
cpp-best-practices/project_validator#251 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backend enhancement
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changeCó thể đã có người làm @dwizard0 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày