Documentation ¶
Overview ¶
Copyright 2022 The Dapr Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- func NewPostgreSQLStateStore(logger logger.Logger, opts Options) state.Store
- type MigrateOptions
- type Options
- type PGXPoolConn
- type PostgreSQL
- func (p *PostgreSQL) BulkDelete(ctx context.Context, req []state.DeleteRequest) error
- func (p *PostgreSQL) BulkGet(ctx context.Context, req []state.GetRequest, _ state.BulkGetOpts) ([]state.BulkGetResponse, error)
- func (p *PostgreSQL) BulkSet(ctx context.Context, req []state.SetRequest) error
- func (p *PostgreSQL) Close() error
- func (p *PostgreSQL) Delete(ctx context.Context, req *state.DeleteRequest) error
- func (p *PostgreSQL) Features() []state.Feature
- func (p *PostgreSQL) Get(ctx context.Context, req *state.GetRequest) (*state.GetResponse, error)
- func (p *PostgreSQL) GetComponentMetadata() map[string]string
- func (p *PostgreSQL) GetDBAccess() dbAccess
- func (p *PostgreSQL) Init(ctx context.Context, metadata state.Metadata) error
- func (p *PostgreSQL) Multi(ctx context.Context, request *state.TransactionalStateRequest) error
- func (p *PostgreSQL) Query(ctx context.Context, req *state.QueryRequest) (*state.QueryResponse, error)
- func (p *PostgreSQL) Set(ctx context.Context, req *state.SetRequest) error
- type PostgresDBAccess
- func (p *PostgresDBAccess) BulkDelete(parentCtx context.Context, req []state.DeleteRequest) error
- func (p *PostgresDBAccess) BulkGet(parentCtx context.Context, req []state.GetRequest) ([]state.BulkGetResponse, error)
- func (p *PostgresDBAccess) BulkSet(parentCtx context.Context, req []state.SetRequest) error
- func (p *PostgresDBAccess) CleanupExpired() error
- func (p *PostgresDBAccess) Close() error
- func (p *PostgresDBAccess) Delete(ctx context.Context, req *state.DeleteRequest) (err error)
- func (p *PostgresDBAccess) ExecuteMulti(parentCtx context.Context, request *state.TransactionalStateRequest) error
- func (p *PostgresDBAccess) Get(parentCtx context.Context, req *state.GetRequest) (*state.GetResponse, error)
- func (p *PostgresDBAccess) GetCleanupInterval() *time.Duration
- func (p *PostgresDBAccess) GetDB() *pgxpool.Pool
- func (p *PostgresDBAccess) Init(ctx context.Context, meta state.Metadata) error
- func (p *PostgresDBAccess) Query(parentCtx context.Context, req *state.QueryRequest) (*state.QueryResponse, error)
- func (p *PostgresDBAccess) Set(ctx context.Context, req *state.SetRequest) error
- type Query
- type SetQueryOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MigrateOptions ¶
type Options ¶
type Options struct { MigrateFn func(context.Context, PGXPoolConn, MigrateOptions) error SetQueryFn func(*state.SetRequest, SetQueryOptions) string ETagColumn string }
type PGXPoolConn ¶
type PGXPoolConn interface { Begin(context.Context) (pgx.Tx, error) BeginTx(ctx context.Context, txOptions pgx.TxOptions) (pgx.Tx, error) Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error) Query(context.Context, string, ...interface{}) (pgx.Rows, error) QueryRow(context.Context, string, ...interface{}) pgx.Row Ping(context.Context) error Close() }
Interface that applies to *pgxpool.Pool. We need this to be able to mock the connection in tests.
type PostgreSQL ¶
PostgreSQL state store.
func (*PostgreSQL) BulkDelete ¶
func (p *PostgreSQL) BulkDelete(ctx context.Context, req []state.DeleteRequest) error
BulkDelete removes multiple entries from the store.
func (*PostgreSQL) BulkGet ¶
func (p *PostgreSQL) BulkGet(ctx context.Context, req []state.GetRequest, _ state.BulkGetOpts) ([]state.BulkGetResponse, error)
BulkGet performs a bulks get operations. Options are ignored because this component requests all values in a single query.
func (*PostgreSQL) BulkSet ¶
func (p *PostgreSQL) BulkSet(ctx context.Context, req []state.SetRequest) error
BulkSet adds/updates multiple entities on store.
func (*PostgreSQL) Delete ¶
func (p *PostgreSQL) Delete(ctx context.Context, req *state.DeleteRequest) error
Delete removes an entity from the store.
func (*PostgreSQL) Features ¶
func (p *PostgreSQL) Features() []state.Feature
Features returns the features available in this state store.
func (*PostgreSQL) Get ¶
func (p *PostgreSQL) Get(ctx context.Context, req *state.GetRequest) (*state.GetResponse, error)
Get returns an entity from store.
func (*PostgreSQL) GetComponentMetadata ¶
func (p *PostgreSQL) GetComponentMetadata() map[string]string
func (*PostgreSQL) GetDBAccess ¶
func (p *PostgreSQL) GetDBAccess() dbAccess
Returns the dbaccess property. This method is used in tests.
func (*PostgreSQL) Multi ¶
func (p *PostgreSQL) Multi(ctx context.Context, request *state.TransactionalStateRequest) error
Multi handles multiple transactions. Implements TransactionalStore.
func (*PostgreSQL) Query ¶
func (p *PostgreSQL) Query(ctx context.Context, req *state.QueryRequest) (*state.QueryResponse, error)
Query executes a query against store.
func (*PostgreSQL) Set ¶
func (p *PostgreSQL) Set(ctx context.Context, req *state.SetRequest) error
Set adds/updates an entity on store.
type PostgresDBAccess ¶
type PostgresDBAccess struct {
// contains filtered or unexported fields
}
PostgresDBAccess implements dbaccess.
func (*PostgresDBAccess) BulkDelete ¶
func (p *PostgresDBAccess) BulkDelete(parentCtx context.Context, req []state.DeleteRequest) error
func (*PostgresDBAccess) BulkGet ¶
func (p *PostgresDBAccess) BulkGet(parentCtx context.Context, req []state.GetRequest) ([]state.BulkGetResponse, error)
func (*PostgresDBAccess) BulkSet ¶
func (p *PostgresDBAccess) BulkSet(parentCtx context.Context, req []state.SetRequest) error
func (*PostgresDBAccess) CleanupExpired ¶
func (p *PostgresDBAccess) CleanupExpired() error
func (*PostgresDBAccess) Close ¶
func (p *PostgresDBAccess) Close() error
Close implements io.Close.
func (*PostgresDBAccess) Delete ¶
func (p *PostgresDBAccess) Delete(ctx context.Context, req *state.DeleteRequest) (err error)
Delete removes an item from the state store.
func (*PostgresDBAccess) ExecuteMulti ¶
func (p *PostgresDBAccess) ExecuteMulti(parentCtx context.Context, request *state.TransactionalStateRequest) error
func (*PostgresDBAccess) Get ¶
func (p *PostgresDBAccess) Get(parentCtx context.Context, req *state.GetRequest) (*state.GetResponse, error)
Get returns data from the database. If data does not exist for the key an empty state.GetResponse will be returned.
func (*PostgresDBAccess) GetCleanupInterval ¶
func (p *PostgresDBAccess) GetCleanupInterval() *time.Duration
GetCleanupInterval returns the cleanupInterval property. This is primarily used for tests.
func (*PostgresDBAccess) GetDB ¶
func (p *PostgresDBAccess) GetDB() *pgxpool.Pool
func (*PostgresDBAccess) Init ¶
Init sets up Postgres connection and ensures that the state table exists.
func (*PostgresDBAccess) Query ¶
func (p *PostgresDBAccess) Query(parentCtx context.Context, req *state.QueryRequest) (*state.QueryResponse, error)
Query executes a query against store.
func (*PostgresDBAccess) Set ¶
func (p *PostgresDBAccess) Set(ctx context.Context, req *state.SetRequest) error
Set makes an insert or update to the database.