Files
steampipe/pkg/serversettings/setup.go

65 lines
1.6 KiB
Go

package serversettings
import (
"context"
"fmt"
"github.com/turbot/steampipe/pkg/constants"
"github.com/turbot/steampipe/pkg/db/db_common"
)
func GetPopulateServerSettingsSql(ctx context.Context, settings db_common.ServerSettings) db_common.QueryWithArgs {
return db_common.QueryWithArgs{
Query: fmt.Sprintf(`INSERT INTO %s.%s (
start_time,
steampipe_version,
fdw_version,
cache_max_ttl,
cache_max_size_mb,
cache_enabled)
VALUES($1,$2,$3,$4,$5,$6)`, constants.InternalSchema, constants.ServerSettingsTable),
Args: []any{
settings.StartTime,
settings.SteampipeVersion,
settings.FdwVersion,
settings.CacheMaxTtl,
settings.CacheMaxSizeMb,
settings.CacheEnabled,
},
}
}
func CreateServerSettingsTable(ctx context.Context) db_common.QueryWithArgs {
return db_common.QueryWithArgs{
Query: fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s.%s (
start_time TIMESTAMPTZ NOT NULL,
steampipe_version TEXT NOT NULL,
fdw_version TEXT NOT NULL,
cache_max_ttl INTEGER NOT NULL,
cache_max_size_mb INTEGER NOT NULL,
cache_enabled BOOLEAN NOT NULL
);`, constants.InternalSchema, constants.ServerSettingsTable),
}
}
func GrantsOnServerSettingsTable(ctx context.Context) db_common.QueryWithArgs {
return db_common.QueryWithArgs{
Query: fmt.Sprintf(
`GRANT SELECT ON TABLE %s.%s to %s;`,
constants.InternalSchema,
constants.ServerSettingsTable,
constants.DatabaseUsersRole,
),
}
}
func DropServerSettingsTable(ctx context.Context) db_common.QueryWithArgs {
return db_common.QueryWithArgs{
Query: fmt.Sprintf(
`DROP TABLE IF EXISTS %s.%s;`,
constants.InternalSchema,
constants.ServerSettingsTable,
),
}
}