From ef99a772bdde876c97e5364f90be719b492a17e2 Mon Sep 17 00:00:00 2001 From: Marin Nozhchev Date: Thu, 9 Jan 2025 11:05:22 +0200 Subject: [PATCH] chore: move all implementation code to internal (#16) Move all implementation code to /internal so that tools like gorelease don't consider it part of the public API. Also removes /cmd as it is no longer supported. usql works better as CLI. Testing Done: go test ./internal/isql/... --- Makefile | 6 +- cmd/impala/main.go | 164 ------------------ cmd/test/main.go | 24 --- driver.go | 11 +- examples/enumerateDB.go | 4 +- {hive => internal/hive}/client.go | 2 +- {hive => internal/hive}/dbmetadata.go | 3 +- {hive => internal/hive}/dbmetadata_test.go | 2 +- {hive => internal/hive}/hive.go | 2 +- {hive => internal/hive}/metadata.go | 2 +- {hive => internal/hive}/operation.go | 2 +- {hive => internal/hive}/operation_test.go | 3 +- {hive => internal/hive}/result_set.go | 2 +- {hive => internal/hive}/result_set_test.go | 3 +- {hive => internal/hive}/session.go | 2 +- connection.go => internal/isql/connection.go | 18 +- .../isql/connection_test.go | 11 +- rows.go => internal/isql/rows.go | 4 +- statement.go => internal/isql/statement.go | 4 +- .../isql/statement_test.go | 2 +- {sasl => internal/sasl}/client.go | 0 {sasl => internal/sasl}/plain.go | 0 {sasl => internal/sasl}/sasl.go | 0 {sasl => internal/sasl}/transport.go | 0 .../services}/beeswax/GoUnusedProtection__.go | 0 .../services}/beeswax/beeswax-consts.go | 2 +- .../services}/beeswax/beeswax.go | 2 +- .../beeswax_service-remote.go | 4 +- .../cli_service/GoUnusedProtection__.go | 0 .../cli_service/cli_service-consts.go | 0 .../services}/cli_service/cli_service.go | 0 .../t_c_l_i_service-remote.go | 2 +- .../services}/fb303/GoUnusedProtection__.go | 0 .../facebook_service-remote.go | 2 +- .../services}/fb303/fb303-consts.go | 0 .../services}/fb303/fb303.go | 0 .../hive_metastore/GoUnusedProtection__.go | 0 .../hive_metastore/hive_metastore-consts.go | 2 +- .../hive_metastore/hive_metastore.go | 2 +- .../thrift_hive_metastore-remote.go | 4 +- .../impalaservice/GoUnusedProtection__.go | 0 .../impalaservice/ImpalaService-consts.go | 6 +- .../services}/impalaservice/ImpalaService.go | 6 +- .../impala_hive_server2_service-remote.go | 8 +- .../impala_service-remote.go | 8 +- .../services}/status/GoUnusedProtection__.go | 0 .../services}/status/Status-consts.go | 0 .../services}/status/Status.go | 0 metadata.go | 5 +- 49 files changed, 76 insertions(+), 248 deletions(-) delete mode 100644 cmd/impala/main.go delete mode 100644 cmd/test/main.go rename {hive => internal/hive}/client.go (95%) rename {hive => internal/hive}/dbmetadata.go (97%) rename {hive => internal/hive}/dbmetadata_test.go (96%) rename {hive => internal/hive}/hive.go (94%) rename {hive => internal/hive}/metadata.go (97%) rename {hive => internal/hive}/operation.go (98%) rename {hive => internal/hive}/operation_test.go (93%) rename {hive => internal/hive}/result_set.go (98%) rename {hive => internal/hive}/result_set_test.go (96%) rename {hive => internal/hive}/session.go (97%) rename connection.go => internal/isql/connection.go (89%) rename connection_test.go => internal/isql/connection_test.go (96%) rename rows.go => internal/isql/rows.go (94%) rename statement.go => internal/isql/statement.go (98%) rename statement_test.go => internal/isql/statement_test.go (98%) rename {sasl => internal/sasl}/client.go (100%) rename {sasl => internal/sasl}/plain.go (100%) rename {sasl => internal/sasl}/sasl.go (100%) rename {sasl => internal/sasl}/transport.go (100%) rename {services => internal/services}/beeswax/GoUnusedProtection__.go (100%) rename {services => internal/services}/beeswax/beeswax-consts.go (89%) rename {services => internal/services}/beeswax/beeswax.go (99%) rename {services => internal/services}/beeswax/beeswax_service-remote/beeswax_service-remote.go (99%) rename {services => internal/services}/cli_service/GoUnusedProtection__.go (100%) rename {services => internal/services}/cli_service/cli_service-consts.go (100%) rename {services => internal/services}/cli_service/cli_service.go (100%) rename {services => internal/services}/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go (99%) rename {services => internal/services}/fb303/GoUnusedProtection__.go (100%) rename {services => internal/services}/fb303/facebook_service-remote/facebook_service-remote.go (99%) rename {services => internal/services}/fb303/fb303-consts.go (100%) rename {services => internal/services}/fb303/fb303.go (100%) rename {services => internal/services}/hive_metastore/GoUnusedProtection__.go (100%) rename {services => internal/services}/hive_metastore/hive_metastore-consts.go (95%) rename {services => internal/services}/hive_metastore/hive_metastore.go (99%) rename {services => internal/services}/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go (99%) rename {services => internal/services}/impalaservice/GoUnusedProtection__.go (100%) rename {services => internal/services}/impalaservice/ImpalaService-consts.go (83%) rename {services => internal/services}/impalaservice/ImpalaService.go (99%) rename {services => internal/services}/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go (98%) rename {services => internal/services}/impalaservice/impala_service-remote/impala_service-remote.go (98%) rename {services => internal/services}/status/GoUnusedProtection__.go (100%) rename {services => internal/services}/status/Status-consts.go (100%) rename {services => internal/services}/status/Status.go (100%) diff --git a/Makefile b/Makefile index a5a9297..e7dd4d3 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ .PHONY: thrift thrift: - thrift -r -gen go:package_prefix=github.com/sclgo/impala-go/services/ interfaces/ImpalaService.thrift - rm -rf ./services - mv gen-go services + thrift -r -gen go:package_prefix=github.com/sclgo/impala-go/internal/services/ interfaces/ImpalaService.thrift + rm -rf ./internal/services + mv gen-go ./internal/services .PHONY: cli cli: usql diff --git a/cmd/impala/main.go b/cmd/impala/main.go deleted file mode 100644 index 66d15fd..0000000 --- a/cmd/impala/main.go +++ /dev/null @@ -1,164 +0,0 @@ -package main - -import ( - "bufio" - "context" - "database/sql" - "flag" - "fmt" - "io" - "log" - "os" - "os/signal" - "reflect" - "sync" - "syscall" - "time" - - impala "github.com/sclgo/impala-go" -) - -func main() { - - var timeout int - var verbose bool - opts := impala.DefaultOptions - flag.StringVar(&opts.Host, "host", "", "impalad hostname") - flag.StringVar(&opts.Port, "p", "21050", "impala daemon port") - flag.BoolVar(&opts.UseLDAP, "l", false, "use ldap authentication") - flag.StringVar(&opts.Username, "username", "", "ldap usename") - flag.StringVar(&opts.Password, "password", "", "ldap password") - flag.BoolVar(&opts.UseTLS, "tls", false, "use tls") - flag.StringVar(&opts.CACertPath, "ca-cert", "", "ca certificate path") - flag.IntVar(&opts.BatchSize, "batch-size", 1024, "fetch batch size") - flag.StringVar(&opts.MemoryLimit, "mem-limit", "0", "memory limit") - flag.IntVar(&opts.QueryTimeout, "query-timeout", 0, "query timeout (in seconds)") - flag.IntVar(&timeout, "timeout", 0, "timeout in ms; set 0 to disable timeout") - flag.BoolVar(&verbose, "v", false, "verbose") - flag.Parse() - - if opts.UseLDAP { - if opts.Username == "" { - log.Fatalf("Please specify username with --username flag") - } - if opts.Password == "" { - log.Fatalf("Please specify password with --password flag") - } - } - - if opts.UseTLS { - if opts.CACertPath == "" { - log.Fatalf("Please specify ca certificate path with --ca-cert flag") - } - } - - if verbose { - opts.LogOut = os.Stderr - } - - appctx, cancel := context.WithCancel(context.Background()) - sig := make(chan os.Signal, 1) - signal.Notify(sig, os.Interrupt, syscall.SIGTERM) - - go func() { - <-sig - cancel() - }() - - if timeout != 0 { - ctx, release := context.WithTimeout(appctx, time.Duration(timeout*int(time.Millisecond))) - defer release() - - appctx = ctx - } - - var q string - - stdinstat, err := os.Stdin.Stat() - if err != nil { - log.Fatal(err) - } - - if stdinstat.Mode()&os.ModeNamedPipe != 0 { - bytes, err := io.ReadAll(os.Stdin) - if err != nil { - log.Fatal(err) - } - q = string(bytes) - } else if len(flag.Args()) == 1 { - q = flag.Arg(0) - } else { - fmt.Print("> ") - reader := bufio.NewReader(os.Stdin) - line, err := reader.ReadString('\n') - if err != nil { - log.Fatal(err) - } - q = line - } - - if err := query(appctx, &opts, q); err != nil { - log.Fatal(err) - } - //exec(appctx, db, q) -} - -func query(ctx context.Context, opts *impala.Options, query string) error { - connector := impala.NewConnector(opts) - - db := sql.OpenDB(connector) - - defer func() { - db.Close() - }() - - if err := db.PingContext(ctx); err != nil { - return err - } - - startTime := time.Now() - - rows, err := db.QueryContext(ctx, query) - if err != nil { - return err - } - - coltypes, err := rows.ColumnTypes() - if err != nil { - return err - } - - in := make([]reflect.Value, len(coltypes)) - for i, coltype := range coltypes { - in[i] = reflect.New(coltype.ScanType()) - } - - once := new(sync.Once) - var results int - scanner := reflect.ValueOf(rows).MethodByName("Scan") - for rows.Next() { - errv := scanner.Call(in) - if !errv[0].IsNil() { - errtext := errv[0].MethodByName("Error").Call(nil)[0].String() - log.Fatal(errtext) - } - - once.Do(func() { - for _, coltype := range coltypes { - fmt.Printf("%s\t", coltype.Name()) - } - fmt.Print("\n") - }) - - for _, col := range in { - fmt.Printf("%v\t", col.Elem()) - } - fmt.Print("\n") - results++ - } - if err := rows.Err(); err != nil { - return err - } - fmt.Printf("Fetch %d rows(s) in %.2fs\n", results, time.Duration(time.Since(startTime)).Seconds()) - return nil -} diff --git a/cmd/test/main.go b/cmd/test/main.go deleted file mode 100644 index 023943f..0000000 --- a/cmd/test/main.go +++ /dev/null @@ -1,24 +0,0 @@ -package main - -import ( - "database/sql" - "log" - - _ "github.com/sclgo/impala-go" -) - -func main() { - db, err := sql.Open("impala", "impala://pachinko-parlor.io") - if err != nil { - log.Fatal(err) - } - defer db.Close() - - var result int8 - err = db.QueryRow("select 1").Scan(&result) - if err != nil { - log.Fatal(err) - } - - log.Printf("result: %d", result) -} diff --git a/driver.go b/driver.go index 0bc0f7b..0ffb81b 100644 --- a/driver.go +++ b/driver.go @@ -16,13 +16,14 @@ import ( "github.com/apache/thrift/lib/go/thrift" "github.com/samber/lo" - "github.com/sclgo/impala-go/hive" - "github.com/sclgo/impala-go/sasl" + "github.com/sclgo/impala-go/internal/hive" + "github.com/sclgo/impala-go/internal/isql" + "github.com/sclgo/impala-go/internal/sasl" ) var ( // ErrNotSupported means this operation is not supported by impala driver - ErrNotSupported = errors.New("impala: not supported") + ErrNotSupported = isql.ErrNotSupported ) // Driver to impala @@ -170,7 +171,7 @@ func (c *connector) Driver() driver.Driver { return c.d } -func connect(opts *Options) (*Conn, error) { +func connect(opts *Options) (*isql.Conn, error) { addr := net.JoinHostPort(opts.Host, opts.Port) @@ -242,5 +243,5 @@ func connect(opts *Options) (*Conn, error) { QueryTimeout: opts.QueryTimeout, }) - return &Conn{client: client, t: transport, log: logger}, nil + return isql.NewConn(client, transport, logger), nil } diff --git a/examples/enumerateDB.go b/examples/enumerateDB.go index 20af3a8..d24b17a 100755 --- a/examples/enumerateDB.go +++ b/examples/enumerateDB.go @@ -28,7 +28,9 @@ func main() { connector := impala.NewConnector(&opts) db := sql.OpenDB(connector) - defer db.Close() + defer func() { + _ = db.Close() + }() ctx := context.Background() diff --git a/hive/client.go b/internal/hive/client.go similarity index 95% rename from hive/client.go rename to internal/hive/client.go index c36bc67..a571852 100644 --- a/hive/client.go +++ b/internal/hive/client.go @@ -6,7 +6,7 @@ import ( "strconv" "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) // Client represents Hive Client diff --git a/hive/dbmetadata.go b/internal/hive/dbmetadata.go similarity index 97% rename from hive/dbmetadata.go rename to internal/hive/dbmetadata.go index bf43b5c..a8408c2 100644 --- a/hive/dbmetadata.go +++ b/internal/hive/dbmetadata.go @@ -10,8 +10,7 @@ import ( "time" "github.com/samber/lo" - - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) type TableName struct { diff --git a/hive/dbmetadata_test.go b/internal/hive/dbmetadata_test.go similarity index 96% rename from hive/dbmetadata_test.go rename to internal/hive/dbmetadata_test.go index c9fc35c..908c7eb 100644 --- a/hive/dbmetadata_test.go +++ b/internal/hive/dbmetadata_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/google/uuid" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" "github.com/stretchr/testify/require" ) diff --git a/hive/hive.go b/internal/hive/hive.go similarity index 94% rename from hive/hive.go rename to internal/hive/hive.go index 81dfde5..3ae5d10 100644 --- a/hive/hive.go +++ b/internal/hive/hive.go @@ -4,7 +4,7 @@ import ( "errors" "fmt" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) const ( diff --git a/hive/metadata.go b/internal/hive/metadata.go similarity index 97% rename from hive/metadata.go rename to internal/hive/metadata.go index be60418..c3d444e 100644 --- a/hive/metadata.go +++ b/internal/hive/metadata.go @@ -5,7 +5,7 @@ import ( "reflect" "time" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) type TableSchema struct { diff --git a/hive/operation.go b/internal/hive/operation.go similarity index 98% rename from hive/operation.go rename to internal/hive/operation.go index 507a64d..1801f15 100644 --- a/hive/operation.go +++ b/internal/hive/operation.go @@ -6,7 +6,7 @@ import ( "time" "github.com/samber/lo" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) const ( diff --git a/hive/operation_test.go b/internal/hive/operation_test.go similarity index 93% rename from hive/operation_test.go rename to internal/hive/operation_test.go index 1879b12..44b6a36 100644 --- a/hive/operation_test.go +++ b/internal/hive/operation_test.go @@ -5,9 +5,8 @@ import ( "log" "testing" + "github.com/sclgo/impala-go/internal/services/cli_service" "github.com/stretchr/testify/require" - - "github.com/sclgo/impala-go/services/cli_service" ) func TestOperation(t *testing.T) { diff --git a/hive/result_set.go b/internal/hive/result_set.go similarity index 98% rename from hive/result_set.go rename to internal/hive/result_set.go index f8f9a73..2dd029b 100644 --- a/hive/result_set.go +++ b/internal/hive/result_set.go @@ -5,7 +5,7 @@ import ( "io" "time" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) // ResultSet ... diff --git a/hive/result_set_test.go b/internal/hive/result_set_test.go similarity index 96% rename from hive/result_set_test.go rename to internal/hive/result_set_test.go index f59cfa1..6557166 100644 --- a/hive/result_set_test.go +++ b/internal/hive/result_set_test.go @@ -7,9 +7,8 @@ import ( "testing" "github.com/samber/lo" + "github.com/sclgo/impala-go/internal/services/cli_service" "github.com/stretchr/testify/require" - - "github.com/sclgo/impala-go/services/cli_service" ) func TestResultSet(t *testing.T) { diff --git a/hive/session.go b/internal/hive/session.go similarity index 97% rename from hive/session.go rename to internal/hive/session.go index eaa7b96..04509c7 100644 --- a/hive/session.go +++ b/internal/hive/session.go @@ -3,7 +3,7 @@ package hive import ( "context" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) // Session represents hive session diff --git a/connection.go b/internal/isql/connection.go similarity index 89% rename from connection.go rename to internal/isql/connection.go index 91e20b2..e28889c 100644 --- a/connection.go +++ b/internal/isql/connection.go @@ -1,14 +1,20 @@ -package impala +package isql import ( "context" "database/sql/driver" + "errors" "fmt" "log" "time" "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/hive" + "github.com/sclgo/impala-go/internal/hive" +) + +var ( + // ErrNotSupported means this operation is not supported by impala driver + ErrNotSupported = errors.New("impala: not supported") ) // Conn to impala. It is not used concurrently by multiple goroutines. @@ -136,3 +142,11 @@ func (c *Conn) Close() error { } return nil } + +func NewConn(client *hive.Client, transport thrift.TTransport, logger *log.Logger) *Conn { + return &Conn{ + t: transport, + client: client, + log: logger, + } +} diff --git a/connection_test.go b/internal/isql/connection_test.go similarity index 96% rename from connection_test.go rename to internal/isql/connection_test.go index 9e89eb7..0a73f85 100644 --- a/connection_test.go +++ b/internal/isql/connection_test.go @@ -1,4 +1,4 @@ -package impala +package isql_test import ( "context" @@ -11,8 +11,9 @@ import ( "testing" "time" - "github.com/sclgo/impala-go/hive" + "github.com/sclgo/impala-go" "github.com/sclgo/impala-go/internal/fi" + "github.com/sclgo/impala-go/internal/hive" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/testcontainers/testcontainers-go" @@ -74,14 +75,14 @@ func startImpala(t *testing.T) string { func startImpala4(t *testing.T) string { var compose tc.ComposeStack - compose, err := tc.NewDockerCompose("compose/quickstart.yml") + compose, err := tc.NewDockerCompose("../../compose/quickstart.yml") require.NoError(t, err) compose = compose.WithEnv(map[string]string{ "IMPALA_QUICKSTART_IMAGE_PREFIX": "apache/impala:4.4.1-", "QUICKSTART_LISTEN_ADDR": "0.0.0.0", }) t.Cleanup(func() { - assert.NoError(t, compose.Down(context.Background(), tc.RemoveOrphans(true), tc.RemoveImagesLocal)) + assert.NoError(t, compose.Down(context.Background(), tc.RemoveOrphans(true))) }) ctx, cancel := context.WithCancel(context.Background()) t.Cleanup(cancel) @@ -138,7 +139,7 @@ func testSelect(t *testing.T, db *sql.DB) { func testMetadata(t *testing.T, conn *sql.DB) { _, err := conn.Exec("CREATE TABLE IF NOT EXISTS test(a int)") require.NoError(t, err) - m := NewMetadata(conn) + m := impala.NewMetadata(conn) res, err := m.GetTables(context.Background(), "default", "test") require.NoError(t, err) require.NotEmpty(t, res) diff --git a/rows.go b/internal/isql/rows.go similarity index 94% rename from rows.go rename to internal/isql/rows.go index 7dd4ceb..4137676 100644 --- a/rows.go +++ b/internal/isql/rows.go @@ -1,10 +1,10 @@ -package impala +package isql import ( "database/sql/driver" "reflect" - "github.com/sclgo/impala-go/hive" + "github.com/sclgo/impala-go/internal/hive" ) // Rows is an iterator over an executed query's results. diff --git a/statement.go b/internal/isql/statement.go similarity index 98% rename from statement.go rename to internal/isql/statement.go index a2b805e..6f32922 100644 --- a/statement.go +++ b/internal/isql/statement.go @@ -1,4 +1,4 @@ -package impala +package isql import ( "context" @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/sclgo/impala-go/hive" + "github.com/sclgo/impala-go/internal/hive" ) // Stmt is statement diff --git a/statement_test.go b/internal/isql/statement_test.go similarity index 98% rename from statement_test.go rename to internal/isql/statement_test.go index 34964ae..1f29f1a 100644 --- a/statement_test.go +++ b/internal/isql/statement_test.go @@ -1,4 +1,4 @@ -package impala +package isql import ( "database/sql/driver" diff --git a/sasl/client.go b/internal/sasl/client.go similarity index 100% rename from sasl/client.go rename to internal/sasl/client.go diff --git a/sasl/plain.go b/internal/sasl/plain.go similarity index 100% rename from sasl/plain.go rename to internal/sasl/plain.go diff --git a/sasl/sasl.go b/internal/sasl/sasl.go similarity index 100% rename from sasl/sasl.go rename to internal/sasl/sasl.go diff --git a/sasl/transport.go b/internal/sasl/transport.go similarity index 100% rename from sasl/transport.go rename to internal/sasl/transport.go diff --git a/services/beeswax/GoUnusedProtection__.go b/internal/services/beeswax/GoUnusedProtection__.go similarity index 100% rename from services/beeswax/GoUnusedProtection__.go rename to internal/services/beeswax/GoUnusedProtection__.go diff --git a/services/beeswax/beeswax-consts.go b/internal/services/beeswax/beeswax-consts.go similarity index 89% rename from services/beeswax/beeswax-consts.go rename to internal/services/beeswax/beeswax-consts.go index 5c91178..fb442ef 100644 --- a/services/beeswax/beeswax-consts.go +++ b/internal/services/beeswax/beeswax-consts.go @@ -11,7 +11,7 @@ import ( thrift "github.com/apache/thrift/lib/go/thrift" "strings" "regexp" - "github.com/sclgo/impala-go/services/hive_metastore" + "github.com/sclgo/impala-go/internal/services/hive_metastore" ) diff --git a/services/beeswax/beeswax.go b/internal/services/beeswax/beeswax.go similarity index 99% rename from services/beeswax/beeswax.go rename to internal/services/beeswax/beeswax.go index b5f5736..9c7bcd7 100644 --- a/services/beeswax/beeswax.go +++ b/internal/services/beeswax/beeswax.go @@ -12,7 +12,7 @@ import ( thrift "github.com/apache/thrift/lib/go/thrift" "strings" "regexp" - "github.com/sclgo/impala-go/services/hive_metastore" + "github.com/sclgo/impala-go/internal/services/hive_metastore" ) diff --git a/services/beeswax/beeswax_service-remote/beeswax_service-remote.go b/internal/services/beeswax/beeswax_service-remote/beeswax_service-remote.go similarity index 99% rename from services/beeswax/beeswax_service-remote/beeswax_service-remote.go rename to internal/services/beeswax/beeswax_service-remote/beeswax_service-remote.go index e38bf4e..c8ff3b6 100755 --- a/services/beeswax/beeswax_service-remote/beeswax_service-remote.go +++ b/internal/services/beeswax/beeswax_service-remote/beeswax_service-remote.go @@ -13,8 +13,8 @@ import ( "strconv" "strings" thrift "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/hive_metastore" - "github.com/sclgo/impala-go/services/beeswax" + "github.com/sclgo/impala-go/internal/services/hive_metastore" + "github.com/sclgo/impala-go/internal/services/beeswax" ) var _ = hive_metastore.GoUnusedProtection__ diff --git a/services/cli_service/GoUnusedProtection__.go b/internal/services/cli_service/GoUnusedProtection__.go similarity index 100% rename from services/cli_service/GoUnusedProtection__.go rename to internal/services/cli_service/GoUnusedProtection__.go diff --git a/services/cli_service/cli_service-consts.go b/internal/services/cli_service/cli_service-consts.go similarity index 100% rename from services/cli_service/cli_service-consts.go rename to internal/services/cli_service/cli_service-consts.go diff --git a/services/cli_service/cli_service.go b/internal/services/cli_service/cli_service.go similarity index 100% rename from services/cli_service/cli_service.go rename to internal/services/cli_service/cli_service.go diff --git a/services/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go b/internal/services/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go similarity index 99% rename from services/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go rename to internal/services/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go index 0a0b234..53f546e 100755 --- a/services/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go +++ b/internal/services/cli_service/t_c_l_i_service-remote/t_c_l_i_service-remote.go @@ -13,7 +13,7 @@ import ( "strconv" "strings" thrift "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/cli_service" ) var _ = cli_service.GoUnusedProtection__ diff --git a/services/fb303/GoUnusedProtection__.go b/internal/services/fb303/GoUnusedProtection__.go similarity index 100% rename from services/fb303/GoUnusedProtection__.go rename to internal/services/fb303/GoUnusedProtection__.go diff --git a/services/fb303/facebook_service-remote/facebook_service-remote.go b/internal/services/fb303/facebook_service-remote/facebook_service-remote.go similarity index 99% rename from services/fb303/facebook_service-remote/facebook_service-remote.go rename to internal/services/fb303/facebook_service-remote/facebook_service-remote.go index 8d9d6a6..df20b1f 100755 --- a/services/fb303/facebook_service-remote/facebook_service-remote.go +++ b/internal/services/fb303/facebook_service-remote/facebook_service-remote.go @@ -13,7 +13,7 @@ import ( "strconv" "strings" thrift "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/fb303" + "github.com/sclgo/impala-go/internal/services/fb303" ) var _ = fb303.GoUnusedProtection__ diff --git a/services/fb303/fb303-consts.go b/internal/services/fb303/fb303-consts.go similarity index 100% rename from services/fb303/fb303-consts.go rename to internal/services/fb303/fb303-consts.go diff --git a/services/fb303/fb303.go b/internal/services/fb303/fb303.go similarity index 100% rename from services/fb303/fb303.go rename to internal/services/fb303/fb303.go diff --git a/services/hive_metastore/GoUnusedProtection__.go b/internal/services/hive_metastore/GoUnusedProtection__.go similarity index 100% rename from services/hive_metastore/GoUnusedProtection__.go rename to internal/services/hive_metastore/GoUnusedProtection__.go diff --git a/services/hive_metastore/hive_metastore-consts.go b/internal/services/hive_metastore/hive_metastore-consts.go similarity index 95% rename from services/hive_metastore/hive_metastore-consts.go rename to internal/services/hive_metastore/hive_metastore-consts.go index 7461406..0584566 100644 --- a/services/hive_metastore/hive_metastore-consts.go +++ b/internal/services/hive_metastore/hive_metastore-consts.go @@ -11,7 +11,7 @@ import ( thrift "github.com/apache/thrift/lib/go/thrift" "strings" "regexp" - "github.com/sclgo/impala-go/services/fb303" + "github.com/sclgo/impala-go/internal/services/fb303" ) diff --git a/services/hive_metastore/hive_metastore.go b/internal/services/hive_metastore/hive_metastore.go similarity index 99% rename from services/hive_metastore/hive_metastore.go rename to internal/services/hive_metastore/hive_metastore.go index e139680..8803e8d 100644 --- a/services/hive_metastore/hive_metastore.go +++ b/internal/services/hive_metastore/hive_metastore.go @@ -12,7 +12,7 @@ import ( thrift "github.com/apache/thrift/lib/go/thrift" "strings" "regexp" - "github.com/sclgo/impala-go/services/fb303" + "github.com/sclgo/impala-go/internal/services/fb303" ) diff --git a/services/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go b/internal/services/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go similarity index 99% rename from services/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go rename to internal/services/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go index 919b6fe..0e24e2b 100755 --- a/services/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go +++ b/internal/services/hive_metastore/thrift_hive_metastore-remote/thrift_hive_metastore-remote.go @@ -13,8 +13,8 @@ import ( "strconv" "strings" thrift "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/fb303" - "github.com/sclgo/impala-go/services/hive_metastore" + "github.com/sclgo/impala-go/internal/services/fb303" + "github.com/sclgo/impala-go/internal/services/hive_metastore" ) var _ = fb303.GoUnusedProtection__ diff --git a/services/impalaservice/GoUnusedProtection__.go b/internal/services/impalaservice/GoUnusedProtection__.go similarity index 100% rename from services/impalaservice/GoUnusedProtection__.go rename to internal/services/impalaservice/GoUnusedProtection__.go diff --git a/services/impalaservice/ImpalaService-consts.go b/internal/services/impalaservice/ImpalaService-consts.go similarity index 83% rename from services/impalaservice/ImpalaService-consts.go rename to internal/services/impalaservice/ImpalaService-consts.go index 16805f9..25bf44d 100644 --- a/services/impalaservice/ImpalaService-consts.go +++ b/internal/services/impalaservice/ImpalaService-consts.go @@ -11,9 +11,9 @@ import ( thrift "github.com/apache/thrift/lib/go/thrift" "strings" "regexp" - "github.com/sclgo/impala-go/services/status" - "github.com/sclgo/impala-go/services/beeswax" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/status" + "github.com/sclgo/impala-go/internal/services/beeswax" + "github.com/sclgo/impala-go/internal/services/cli_service" ) diff --git a/services/impalaservice/ImpalaService.go b/internal/services/impalaservice/ImpalaService.go similarity index 99% rename from services/impalaservice/ImpalaService.go rename to internal/services/impalaservice/ImpalaService.go index 2403d3f..0469d83 100644 --- a/services/impalaservice/ImpalaService.go +++ b/internal/services/impalaservice/ImpalaService.go @@ -12,9 +12,9 @@ import ( thrift "github.com/apache/thrift/lib/go/thrift" "strings" "regexp" - "github.com/sclgo/impala-go/services/status" - "github.com/sclgo/impala-go/services/beeswax" - "github.com/sclgo/impala-go/services/cli_service" + "github.com/sclgo/impala-go/internal/services/status" + "github.com/sclgo/impala-go/internal/services/beeswax" + "github.com/sclgo/impala-go/internal/services/cli_service" ) diff --git a/services/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go b/internal/services/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go similarity index 98% rename from services/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go rename to internal/services/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go index 40ef2d2..3951fcd 100755 --- a/services/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go +++ b/internal/services/impalaservice/impala_hive_server2_service-remote/impala_hive_server2_service-remote.go @@ -13,10 +13,10 @@ import ( "strconv" "strings" thrift "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/status" - "github.com/sclgo/impala-go/services/beeswax" - "github.com/sclgo/impala-go/services/cli_service" - "github.com/sclgo/impala-go/services/impalaservice" + "github.com/sclgo/impala-go/internal/services/status" + "github.com/sclgo/impala-go/internal/services/beeswax" + "github.com/sclgo/impala-go/internal/services/cli_service" + "github.com/sclgo/impala-go/internal/services/impalaservice" ) var _ = status.GoUnusedProtection__ diff --git a/services/impalaservice/impala_service-remote/impala_service-remote.go b/internal/services/impalaservice/impala_service-remote/impala_service-remote.go similarity index 98% rename from services/impalaservice/impala_service-remote/impala_service-remote.go rename to internal/services/impalaservice/impala_service-remote/impala_service-remote.go index ed9513e..3bfb52c 100755 --- a/services/impalaservice/impala_service-remote/impala_service-remote.go +++ b/internal/services/impalaservice/impala_service-remote/impala_service-remote.go @@ -13,10 +13,10 @@ import ( "strconv" "strings" thrift "github.com/apache/thrift/lib/go/thrift" - "github.com/sclgo/impala-go/services/status" - "github.com/sclgo/impala-go/services/beeswax" - "github.com/sclgo/impala-go/services/cli_service" - "github.com/sclgo/impala-go/services/impalaservice" + "github.com/sclgo/impala-go/internal/services/status" + "github.com/sclgo/impala-go/internal/services/beeswax" + "github.com/sclgo/impala-go/internal/services/cli_service" + "github.com/sclgo/impala-go/internal/services/impalaservice" ) var _ = status.GoUnusedProtection__ diff --git a/services/status/GoUnusedProtection__.go b/internal/services/status/GoUnusedProtection__.go similarity index 100% rename from services/status/GoUnusedProtection__.go rename to internal/services/status/GoUnusedProtection__.go diff --git a/services/status/Status-consts.go b/internal/services/status/Status-consts.go similarity index 100% rename from services/status/Status-consts.go rename to internal/services/status/Status-consts.go diff --git a/services/status/Status.go b/internal/services/status/Status.go similarity index 100% rename from services/status/Status.go rename to internal/services/status/Status.go diff --git a/metadata.go b/metadata.go index ecc952e..cc76d56 100644 --- a/metadata.go +++ b/metadata.go @@ -7,7 +7,8 @@ import ( "iter" "slices" - "github.com/sclgo/impala-go/hive" + "github.com/sclgo/impala-go/internal/hive" + "github.com/sclgo/impala-go/internal/isql" ) // Metadata implements simplified access to hive.DBMetadata given only a high-level sql.DB reference @@ -38,7 +39,7 @@ func raw[T any](ctx context.Context, db *sql.DB, f func(hive.DBMetadata) (iter.S err = conn.Close() }() err = conn.Raw(func(driverConn any) error { - impalaConn, ok := driverConn.(*Conn) + impalaConn, ok := driverConn.(*isql.Conn) if !ok { return errors.New("metadata can operate only on Impala drivers") }