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

Function buildSessionPgClassViewSQL

server/sessionmeta/sessionmeta.go:240–425  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

238 numeric_scale INTEGER,
239 PRIMARY KEY (table_schema, table_name, column_name)
240 )
241 `
242}
243
244func buildSessionPgDatabaseViewSQL(database string) string {
245 lit := quoteSQLStringLiteral(database)
246 return fmt.Sprintf(`
247 CREATE OR REPLACE VIEW main.pg_database AS
248 WITH base AS (
249 SELECT * FROM (
250 VALUES
251 (1::INTEGER, 'postgres', 10::INTEGER, 6::INTEGER, 'c', false, true, -1::INTEGER, 0::INTEGER, 0::INTEGER, 1663::INTEGER, 'en_US.UTF-8', 'en_US.UTF-8', NULL, NULL, NULL, NULL),
252 (2::INTEGER, 'template0', 10::INTEGER, 6::INTEGER, 'c', true, false, -1::INTEGER, 0::INTEGER, 0::INTEGER, 1663::INTEGER, 'en_US.UTF-8', 'en_US.UTF-8', NULL, NULL, NULL, NULL),
253 (3::INTEGER, 'template1', 10::INTEGER, 6::INTEGER, 'c', true, true, -1::INTEGER, 0::INTEGER, 0::INTEGER, 1663::INTEGER, 'en_US.UTF-8', 'en_US.UTF-8', NULL, NULL, NULL, NULL)
254 ) AS rows(
255 oid, datname, datdba, encoding, datlocprovider, datistemplate, datallowconn,
256 datconnlimit, datfrozenxid, datminmxid, dattablespace, datcollate, datctype,
257 daticulocale, daticurules, datcollversion, datacl
258 )
259 ),
260 requested AS (
261 SELECT
262 CASE
263 WHEN %s = 'postgres' THEN 1
264 WHEN %s = 'template0' THEN 2
265 WHEN %s = 'template1' THEN 3
266 ELSE 4
267 END::INTEGER AS oid,
268 %s AS datname,
269 10::INTEGER AS datdba,
270 6::INTEGER AS encoding,
271 'c' AS datlocprovider,
272 (%s IN ('template0', 'template1')) AS datistemplate,
273 (%s != 'template0') AS datallowconn,
274 -1::INTEGER AS datconnlimit,
275 0::INTEGER AS datfrozenxid,
276 0::INTEGER AS datminmxid,
277 1663::INTEGER AS dattablespace,
278 'en_US.UTF-8' AS datcollate,
279 'en_US.UTF-8' AS datctype,
280 NULL AS daticulocale,
281 NULL AS daticurules,
282 NULL AS datcollversion,
283 NULL AS datacl
284 )
285 SELECT
286 oid, datname, datdba, encoding, datlocprovider, datistemplate, datallowconn,
287 datconnlimit, datfrozenxid, datminmxid, dattablespace, datcollate, datctype,
288 daticulocale, daticurules, datcollversion, datacl
289 FROM base
290 WHERE datname <> %s
291 UNION ALL
292 SELECT
293 oid, datname, datdba, encoding, datlocprovider, datistemplate, datallowconn,
294 datconnlimit, datfrozenxid, datminmxid, dattablespace, datcollate, datctype,
295 daticulocale, daticurules, datcollversion, datacl
296 FROM requested
297 `, lit, lit, lit, lit, lit, lit, lit)

Callers 1

buildSessionMetadataSQLFunction · 0.85

Calls 1

Tested by

no test coverage detected