PostgreSQL Source Code  git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
crosstabview.h
Go to the documentation of this file.
1 /*
2  * psql - the PostgreSQL interactive terminal
3  *
4  * Copyright (c) 2000-2024, PostgreSQL Global Development Group
5  *
6  * src/bin/psql/crosstabview.h
7  */
8 
9 #ifndef CROSSTABVIEW_H
10 #define CROSSTABVIEW_H
11 
12 #include "libpq-fe.h"
13 
14 /*
15  * Limit the number of output columns generated in memory by the crosstabview
16  * algorithm. A new output column is added for each distinct value found in the
17  * column that pivots (to form the horizontal header).
18  * The purpose of this limit is to fail early instead of over-allocating or spending
19  * too much time if the crosstab to generate happens to be unreasonably large
20  * (worst case: a NxN cartesian product with N=number of tuples).
21  * The value of 1600 corresponds to the maximum columns per table in storage,
22  * but it could be as much as INT_MAX theoretically.
23  */
24 #define CROSSTABVIEW_MAX_COLUMNS 1600
25 
26 /* prototypes */
27 extern bool PrintResultInCrosstab(const PGresult *res);
28 
29 #endif /* CROSSTABVIEW_H */
bool PrintResultInCrosstab(const PGresult *res)
Definition: crosstabview.c:104