diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c
new file mode 100644
index 6470832..5db16a0
*** a/src/backend/utils/sort/tuplesort.c
--- b/src/backend/utils/sort/tuplesort.c
*************** tuplesort_heap_siftup(Tuplesortstate *st
*** 2993,2999 ****
  {
  	SortTuple  *memtuples = state->memtuples;
  	SortTuple  *tuple;
! 	int			i,
  				n;
  
  	if (--state->memtupcount <= 0)
--- 2993,2999 ----
  {
  	SortTuple  *memtuples = state->memtuples;
  	SortTuple  *tuple;
! 	int64			i,
  				n;
  
  	if (--state->memtupcount <= 0)
*************** tuplesort_heap_siftup(Tuplesortstate *st
*** 3006,3012 ****
  	i = 0;						/* i is where the "hole" is */
  	for (;;)
  	{
! 		int			j = 2 * i + 1;
  
  		if (j >= n)
  			break;
--- 3006,3012 ----
  	i = 0;						/* i is where the "hole" is */
  	for (;;)
  	{
! 		int64			j = 2 * i + 1;
  
  		if (j >= n)
  			break;
