trino

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

+marmot:name=Trino +marmot:description=Discovers catalogs, schemas, tables, and views from Trino clusters with optional AI enrichment. +marmot:status=experimental +marmot:features=Assets, Lineage

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	plugin.BaseConfig `json:",inline"`

	// Connection
	Host        string `json:"host" validate:"required" description:"Trino coordinator hostname"`
	Port        int    `json:"port" default:"8080" validate:"omitempty,min=1,max=65535" description:"Trino coordinator port"`
	User        string `json:"user" validate:"required" description:"Username for authentication"`
	Password    string `json:"password,omitempty" sensitive:"true" description:"Password (requires HTTPS)"`
	Secure      bool   `json:"secure,omitempty" default:"false" description:"Use HTTPS"`
	SSLCertPath string `json:"ssl_cert_path,omitempty" label:"SSL Cert Path" description:"Path to TLS certificate file"`
	AccessToken string `json:"access_token,omitempty" sensitive:"true" description:"JWT bearer token"`

	// Scope
	Catalog         string   `json:"catalog,omitempty" description:"Specific catalog to discover (all if empty)"`
	ExcludeCatalogs []string `json:"exclude_catalogs,omitempty" default:"[\"system\",\"jmx\"]" description:"Catalogs to skip"`

	// Discovery options
	IncludeCatalogs bool `json:"include_catalogs" default:"true" description:"Create catalog-level assets"`
	IncludeColumns  bool `json:"include_columns" default:"true" description:"Include column info in table metadata"`
	IncludeStats    bool `json:"include_stats,omitempty" default:"false" description:"Collect table statistics (can be slow)"`

	// AI enrichment (requires Trino AI connector)
	AICatalog              string   `json:"ai_catalog,omitempty" label:"AI Catalog" description:"Name of the AI connector catalog (empty = disabled)"`
	AIGenerateDescriptions bool     `` /* 155-byte string literal not displayed */
	AIClassifyTables       bool     `` /* 129-byte string literal not displayed */
	AIClassifyLabels       []string `` /* 192-byte string literal not displayed */
	AIMaxEnrichments       int      `` /* 133-byte string literal not displayed */
}

Config for Trino plugin +marmot:config

type Source

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

Source represents the Trino plugin

func (*Source) Discover

func (s *Source) Discover(ctx context.Context, pluginConfig plugin.RawPluginConfig) (*plugin.DiscoveryResult, error)

func (*Source) Validate

func (s *Source) Validate(rawConfig plugin.RawPluginConfig) (plugin.RawPluginConfig, error)

type TrinoCatalogFields

type TrinoCatalogFields struct {
	CatalogName string `json:"catalog_name" metadata:"catalog_name" description:"Trino catalog name"`
}

TrinoCatalogFields represents Trino catalog metadata fields +marmot:metadata

type TrinoColumnFields

type TrinoColumnFields struct {
	ColumnName      string `json:"column_name" metadata:"column_name" description:"Column name"`
	DataType        string `json:"data_type" metadata:"data_type" description:"Column data type"`
	IsNullable      string `json:"is_nullable" metadata:"is_nullable" description:"YES or NO"`
	OrdinalPosition int    `json:"ordinal_position" metadata:"ordinal_position" description:"Column position"`
}

TrinoColumnFields represents Trino column metadata fields +marmot:metadata

type TrinoSchemaFields

type TrinoSchemaFields struct {
	Catalog    string `json:"catalog" metadata:"catalog" description:"Parent catalog name"`
	SchemaName string `json:"schema_name" metadata:"schema_name" description:"Schema name"`
}

TrinoSchemaFields represents Trino schema metadata fields +marmot:metadata

type TrinoTableFields

type TrinoTableFields struct {
	Catalog   string `json:"catalog" metadata:"catalog" description:"Parent catalog name"`
	Schema    string `json:"schema" metadata:"schema" description:"Parent schema name"`
	TableName string `json:"table_name" metadata:"table_name" description:"Table or view name"`
	TableType string `json:"table_type" metadata:"table_type" description:"BASE TABLE or VIEW"`
	Comment   string `json:"comment" metadata:"comment" description:"Table comment"`
	RowCount  int64  `json:"row_count" metadata:"row_count" description:"Estimated row count"`
}

TrinoTableFields represents Trino table/view metadata fields +marmot:metadata

Jump to

Keyboard shortcuts

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