POOL_PENDING_MESSAGE *pool_pending_message_get(POOL_MESSAGE_TYPE type)
{
ListCell *cell;
- ListCell *prev;
ListCell *next;
POOL_PENDING_MESSAGE *msg;
MemoryContext old_context;
old_context = MemoryContextSwitchTo(session_context->memory_context);
- prev = NULL;
msg = NULL;
for (cell = list_head(session_context->pending_messages); cell; cell = next)
msg = copy_pending_message(m);
break;
}
- else
- prev = cell;
}
MemoryContextSwitchTo(old_context);
extern bool pool_is_command_success(void);
extern void pool_copy_prep_where(bool *src, bool *dest);
extern bool can_query_context_destroy(POOL_QUERY_CONTEXT *qc);
-extern void pool_set_sync_map(int node_id);
-extern bool pool_is_set_sync_map(int node_id);
-extern int pool_get_nth_sync_map(int nth);
-extern void pool_clear_sync_map(void);
-extern bool pool_use_sync_map(void);
-extern void pool_set_pending_response(void);
-extern void pool_unset_pending_response(void);
-extern bool pool_is_pending_response(void);
extern void pool_pending_messages_init (void);
extern void pool_pending_messages_destroy(void);
extern POOL_PENDING_MESSAGE *pool_pending_message_create(char kind, int len, char *contents);
POOL_SESSION_CONTEXT *session_context;
POOL_CONNECTION *con;
+ p1 = NULL;
+ len1 = 0;
+
/* Get session context */
session_context = pool_get_session_context(false);
static int reset_backend(POOL_CONNECTION_POOL *backend, int qcnt);
static char *get_insert_command_table_name(InsertStmt *node);
-static int send_deallocate(POOL_CONNECTION_POOL *backend, POOL_SENT_MESSAGE_LIST msglist, int n);
static bool is_cache_empty(POOL_CONNECTION *frontend, POOL_CONNECTION_POOL *backend);
static bool is_panic_or_fatal_error(const char *message, int major);
static int detect_error(POOL_CONNECTION *master, char *error_code, int major, char class, bool unread);
return;
}
-/*
- * Send DEALLOCATE message to backend by using SimpleQuery.
- */
-static int send_deallocate(POOL_CONNECTION_POOL *backend,
- POOL_SENT_MESSAGE_LIST msglist, int n)
-{
- int len;
- char *name;
- char *query;
-
- if (msglist.size <= n)
- return 1;
-
- name = msglist.sent_messages[n]->name;
-
- len = strlen(name) + 14; /* "DEALLOCATE \"" + "\"" + '\0' */
- query = palloc(len);
- sprintf(query, "DEALLOCATE \"%s\"", name);
-
- if (SimpleQuery(NULL, backend, strlen(query)+1, query) != POOL_CONTINUE)
- {
- pfree(query);
- return 1;
- }
- pfree(query);
-
- return 0;
-}
-
/*
* parse_copy_data()
* Parses CopyDataRow string.