forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit5bbee34
committed
Avoid producing over-length specific_name outputs in information_schema.
information_schema output columns that are declared as being typesql_identifier are supposed to conform to the implementation's rulesfor valid identifiers, in particular the identifier length limit.Several places potentially violated this limit by concatenating afunction's name and OID. (The OID is added to ensure name uniquenesswithin a schema, since the spec doesn't expect function name overloading.)Simply truncating the concatenation result to fit in "name" won't do,since losing part of the OID might wind up giving non-unique results.Instead, let's truncate the function name as necessary.The most practical way to do that is to do it in a C function; theinformation_schema.sql script doesn't have easy access to the valueof NAMEDATALEN, nor does it have an easy way to truncate on the basisof resulting byte-length rather than number of characters.(There are still a couple of places that cast concatenation results tosql_identifier, but as far as I can see they are guaranteed not to produceover-length strings, at least with the normal value of NAMEDATALEN.)Discussion:https://postgr.es/m/23817.1545283477@sss.pgh.pa.us1 parent7b14bcc commit5bbee34
File tree
4 files changed
+51
-10
lines changed- src
- backend
- catalog
- utils/adt
- include/catalog
4 files changed
+51
-10
lines changedLines changed: 11 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
416 | 416 |
| |
417 | 417 |
| |
418 | 418 |
| |
419 |
| - | |
| 419 | + | |
420 | 420 |
| |
421 | 421 |
| |
422 | 422 |
| |
| |||
1115 | 1115 |
| |
1116 | 1116 |
| |
1117 | 1117 |
| |
1118 |
| - | |
| 1118 | + | |
1119 | 1119 |
| |
1120 | 1120 |
| |
1121 | 1121 |
| |
| |||
1320 | 1320 |
| |
1321 | 1321 |
| |
1322 | 1322 |
| |
1323 |
| - | |
| 1323 | + | |
1324 | 1324 |
| |
1325 | 1325 |
| |
1326 | 1326 |
| |
| |||
1409 | 1409 |
| |
1410 | 1410 |
| |
1411 | 1411 |
| |
1412 |
| - | |
| 1412 | + | |
1413 | 1413 |
| |
1414 | 1414 |
| |
1415 | 1415 |
| |
| |||
1964 | 1964 |
| |
1965 | 1965 |
| |
1966 | 1966 |
| |
1967 |
| - | |
| 1967 | + | |
1968 | 1968 |
| |
1969 | 1969 |
| |
1970 | 1970 |
| |
| |||
1980 | 1980 |
| |
1981 | 1981 |
| |
1982 | 1982 |
| |
1983 |
| - | |
| 1983 | + | |
1984 | 1984 |
| |
1985 | 1985 |
| |
1986 | 1986 |
| |
| |||
2495 | 2495 |
| |
2496 | 2496 |
| |
2497 | 2497 |
| |
2498 |
| - | |
| 2498 | + | |
2499 | 2499 |
| |
2500 | 2500 |
| |
2501 | 2501 |
| |
| |||
2712 | 2712 |
| |
2713 | 2713 |
| |
2714 | 2714 |
| |
2715 |
| - | |
| 2715 | + | |
| 2716 | + | |
2716 | 2717 |
| |
2717 | 2718 |
| |
2718 | 2719 |
| |
| |||
2721 | 2722 |
| |
2722 | 2723 |
| |
2723 | 2724 |
| |
2724 |
| - | |
| 2725 | + | |
| 2726 | + | |
2725 | 2727 |
| |
2726 | 2728 |
| |
2727 | 2729 |
| |
|
Lines changed: 35 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
364 | 364 |
| |
365 | 365 |
| |
366 | 366 |
| |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + |
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
53 | 53 |
| |
54 | 54 |
| |
55 | 55 |
| |
56 |
| - | |
| 56 | + | |
57 | 57 |
| |
58 | 58 |
|
Lines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
716 | 716 |
| |
717 | 717 |
| |
718 | 718 |
| |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
719 | 723 |
| |
720 | 724 |
| |
721 | 725 |
| |
|
0 commit comments
Comments
(0)