// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package nosql

import (
	"v.io/v23/security/access"
)

// databaseData represents the persistent state of a Database.
type databaseData struct {
	Name    string
	Version uint64 // covers the fields below
	Perms   access.Permissions
}

// tableData represents the persistent state of a Table.
// TODO(sadovsky): Decide whether to track "empty-prefix" perms here.
type tableData struct {
	Name  string
	Perms access.Permissions
}
