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

Function buildSessionPgAttributeViewSQL

server/sessionmeta/sessionmeta.go:508–548  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

506 CROSS JOIN active_catalog ac
507 WHERE r.database_name = ac.catalog
508 `,
509 internalNames, access.relationPredicate("schema_name", "table_name"),
510 internalNames, access.relationPredicate("schema_name", "view_name"),
511 internalNames, access.relationPredicate("schema_name", "sequence_name"),
512 internalNames, access.relationPredicate("schema_name", "table_name"),
513 )
514}
515
516func buildSessionPgNamespaceViewSQL(access *MetadataAccessPolicy) string {
517 sql := `
518 CREATE OR REPLACE VIEW main.pg_namespace AS
519 WITH active_catalog AS (
520 SELECT current_database() AS catalog
521 ),
522 user_namespaces AS (
523 SELECT schema_oid AS oid, schema_name, database_name FROM duckdb_tables()
524 UNION
525 SELECT schema_oid AS oid, schema_name, database_name FROM duckdb_views()
526 UNION
527 SELECT schema_oid AS oid, schema_name, database_name FROM duckdb_sequences()
528 UNION
529 SELECT schema_oid AS oid, schema_name, database_name FROM duckdb_indexes()
530 )
531 SELECT DISTINCT
532 oid,
533 CASE WHEN schema_name = 'main' THEN 'public' ELSE schema_name END AS nspname,
534 CASE WHEN schema_name = 'main' THEN 6171::BIGINT ELSE 10::BIGINT END AS nspowner,
535 NULL AS nspacl
536 FROM user_namespaces n
537 CROSS JOIN active_catalog ac
538 WHERE n.database_name = ac.catalog
539 AND n.schema_name NOT LIKE '__ducklake_metadata_%'
540 AND {{ACCESS}}
541 UNION ALL
542 SELECT 11::BIGINT AS oid, 'pg_catalog' AS nspname, 10::BIGINT AS nspowner, NULL AS nspacl
543 UNION ALL
544 SELECT 12::BIGINT AS oid, 'information_schema' AS nspname, 10::BIGINT AS nspowner, NULL AS nspacl
545 UNION ALL
546 SELECT 99::BIGINT AS oid, 'pg_toast' AS nspname, 10::BIGINT AS nspowner, NULL AS nspacl
547 `
548 return strings.Replace(sql, "{{ACCESS}}", access.schemaPredicate("n.schema_name"), 1)
549}
550
551func pgTypeOIDCaseSQL(dataTypeExpr, fallbackExpr string) string {

Callers 1

buildSessionMetadataSQLFunction · 0.85

Calls 1

pgTypeOIDCaseSQLFunction · 0.85

Tested by

no test coverage detected