ywc88 commented on code in PR #980:
URL: https://github.com/apache/arrow-adbc/pull/980#discussion_r1301971921


##########
go/adbc/driver/flightsql/flightsql_adbc_server_test.go:
##########
@@ -627,3 +632,89 @@ func (suite *DataTypeTests) TestListInt() {
 func (suite *DataTypeTests) TestMapIntInt() {
        suite.DoTestCase("map[int]int", SchemaMapIntInt)
 }
+
+// ---- Multi Table Tests --------------------
+
+type MultiTableTestServer struct {
+       flightsql.BaseServer
+}
+
+func (server *MultiTableTestServer) GetFlightInfoStatement(ctx 
context.Context, cmd flightsql.StatementQuery, desc *flight.FlightDescriptor) 
(*flight.FlightInfo, error) {
+       query := cmd.GetQuery()
+       tkt, err := flightsql.CreateStatementQueryTicket([]byte(query))
+       if err != nil {
+               return nil, err
+       }
+
+       return &flight.FlightInfo{
+               Endpoint:         []*flight.FlightEndpoint{{Ticket: 
&flight.Ticket{Ticket: tkt}}},
+               FlightDescriptor: desc,
+               TotalRecords:     -1,
+               TotalBytes:       -1,
+       }, nil
+}
+
+func (server *MultiTableTestServer) GetFlightInfoTables(ctx context.Context, 
cmd flightsql.GetTables, desc *flight.FlightDescriptor) (*flight.FlightInfo, 
error) {
+       schema := schema_ref.Tables
+       if cmd.GetIncludeSchema() {
+               schema = schema_ref.TablesWithIncludedSchema
+       }
+       server.Alloc = memory.NewCheckedAllocator(memory.DefaultAllocator)
+       info := &flight.FlightInfo{
+               Endpoint: []*flight.FlightEndpoint{
+                       {Ticket: &flight.Ticket{Ticket: desc.Cmd}},
+               },
+               FlightDescriptor: desc,
+               Schema:           flight.SerializeSchema(schema, server.Alloc),
+               TotalRecords:     -1,
+               TotalBytes:       -1,
+       }
+
+       return info, nil
+}
+
+func (server *MultiTableTestServer) DoGetTables(ctx context.Context, cmd 
flightsql.GetTables) (*arrow.Schema, <-chan flight.StreamChunk, error) {
+       bldr := array.NewRecordBuilder(server.Alloc, adbc.GetTableSchemaSchema)
+
+       bldr.Field(0).(*array.StringBuilder).AppendValues([]string{"", ""}, nil)
+       bldr.Field(1).(*array.StringBuilder).AppendValues([]string{"", ""}, nil)
+       bldr.Field(2).(*array.StringBuilder).AppendValues([]string{"tbl1", 
"tbl2"}, nil)

Review Comment:
   This test does fail without the fix:
   ```
   go test flightsql_adbc_server_test.go -v -run TestMultiTable
   === RUN   TestMultiTable
   === RUN   TestMultiTable/TestGetTableSchema
       flightsql_adbc_server_test.go:719: 
                Error Trace:    /Users/ywc/Voltron 
Data/ywc88/arrow-adbc/go/adbc/driver/flightsql/flightsql_adbc_server_test.go:719
                Error:          Not equal: 
                                expected: 
&arrow.Schema{fields:[]arrow.Field{arrow.Field{Name:"b", 
Type:(*arrow.Int32Type)(0x1057ab240), Nullable:true, 
Metadata:arrow.Metadata{keys:[]string(nil), values:[]string(nil)}}}, 
index:map[string][]int{"b":[]int{0}}, meta:arrow.Metadata{keys:[]string(nil), 
values:[]string(nil)}, endianness:0}
                                actual  : 
&arrow.Schema{fields:[]arrow.Field{arrow.Field{Name:"a", 
Type:(*arrow.Int32Type)(0x1057ab240), Nullable:true, 
Metadata:arrow.Metadata{keys:[]string(nil), values:[]string(nil)}}}, 
index:map[string][]int{"a":[]int{0}}, meta:arrow.Metadata{keys:[]string(nil), 
values:[]string(nil)}, endianness:0}
                                
                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -3,3 +3,3 @@
                                  (arrow.Field) {
                                -   Name: (string) (len=1) "b",
                                +   Name: (string) (len=1) "a",
                                   Type: (*arrow.Int32Type)({
                                @@ -14,3 +14,3 @@
                                 index: (map[string][]int) (len=1) {
                                -  (string) (len=1) "b": ([]int) (len=1) {
                                +  (string) (len=1) "a": ([]int) (len=1) {
                                   (int) 0
                Test:           TestMultiTable/TestGetTableSchema
   --- FAIL: TestMultiTable (0.01s)
       --- FAIL: TestMultiTable/TestGetTableSchema (0.00s)
   FAIL
   FAIL command-line-arguments  0.194s
   FAIL
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to