Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
It is related to MCOL-5987.
If we perform CREATE TABLE/DROP TABLE like this:
- CREATE TABLE t1000 with 1000 columns
- CREATE TABLE t1_i with one column
- DROP TABLE t1000
- CREATE TABLE t1_i_plus_1 with one column
...about 17000 times we will exhaust 1000-long ranges earlier than possible and, despite use of 1/1000 of OIDs, we will be unable to create 1000-column table.
This is due to allocOIDs() returning span of free OIDs and not a set of free OIDs. In latter case free OIDs can be drawn from any free range, removing any fragmentation.