pgsql: Use type "int64" for memory accounting in tuplesort.c/tuplestore
| От | Noah Misch |
|---|---|
| Тема | pgsql: Use type "int64" for memory accounting in tuplesort.c/tuplestore |
| Дата | |
| Msg-id | E1UuwUI-0006N7-5J@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Use type "int64" for memory accounting in tuplesort.c/tuplestore.c. Commit 263865a48973767ce8ed7b7788059a38a24a9f37 switched tuplesort.c and tuplestore.c variables representing memory usage from type "long" to type "Size". This was unnecessary; I thought doing so avoided overflow scenarios on 64-bit Windows, but guc.c already limited work_mem so as to prevent the overflow. It was also incomplete, not touching the logic that assumed a signed data type. Change the affected variables to "int64". This is perfect for 64-bit platforms, and it reduces the need to contemplate platform-specific overflow scenarios. It also puts us close to being able to support work_mem over 2 GiB on 64-bit Windows. Per report from Andres Freund. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/79e0f87a15643efa9a94e011da509746dbb96798 Modified Files -------------- src/backend/utils/sort/tuplesort.c | 30 ++++++++++++++++-------------- src/backend/utils/sort/tuplestore.c | 14 ++++++++------ src/include/utils/tuplesort.h | 2 +- 3 files changed, 25 insertions(+), 21 deletions(-)
В списке pgsql-committers по дате отправления: