diff options
| author | Robert Haas | 2016-05-09 15:48:11 +0000 |
|---|---|---|
| committer | Robert Haas | 2016-09-20 16:39:57 +0000 |
| commit | dfd040ae58eda766c7e34059f84e42dd3112cc1f (patch) | |
| tree | 8886c2a2f7e9126baf914190c212f6309d2e6ff7 /src/include/nodes/execnodes.h | |
| parent | 771673b608b1ed259a175ecf03e826aaa74808ae (diff) | |
Lightweight framework for waiting for events.async
Diffstat (limited to 'src/include/nodes/execnodes.h')
| -rw-r--r-- | src/include/nodes/execnodes.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index b14aa7a306..d0c7cfc300 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -383,6 +383,14 @@ typedef struct EState ParamListInfo es_param_list_info; /* values of external params */ ParamExecData *es_param_exec_vals; /* values of internal params */ + /* Asynchronous execution support */ + struct PlanState **es_waiting_nodes; /* array of waiting nodes */ + int es_num_waiting_nodes; /* # of waiters in array */ + int es_max_waiting_nodes; /* # of allocated entries */ + int es_total_async_events; /* total of per-node n_async_events */ + int es_max_async_events; /* # supported by event set */ + struct WaitEventSet *es_wait_event_set; + /* Other working state: */ MemoryContext es_query_cxt; /* per-query context in which EState lives */ @@ -1035,6 +1043,8 @@ typedef struct PlanState bool result_ready; /* true if result is ready */ Node *result; /* result, most often TupleTableSlot */ + int n_async_events; /* # of async events we want to register */ + Instrumentation *instrument; /* Optional runtime stats for this node */ WorkerInstrumentation *worker_instrument; /* per-worker instrumentation */ |
