1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
/*
* genutils.h
*
* General utility functions
*
* Joe Conway <mail@joeconway.com>
*
* This code is released under the PostgreSQL license.
*
* Portions Copyright 2020-2022 Crunchy Data Solutions, Inc.
* Portions Copyright 2025, PostgreSQL Global Development Group
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose, without fee, and without a written
* agreement is hereby granted, provided that the above copyright notice
* and this paragraph and the following two paragraphs appear in all copies.
*
* IN NO EVENT SHALL CRUNCHY DATA SOLUTIONS, INC. BE LIABLE TO ANY PARTY
* FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
* INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
* DOCUMENTATION, EVEN IF THE CRUNCHY DATA SOLUTIONS, INC. HAS BEEN ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE CRUNCHY DATA SOLUTIONS, INC. SPECIFICALLY DISCLAIMS ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE CRUNCHY DATA SOLUTIONS, INC. HAS NO
* OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
* MODIFICATIONS.
*/
#ifndef GENUTILS_H
#define GENUTILS_H
extern Datum form_srf(FunctionCallInfo fcinfo,
char ***values, int nrow, int ncol, Oid *dtypes);
extern Datum setof_scalar_internal(FunctionCallInfo fcinfo,
char *fname, Oid *srf_sig);
extern Datum string_get_array_datum(char **values, int nvals,
Oid typelem, bool *isnull);
extern int int64_cmp(const void *p1, const void *p2);
#if PG_VERSION_NUM < 160000
extern struct config_generic *find_option(const char *name);
#define FIND_OPTION(somegucname) find_option(somegucname)
#else
#define FIND_OPTION(somegucname) find_option(somegucname, false, false, ERROR)
#endif
extern char *int64_to_string(int64 val);
extern int pg_ulltoa(uint64 uvalue, char *a);
extern char *uint64_to_string(uint64 val);
#endif /* GENUTILS_H */
|