* Close any open handles on abort. */
| 238 | * Close any open handles on abort. |
| 239 | */ |
| 240 | static void gpcloudAbortCallback(ResourceReleasePhase phase, bool isCommit, bool isTopLevel, |
| 241 | void *arg) { |
| 242 | gpcloudResHandle *curr; |
| 243 | gpcloudResHandle *next; |
| 244 | |
| 245 | if (phase != RESOURCE_RELEASE_AFTER_LOCKS) return; |
| 246 | |
| 247 | next = openedResHandles; |
| 248 | while (next) { |
| 249 | curr = next; |
| 250 | next = curr->next; |
| 251 | |
| 252 | if (curr->owner == CurrentResourceOwner) { |
| 253 | if (isCommit) |
| 254 | elog(WARNING, "gpcloud external table reference leak: %p still referenced", curr); |
| 255 | |
| 256 | destroyGpcloudResHandle(curr); |
| 257 | } |
| 258 | } |
| 259 | } |
| 260 | |
| 261 | /* |
| 262 | * Import data into GPDB. |
nothing calls this directly
no test coverage detected