@@ -6,8 +6,10 @@ import (
66 "net/http"
77 "net/url"
88 "strings"
9+ "time"
910
1011 v1pb "github.com/bytebase/bytebase/proto/generated-go/v1"
12+ "github.com/hashicorp/terraform-plugin-log/tflog"
1113 "google.golang.org/protobuf/encoding/protojson"
1214)
1315
@@ -27,32 +29,44 @@ func (c *client) GetDatabase(ctx context.Context, databaseName string) (*v1pb.Da
2729}
2830
2931// ListDatabase list all databases.
30- func (c * client ) ListDatabase (ctx context.Context , instanceID , filter string ) ([]* v1pb.Database , error ) {
32+ func (c * client ) ListDatabase (ctx context.Context , parent , filter string ) ([]* v1pb.Database , error ) {
3133 res := []* v1pb.Database {}
3234 pageToken := ""
35+ startTime := time .Now ()
3336
3437 for {
35- resp , err := c .listDatabasePerPage (ctx , instanceID , filter , pageToken , 500 )
38+ startTimePerPage := time .Now ()
39+ resp , err := c .listDatabasePerPage (ctx , parent , filter , pageToken , 500 )
3640 if err != nil {
3741 return nil , err
3842 }
3943 res = append (res , resp .Databases ... )
44+ tflog .Debug (ctx , "[list database per page]" , map [string ]interface {}{
45+ "count" : len (resp .Databases ),
46+ "ms" : time .Since (startTimePerPage ).Milliseconds (),
47+ })
48+
4049 pageToken = resp .NextPageToken
4150 if pageToken == "" {
4251 break
4352 }
4453 }
4554
55+ tflog .Debug (ctx , "[list database]" , map [string ]interface {}{
56+ "total" : len (res ),
57+ "ms" : time .Since (startTime ).Milliseconds (),
58+ })
59+
4660 return res , nil
4761}
4862
4963// listDatabasePerPage list the databases.
50- func (c * client ) listDatabasePerPage (ctx context.Context , instanceID , filter , pageToken string , pageSize int ) (* v1pb.ListDatabasesResponse , error ) {
64+ func (c * client ) listDatabasePerPage (ctx context.Context , parent , filter , pageToken string , pageSize int ) (* v1pb.ListDatabasesResponse , error ) {
5165 requestURL := fmt .Sprintf (
52- "%s/%s/instances/ %s/databases?filter=%s&page_size=%d&page_token=%s" ,
66+ "%s/%s/%s/databases?filter=%s&page_size=%d&page_token=%s" ,
5367 c .url ,
5468 c .version ,
55- instanceID ,
69+ parent ,
5670 url .QueryEscape (filter ),
5771 pageSize ,
5872 pageToken ,
0 commit comments