analytics

package
v1.0.0-beta1 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2026 License: PostgreSQL Imports: 9 Imported by: 0

Documentation

Overview

Package analytics implements the Analytics Warehouse application (TPC-H based).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateSchema

func CreateSchema(ctx context.Context, pool *pgxpool.Pool) error

CreateSchema creates the analytics database schema.

func DropSchema

func DropSchema(ctx context.Context, pool *pgxpool.Pool) error

DropSchema drops the analytics database schema.

Types

type App

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

App implements the analytics warehouse application (TPC-H based).

func New

func New() *App

New creates a new analytics application.

func (*App) CreateSchema

func (a *App) CreateSchema(ctx context.Context, pool *pgxpool.Pool) error

CreateSchema creates the application's database schema.

func (*App) Description

func (a *App) Description() string

Description returns a human-readable description.

func (*App) DropSchema

func (a *App) DropSchema(ctx context.Context, pool *pgxpool.Pool) error

DropSchema drops the application's database schema.

func (*App) ExecuteQuery

func (a *App) ExecuteQuery(ctx context.Context, pool *pgxpool.Pool) apps.QueryResult

ExecuteQuery executes a randomly selected query based on the query mix.

func (*App) ExecuteQueryConn

func (a *App) ExecuteQueryConn(ctx context.Context, conn *pgx.Conn) apps.QueryResult

ExecuteQueryConn executes a randomly selected query using a single connection.

func (*App) GenerateData

func (a *App) GenerateData(ctx context.Context, pool *pgxpool.Pool, cfg apps.GeneratorConfig) error

GenerateData generates test data for the application.

func (*App) GetQueries

func (a *App) GetQueries() []apps.QueryDefinition

GetQueries returns the available queries for this application.

func (*App) Name

func (a *App) Name() string

Name returns the application name.

func (*App) RequiresPgvector

func (a *App) RequiresPgvector() bool

RequiresPgvector returns true if the app needs pgvector extension.

func (*App) WorkloadType

func (a *App) WorkloadType() string

WorkloadType returns the workload type.

type Generator

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

Generator generates test data for the analytics schema.

func NewGenerator

func NewGenerator() *Generator

NewGenerator creates a new analytics data generator.

func (*Generator) GenerateData

func (g *Generator) GenerateData(ctx context.Context, pool *pgxpool.Pool, targetSize int64) error

GenerateData generates test data to approximately fill the target size.

type QueryExecutor

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

QueryExecutor executes analytics queries.

func NewQueryExecutor

func NewQueryExecutor(numSuppliers, numParts, numCustomers, numOrders int) *QueryExecutor

NewQueryExecutor creates a new query executor.

func (*QueryExecutor) ExecuteRandomQuery

func (e *QueryExecutor) ExecuteRandomQuery(ctx context.Context, db apps.DB) apps.QueryResult

ExecuteRandomQuery executes a random analytical query based on weights.

Jump to

Keyboard shortcuts

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