1 /*-------------------------------------------------------------------------
4 * Common header file for the parser of filter file
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/bin/pg_dump/filter.h
12 *-------------------------------------------------------------------------
17 #include "lib/stringinfo.h"
19 /* Function signature for exit_nicely functions */
20 typedef void (*exit_function
) (int status
);
23 * State data for reading filter items from stream
29 exit_function exit_nicely
;
31 StringInfoData linebuff
;
35 * List of command types that can be specified in filter file
39 FILTER_COMMAND_TYPE_NONE
,
40 FILTER_COMMAND_TYPE_INCLUDE
,
41 FILTER_COMMAND_TYPE_EXCLUDE
,
45 * List of objects that can be specified in filter file
49 FILTER_OBJECT_TYPE_NONE
,
50 FILTER_OBJECT_TYPE_TABLE_DATA
,
51 FILTER_OBJECT_TYPE_TABLE_DATA_AND_CHILDREN
,
52 FILTER_OBJECT_TYPE_DATABASE
,
53 FILTER_OBJECT_TYPE_EXTENSION
,
54 FILTER_OBJECT_TYPE_FOREIGN_DATA
,
55 FILTER_OBJECT_TYPE_FUNCTION
,
56 FILTER_OBJECT_TYPE_INDEX
,
57 FILTER_OBJECT_TYPE_SCHEMA
,
58 FILTER_OBJECT_TYPE_TABLE
,
59 FILTER_OBJECT_TYPE_TABLE_AND_CHILDREN
,
60 FILTER_OBJECT_TYPE_TRIGGER
,
63 extern const char *filter_object_type_name(FilterObjectType fot
);
64 extern void filter_init(FilterStateData
*fstate
, const char *filename
, exit_function f_exit
);
65 extern void filter_free(FilterStateData
*fstate
);
66 extern void pg_log_filter_error(FilterStateData
*fstate
, const char *fmt
,...)
67 pg_attribute_printf(2, 3);
68 extern bool filter_read_item(FilterStateData
*fstate
, char **objname
,
69 FilterCommandType
*comtype
, FilterObjectType
*objtype
);