MCPcopy Create free account
hub / github.com/bytebase/bytebase / getPartitions

Method getPartitions

backend/plugin/db/hive/sync.go:183–203  ·  view source on GitHub ↗
(ctx context.Context, databaseName, tableName string)

Source from the content-addressed store, hash-verified

181}
182
183func (d *Driver) getPartitions(ctx context.Context, databaseName, tableName string) ([]*storepb.TablePartitionMetadata, error) {
184 // partitions.
185 partitionResult, err := d.queryStatementWithLimit(ctx, fmt.Sprintf("SHOW PARTITIONS `%s`.`%s`", databaseName, tableName), 0)
186 if err != nil {
187 slog.Debug("failed to get partitions", log.BBError(err))
188 return nil, nil
189 }
190 if partitionResult == nil {
191 return nil, nil
192 }
193 var partitions []*storepb.TablePartitionMetadata
194 for _, row := range partitionResult.Rows {
195 if row == nil || len(row.Values) == 0 {
196 return nil, errors.New("partitions result row has zero length")
197 }
198 partitions = append(partitions, &storepb.TablePartitionMetadata{
199 Name: row.Values[0].GetStringValue(),
200 })
201 }
202 return partitions, nil
203}
204
205// This function gets certain database info by name.
206func (d *Driver) getDatabaseInfoByName(ctx context.Context, databaseName string) (*storepb.SchemaMetadata, error) {

Callers 1

getTablesMethod · 0.95

Implementers 15

MockDriverbackend/plugin/advisor/utils_for_tests
Driverbackend/plugin/db/bigquery/bigquery.go
Driverbackend/plugin/db/mongodb/mongodb.go
Driverbackend/plugin/db/trino/trino.go
Driverbackend/plugin/db/redshift/redshift.go
Driverbackend/plugin/db/oracle/oracle.go
Driverbackend/plugin/db/dynamodb/dynamodb.go
Driverbackend/plugin/db/cosmosdb/cosmosdb.go
Driverbackend/plugin/db/spanner/spanner.go
Driverbackend/plugin/db/mssql/mssql.go
Driverbackend/plugin/db/mysql/mysql.go
Driverbackend/plugin/db/pg/pg.go

Calls 4

BBErrorFunction · 0.92
DebugMethod · 0.80
GetStringValueMethod · 0.80

Tested by

no test coverage detected