WL#4313: Make max_heap_table_size a limitation with immediate effect
Affects: Server-9.x — Status: Un-Assigned — Priority: Medium
Currently purpose of max_heap_table_size is not well defined. On the one hand it looks like an administrative limitation for heap tables size, on the other hand regular users are allowed to change it. Even more confusion comes from the fact that it gets enforced too tricky: - when a table is created, truncated or altered; - when a table is opened for the first time (after server restart). Following are suggested improvements for max_heap_table_size: - make it pure administrative limitation, that is only super user is allowed to change it; - make it have an immediate effect; - if there is a MEMORY table bigger than newly set max_heap_table_size, it must be preserved, but writes are disallowed; - if regular user wants to set max table size, he is allowed to do so by passing MAX_ROWS variable to CREATE TABLE (which cannot be bigger than max rows calculated basing on max_heap_table_size).
Copyright (c) 2000, 2016, Oracle Corporation and/or its affiliates. All rights reserved.