1-- 2-- regproc 3-- 4/* If objects exist, return oids */ 5CREATE ROLE regress_regrole_test; 6-- without schemaname 7SELECT regoper('||/'); 8 regoper 9--------- 10 ||/ 11(1 row) 12 13SELECT regoperator('+(int4,int4)'); 14 regoperator 15-------------------- 16 +(integer,integer) 17(1 row) 18 19SELECT regproc('now'); 20 regproc 21--------- 22 now 23(1 row) 24 25SELECT regprocedure('abs(numeric)'); 26 regprocedure 27-------------- 28 abs(numeric) 29(1 row) 30 31SELECT regclass('pg_class'); 32 regclass 33---------- 34 pg_class 35(1 row) 36 37SELECT regtype('int4'); 38 regtype 39--------- 40 integer 41(1 row) 42 43SELECT to_regoper('||/'); 44 to_regoper 45------------ 46 ||/ 47(1 row) 48 49SELECT to_regoperator('+(int4,int4)'); 50 to_regoperator 51-------------------- 52 +(integer,integer) 53(1 row) 54 55SELECT to_regproc('now'); 56 to_regproc 57------------ 58 now 59(1 row) 60 61SELECT to_regprocedure('abs(numeric)'); 62 to_regprocedure 63----------------- 64 abs(numeric) 65(1 row) 66 67SELECT to_regclass('pg_class'); 68 to_regclass 69------------- 70 pg_class 71(1 row) 72 73SELECT to_regtype('int4'); 74 to_regtype 75------------ 76 integer 77(1 row) 78 79-- with schemaname 80SELECT regoper('pg_catalog.||/'); 81 regoper 82--------- 83 ||/ 84(1 row) 85 86SELECT regoperator('pg_catalog.+(int4,int4)'); 87 regoperator 88-------------------- 89 +(integer,integer) 90(1 row) 91 92SELECT regproc('pg_catalog.now'); 93 regproc 94--------- 95 now 96(1 row) 97 98SELECT regprocedure('pg_catalog.abs(numeric)'); 99 regprocedure 100-------------- 101 abs(numeric) 102(1 row) 103 104SELECT regclass('pg_catalog.pg_class'); 105 regclass 106---------- 107 pg_class 108(1 row) 109 110SELECT regtype('pg_catalog.int4'); 111 regtype 112--------- 113 integer 114(1 row) 115 116SELECT to_regoper('pg_catalog.||/'); 117 to_regoper 118------------ 119 ||/ 120(1 row) 121 122SELECT to_regproc('pg_catalog.now'); 123 to_regproc 124------------ 125 now 126(1 row) 127 128SELECT to_regprocedure('pg_catalog.abs(numeric)'); 129 to_regprocedure 130----------------- 131 abs(numeric) 132(1 row) 133 134SELECT to_regclass('pg_catalog.pg_class'); 135 to_regclass 136------------- 137 pg_class 138(1 row) 139 140SELECT to_regtype('pg_catalog.int4'); 141 to_regtype 142------------ 143 integer 144(1 row) 145 146-- schemaname not applicable 147SELECT regrole('regress_regrole_test'); 148 regrole 149---------------------- 150 regress_regrole_test 151(1 row) 152 153SELECT regrole('"regress_regrole_test"'); 154 regrole 155---------------------- 156 regress_regrole_test 157(1 row) 158 159SELECT regnamespace('pg_catalog'); 160 regnamespace 161-------------- 162 pg_catalog 163(1 row) 164 165SELECT regnamespace('"pg_catalog"'); 166 regnamespace 167-------------- 168 pg_catalog 169(1 row) 170 171SELECT to_regrole('regress_regrole_test'); 172 to_regrole 173---------------------- 174 regress_regrole_test 175(1 row) 176 177SELECT to_regrole('"regress_regrole_test"'); 178 to_regrole 179---------------------- 180 regress_regrole_test 181(1 row) 182 183SELECT to_regnamespace('pg_catalog'); 184 to_regnamespace 185----------------- 186 pg_catalog 187(1 row) 188 189SELECT to_regnamespace('"pg_catalog"'); 190 to_regnamespace 191----------------- 192 pg_catalog 193(1 row) 194 195/* If objects don't exist, raise errors. */ 196DROP ROLE regress_regrole_test; 197-- without schemaname 198SELECT regoper('||//'); 199ERROR: operator does not exist: ||// 200LINE 1: SELECT regoper('||//'); 201 ^ 202SELECT regoperator('++(int4,int4)'); 203ERROR: operator does not exist: ++(int4,int4) 204LINE 1: SELECT regoperator('++(int4,int4)'); 205 ^ 206SELECT regproc('know'); 207ERROR: function "know" does not exist 208LINE 1: SELECT regproc('know'); 209 ^ 210SELECT regprocedure('absinthe(numeric)'); 211ERROR: function "absinthe(numeric)" does not exist 212LINE 1: SELECT regprocedure('absinthe(numeric)'); 213 ^ 214SELECT regclass('pg_classes'); 215ERROR: relation "pg_classes" does not exist 216LINE 1: SELECT regclass('pg_classes'); 217 ^ 218SELECT regtype('int3'); 219ERROR: type "int3" does not exist 220LINE 1: SELECT regtype('int3'); 221 ^ 222-- with schemaname 223SELECT regoper('ng_catalog.||/'); 224ERROR: schema "ng_catalog" does not exist 225LINE 1: SELECT regoper('ng_catalog.||/'); 226 ^ 227SELECT regoperator('ng_catalog.+(int4,int4)'); 228ERROR: operator does not exist: ng_catalog.+(int4,int4) 229LINE 1: SELECT regoperator('ng_catalog.+(int4,int4)'); 230 ^ 231SELECT regproc('ng_catalog.now'); 232ERROR: schema "ng_catalog" does not exist 233LINE 1: SELECT regproc('ng_catalog.now'); 234 ^ 235SELECT regprocedure('ng_catalog.abs(numeric)'); 236ERROR: schema "ng_catalog" does not exist 237LINE 1: SELECT regprocedure('ng_catalog.abs(numeric)'); 238 ^ 239SELECT regclass('ng_catalog.pg_class'); 240ERROR: schema "ng_catalog" does not exist 241LINE 1: SELECT regclass('ng_catalog.pg_class'); 242 ^ 243SELECT regtype('ng_catalog.int4'); 244ERROR: schema "ng_catalog" does not exist 245LINE 1: SELECT regtype('ng_catalog.int4'); 246 ^ 247-- schemaname not applicable 248SELECT regrole('regress_regrole_test'); 249ERROR: role "regress_regrole_test" does not exist 250LINE 1: SELECT regrole('regress_regrole_test'); 251 ^ 252SELECT regrole('"regress_regrole_test"'); 253ERROR: role "regress_regrole_test" does not exist 254LINE 1: SELECT regrole('"regress_regrole_test"'); 255 ^ 256SELECT regrole('Nonexistent'); 257ERROR: role "nonexistent" does not exist 258LINE 1: SELECT regrole('Nonexistent'); 259 ^ 260SELECT regrole('"Nonexistent"'); 261ERROR: role "Nonexistent" does not exist 262LINE 1: SELECT regrole('"Nonexistent"'); 263 ^ 264SELECT regrole('foo.bar'); 265ERROR: invalid name syntax 266LINE 1: SELECT regrole('foo.bar'); 267 ^ 268SELECT regnamespace('Nonexistent'); 269ERROR: schema "nonexistent" does not exist 270LINE 1: SELECT regnamespace('Nonexistent'); 271 ^ 272SELECT regnamespace('"Nonexistent"'); 273ERROR: schema "Nonexistent" does not exist 274LINE 1: SELECT regnamespace('"Nonexistent"'); 275 ^ 276SELECT regnamespace('foo.bar'); 277ERROR: invalid name syntax 278LINE 1: SELECT regnamespace('foo.bar'); 279 ^ 280/* If objects don't exist, return NULL with no error. */ 281-- without schemaname 282SELECT to_regoper('||//'); 283 to_regoper 284------------ 285 286(1 row) 287 288SELECT to_regoperator('++(int4,int4)'); 289 to_regoperator 290---------------- 291 292(1 row) 293 294SELECT to_regproc('know'); 295 to_regproc 296------------ 297 298(1 row) 299 300SELECT to_regprocedure('absinthe(numeric)'); 301 to_regprocedure 302----------------- 303 304(1 row) 305 306SELECT to_regclass('pg_classes'); 307 to_regclass 308------------- 309 310(1 row) 311 312SELECT to_regtype('int3'); 313 to_regtype 314------------ 315 316(1 row) 317 318-- with schemaname 319SELECT to_regoper('ng_catalog.||/'); 320 to_regoper 321------------ 322 323(1 row) 324 325SELECT to_regoperator('ng_catalog.+(int4,int4)'); 326 to_regoperator 327---------------- 328 329(1 row) 330 331SELECT to_regproc('ng_catalog.now'); 332 to_regproc 333------------ 334 335(1 row) 336 337SELECT to_regprocedure('ng_catalog.abs(numeric)'); 338 to_regprocedure 339----------------- 340 341(1 row) 342 343SELECT to_regclass('ng_catalog.pg_class'); 344 to_regclass 345------------- 346 347(1 row) 348 349SELECT to_regtype('ng_catalog.int4'); 350 to_regtype 351------------ 352 353(1 row) 354 355-- schemaname not applicable 356SELECT to_regrole('regress_regrole_test'); 357 to_regrole 358------------ 359 360(1 row) 361 362SELECT to_regrole('"regress_regrole_test"'); 363 to_regrole 364------------ 365 366(1 row) 367 368SELECT to_regrole('foo.bar'); 369ERROR: invalid name syntax 370SELECT to_regrole('Nonexistent'); 371 to_regrole 372------------ 373 374(1 row) 375 376SELECT to_regrole('"Nonexistent"'); 377 to_regrole 378------------ 379 380(1 row) 381 382SELECT to_regrole('foo.bar'); 383ERROR: invalid name syntax 384SELECT to_regnamespace('Nonexistent'); 385 to_regnamespace 386----------------- 387 388(1 row) 389 390SELECT to_regnamespace('"Nonexistent"'); 391 to_regnamespace 392----------------- 393 394(1 row) 395 396SELECT to_regnamespace('foo.bar'); 397ERROR: invalid name syntax 398