vtctldata

package
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2021 License: Apache-2.0 Imports: 5 Imported by: 12

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExecuteVtctlCommandRequest

type ExecuteVtctlCommandRequest struct {
	Args                 []string `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"`
	ActionTimeout        int64    `protobuf:"varint,2,opt,name=action_timeout,json=actionTimeout,proto3" json:"action_timeout,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ExecuteVtctlCommandRequest is the payload for ExecuteVtctlCommand. timeouts are in nanoseconds.

func (*ExecuteVtctlCommandRequest) Descriptor

func (*ExecuteVtctlCommandRequest) Descriptor() ([]byte, []int)

func (*ExecuteVtctlCommandRequest) GetActionTimeout

func (m *ExecuteVtctlCommandRequest) GetActionTimeout() int64

func (*ExecuteVtctlCommandRequest) GetArgs

func (m *ExecuteVtctlCommandRequest) GetArgs() []string

func (*ExecuteVtctlCommandRequest) ProtoMessage

func (*ExecuteVtctlCommandRequest) ProtoMessage()

func (*ExecuteVtctlCommandRequest) Reset

func (m *ExecuteVtctlCommandRequest) Reset()

func (*ExecuteVtctlCommandRequest) String

func (m *ExecuteVtctlCommandRequest) String() string

func (*ExecuteVtctlCommandRequest) XXX_DiscardUnknown

func (m *ExecuteVtctlCommandRequest) XXX_DiscardUnknown()

func (*ExecuteVtctlCommandRequest) XXX_Marshal

func (m *ExecuteVtctlCommandRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ExecuteVtctlCommandRequest) XXX_Merge

func (m *ExecuteVtctlCommandRequest) XXX_Merge(src proto.Message)

func (*ExecuteVtctlCommandRequest) XXX_Size

func (m *ExecuteVtctlCommandRequest) XXX_Size() int

func (*ExecuteVtctlCommandRequest) XXX_Unmarshal

func (m *ExecuteVtctlCommandRequest) XXX_Unmarshal(b []byte) error

type ExecuteVtctlCommandResponse

type ExecuteVtctlCommandResponse struct {
	Event                *logutil.Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

ExecuteVtctlCommandResponse is streamed back by ExecuteVtctlCommand.

func (*ExecuteVtctlCommandResponse) Descriptor

func (*ExecuteVtctlCommandResponse) Descriptor() ([]byte, []int)

func (*ExecuteVtctlCommandResponse) GetEvent

func (m *ExecuteVtctlCommandResponse) GetEvent() *logutil.Event

func (*ExecuteVtctlCommandResponse) ProtoMessage

func (*ExecuteVtctlCommandResponse) ProtoMessage()

func (*ExecuteVtctlCommandResponse) Reset

func (m *ExecuteVtctlCommandResponse) Reset()

func (*ExecuteVtctlCommandResponse) String

func (m *ExecuteVtctlCommandResponse) String() string

func (*ExecuteVtctlCommandResponse) XXX_DiscardUnknown

func (m *ExecuteVtctlCommandResponse) XXX_DiscardUnknown()

func (*ExecuteVtctlCommandResponse) XXX_Marshal

func (m *ExecuteVtctlCommandResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ExecuteVtctlCommandResponse) XXX_Merge

func (m *ExecuteVtctlCommandResponse) XXX_Merge(src proto.Message)

func (*ExecuteVtctlCommandResponse) XXX_Size

func (m *ExecuteVtctlCommandResponse) XXX_Size() int

func (*ExecuteVtctlCommandResponse) XXX_Unmarshal

func (m *ExecuteVtctlCommandResponse) XXX_Unmarshal(b []byte) error

type FindAllShardsInKeyspaceRequest added in v0.9.0

type FindAllShardsInKeyspaceRequest struct {
	Keyspace             string   `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FindAllShardsInKeyspaceRequest) Descriptor added in v0.9.0

func (*FindAllShardsInKeyspaceRequest) Descriptor() ([]byte, []int)

func (*FindAllShardsInKeyspaceRequest) GetKeyspace added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) GetKeyspace() string

func (*FindAllShardsInKeyspaceRequest) ProtoMessage added in v0.9.0

func (*FindAllShardsInKeyspaceRequest) ProtoMessage()

func (*FindAllShardsInKeyspaceRequest) Reset added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) Reset()

func (*FindAllShardsInKeyspaceRequest) String added in v0.9.0

func (*FindAllShardsInKeyspaceRequest) XXX_DiscardUnknown added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) XXX_DiscardUnknown()

func (*FindAllShardsInKeyspaceRequest) XXX_Marshal added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FindAllShardsInKeyspaceRequest) XXX_Merge added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) XXX_Merge(src proto.Message)

func (*FindAllShardsInKeyspaceRequest) XXX_Size added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) XXX_Size() int

func (*FindAllShardsInKeyspaceRequest) XXX_Unmarshal added in v0.9.0

func (m *FindAllShardsInKeyspaceRequest) XXX_Unmarshal(b []byte) error

type FindAllShardsInKeyspaceResponse added in v0.9.0

type FindAllShardsInKeyspaceResponse struct {
	Shards               map[string]*Shard `` /* 153-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (*FindAllShardsInKeyspaceResponse) Descriptor added in v0.9.0

func (*FindAllShardsInKeyspaceResponse) Descriptor() ([]byte, []int)

func (*FindAllShardsInKeyspaceResponse) GetShards added in v0.9.0

func (m *FindAllShardsInKeyspaceResponse) GetShards() map[string]*Shard

func (*FindAllShardsInKeyspaceResponse) ProtoMessage added in v0.9.0

func (*FindAllShardsInKeyspaceResponse) ProtoMessage()

func (*FindAllShardsInKeyspaceResponse) Reset added in v0.9.0

func (*FindAllShardsInKeyspaceResponse) String added in v0.9.0

func (*FindAllShardsInKeyspaceResponse) XXX_DiscardUnknown added in v0.9.0

func (m *FindAllShardsInKeyspaceResponse) XXX_DiscardUnknown()

func (*FindAllShardsInKeyspaceResponse) XXX_Marshal added in v0.9.0

func (m *FindAllShardsInKeyspaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FindAllShardsInKeyspaceResponse) XXX_Merge added in v0.9.0

func (m *FindAllShardsInKeyspaceResponse) XXX_Merge(src proto.Message)

func (*FindAllShardsInKeyspaceResponse) XXX_Size added in v0.9.0

func (m *FindAllShardsInKeyspaceResponse) XXX_Size() int

func (*FindAllShardsInKeyspaceResponse) XXX_Unmarshal added in v0.9.0

func (m *FindAllShardsInKeyspaceResponse) XXX_Unmarshal(b []byte) error

type GetKeyspaceRequest added in v0.9.0

type GetKeyspaceRequest struct {
	Keyspace             string   `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GetKeyspaceRequest) Descriptor added in v0.9.0

func (*GetKeyspaceRequest) Descriptor() ([]byte, []int)

func (*GetKeyspaceRequest) GetKeyspace added in v0.9.0

func (m *GetKeyspaceRequest) GetKeyspace() string

func (*GetKeyspaceRequest) ProtoMessage added in v0.9.0

func (*GetKeyspaceRequest) ProtoMessage()

func (*GetKeyspaceRequest) Reset added in v0.9.0

func (m *GetKeyspaceRequest) Reset()

func (*GetKeyspaceRequest) String added in v0.9.0

func (m *GetKeyspaceRequest) String() string

func (*GetKeyspaceRequest) XXX_DiscardUnknown added in v0.9.0

func (m *GetKeyspaceRequest) XXX_DiscardUnknown()

func (*GetKeyspaceRequest) XXX_Marshal added in v0.9.0

func (m *GetKeyspaceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetKeyspaceRequest) XXX_Merge added in v0.9.0

func (m *GetKeyspaceRequest) XXX_Merge(src proto.Message)

func (*GetKeyspaceRequest) XXX_Size added in v0.9.0

func (m *GetKeyspaceRequest) XXX_Size() int

func (*GetKeyspaceRequest) XXX_Unmarshal added in v0.9.0

func (m *GetKeyspaceRequest) XXX_Unmarshal(b []byte) error

type GetKeyspaceResponse added in v0.9.0

type GetKeyspaceResponse struct {
	Keyspace             *Keyspace `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*GetKeyspaceResponse) Descriptor added in v0.9.0

func (*GetKeyspaceResponse) Descriptor() ([]byte, []int)

func (*GetKeyspaceResponse) GetKeyspace added in v0.9.0

func (m *GetKeyspaceResponse) GetKeyspace() *Keyspace

func (*GetKeyspaceResponse) ProtoMessage added in v0.9.0

func (*GetKeyspaceResponse) ProtoMessage()

func (*GetKeyspaceResponse) Reset added in v0.9.0

func (m *GetKeyspaceResponse) Reset()

func (*GetKeyspaceResponse) String added in v0.9.0

func (m *GetKeyspaceResponse) String() string

func (*GetKeyspaceResponse) XXX_DiscardUnknown added in v0.9.0

func (m *GetKeyspaceResponse) XXX_DiscardUnknown()

func (*GetKeyspaceResponse) XXX_Marshal added in v0.9.0

func (m *GetKeyspaceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetKeyspaceResponse) XXX_Merge added in v0.9.0

func (m *GetKeyspaceResponse) XXX_Merge(src proto.Message)

func (*GetKeyspaceResponse) XXX_Size added in v0.9.0

func (m *GetKeyspaceResponse) XXX_Size() int

func (*GetKeyspaceResponse) XXX_Unmarshal added in v0.9.0

func (m *GetKeyspaceResponse) XXX_Unmarshal(b []byte) error

type GetKeyspacesRequest added in v0.9.0

type GetKeyspacesRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GetKeyspacesRequest) Descriptor added in v0.9.0

func (*GetKeyspacesRequest) Descriptor() ([]byte, []int)

func (*GetKeyspacesRequest) ProtoMessage added in v0.9.0

func (*GetKeyspacesRequest) ProtoMessage()

func (*GetKeyspacesRequest) Reset added in v0.9.0

func (m *GetKeyspacesRequest) Reset()

func (*GetKeyspacesRequest) String added in v0.9.0

func (m *GetKeyspacesRequest) String() string

func (*GetKeyspacesRequest) XXX_DiscardUnknown added in v0.9.0

func (m *GetKeyspacesRequest) XXX_DiscardUnknown()

func (*GetKeyspacesRequest) XXX_Marshal added in v0.9.0

func (m *GetKeyspacesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetKeyspacesRequest) XXX_Merge added in v0.9.0

func (m *GetKeyspacesRequest) XXX_Merge(src proto.Message)

func (*GetKeyspacesRequest) XXX_Size added in v0.9.0

func (m *GetKeyspacesRequest) XXX_Size() int

func (*GetKeyspacesRequest) XXX_Unmarshal added in v0.9.0

func (m *GetKeyspacesRequest) XXX_Unmarshal(b []byte) error

type GetKeyspacesResponse added in v0.9.0

type GetKeyspacesResponse struct {
	Keyspaces            []*Keyspace `protobuf:"bytes,1,rep,name=keyspaces,proto3" json:"keyspaces,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*GetKeyspacesResponse) Descriptor added in v0.9.0

func (*GetKeyspacesResponse) Descriptor() ([]byte, []int)

func (*GetKeyspacesResponse) GetKeyspaces added in v0.9.0

func (m *GetKeyspacesResponse) GetKeyspaces() []*Keyspace

func (*GetKeyspacesResponse) ProtoMessage added in v0.9.0

func (*GetKeyspacesResponse) ProtoMessage()

func (*GetKeyspacesResponse) Reset added in v0.9.0

func (m *GetKeyspacesResponse) Reset()

func (*GetKeyspacesResponse) String added in v0.9.0

func (m *GetKeyspacesResponse) String() string

func (*GetKeyspacesResponse) XXX_DiscardUnknown added in v0.9.0

func (m *GetKeyspacesResponse) XXX_DiscardUnknown()

func (*GetKeyspacesResponse) XXX_Marshal added in v0.9.0

func (m *GetKeyspacesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetKeyspacesResponse) XXX_Merge added in v0.9.0

func (m *GetKeyspacesResponse) XXX_Merge(src proto.Message)

func (*GetKeyspacesResponse) XXX_Size added in v0.9.0

func (m *GetKeyspacesResponse) XXX_Size() int

func (*GetKeyspacesResponse) XXX_Unmarshal added in v0.9.0

func (m *GetKeyspacesResponse) XXX_Unmarshal(b []byte) error

type Keyspace added in v0.9.0

type Keyspace struct {
	Name                 string             `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Keyspace             *topodata.Keyspace `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (*Keyspace) Descriptor added in v0.9.0

func (*Keyspace) Descriptor() ([]byte, []int)

func (*Keyspace) GetKeyspace added in v0.9.0

func (m *Keyspace) GetKeyspace() *topodata.Keyspace

func (*Keyspace) GetName added in v0.9.0

func (m *Keyspace) GetName() string

func (*Keyspace) ProtoMessage added in v0.9.0

func (*Keyspace) ProtoMessage()

func (*Keyspace) Reset added in v0.9.0

func (m *Keyspace) Reset()

func (*Keyspace) String added in v0.9.0

func (m *Keyspace) String() string

func (*Keyspace) XXX_DiscardUnknown added in v0.9.0

func (m *Keyspace) XXX_DiscardUnknown()

func (*Keyspace) XXX_Marshal added in v0.9.0

func (m *Keyspace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Keyspace) XXX_Merge added in v0.9.0

func (m *Keyspace) XXX_Merge(src proto.Message)

func (*Keyspace) XXX_Size added in v0.9.0

func (m *Keyspace) XXX_Size() int

func (*Keyspace) XXX_Unmarshal added in v0.9.0

func (m *Keyspace) XXX_Unmarshal(b []byte) error

type MaterializeSettings

type MaterializeSettings struct {
	// workflow is the name of the workflow.
	Workflow       string `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
	SourceKeyspace string `protobuf:"bytes,2,opt,name=source_keyspace,json=sourceKeyspace,proto3" json:"source_keyspace,omitempty"`
	TargetKeyspace string `protobuf:"bytes,3,opt,name=target_keyspace,json=targetKeyspace,proto3" json:"target_keyspace,omitempty"`
	// stop_after_copy specifies if vreplication should be stopped after copying.
	StopAfterCopy bool                        `protobuf:"varint,4,opt,name=stop_after_copy,json=stopAfterCopy,proto3" json:"stop_after_copy,omitempty"`
	TableSettings []*TableMaterializeSettings `protobuf:"bytes,5,rep,name=table_settings,json=tableSettings,proto3" json:"table_settings,omitempty"`
	// optional parameters.
	Cell                 string   `protobuf:"bytes,6,opt,name=cell,proto3" json:"cell,omitempty"`
	TabletTypes          string   `protobuf:"bytes,7,opt,name=tablet_types,json=tabletTypes,proto3" json:"tablet_types,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

MaterializeSettings contains the settings for the Materialize command.

func (*MaterializeSettings) Descriptor

func (*MaterializeSettings) Descriptor() ([]byte, []int)

func (*MaterializeSettings) GetCell

func (m *MaterializeSettings) GetCell() string

func (*MaterializeSettings) GetSourceKeyspace

func (m *MaterializeSettings) GetSourceKeyspace() string

func (*MaterializeSettings) GetStopAfterCopy

func (m *MaterializeSettings) GetStopAfterCopy() bool

func (*MaterializeSettings) GetTableSettings

func (m *MaterializeSettings) GetTableSettings() []*TableMaterializeSettings

func (*MaterializeSettings) GetTabletTypes

func (m *MaterializeSettings) GetTabletTypes() string

func (*MaterializeSettings) GetTargetKeyspace

func (m *MaterializeSettings) GetTargetKeyspace() string

func (*MaterializeSettings) GetWorkflow

func (m *MaterializeSettings) GetWorkflow() string

func (*MaterializeSettings) ProtoMessage

func (*MaterializeSettings) ProtoMessage()

func (*MaterializeSettings) Reset

func (m *MaterializeSettings) Reset()

func (*MaterializeSettings) String

func (m *MaterializeSettings) String() string

func (*MaterializeSettings) XXX_DiscardUnknown

func (m *MaterializeSettings) XXX_DiscardUnknown()

func (*MaterializeSettings) XXX_Marshal

func (m *MaterializeSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MaterializeSettings) XXX_Merge

func (m *MaterializeSettings) XXX_Merge(src proto.Message)

func (*MaterializeSettings) XXX_Size

func (m *MaterializeSettings) XXX_Size() int

func (*MaterializeSettings) XXX_Unmarshal

func (m *MaterializeSettings) XXX_Unmarshal(b []byte) error

type Shard added in v0.9.0

type Shard struct {
	Keyspace             string          `protobuf:"bytes,1,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
	Name                 string          `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Shard                *topodata.Shard `protobuf:"bytes,3,opt,name=shard,proto3" json:"shard,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*Shard) Descriptor added in v0.9.0

func (*Shard) Descriptor() ([]byte, []int)

func (*Shard) GetKeyspace added in v0.9.0

func (m *Shard) GetKeyspace() string

func (*Shard) GetName added in v0.9.0

func (m *Shard) GetName() string

func (*Shard) GetShard added in v0.9.0

func (m *Shard) GetShard() *topodata.Shard

func (*Shard) ProtoMessage added in v0.9.0

func (*Shard) ProtoMessage()

func (*Shard) Reset added in v0.9.0

func (m *Shard) Reset()

func (*Shard) String added in v0.9.0

func (m *Shard) String() string

func (*Shard) XXX_DiscardUnknown added in v0.9.0

func (m *Shard) XXX_DiscardUnknown()

func (*Shard) XXX_Marshal added in v0.9.0

func (m *Shard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Shard) XXX_Merge added in v0.9.0

func (m *Shard) XXX_Merge(src proto.Message)

func (*Shard) XXX_Size added in v0.9.0

func (m *Shard) XXX_Size() int

func (*Shard) XXX_Unmarshal added in v0.9.0

func (m *Shard) XXX_Unmarshal(b []byte) error

type TableMaterializeSettings

type TableMaterializeSettings struct {
	TargetTable string `protobuf:"bytes,1,opt,name=target_table,json=targetTable,proto3" json:"target_table,omitempty"`
	// source_expression is a select statement.
	SourceExpression string `protobuf:"bytes,2,opt,name=source_expression,json=sourceExpression,proto3" json:"source_expression,omitempty"`
	// create_ddl contains the DDL to create the target table.
	// If empty, the target table must already exist.
	// if "copy", the target table DDL is the same as the source table.
	CreateDdl            string   `protobuf:"bytes,3,opt,name=create_ddl,json=createDdl,proto3" json:"create_ddl,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

TableMaterializeSttings contains the settings for one table.

func (*TableMaterializeSettings) Descriptor

func (*TableMaterializeSettings) Descriptor() ([]byte, []int)

func (*TableMaterializeSettings) GetCreateDdl

func (m *TableMaterializeSettings) GetCreateDdl() string

func (*TableMaterializeSettings) GetSourceExpression

func (m *TableMaterializeSettings) GetSourceExpression() string

func (*TableMaterializeSettings) GetTargetTable

func (m *TableMaterializeSettings) GetTargetTable() string

func (*TableMaterializeSettings) ProtoMessage

func (*TableMaterializeSettings) ProtoMessage()

func (*TableMaterializeSettings) Reset

func (m *TableMaterializeSettings) Reset()

func (*TableMaterializeSettings) String

func (m *TableMaterializeSettings) String() string

func (*TableMaterializeSettings) XXX_DiscardUnknown

func (m *TableMaterializeSettings) XXX_DiscardUnknown()

func (*TableMaterializeSettings) XXX_Marshal

func (m *TableMaterializeSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TableMaterializeSettings) XXX_Merge

func (m *TableMaterializeSettings) XXX_Merge(src proto.Message)

func (*TableMaterializeSettings) XXX_Size

func (m *TableMaterializeSettings) XXX_Size() int

func (*TableMaterializeSettings) XXX_Unmarshal

func (m *TableMaterializeSettings) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL