forked from pgEdge/spock
-
Notifications
You must be signed in to change notification settings - Fork 0
/
spock_apply.h
33 lines (29 loc) · 1.14 KB
/
spock_apply.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*-------------------------------------------------------------------------
*
* spock_apply.h
* spock apply functions
*
* Copyright (c) 2022-2023, pgEdge, Inc.
* Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, The Regents of the University of California
*
*-------------------------------------------------------------------------
*/
#ifndef SPOCK_APPLY_H
#define SPOCK_APPLY_H
#include "spock_relcache.h"
#include "spock_proto_native.h"
typedef void (*spock_apply_begin_fn) (void);
typedef void (*spock_apply_commit_fn) (void);
typedef void (*spock_apply_insert_fn) (SpockRelation *rel,
SpockTupleData *newtup);
typedef void (*spock_apply_update_fn) (SpockRelation *rel,
SpockTupleData *oldtup,
SpockTupleData *newtup);
typedef void (*spock_apply_delete_fn) (SpockRelation *rel,
SpockTupleData *oldtup);
typedef bool (*spock_apply_can_mi_fn) (SpockRelation *rel);
typedef void (*spock_apply_mi_add_tuple_fn) (SpockRelation *rel,
SpockTupleData *tup);
typedef void (*spock_apply_mi_finish_fn) (SpockRelation *rel);
#endif /* SPOCK_APPLY_H */