|
26 | 26 | import pytest |
27 | 27 |
|
28 | 28 | from google.cloud import bigquery |
| 29 | +from google.cloud.bigquery import enums |
29 | 30 | from google.cloud import bigquery_storage |
30 | 31 |
|
31 | 32 | from . import helpers |
@@ -802,8 +803,25 @@ def test_list_rows_max_results_w_bqstorage(bigquery_client): |
802 | 803 | ("max_results",), ((None,), (10,),) # Use BQ Storage API. # Use REST API. |
803 | 804 | ) |
804 | 805 | def test_list_rows_nullable_scalars_dtypes(bigquery_client, scalars_table, max_results): |
| 806 | + # TODO(GH#836): Avoid INTERVAL columns until they are supported by the |
| 807 | + # BigQuery Storage API and pyarrow. |
| 808 | + schema = [ |
| 809 | + bigquery.SchemaField("bool_col", enums.SqlTypeNames.BOOLEAN), |
| 810 | + bigquery.SchemaField("bignumeric_col", enums.SqlTypeNames.BIGNUMERIC), |
| 811 | + bigquery.SchemaField("bytes_col", enums.SqlTypeNames.BYTES), |
| 812 | + bigquery.SchemaField("date_col", enums.SqlTypeNames.DATE), |
| 813 | + bigquery.SchemaField("datetime_col", enums.SqlTypeNames.DATETIME), |
| 814 | + bigquery.SchemaField("float64_col", enums.SqlTypeNames.FLOAT64), |
| 815 | + bigquery.SchemaField("geography_col", enums.SqlTypeNames.GEOGRAPHY), |
| 816 | + bigquery.SchemaField("int64_col", enums.SqlTypeNames.INT64), |
| 817 | + bigquery.SchemaField("numeric_col", enums.SqlTypeNames.NUMERIC), |
| 818 | + bigquery.SchemaField("string_col", enums.SqlTypeNames.STRING), |
| 819 | + bigquery.SchemaField("time_col", enums.SqlTypeNames.TIME), |
| 820 | + bigquery.SchemaField("timestamp_col", enums.SqlTypeNames.TIMESTAMP), |
| 821 | + ] |
| 822 | + |
805 | 823 | df = bigquery_client.list_rows( |
806 | | - scalars_table, max_results=max_results, |
| 824 | + scalars_table, max_results=max_results, selected_fields=schema, |
807 | 825 | ).to_dataframe() |
808 | 826 |
|
809 | 827 | assert df.dtypes["bool_col"].name == "boolean" |
@@ -836,8 +854,25 @@ def test_list_rows_nullable_scalars_dtypes(bigquery_client, scalars_table, max_r |
836 | 854 | def test_list_rows_nullable_scalars_extreme_dtypes( |
837 | 855 | bigquery_client, scalars_extreme_table, max_results |
838 | 856 | ): |
| 857 | + # TODO(GH#836): Avoid INTERVAL columns until they are supported by the |
| 858 | + # BigQuery Storage API and pyarrow. |
| 859 | + schema = [ |
| 860 | + bigquery.SchemaField("bool_col", enums.SqlTypeNames.BOOLEAN), |
| 861 | + bigquery.SchemaField("bignumeric_col", enums.SqlTypeNames.BIGNUMERIC), |
| 862 | + bigquery.SchemaField("bytes_col", enums.SqlTypeNames.BYTES), |
| 863 | + bigquery.SchemaField("date_col", enums.SqlTypeNames.DATE), |
| 864 | + bigquery.SchemaField("datetime_col", enums.SqlTypeNames.DATETIME), |
| 865 | + bigquery.SchemaField("float64_col", enums.SqlTypeNames.FLOAT64), |
| 866 | + bigquery.SchemaField("geography_col", enums.SqlTypeNames.GEOGRAPHY), |
| 867 | + bigquery.SchemaField("int64_col", enums.SqlTypeNames.INT64), |
| 868 | + bigquery.SchemaField("numeric_col", enums.SqlTypeNames.NUMERIC), |
| 869 | + bigquery.SchemaField("string_col", enums.SqlTypeNames.STRING), |
| 870 | + bigquery.SchemaField("time_col", enums.SqlTypeNames.TIME), |
| 871 | + bigquery.SchemaField("timestamp_col", enums.SqlTypeNames.TIMESTAMP), |
| 872 | + ] |
| 873 | + |
839 | 874 | df = bigquery_client.list_rows( |
840 | | - scalars_extreme_table, max_results=max_results |
| 875 | + scalars_extreme_table, max_results=max_results, selected_fields=schema, |
841 | 876 | ).to_dataframe() |
842 | 877 |
|
843 | 878 | # Extreme values are out-of-bounds for pandas datetime64 values, which use |
|
0 commit comments