| /* |
| * psql - the PostgreSQL interactive terminal |
| * |
| * Copyright (c) 2000-2023, PostgreSQL Global Development Group |
| * |
| * src/bin/psql/crosstabview.h |
| */ |
| |
| #ifndef CROSSTABVIEW_H |
| #define CROSSTABVIEW_H |
| |
| #include "libpq-fe.h" |
| |
| /* |
| * Limit the number of output columns generated in memory by the crosstabview |
| * algorithm. A new output column is added for each distinct value found in the |
| * column that pivots (to form the horizontal header). |
| * The purpose of this limit is to fail early instead of over-allocating or spending |
| * too much time if the crosstab to generate happens to be unreasonably large |
| * (worst case: a NxN cartesian product with N=number of tuples). |
| * The value of 1600 corresponds to the maximum columns per table in storage, |
| * but it could be as much as INT_MAX theoretically. |
| */ |
| #define CROSSTABVIEW_MAX_COLUMNS 1600 |
| |
| /* prototypes */ |
| extern bool PrintResultInCrosstab(const PGresult *res); |
| |
| #endif /* CROSSTABVIEW_H */ |