SQL Memory allocation tracing and overflow detection 1) Added code to record stack info when given size of memory blocks are allocated and dump these info out to a file or terminal if the deallocation is not made at the time the heap is distructed. This works for heaps constructed from NAMemory. 2) Fixed the memory debug code to detected memory overflow at the de-allocation time. These two features are enabled through environment variables in objects compiled in debug mode. See sql/common/NAMemory.cpp for details. 3) Fixes for memory usage issues found when testing above code.
Enable basic Runtime Management System (RMS) The goal of these initial changes is to get the shared memory segment created, build and start the persistent server processes mxssmp and mxsscp, make EXE processes register in the shared segment and let mxssmp cleanup the shared segment as the processes stop. Later I will address specific features of RMS that support Query Invalidation.