From 715edfe89ba48cb1294a0132fa134ec817c69d0f Mon Sep 17 00:00:00 2001
From: David Li
Date: Sun, 28 Apr 2024 23:52:03 -0400
Subject: [PATCH] feat(go/adbc/driver/flightsql): support stateless prepared
statements
Fixes #1657.
---
go/adbc/adbc.go | 4 ++--
.../driver/flightsql/cmd/testserver/main.go | 23 +++++++++++--------
.../flightsql/flightsql_adbc_server_test.go | 14 +++++------
.../driver/flightsql/flightsql_adbc_test.go | 14 +++++------
.../driver/flightsql/flightsql_connection.go | 14 +++++------
.../driver/flightsql/flightsql_database.go | 6 ++---
go/adbc/driver/flightsql/flightsql_driver.go | 2 +-
.../driver/flightsql/flightsql_statement.go | 10 ++++----
go/adbc/driver/flightsql/record_reader.go | 10 ++++----
.../driver/flightsql/record_reader_test.go | 12 +++++-----
.../driver/internal/driverbase/connection.go | 6 ++---
.../driver/internal/driverbase/database.go | 2 +-
go/adbc/driver/internal/driverbase/driver.go | 2 +-
.../driver/internal/driverbase/driver_test.go | 6 ++---
go/adbc/driver/internal/shared_utils.go | 6 ++---
go/adbc/driver/panicdummy/panicdummy_adbc.go | 6 ++---
go/adbc/driver/snowflake/bulk_ingestion.go | 12 +++++-----
go/adbc/driver/snowflake/connection.go | 4 ++--
go/adbc/driver/snowflake/driver.go | 2 +-
go/adbc/driver/snowflake/driver_test.go | 8 +++----
go/adbc/driver/snowflake/record_reader.go | 10 ++++----
go/adbc/driver/snowflake/statement.go | 6 ++---
go/adbc/drivermgr/wrapper.go | 6 ++---
go/adbc/drivermgr/wrapper_sqlite_test.go | 6 ++---
go/adbc/go.mod | 8 +++----
go/adbc/go.sum | 16 ++++++-------
go/adbc/pkg/flightsql/driver.go | 8 +++----
go/adbc/pkg/panicdummy/driver.go | 8 +++----
go/adbc/pkg/snowflake/driver.go | 8 +++----
go/adbc/sqldriver/driver.go | 10 ++++----
go/adbc/sqldriver/driver_internals_test.go | 10 ++++----
go/adbc/sqldriver/flightsql/flightsql.go | 2 +-
go/adbc/sqldriver/flightsql/flightsql_test.go | 8 +++----
go/adbc/standard_schemas.go | 2 +-
go/adbc/utils/utils.go | 2 +-
go/adbc/validation/validation.go | 6 ++---
.../tests/test_errors.py | 6 +++++
37 files changed, 148 insertions(+), 137 deletions(-)
diff --git a/go/adbc/adbc.go b/go/adbc/adbc.go
index 8622e71cb2..b47f946f0c 100644
--- a/go/adbc/adbc.go
+++ b/go/adbc/adbc.go
@@ -40,8 +40,8 @@ import (
"context"
"fmt"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb"
)
diff --git a/go/adbc/driver/flightsql/cmd/testserver/main.go b/go/adbc/driver/flightsql/cmd/testserver/main.go
index 8ce65c9f72..9951df2357 100644
--- a/go/adbc/driver/flightsql/cmd/testserver/main.go
+++ b/go/adbc/driver/flightsql/cmd/testserver/main.go
@@ -32,11 +32,11 @@ import (
"strings"
"sync"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
@@ -268,6 +268,9 @@ func (srv *ExampleServer) DoGetPreparedStatement(ctx context.Context, cmd flight
}()
out = ch
return
+ case "stateless_prepared_statement":
+ err = status.Error(codes.InvalidArgument, "client didn't use the updated handle")
+ return
}
schema = arrow.NewSchema([]arrow.Field{{Name: "ints", Type: arrow.PrimitiveTypes.Int32, Nullable: true}}, nil)
@@ -319,17 +322,19 @@ func (srv *ExampleServer) DoGetStatement(ctx context.Context, cmd flightsql.Stat
return
}
-func (srv *ExampleServer) DoPutPreparedStatementQuery(ctx context.Context, cmd flightsql.PreparedStatementQuery, reader flight.MessageReader, writer flight.MetadataWriter) error {
+func (srv *ExampleServer) DoPutPreparedStatementQuery(ctx context.Context, cmd flightsql.PreparedStatementQuery, reader flight.MessageReader, writer flight.MetadataWriter) ([]byte, error) {
switch string(cmd.GetPreparedStatementHandle()) {
case "error_do_put":
- return status.Error(codes.Unknown, "expected error (DoPut)")
+ return nil, status.Error(codes.Unknown, "expected error (DoPut)")
case "error_do_put_detail":
detail1 := wrapperspb.String("detail1")
detail2 := wrapperspb.String("detail2")
- return StatusWithDetail(codes.Unknown, "expected error (DoPut)", detail1, detail2)
+ return nil, StatusWithDetail(codes.Unknown, "expected error (DoPut)", detail1, detail2)
+ case "stateless_prepared_statement":
+ return []byte("expected prepared statement handle"), nil
}
- return status.Error(codes.Unimplemented, "DoPutPreparedStatementQuery not implemented")
+ return nil, status.Error(codes.Unimplemented, fmt.Sprintf("DoPutPreparedStatementQuery not implemented: %s", string(cmd.GetPreparedStatementHandle())))
}
func (srv *ExampleServer) DoPutPreparedStatementUpdate(context.Context, flightsql.PreparedStatementUpdate, flight.MessageReader) (int64, error) {
diff --git a/go/adbc/driver/flightsql/flightsql_adbc_server_test.go b/go/adbc/driver/flightsql/flightsql_adbc_server_test.go
index 226e4d3753..3bf695f0b2 100644
--- a/go/adbc/driver/flightsql/flightsql_adbc_server_test.go
+++ b/go/adbc/driver/flightsql/flightsql_adbc_server_test.go
@@ -39,13 +39,13 @@ import (
driver "github.com/apache/arrow-adbc/go/adbc/driver/flightsql"
"github.com/apache/arrow-adbc/go/adbc/driver/internal"
"github.com/apache/arrow-adbc/go/adbc/validation"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql/schema_ref"
- flightproto "github.com/apache/arrow/go/v16/arrow/flight/gen/flight"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql/schema_ref"
+ flightproto "github.com/apache/arrow/go/v17/arrow/flight/gen/flight"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/golang/protobuf/ptypes/wrappers"
"github.com/stretchr/testify/suite"
"golang.org/x/exp/maps"
diff --git a/go/adbc/driver/flightsql/flightsql_adbc_test.go b/go/adbc/driver/flightsql/flightsql_adbc_test.go
index 9539718b85..c8a2810ba1 100644
--- a/go/adbc/driver/flightsql/flightsql_adbc_test.go
+++ b/go/adbc/driver/flightsql/flightsql_adbc_test.go
@@ -43,12 +43,12 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
driver "github.com/apache/arrow-adbc/go/adbc/driver/flightsql"
"github.com/apache/arrow-adbc/go/adbc/validation"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql/example"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql/example"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"google.golang.org/grpc"
@@ -262,7 +262,7 @@ func (s *FlightSQLQuirks) GetMetadata(code adbc.InfoCode) interface{} {
case adbc.InfoVendorVersion:
return "sqlite 3"
case adbc.InfoVendorArrowVersion:
- return "16.0.0"
+ return "17.0.0-SNAPSHOT"
}
return nil
diff --git a/go/adbc/driver/flightsql/flightsql_connection.go b/go/adbc/driver/flightsql/flightsql_connection.go
index a17d8f2e3f..5c8269fb85 100644
--- a/go/adbc/driver/flightsql/flightsql_connection.go
+++ b/go/adbc/driver/flightsql/flightsql_connection.go
@@ -29,13 +29,13 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal"
"github.com/apache/arrow-adbc/go/adbc/driver/internal/driverbase"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql/schema_ref"
- flightproto "github.com/apache/arrow/go/v16/arrow/flight/gen/flight"
- "github.com/apache/arrow/go/v16/arrow/ipc"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql/schema_ref"
+ flightproto "github.com/apache/arrow/go/v17/arrow/flight/gen/flight"
+ "github.com/apache/arrow/go/v17/arrow/ipc"
"github.com/bluele/gcache"
"google.golang.org/grpc"
grpccodes "google.golang.org/grpc/codes"
diff --git a/go/adbc/driver/flightsql/flightsql_database.go b/go/adbc/driver/flightsql/flightsql_database.go
index 21302c2cb1..57d94b610e 100644
--- a/go/adbc/driver/flightsql/flightsql_database.go
+++ b/go/adbc/driver/flightsql/flightsql_database.go
@@ -30,9 +30,9 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal/driverbase"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
"github.com/bluele/gcache"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
diff --git a/go/adbc/driver/flightsql/flightsql_driver.go b/go/adbc/driver/flightsql/flightsql_driver.go
index 441370a9e2..db3e397724 100644
--- a/go/adbc/driver/flightsql/flightsql_driver.go
+++ b/go/adbc/driver/flightsql/flightsql_driver.go
@@ -37,7 +37,7 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal/driverbase"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"golang.org/x/exp/maps"
"google.golang.org/grpc/metadata"
)
diff --git a/go/adbc/driver/flightsql/flightsql_statement.go b/go/adbc/driver/flightsql/flightsql_statement.go
index c68eba8cdb..17b534397f 100644
--- a/go/adbc/driver/flightsql/flightsql_statement.go
+++ b/go/adbc/driver/flightsql/flightsql_statement.go
@@ -28,11 +28,11 @@ import (
"unsafe"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/bluele/gcache"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
diff --git a/go/adbc/driver/flightsql/record_reader.go b/go/adbc/driver/flightsql/record_reader.go
index b3c7067c82..02b882aee9 100644
--- a/go/adbc/driver/flightsql/record_reader.go
+++ b/go/adbc/driver/flightsql/record_reader.go
@@ -24,11 +24,11 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/utils"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/bluele/gcache"
"golang.org/x/sync/errgroup"
"google.golang.org/grpc"
diff --git a/go/adbc/driver/flightsql/record_reader_test.go b/go/adbc/driver/flightsql/record_reader_test.go
index 25fbaac840..14de124e6d 100644
--- a/go/adbc/driver/flightsql/record_reader_test.go
+++ b/go/adbc/driver/flightsql/record_reader_test.go
@@ -24,12 +24,12 @@ import (
"testing"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/ipc"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/ipc"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/bluele/gcache"
"github.com/stretchr/testify/suite"
"google.golang.org/grpc"
diff --git a/go/adbc/driver/internal/driverbase/connection.go b/go/adbc/driver/internal/driverbase/connection.go
index 1745d3d19b..4724d2c9ce 100644
--- a/go/adbc/driver/internal/driverbase/connection.go
+++ b/go/adbc/driver/internal/driverbase/connection.go
@@ -24,9 +24,9 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
const (
diff --git a/go/adbc/driver/internal/driverbase/database.go b/go/adbc/driver/internal/driverbase/database.go
index 477c4304b3..714bc9cf7b 100644
--- a/go/adbc/driver/internal/driverbase/database.go
+++ b/go/adbc/driver/internal/driverbase/database.go
@@ -22,7 +22,7 @@ import (
"log/slog"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
const (
diff --git a/go/adbc/driver/internal/driverbase/driver.go b/go/adbc/driver/internal/driverbase/driver.go
index bd3e11c086..1a9f9aa700 100644
--- a/go/adbc/driver/internal/driverbase/driver.go
+++ b/go/adbc/driver/internal/driverbase/driver.go
@@ -25,7 +25,7 @@ import (
"strings"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
var (
diff --git a/go/adbc/driver/internal/driverbase/driver_test.go b/go/adbc/driver/internal/driverbase/driver_test.go
index 3d0b579bd8..5cf107fe41 100644
--- a/go/adbc/driver/internal/driverbase/driver_test.go
+++ b/go/adbc/driver/internal/driverbase/driver_test.go
@@ -26,9 +26,9 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal"
"github.com/apache/arrow-adbc/go/adbc/driver/internal/driverbase"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
)
diff --git a/go/adbc/driver/internal/shared_utils.go b/go/adbc/driver/internal/shared_utils.go
index b5dcf55ca9..254c59f5b4 100644
--- a/go/adbc/driver/internal/shared_utils.go
+++ b/go/adbc/driver/internal/shared_utils.go
@@ -26,9 +26,9 @@ import (
"time"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
const (
diff --git a/go/adbc/driver/panicdummy/panicdummy_adbc.go b/go/adbc/driver/panicdummy/panicdummy_adbc.go
index 3e917f9a3d..23e478740c 100644
--- a/go/adbc/driver/panicdummy/panicdummy_adbc.go
+++ b/go/adbc/driver/panicdummy/panicdummy_adbc.go
@@ -25,9 +25,9 @@ import (
"os"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
func maybePanic(fname string) {
diff --git a/go/adbc/driver/snowflake/bulk_ingestion.go b/go/adbc/driver/snowflake/bulk_ingestion.go
index 9ec64f6e56..17d76195d0 100644
--- a/go/adbc/driver/snowflake/bulk_ingestion.go
+++ b/go/adbc/driver/snowflake/bulk_ingestion.go
@@ -33,12 +33,12 @@ import (
"sync"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
- "github.com/apache/arrow/go/v16/parquet"
- "github.com/apache/arrow/go/v16/parquet/compress"
- "github.com/apache/arrow/go/v16/parquet/pqarrow"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
+ "github.com/apache/arrow/go/v17/parquet"
+ "github.com/apache/arrow/go/v17/parquet/compress"
+ "github.com/apache/arrow/go/v17/parquet/pqarrow"
"github.com/snowflakedb/gosnowflake"
"golang.org/x/sync/errgroup"
)
diff --git a/go/adbc/driver/snowflake/connection.go b/go/adbc/driver/snowflake/connection.go
index 94223bb92c..4434d902f3 100644
--- a/go/adbc/driver/snowflake/connection.go
+++ b/go/adbc/driver/snowflake/connection.go
@@ -33,8 +33,8 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal"
"github.com/apache/arrow-adbc/go/adbc/driver/internal/driverbase"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
"github.com/snowflakedb/gosnowflake"
)
diff --git a/go/adbc/driver/snowflake/driver.go b/go/adbc/driver/snowflake/driver.go
index cde873c882..da49a6097d 100644
--- a/go/adbc/driver/snowflake/driver.go
+++ b/go/adbc/driver/snowflake/driver.go
@@ -24,7 +24,7 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/internal/driverbase"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/snowflakedb/gosnowflake"
"golang.org/x/exp/maps"
)
diff --git a/go/adbc/driver/snowflake/driver_test.go b/go/adbc/driver/snowflake/driver_test.go
index eb9f2a2994..4c6f299941 100644
--- a/go/adbc/driver/snowflake/driver_test.go
+++ b/go/adbc/driver/snowflake/driver_test.go
@@ -38,10 +38,10 @@ import (
"github.com/apache/arrow-adbc/go/adbc/driver/internal"
driver "github.com/apache/arrow-adbc/go/adbc/driver/snowflake"
"github.com/apache/arrow-adbc/go/adbc/validation"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/decimal128"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/decimal128"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/google/uuid"
"github.com/snowflakedb/gosnowflake"
"github.com/stretchr/testify/require"
diff --git a/go/adbc/driver/snowflake/record_reader.go b/go/adbc/driver/snowflake/record_reader.go
index 1a24b91d96..bda3e8f70d 100644
--- a/go/adbc/driver/snowflake/record_reader.go
+++ b/go/adbc/driver/snowflake/record_reader.go
@@ -31,11 +31,11 @@ import (
"time"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/compute"
- "github.com/apache/arrow/go/v16/arrow/ipc"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/compute"
+ "github.com/apache/arrow/go/v17/arrow/ipc"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/snowflakedb/gosnowflake"
"golang.org/x/sync/errgroup"
)
diff --git a/go/adbc/driver/snowflake/statement.go b/go/adbc/driver/snowflake/statement.go
index dfa6b8e994..f61db8f06a 100644
--- a/go/adbc/driver/snowflake/statement.go
+++ b/go/adbc/driver/snowflake/statement.go
@@ -24,9 +24,9 @@ import (
"strings"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/snowflakedb/gosnowflake"
)
diff --git a/go/adbc/drivermgr/wrapper.go b/go/adbc/drivermgr/wrapper.go
index 09398c9481..de1c855bfa 100644
--- a/go/adbc/drivermgr/wrapper.go
+++ b/go/adbc/drivermgr/wrapper.go
@@ -48,9 +48,9 @@ import (
"unsafe"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/cdata"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/cdata"
)
type option struct {
diff --git a/go/adbc/drivermgr/wrapper_sqlite_test.go b/go/adbc/drivermgr/wrapper_sqlite_test.go
index 2f1199e19c..8bf2badad5 100644
--- a/go/adbc/drivermgr/wrapper_sqlite_test.go
+++ b/go/adbc/drivermgr/wrapper_sqlite_test.go
@@ -27,9 +27,9 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/drivermgr"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
diff --git a/go/adbc/go.mod b/go/adbc/go.mod
index 25d0f22ed5..0c22e2b936 100644
--- a/go/adbc/go.mod
+++ b/go/adbc/go.mod
@@ -20,7 +20,7 @@ module github.com/apache/arrow-adbc/go/adbc
go 1.21
require (
- github.com/apache/arrow/go/v16 v16.0.0
+ github.com/apache/arrow/go/v17 v17.0.0-20240430043840-e4f31462dbd6
github.com/bluele/gcache v0.0.2
github.com/golang/protobuf v1.5.4
github.com/google/uuid v1.6.0
@@ -43,7 +43,7 @@ require (
github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect
github.com/andybalholm/brotli v1.1.0 // indirect
github.com/apache/arrow/go/v15 v15.0.0 // indirect
- github.com/apache/thrift v0.19.0 // indirect
+ github.com/apache/thrift v0.20.0 // indirect
github.com/aws/aws-sdk-go-v2 v1.25.1 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.2 // indirect
@@ -71,7 +71,7 @@ require (
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/klauspost/asmfmt v1.3.2 // indirect
- github.com/klauspost/compress v1.17.7 // indirect
+ github.com/klauspost/compress v1.17.8 // indirect
github.com/klauspost/cpuid/v2 v2.2.7 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 // indirect
@@ -98,7 +98,7 @@ require (
modernc.org/libc v1.45.3 // indirect
modernc.org/mathutil v1.6.0 // indirect
modernc.org/memory v1.7.2 // indirect
- modernc.org/sqlite v1.29.5 // indirect
+ modernc.org/sqlite v1.29.6 // indirect
modernc.org/strutil v1.2.0 // indirect
modernc.org/token v1.1.0 // indirect
)
diff --git a/go/adbc/go.sum b/go/adbc/go.sum
index 2893470d1b..4702e17ecc 100644
--- a/go/adbc/go.sum
+++ b/go/adbc/go.sum
@@ -20,10 +20,10 @@ github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1
github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA=
github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA=
-github.com/apache/arrow/go/v16 v16.0.0 h1:qRLbJRPj4zaseZrjbDHa7mUoZDDIU+4pu+mE2Lucs5g=
-github.com/apache/arrow/go/v16 v16.0.0/go.mod h1:9wnc9mn6vEDTRIm4+27pEjQpRKuTvBaessPoEXQzxWA=
-github.com/apache/thrift v0.19.0 h1:sOqkWPzMj7w6XaYbJQG7m4sGqVolaW/0D28Ln7yPzMk=
-github.com/apache/thrift v0.19.0/go.mod h1:SUALL216IiaOw2Oy+5Vs9lboJ/t9g40C+G07Dc0QC1I=
+github.com/apache/arrow/go/v17 v17.0.0-20240430043840-e4f31462dbd6 h1:FjtQoGK5idTYKI48GE49b+M5bsEzUK08rDYrzxRo1aw=
+github.com/apache/arrow/go/v17 v17.0.0-20240430043840-e4f31462dbd6/go.mod h1:vihJLOeRHNQmdlAwR/1hvENgHkQJhL74WiRAX9QVmU8=
+github.com/apache/thrift v0.20.0 h1:631+KvYbsBZxmuJjYwhezVsrfc/TbqtZV4QcxOX1fOI=
+github.com/apache/thrift v0.20.0/go.mod h1:hOk1BQqcp2OLzGsyVXdfMk7YFlMxK3aoEVhjD06QhB8=
github.com/aws/aws-sdk-go-v2 v1.25.1 h1:P7hU6A5qEdmajGwvae/zDkOq+ULLC9tQBTwqqiwFGpI=
github.com/aws/aws-sdk-go-v2 v1.25.1/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU=
@@ -107,8 +107,8 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4=
github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE=
-github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg=
-github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
+github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU=
+github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
@@ -226,8 +226,8 @@ modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
-modernc.org/sqlite v1.29.5 h1:8l/SQKAjDtZFo9lkJLdk8g9JEOeYRG4/ghStDCCTiTE=
-modernc.org/sqlite v1.29.5/go.mod h1:S02dvcmm7TnTRvGhv8IGYyLnIt7AS2KPaB1F/71p75U=
+modernc.org/sqlite v1.29.6 h1:0lOXGrycJPptfHDuohfYgNqoe4hu+gYuN/pKgY5XjS4=
+modernc.org/sqlite v1.29.6/go.mod h1:S02dvcmm7TnTRvGhv8IGYyLnIt7AS2KPaB1F/71p75U=
modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
diff --git a/go/adbc/pkg/flightsql/driver.go b/go/adbc/pkg/flightsql/driver.go
index 86b7c78ed3..9a8535fe2f 100644
--- a/go/adbc/pkg/flightsql/driver.go
+++ b/go/adbc/pkg/flightsql/driver.go
@@ -62,10 +62,10 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/flightsql"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/cdata"
- "github.com/apache/arrow/go/v16/arrow/memory"
- "github.com/apache/arrow/go/v16/arrow/memory/mallocator"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/cdata"
+ "github.com/apache/arrow/go/v17/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory/mallocator"
)
// Must use malloc() to respect CGO rules
diff --git a/go/adbc/pkg/panicdummy/driver.go b/go/adbc/pkg/panicdummy/driver.go
index 6d22e91467..f9d37cc930 100644
--- a/go/adbc/pkg/panicdummy/driver.go
+++ b/go/adbc/pkg/panicdummy/driver.go
@@ -62,10 +62,10 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/panicdummy"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/cdata"
- "github.com/apache/arrow/go/v16/arrow/memory"
- "github.com/apache/arrow/go/v16/arrow/memory/mallocator"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/cdata"
+ "github.com/apache/arrow/go/v17/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory/mallocator"
)
// Must use malloc() to respect CGO rules
diff --git a/go/adbc/pkg/snowflake/driver.go b/go/adbc/pkg/snowflake/driver.go
index c894de6997..ff257384a8 100644
--- a/go/adbc/pkg/snowflake/driver.go
+++ b/go/adbc/pkg/snowflake/driver.go
@@ -62,10 +62,10 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/driver/snowflake"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/cdata"
- "github.com/apache/arrow/go/v16/arrow/memory"
- "github.com/apache/arrow/go/v16/arrow/memory/mallocator"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/cdata"
+ "github.com/apache/arrow/go/v17/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory/mallocator"
)
// Must use malloc() to respect CGO rules
diff --git a/go/adbc/sqldriver/driver.go b/go/adbc/sqldriver/driver.go
index a1725a9a9c..d26113bcce 100644
--- a/go/adbc/sqldriver/driver.go
+++ b/go/adbc/sqldriver/driver.go
@@ -31,11 +31,11 @@ import (
"unsafe"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/decimal128"
- "github.com/apache/arrow/go/v16/arrow/decimal256"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/decimal128"
+ "github.com/apache/arrow/go/v17/arrow/decimal256"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
func getIsolationlevel(lvl sql.IsolationLevel) adbc.OptionIsolationLevel {
diff --git a/go/adbc/sqldriver/driver_internals_test.go b/go/adbc/sqldriver/driver_internals_test.go
index e13c607c3a..0bb7bbf941 100644
--- a/go/adbc/sqldriver/driver_internals_test.go
+++ b/go/adbc/sqldriver/driver_internals_test.go
@@ -26,11 +26,11 @@ import (
"time"
"github.com/apache/arrow-adbc/go/adbc"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/decimal128"
- "github.com/apache/arrow/go/v16/arrow/decimal256"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/decimal128"
+ "github.com/apache/arrow/go/v17/arrow/decimal256"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
diff --git a/go/adbc/sqldriver/flightsql/flightsql.go b/go/adbc/sqldriver/flightsql/flightsql.go
index 87f4f6547d..cdf3f6b93f 100644
--- a/go/adbc/sqldriver/flightsql/flightsql.go
+++ b/go/adbc/sqldriver/flightsql/flightsql.go
@@ -22,7 +22,7 @@ import (
"github.com/apache/arrow-adbc/go/adbc/driver/flightsql"
"github.com/apache/arrow-adbc/go/adbc/sqldriver"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/memory"
)
func init() {
diff --git a/go/adbc/sqldriver/flightsql/flightsql_test.go b/go/adbc/sqldriver/flightsql/flightsql_test.go
index af3a6ddb24..2ca25a8333 100644
--- a/go/adbc/sqldriver/flightsql/flightsql_test.go
+++ b/go/adbc/sqldriver/flightsql/flightsql_test.go
@@ -23,10 +23,10 @@ import (
"testing"
_ "github.com/apache/arrow-adbc/go/adbc/sqldriver/flightsql"
- "github.com/apache/arrow/go/v16/arrow/flight"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql"
- "github.com/apache/arrow/go/v16/arrow/flight/flightsql/example"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow/flight"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql"
+ "github.com/apache/arrow/go/v17/arrow/flight/flightsql/example"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/stretchr/testify/suite"
"google.golang.org/grpc"
)
diff --git a/go/adbc/standard_schemas.go b/go/adbc/standard_schemas.go
index c0dea2d247..0d77e27ae5 100644
--- a/go/adbc/standard_schemas.go
+++ b/go/adbc/standard_schemas.go
@@ -17,7 +17,7 @@
package adbc
-import "github.com/apache/arrow/go/v16/arrow"
+import "github.com/apache/arrow/go/v17/arrow"
var (
GetInfoSchema = arrow.NewSchema([]arrow.Field{
diff --git a/go/adbc/utils/utils.go b/go/adbc/utils/utils.go
index 167d1d333d..dcb9ed6020 100644
--- a/go/adbc/utils/utils.go
+++ b/go/adbc/utils/utils.go
@@ -17,7 +17,7 @@
package utils
-import "github.com/apache/arrow/go/v16/arrow"
+import "github.com/apache/arrow/go/v17/arrow"
func RemoveSchemaMetadata(schema *arrow.Schema) *arrow.Schema {
fields := make([]arrow.Field, len(schema.Fields()))
diff --git a/go/adbc/validation/validation.go b/go/adbc/validation/validation.go
index 9d73e6b436..22c40f4479 100644
--- a/go/adbc/validation/validation.go
+++ b/go/adbc/validation/validation.go
@@ -28,9 +28,9 @@ import (
"github.com/apache/arrow-adbc/go/adbc"
"github.com/apache/arrow-adbc/go/adbc/utils"
- "github.com/apache/arrow/go/v16/arrow"
- "github.com/apache/arrow/go/v16/arrow/array"
- "github.com/apache/arrow/go/v16/arrow/memory"
+ "github.com/apache/arrow/go/v17/arrow"
+ "github.com/apache/arrow/go/v17/arrow/array"
+ "github.com/apache/arrow/go/v17/arrow/memory"
"github.com/stretchr/testify/suite"
)
diff --git a/python/adbc_driver_flightsql/tests/test_errors.py b/python/adbc_driver_flightsql/tests/test_errors.py
index bed1878fc7..688369a96e 100644
--- a/python/adbc_driver_flightsql/tests/test_errors.py
+++ b/python/adbc_driver_flightsql/tests/test_errors.py
@@ -184,3 +184,9 @@ def test_query_error_getflightinfo(test_dbapi):
),
):
cur.adbc_execute_partitions("error_get_flight_info")
+
+
+def test_stateless_prepared_statement(test_dbapi) -> None:
+ with test_dbapi.cursor() as cur:
+ cur.adbc_prepare("stateless_prepared_statement")
+ cur.execute("stateless_prepared_statement", parameters=[(1,)])