mirror of https://github.com/postgres/postgres
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.0 KiB
55 lines
1.0 KiB
/*-------------------------------------------------------------------------
|
|
*
|
|
* pgbench.h
|
|
*
|
|
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef PGBENCH_H
|
|
#define PGBENCH_H
|
|
|
|
typedef enum PgBenchExprType
|
|
{
|
|
ENODE_INTEGER_CONSTANT,
|
|
ENODE_VARIABLE,
|
|
ENODE_OPERATOR
|
|
} PgBenchExprType;
|
|
|
|
typedef struct PgBenchExpr PgBenchExpr;
|
|
|
|
struct PgBenchExpr
|
|
{
|
|
PgBenchExprType etype;
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
int64 ival;
|
|
} integer_constant;
|
|
struct
|
|
{
|
|
char *varname;
|
|
} variable;
|
|
struct
|
|
{
|
|
char operator;
|
|
PgBenchExpr *lexpr;
|
|
PgBenchExpr *rexpr;
|
|
} operator;
|
|
} u;
|
|
};
|
|
|
|
extern PgBenchExpr *expr_parse_result;
|
|
|
|
extern int expr_yyparse(void);
|
|
extern int expr_yylex(void);
|
|
extern void expr_yyerror(const char *str);
|
|
extern void expr_scanner_init(const char *str);
|
|
extern void expr_scanner_finish(void);
|
|
|
|
extern int64 strtoint64(const char *str);
|
|
|
|
#endif /* PGBENCH_H */
|
|
|