()
| 238 | numeric_scale INTEGER, |
| 239 | PRIMARY KEY (table_schema, table_name, column_name) |
| 240 | ) |
| 241 | ` |
| 242 | } |
| 243 | |
| 244 | func 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) |
no test coverage detected