This is an automated email from the ASF dual-hosted git repository.
curth pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 4011c25e0 fix(csharp/src/Drivers/BigQuery): ensure BigQuery DATE type
is Date32 Arrow type (#2446)
4011c25e0 is described below
commit 4011c25e03dad140ba3df4c6a06b43b192d447e0
Author: davidhcoe <[email protected]>
AuthorDate: Mon Jan 13 22:37:45 2025 -0500
fix(csharp/src/Drivers/BigQuery): ensure BigQuery DATE type is Date32 Arrow
type (#2446)
fixes https://github.com/apache/arrow-adbc/issues/2444
Co-authored-by: David Coe <>
---
csharp/src/Drivers/BigQuery/BigQueryConnection.cs | 2 +-
csharp/src/Drivers/BigQuery/BigQueryStatement.cs | 2 +-
csharp/src/Drivers/BigQuery/readme.md | 2 +-
csharp/test/Drivers/BigQuery/BigQueryData.cs | 4 ++--
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/csharp/src/Drivers/BigQuery/BigQueryConnection.cs
b/csharp/src/Drivers/BigQuery/BigQueryConnection.cs
index 1c29a4b50..191526399 100644
--- a/csharp/src/Drivers/BigQuery/BigQueryConnection.cs
+++ b/csharp/src/Drivers/BigQuery/BigQueryConnection.cs
@@ -928,7 +928,7 @@ namespace Apache.Arrow.Adbc.Drivers.BigQuery
case "TIME":
return fieldBuilder.DataType(Time64Type.Default);
case "DATE":
- return fieldBuilder.DataType(Date64Type.Default);
+ return fieldBuilder.DataType(Date32Type.Default);
case "RECORD" or "STRUCT":
string fieldRecords = type.Substring(index + 1);
fieldRecords = fieldRecords.Remove(fieldRecords.Length -
1);
diff --git a/csharp/src/Drivers/BigQuery/BigQueryStatement.cs
b/csharp/src/Drivers/BigQuery/BigQueryStatement.cs
index dfccc16e4..289208b72 100644
--- a/csharp/src/Drivers/BigQuery/BigQueryStatement.cs
+++ b/csharp/src/Drivers/BigQuery/BigQueryStatement.cs
@@ -161,7 +161,7 @@ namespace Apache.Arrow.Adbc.Drivers.BigQuery
case "TIME":
return GetType(field, Time64Type.Default);
case "DATE":
- return GetType(field, Date64Type.Default);
+ return GetType(field, Date32Type.Default);
case "RECORD" or "STRUCT":
// its a json string
return GetType(field, StringType.Default);
diff --git a/csharp/src/Drivers/BigQuery/readme.md
b/csharp/src/Drivers/BigQuery/readme.md
index d78ab4c89..92af3ef1e 100644
--- a/csharp/src/Drivers/BigQuery/readme.md
+++ b/csharp/src/Drivers/BigQuery/readme.md
@@ -87,7 +87,7 @@ The following table depicts how the BigQuery ADBC driver
converts a BigQuery typ
| BIGNUMERIC | Decimal256 | string
| BOOL | Boolean | bool
| BYTES | Binary | byte[]
-| DATE | Date64 | DateTime
+| DATE | Date32 | DateTime
| DATETIME | Timestamp | DateTime
| FLOAT64 | Double | double
| GEOGRAPHY | String | string
diff --git a/csharp/test/Drivers/BigQuery/BigQueryData.cs
b/csharp/test/Drivers/BigQuery/BigQueryData.cs
index d5959f837..aa58ca022 100644
--- a/csharp/test/Drivers/BigQuery/BigQueryData.cs
+++ b/csharp/test/Drivers/BigQuery/BigQueryData.cs
@@ -72,7 +72,7 @@ namespace Apache.Arrow.Adbc.Tests.Drivers.BigQuery
new
ColumnNetTypeArrowTypeValue("is_active", typeof(bool), typeof(BooleanType),
true),
new ColumnNetTypeArrowTypeValue("name",
typeof(string), typeof(StringType), "John Doe"),
new ColumnNetTypeArrowTypeValue("data",
typeof(byte[]), typeof(BinaryType), UTF8Encoding.UTF8.GetBytes("abc123")),
- new ColumnNetTypeArrowTypeValue("date",
typeof(DateTime), typeof(Date64Type), new DateTime(2023, 9, 8)),
+ new ColumnNetTypeArrowTypeValue("date",
typeof(DateTime), typeof(Date32Type), new DateTime(2023, 9, 8)),
#if NET6_0_OR_GREATER
new ColumnNetTypeArrowTypeValue("time",
typeof(TimeOnly), typeof(Time64Type), new TimeOnly(12, 34, 56)), //'12:34:56'
#else
@@ -134,7 +134,7 @@ namespace Apache.Arrow.Adbc.Tests.Drivers.BigQuery
new
ColumnNetTypeArrowTypeValue("is_active", typeof(bool), typeof(BooleanType),
null),
new ColumnNetTypeArrowTypeValue("name",
typeof(string), typeof(StringType), null),
new ColumnNetTypeArrowTypeValue("data",
typeof(byte[]), typeof(BinaryType), null),
- new ColumnNetTypeArrowTypeValue("date",
typeof(DateTime), typeof(Date64Type), null),
+ new ColumnNetTypeArrowTypeValue("date",
typeof(DateTime), typeof(Date32Type), null),
#if NET6_0_OR_GREATER
new ColumnNetTypeArrowTypeValue("time",
typeof(TimeOnly), typeof(Time64Type), null),
#else