copying a bucket to a BufFile

Поиск
Список
Период
Сортировка
От mchron@aueb.gr
Тема copying a bucket to a BufFile
Дата
Msg-id courier.42A5C572.0000678A@red.servers.aueb.gr
обсуждение исходный текст
Ответы Re: copying a bucket to a BufFile  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
hi, 

I'm trying to copy the contents of a bucket of a hash table to a BufFile. 
There is a memory context for each bucket. That is, there is an array 
(#nbuckets) memory contexts.
thus the tree of mem cxts are    ...  hashCxt    |  batchCxt |          | |          |
BucketCxt...  BucketCxt  ...     (#nbuckets) 

The server terminated abnormally here "->>> (1)" at the code below and I 
can't understand why! Please if anyone has any idea what's wrong, i'd 
appreciate any suggetion. Thanks is advance!!  --martha 


void ExecScanDPHashBucketCopyToFile(HashJoinTable hashTable,int noOfbucket)
{ 

HashJoinTuple hashTuple;
TupleTableSlot *slot; 


// create temp files only if they already don't  exist.
if(hashTable->outerBucketFile[noOfbucket] == NULL)
hashTable->BucketFile[noOfbucket] = BufFileCreateTemp(false); 


hashTuple = hashTable->buckets[noOfbucket]; // first tuple in bucket 
while(hashTuple != NULL){    HeapTuple heapTuple = &hashTuple->htup;                 ExecHashJoinSaveTuple(heapTuple,
                             HashTable->BucketFile[noOfbucket]); 
 
                ->>> (1)              // print the tuple we copy              slot =
ExecStoreTuple(heapTuple,slot,InvalidBuffer,false);             if(!TupIsNull(slot))               print_slot(slot);
   hashTuple = hashTuple->next;}      // the bucket has copied. Rewind file to read it later.
if(BufFileSeek(hashtable->BucketFile[noOfbucket],0, 0L, SEK_SET))      ereport(ERROR,(errcode_for_file_access(),
           errmsq("could not rewind hash join emp file:%m"))); 
 
if(hashTable->bucketCxt[noOfbucket] != NULL) //if there is a context 
allocated for this bucket.MemoryContextReset(*(hashTable->bucketCxt[noOfbucket]));hashTable->flushedBucket[noOfbucket]
=true; // consider it flushed anyway    
 
} 




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: RESET CONNECTION idea
Следующее
От: Tom Lane
Дата:
Сообщение: Re: copying a bucket to a BufFile