MCPcopy Create free account
hub / github.com/PostHog/duckgres / buildSessionPgViewsViewSQL

Function buildSessionPgViewsViewSQL

server/sessionmeta/sessionmeta.go:586–604  ·  view source on GitHub ↗

buildSessionPgViewsViewSQL builds the catalog-scoped pg_catalog.pg_views compat view (same cross-catalog-leak rationale as buildSessionPgTablesViewSQL). Sources duckdb_views() filtered to current_database(); the compat views themselves live in memory.main and are excluded by name so a memory-catalog

()

Source from the content-addressed store, hash-verified

584 WHEN {dt} = 'BOOLEAN[]' THEN 1000::UINTEGER
585 WHEN {dt} = 'FLOAT[]' OR {dt} = 'DOUBLE[]' THEN 1022::UINTEGER
586 WHEN {dt} = 'REAL[]' THEN 1021::UINTEGER
587 WHEN {dt} = 'DATE[]' THEN 1182::UINTEGER
588 WHEN {dt} = 'TIMESTAMP[]' THEN 1115::UINTEGER
589 WHEN {dt} LIKE 'NUMERIC%[]' OR {dt} LIKE 'DECIMAL%[]' THEN 1231::UINTEGER
590 WHEN {dt} = 'UUID[]' THEN 2951::UINTEGER
591 WHEN {dt} = 'INTERVAL[]' THEN 1187::UINTEGER
592 WHEN {dt} = 'BLOB[]' OR {dt} = 'BYTEA[]' THEN 1001::UINTEGER
593 WHEN {dt} LIKE 'STRUCT%' THEN 2249::UINTEGER
594 ELSE {fallback}::UINTEGER
595 END`
596 return strings.NewReplacer("{dt}", dataTypeExpr, "{fallback}", fallbackExpr).Replace(template)
597}
598
599func buildSessionPgAttributeViewSQL() string {
600 nativeTypeOID := pgTypeOIDCaseSQL("UPPER(dc.data_type)", "a.atttypid")
601 return fmt.Sprintf(`
602 CREATE OR REPLACE VIEW main.pg_attribute AS
603 SELECT
604 a.attrelid::UINTEGER AS attrelid,
605 a.attname,
606 %s AS atttypid,
607 a.attstattarget,

Callers 1

buildSessionMetadataSQLFunction · 0.85

Calls 1

Tested by

no test coverage detected