# Macros named *_MAX_* or *_LIMIT* that are not limits a user can reach, so they have no row in SIFT_LIMITS (src/core/limits.h). # NAME, a tab, the reason. scripts/gen-limits.sh --check fails for a macro that is neither here nor a row, and for a line whose macro is gone. # A bound that a user can reach gets a row, not a line here. DENSE_MAX_CLASSES the tuples of column values a dense lookup table tells apart (agg/lookcol.c): past it the table is hashed row by row and the rows are the same ARR_MAX_CANDS array columns whose elements the default of paths samples: a memory bound of the sample (128 MB of sets), the others keep their image CHUNK_MAX_N sanity bound on the row count a decoder reads from a chunk: a corruption check COL_MAX_WIDE array size that mirrors wide_conjuncts (SIFT_AGG_MAX_WIDE) ESTIMATE_MEMO_MAX_KEY size of the key of a planner memo: an internal cache bound with no visible effect INLINE_JOIN_LIMIT width of the join-order search of the inline plan of a shared CTE: a planning-cost choice with no visible limit (the plan differs, the rows do not) MERGE_MAX_BYTES no caller left: delete it in a cleanup ORDER_MAX_ROWS the most rows of a key-cut unit, the maximum of key_cut_rows (the directory of a unit is read with the head of its record) PAGG_MAX_TUPLES decoder bound for a rollup blob (a corruption check), derived from rollup_tuples POOL_MAX_BLOCKS size of the CREATE INDEX buffer pool, kept so that addresses stay below 2^32 (sift.test_pool_blocks lowers it) PROBE_MAX_ENTRIES size of the table of one planner probe: an internal bound with no visible effect RANK_MAX_ROWS most rows the SiftSort node ranks in memory: more go to the tuplesort, as a Sort sorts them (the rows are the same, the packed rank keys of 40 million rows are 320 MB) SIFT_AGG_MAX_PARAMS derived array size of the executor parameters SIFT_ALLOC_MAX_LOCKED invariant of the block allocator, not reachable by valid input SIFT_COLSTUB_MAX_STR test-only stub source (SIFT_TESTING) SIFT_COL_FORMAT_MAX_READ the newest column format minor this build reads: a version, not a size SIFT_COL_MAX_LANES array size of the lanes of one numeric leaf SIFT_CORDER_MAX_KEYS an IN list of more keys than this is read from the units: each key seeks a chunk of the sorted keys of its own SIFT_CORDER_MAX_ROWS a range of more rows than this is read from the units: the addresses of a range are sorted by position before the heap is read SIFT_CPOINT_MAX_KEYS keys of one lookup that the point directory answers: a speed threshold, the answer is the same either way SIFT_CPOINT_MAX_RANGE keys of one range that the point directory enumerates: a speed threshold, the zones answer a longer range the same way SIFT_CPOINT_MAX_ROWS rows of one lookup that the point directory answers: a speed threshold, the answer is the same either way SIFT_FOLD_MAX_EXPAND characters one character expands to in case folding: a property of the Unicode tables SIFT_MAX_EXTENTS derived from the page layout (extents of a segment header) SIFT_MAX_OFF width of a page bitmap: the layout of the postings SIFT_MAX_OFFSET MaxHeapTuplesPerPage, a PostgreSQL bound SIFT_MAX_REBINDS size of the table of kernel rebind callbacks SIFT_MAX_W words of a page bitmap: the layout of the postings SIFT_MERGE_MAX_FANIN merge policy: segments one merge reads at a time SIFT_MERGE_MAX_SEGMENTS merge policy: more directory entries than this start a merge SIFT_NUM_MAX_DIGITS the same limit as wide_digits, counted by the planner SIFT_RADIX_MAX_DIGIT bits of the widest digit of the radix sort of core/cmp.h: the counters of a digit (4 KB) and the cache lines its pass writes to; the order of the result does not depend on it SIFT_SRC_MAX_DIMS planner-side array size of the dimensions of a source, above cube_dims SIFT_SRC_MAX_MEAS planner-side array size that mirrors cube_measures SIFT_SRC_MAX_RDIMS planner-side array size that mirrors rollup_dims SIFT_SRC_MAX_ROLLUPS planner-side array size that mirrors rollups SIFT_TBL_MAX_OFF MaxHeapTuplesPerPage, a PostgreSQL bound SIFT_TBL_MAX_WBUF_PAGES array size of the page list of one write buffer: see write_buffer_kb and tx_write_buffers SIFT_TBL_ROW_MAX_INLINE a sift_table row above half a page goes to overflow pages: a layout threshold, not a limit SIFT_KTAB_MAX_GROUPS the keys of a leaf in a segment beyond which the accumulator of its key table stops: a memory bound, a table that large takes more than 3% of any segment SIFT_VK_MAX_GROUPS shader job layout of the opt-in Vulkan backend SIFT_VK_MAX_PRED shader job layout of the opt-in Vulkan backend SIFT_VK_MAX_RS shader job layout of the opt-in Vulkan backend SIFT_VK_MAX_SLOTS shader job layout of the opt-in Vulkan backend SIFT_VK_MAX_SUM shader job layout of the opt-in Vulkan backend SIFT_VK_MAX_UNITS shader job layout of the opt-in Vulkan backend VK_MAX_MEMORY_HEAPS constant of the Vulkan API VK_MAX_MEMORY_TYPES constant of the Vulkan API VK_MAX_PHYSICAL_DEVICE_NAME_SIZE constant of the Vulkan API VSHM_MAX_SETS the array of the shared verdict table, which sift.verdict_cache_kb (up to 1 MB) fills in part CAL_MAX_CUTS the most clock changes of the session zone the prefilter of a periodic calendar step splits its windows at (a span of several centuries); more and the step is tested by the expression, no result changes LOAD_MAX_GROUPS groups a bulk load writes at once: the backend and three workers, bounded by max_parallel_maintenance_workers and maintenance_work_mem LOAD_MAX_UNITS array size of the units of a run: LOAD_SBS for each of LOAD_MAX_GROUPS DP_MAX_LEVELS size of the array of the pages of one descent: a btree is never as deep, the probe falls back to the index scan when it is DP_MAX_PEND keys of a chunk the direct probe holds before it flushes them: a memory bound of the batch with no visible effect JSTR_MAX_KEYS a text join key list longer than this, or than a sixteenth of the table's rows, is left to the join: a speed threshold, the rows are the same either way SIFT_CONN_MAX_CONNECTIONS connections one connect option names: a syntax bound of the option text, rejected with an error FOUND_MAX_KEYS keys the journal of a parent may name for a join answered from the found flag (agg/found.c): past it the join loads the parent, the rows are the same FOUND_MAX_PROBES keys deleted or changed in a parent that a join answered from the found flag probes in its btree (agg/found.c): past it the join loads the parent, the rows are the same