|
|
@ -1690,8 +1690,8 @@ SearchCatCacheList(CatCache *cache, |
|
|
|
continue; /* not same tuple */ |
|
|
|
continue; /* not same tuple */ |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Found a match, but can't use it if it belongs to another |
|
|
|
* Found a match, but can't use it if it belongs to |
|
|
|
* list already |
|
|
|
* another list already |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
if (ct->c_list) |
|
|
|
if (ct->c_list) |
|
|
|
continue; |
|
|
|
continue; |
|
|
@ -1709,13 +1709,13 @@ SearchCatCacheList(CatCache *cache, |
|
|
|
if (ct == NULL) |
|
|
|
if (ct == NULL) |
|
|
|
{ |
|
|
|
{ |
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Release refcounts on any items we already had. We dare |
|
|
|
* Release refcounts on any items we already had. We |
|
|
|
* not try to free them if they're now unreferenced, since |
|
|
|
* dare not try to free them if they're now |
|
|
|
* an error while doing that would result in the PG_CATCH |
|
|
|
* unreferenced, since an error while doing that would |
|
|
|
* below doing extra refcount decrements. Besides, we'll |
|
|
|
* result in the PG_CATCH below doing extra refcount |
|
|
|
* likely re-adopt those items in the next iteration, so |
|
|
|
* decrements. Besides, we'll likely re-adopt those |
|
|
|
* it's not worth complicating matters to try to get rid |
|
|
|
* items in the next iteration, so it's not worth |
|
|
|
* of them. |
|
|
|
* complicating matters to try to get rid of them. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
foreach(ctlist_item, ctlist) |
|
|
|
foreach(ctlist_item, ctlist) |
|
|
|
{ |
|
|
|
{ |
|
|
|