YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

/Users/deen/code/yugabyte-db/src/postgres/src/include/commands/sequence.h
Line
Count
Source (jump to first uncovered line)
1
/*-------------------------------------------------------------------------
2
 *
3
 * sequence.h
4
 *    prototypes for sequence.c.
5
 *
6
 * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
7
 * Portions Copyright (c) 1994, Regents of the University of California
8
 *
9
 * src/include/commands/sequence.h
10
 *
11
 *-------------------------------------------------------------------------
12
 */
13
#ifndef SEQUENCE_H
14
#define SEQUENCE_H
15
16
#include "access/xlogreader.h"
17
#include "catalog/objectaddress.h"
18
#include "fmgr.h"
19
#include "lib/stringinfo.h"
20
#include "nodes/parsenodes.h"
21
#include "parser/parse_node.h"
22
#include "storage/relfilenode.h"
23
24
25
typedef struct FormData_pg_sequence_data
26
{
27
  int64   last_value;
28
  int64   log_cnt;
29
  bool    is_called;
30
} FormData_pg_sequence_data;
31
32
typedef FormData_pg_sequence_data *Form_pg_sequence_data;
33
34
/*
35
 * Columns of a sequence relation
36
 */
37
38
682
#define SEQ_COL_LASTVAL     1
39
339
#define SEQ_COL_LOG       2
40
1.69k
#define SEQ_COL_CALLED      3
41
42
343
#define SEQ_COL_FIRSTCOL    SEQ_COL_LASTVAL
43
1.36k
#define SEQ_COL_LASTCOL     SEQ_COL_CALLED
44
45
/* XLOG stuff */
46
0
#define XLOG_SEQ_LOG      0x00
47
48
typedef struct xl_seq_rec
49
{
50
  RelFileNode node;
51
  /* SEQUENCE TUPLE DATA FOLLOWS AT THE END */
52
} xl_seq_rec;
53
54
extern int64 nextval_internal(Oid relid, bool check_permissions);
55
extern Datum nextval(PG_FUNCTION_ARGS);
56
extern List *sequence_options(Oid relid);
57
58
extern ObjectAddress DefineSequence(ParseState *pstate, CreateSeqStmt *stmt);
59
extern ObjectAddress AlterSequence(ParseState *pstate, AlterSeqStmt *stmt);
60
extern void DeleteSequenceTuple(Oid relid);
61
extern void ResetSequence(Oid seq_relid);
62
extern void ResetSequenceCaches(void);
63
64
extern void seq_redo(XLogReaderState *rptr);
65
extern void seq_desc(StringInfo buf, XLogReaderState *rptr);
66
extern const char *seq_identify(uint8 info);
67
extern void seq_mask(char *pagedata, BlockNumber blkno);
68
69
#endif              /* SEQUENCE_H */