mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-17 02:53:51 +08:00
Backport PG13 typalign macros for PG12
Postgres 13 introduced macros for typalign and typstorage constants in commit postgres/postgres@3ed2005ff5. For better code readability let's port `TYPALIGN_CHAR` macro for the compatibility layer. Closes #3817
This commit is contained in:
parent
2ccba5ecc9
commit
1df000e0dc
@ -449,4 +449,15 @@ get_reindex_options(ReindexStmt *stmt)
|
|||||||
#define find_em_expr_for_rel ts_find_em_expr_for_rel
|
#define find_em_expr_for_rel ts_find_em_expr_for_rel
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* PG13 added macros for typalign and typstorage constants
|
||||||
|
*
|
||||||
|
* https://github.com/postgres/postgres/commit/3ed2005ff59
|
||||||
|
*/
|
||||||
|
#if PG12
|
||||||
|
#define TYPALIGN_CHAR 'c' /* char alignment (i.e. unaligned) */
|
||||||
|
#define TYPALIGN_SHORT 's' /* short alignment (typically 2 bytes) */
|
||||||
|
#define TYPALIGN_INT 'i' /* int alignment (typically 4 bytes) */
|
||||||
|
#define TYPALIGN_DOUBLE 'd' /* double alignment (often 8 bytes) */
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* TIMESCALEDB_COMPAT_H */
|
#endif /* TIMESCALEDB_COMPAT_H */
|
||||||
|
@ -362,21 +362,21 @@ ts_create_arrays_from_caggs_info(const CaggsInfo *all_caggs, ArrayType **mat_hyp
|
|||||||
INT4OID,
|
INT4OID,
|
||||||
4,
|
4,
|
||||||
true,
|
true,
|
||||||
'i');
|
TYPALIGN_INT);
|
||||||
|
|
||||||
*bucket_widths = construct_array(widthdatums,
|
*bucket_widths = construct_array(widthdatums,
|
||||||
list_length(all_caggs->bucket_widths),
|
list_length(all_caggs->bucket_widths),
|
||||||
INT8OID,
|
INT8OID,
|
||||||
8,
|
8,
|
||||||
FLOAT8PASSBYVAL,
|
FLOAT8PASSBYVAL,
|
||||||
'd');
|
TYPALIGN_DOUBLE);
|
||||||
|
|
||||||
*max_bucket_widths = construct_array(maxwidthdatums,
|
*max_bucket_widths = construct_array(maxwidthdatums,
|
||||||
list_length(all_caggs->max_bucket_widths),
|
list_length(all_caggs->max_bucket_widths),
|
||||||
INT8OID,
|
INT8OID,
|
||||||
8,
|
8,
|
||||||
FLOAT8PASSBYVAL,
|
FLOAT8PASSBYVAL,
|
||||||
'd');
|
TYPALIGN_DOUBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
TSDLLEXPORT ContinuousAggHypertableStatus
|
TSDLLEXPORT ContinuousAggHypertableStatus
|
||||||
|
@ -93,7 +93,7 @@ extract_addrnames(ArrayType *arr)
|
|||||||
List *list = NIL;
|
List *list = NIL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
deconstruct_array(arr, TEXTOID, -1, false, 'i', &elems, &nulls, &nelems);
|
deconstruct_array(arr, TEXTOID, -1, false, TYPALIGN_INT, &elems, &nulls, &nelems);
|
||||||
|
|
||||||
for (i = 0; i < nelems; i++)
|
for (i = 0; i < nelems; i++)
|
||||||
{
|
{
|
||||||
|
@ -281,7 +281,7 @@ ts_remote_exec_get_result_strings(PG_FUNCTION_ARGS)
|
|||||||
CSTRINGOID,
|
CSTRINGOID,
|
||||||
-2, /* pg_type.typlen */
|
-2, /* pg_type.typlen */
|
||||||
false,
|
false,
|
||||||
'c');
|
TYPALIGN_CHAR);
|
||||||
pfree(fields);
|
pfree(fields);
|
||||||
SRF_RETURN_NEXT(funcctx, PointerGetDatum(array));
|
SRF_RETURN_NEXT(funcctx, PointerGetDatum(array));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user