database

package
v0.0.0-...-f28940e Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateNameKey

func CreateNameKey(tableName string, keyName string) *datastore.Key

datasotoreのkeyを作成します

Types

type Database

type Database struct {
	Client *datastore.Client
}

func NewDatabase

func NewDatabase(ctx context.Context) (*Database, error)

Datastoreのclientを作成する projectIDは環境変数 `DATASTORE_PROJECT_ID` で設定する必要があります

func (*Database) Close

func (c *Database) Close()

Datastoreのclientを閉じる

func (*Database) Count

func (c *Database) Count(ctx context.Context, query *datastore.Query) (int, error)

指定したqueryの数を返します

func (*Database) Delete

func (c *Database) Delete(ctx context.Context, key *datastore.Key) error

指定したkeyのentryを削除

func (*Database) DeleteMulti

func (c *Database) DeleteMulti(ctx context.Context, key []*datastore.Key) error

指定したkeyのentryを複数削除

func (*Database) Get

func (c *Database) Get(ctx context.Context, key *datastore.Key, entity interface{}) (bool, error)

keyを指定してdatastoreのentryを1つ取得する

要素が見つからない場合、trueを返します

func (*Database) GetAll

func (c *Database) GetAll(ctx context.Context, query *datastore.Query, entities interface{}) ([]*datastore.Key, error)

queryに一致するdatastoreのentryをすべて取得する

func (*Database) Put

func (c *Database) Put(ctx context.Context, key *datastore.Key, entry interface{}) error

keyを指定してentryをdatastoreに追加する

func (*Database) Run

func (c *Database) Run(ctx context.Context, query *datastore.Query) *datastore.Iterator

queryを実行します

type Transaction

type Transaction struct {
	// contains filtered or unexported fields
}

func NewTransaction

func NewTransaction(ctx context.Context, db *Database) (*Transaction, error)

func (*Transaction) Commit

func (c *Transaction) Commit() error

トランザクションをコミットする err != datastore.ErrConcurrentTransaction の場合はエラーを出す必要があります

func (*Transaction) Delete

func (c *Transaction) Delete(key *datastore.Key) error

削除

func (*Transaction) Get

func (c *Transaction) Get(key *datastore.Key, entry interface{}) (bool, error)

取得 err == datastore.ErrNoSuchEntity の場合は、リトライはしません

func (*Transaction) Put

func (c *Transaction) Put(key *datastore.Key, entry interface{}) error

追加

func (*Transaction) Rollback

func (c *Transaction) Rollback() error

ロールバックする

Jump to

Keyboard shortcuts

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