postgresql/src
Andres Freund 7ced1d1247 Add FIELDNO_* macro designating offset into structs required for JIT.
For any interesting JIT target, fields inside structs need to be
accessed. b96d550e contains infrastructure for syncing the definition
of types between postgres C code and runtime code generation with
LLVM. But that doesn't sync the number or names of fields inside
structs, just the types (including padding etc).

One option would be to hardcode the offset numbers in the JIT code,
but that'd be hard to keep in sync. Instead add macros indicating the
field offset to the fields that need to be accessed. Not pretty, but
manageable.

Author: Andres Freund
Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3ybh@alap3.anarazel.de
2018-03-22 14:45:59 -07:00
..
backend Expand list of synchronized types and functions in LLVM JIT provider. 2018-03-22 14:45:59 -07:00
bin UINT64CONST'fy long constants in pgbench 2018-03-22 19:38:54 +03:00
common restrict -> pg_restrict 2018-03-15 10:02:59 -03:00
fe_utils Add \if support to pgbench 2018-03-22 17:42:03 +03:00
include Add FIELDNO_* macro designating offset into structs required for JIT. 2018-03-22 14:45:59 -07:00
interfaces Attempt to fix build with unusual OpenSSL versions 2018-03-20 16:44:52 -04:00
makefiles Always use -fPIC, not -fpic, when building shared libraries with gcc. 2017-06-01 13:32:55 -04:00
pl Fix overflow handling in plpgsql's integer FOR loops. 2018-03-17 15:38:15 -04:00
port Add an assertion that we don't pass NULL to snprintf("%s"). 2018-02-14 15:06:01 -05:00
template Force "restrict" not to be used when compiling with xlc. 2017-10-13 12:15:06 -07:00
test Implement partition-wise grouping/aggregation. 2018-03-22 12:49:48 -04:00
timezone Update time zone data files to tzdata release 2018c. 2018-01-27 16:42:28 -05:00
tools Add helpers for emitting LLVM IR. 2018-03-22 11:51:58 -07:00
tutorial Update copyright for 2018 2018-01-02 23:30:12 -05:00
.gitignore
DEVELOPERS
Makefile Basic JIT provider and error handling infrastructure. 2018-03-21 19:28:28 -07:00
Makefile.global.in Support for optimizing and emitting code in LLVM JIT provider. 2018-03-22 11:05:22 -07:00
Makefile.shlib Add C++ support to configure. 2018-03-20 15:48:48 -07:00
nls-global.mk