1 // Licensed under the Apache License, Version 2.0 (the "License"); you may not 2 // use this file except in compliance with the License. You may obtain a copy of 3 // the License at 4 // 5 // http://www.apache.org/licenses/LICENSE-2.0 6 // 7 // Unless required by applicable law or agreed to in writing, software 8 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 9 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 10 // License for the specific language governing permissions and limitations under 11 // the License. 12 13 package driver 14 15 import ( 16 "context" 17 "encoding/json" 18 ) 19 20 // PartitionedDB is an optional interface that may be implemented by a [DB] to 21 // support querying partition-specific information. 22 type PartitionedDB interface { 23 // PartitionStats returns information about the named partition. 24 PartitionStats(ctx context.Context, name string) (*PartitionStats, error) 25 } 26 27 // PartitionStats contains partition statistics. 28 type PartitionStats struct { 29 DBName string 30 DocCount int64 31 DeletedDocCount int64 32 Partition string 33 ActiveSize int64 34 ExternalSize int64 35 RawResponse json.RawMessage 36 } 37