blob: bf5f346e0abc42395d36986a0c229bffb5be7ee5 [file] [log] [blame]
// 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.
// This file was auto-generated by the vanadium vdl tool.
// Source: types.vdl
package nosql
import (
// VDL system imports
"v.io/v23/vdl"
// VDL user imports
"v.io/syncbase/v23/services/syncbase/nosql"
"v.io/v23/security/access"
)
// databaseData represents the persistent state of a Database.
type databaseData struct {
Name string
Version uint64 // covers the Perms field below
Perms access.Permissions
SchemaMetadata *nosql.SchemaMetadata
}
func (databaseData) __VDLReflect(struct {
Name string `vdl:"v.io/syncbase/x/ref/services/syncbase/server/nosql.databaseData"`
}) {
}
// 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
}
func (tableData) __VDLReflect(struct {
Name string `vdl:"v.io/syncbase/x/ref/services/syncbase/server/nosql.tableData"`
}) {
}
// stPrefixPerms describes internal representation of prefix permissions
// in the store.
//
// Each pair of (key, perms) is stored as two key-value pairs:
// "$perms:%table:key" - stPrefixPerms{parent, perms}
// "$perms:%table:key~" - stPrefixPerms{parent, perms}
// where "~" represents a reserved char that's lexicographically greater than
// all chars allowed by clients, %table is the name of the table and parent is
// the longest proper prefix of the key that has associated permissions object.
type stPrefixPerms struct {
Parent string
Perms access.Permissions
}
func (stPrefixPerms) __VDLReflect(struct {
Name string `vdl:"v.io/syncbase/x/ref/services/syncbase/server/nosql.stPrefixPerms"`
}) {
}
func init() {
vdl.Register((*databaseData)(nil))
vdl.Register((*tableData)(nil))
vdl.Register((*stPrefixPerms)(nil))
}