postgresql/src/backend/utils/adt
Alvaro Herrera 1826987a46 Use a bitmask to represent role attributes
The previous representation using a boolean column for each attribute
would not scale as well as we want to add further attributes.

Extra auxilliary functions are added to go along with this change, to
make up for the lost convenience of access of the old representation.

Catalog version bumped due to change in catalogs and the new functions.

Author: Adam Brightwell, minor tweaks by Álvaro
Reviewed by: Stephen Frost, Andres Freund, Álvaro Herrera
2014-12-23 10:22:09 -03:00
..
Makefile Move the guts of our Levenshtein implementation into core. 2014-11-13 12:33:26 -05:00
acl.c Use a bitmask to represent role attributes 2014-12-23 10:22:09 -03:00
array_selfuncs.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
array_typanalyze.c Improve hash_create's API for selecting simple-binary-key hash functions. 2014-12-18 13:36:36 -05:00
array_userfuncs.c Support arrays as input to array_agg() and ARRAY(SELECT ...). 2014-11-25 12:21:28 -05:00
arrayfuncs.c Improve error messages for malformed array input strings. 2014-12-02 18:23:27 -05:00
arrayutils.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
ascii.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
bool.c Provide moving-aggregate support for boolean aggregates. 2014-04-13 00:01:46 -04:00
cash.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
char.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
date.c Support timezone abbreviations that sometimes change. 2014-10-16 15:22:10 -04:00
datetime.c Support timezone abbreviations that sometimes change. 2014-10-16 15:22:10 -04:00
datum.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
dbsize.c rename macro isTempOrToastNamespace to isTempOrTempToastNamespace 2014-08-25 21:28:19 -04:00
domains.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
encode.c Fix error hint style. 2014-07-09 11:34:47 -04:00
enum.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
float.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
format_type.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
formatting.c Revert f68dc5d86b 2014-09-12 20:42:19 -04:00
genfile.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
geo_ops.c Fix point <-> polygon code for zero-distance case. 2014-12-15 14:04:27 -05:00
geo_selfuncs.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
inet_cidr_ntop.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
inet_net_pton.c Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
int.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
int8.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
json.c Add several generator functions for jsonb that exist for json. 2014-12-12 15:31:14 -05:00
jsonb.c Fix some jsonb issues found by Coverity in recent commits. 2014-12-16 10:32:06 -05:00
jsonb_gin.c Rename jsonb_hash_ops to jsonb_path_ops. 2014-05-11 12:06:04 -04:00
jsonb_op.c Fix bogus optimization in JSONB containment tests. 2014-10-11 14:13:51 -04:00
jsonb_util.c Add several generator functions for jsonb that exist for json. 2014-12-12 15:31:14 -05:00
jsonfuncs.c Fix some jsonb issues found by Coverity in recent commits. 2014-12-16 10:32:06 -05:00
levenshtein.c Move the guts of our Levenshtein implementation into core. 2014-11-13 12:33:26 -05:00
like.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
like_match.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
lockfuncs.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
mac.c Allow input format xxxx-xxxx-xxxx for macaddr type 2014-10-21 16:16:39 -04:00
misc.c Split builtins.h to a new header ruleutils.h 2014-10-08 18:10:47 -03:00
nabstime.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
name.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
network.c Add min and max aggregates for inet/cidr data types. 2014-08-28 22:37:58 -04:00
network_gist.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
network_selfuncs.c Add an in-core GiST index opclass for inet/cidr types. 2014-04-08 15:46:43 -04:00
numeric.c Ensure variables live across calls in generate_series(numeric, numeric). 2014-12-18 21:13:52 +09:00
numutils.c Support frontend-backend protocol communication using a shm_mq. 2014-10-31 12:02:40 -04:00
oid.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
oracle_compat.c Make sure chr(int) can't create invalid UTF8 sequences. 2014-05-16 16:51:28 -04:00
orderedsetaggs.c Repair corner-case bug in array version of percentile_cont(). 2014-12-13 11:49:41 -05:00
pg_locale.c Improve hash_create's API for selecting simple-binary-key hash functions. 2014-12-18 13:36:36 -05:00
pg_lsn.c Add btree and hash opclasses for pg_lsn. 2014-06-04 20:45:56 -04:00
pg_lzcompress.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
pgstatfuncs.c Fix typos. 2014-10-20 10:23:40 -04:00
pseudotypes.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
quote.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
rangetypes.c Fix bogus return macros in range_overright_internal(). 2014-08-16 13:48:39 -04:00
rangetypes_gist.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
rangetypes_selfuncs.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
rangetypes_spgist.c Fix bugs in SP-GiST search with range type's -|- (adjacent) operator. 2014-07-16 09:19:06 +03:00
rangetypes_typanalyze.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
regexp.c Allow multibyte characters as escape in SIMILAR TO and SUBSTRING. 2014-08-27 21:07:36 -07:00
regproc.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
ri_triggers.c Use a bitmask to represent role attributes 2014-12-23 10:22:09 -03:00
rowtypes.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
ruleutils.c Rearrange CustomScan API. 2014-11-21 18:21:46 -05:00
selfuncs.c BRIN: Block Range Indexes 2014-11-07 16:38:14 -03:00
tid.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
timestamp.c Support timezone abbreviations that sometimes change. 2014-10-16 15:22:10 -04:00
trigfuncs.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
tsginidx.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
tsgistidx.c Switch to CRC-32C in WAL and other places. 2014-11-04 11:39:48 +02:00
tsquery.c Switch to CRC-32C in WAL and other places. 2014-11-04 11:39:48 +02:00
tsquery_cleanup.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
tsquery_gist.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
tsquery_op.c Fix two bugs in tsquery @> operator. 2014-10-27 10:50:41 +02:00
tsquery_rewrite.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
tsquery_util.c Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:31 -05:00
tsrank.c Fix ts_rank_cd() to ignore stripped lexemes 2014-03-24 14:37:16 -04:00
tsvector.c Avoid memcpy() with same source and destination address. 2014-03-07 13:14:33 +02:00
tsvector_op.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
tsvector_parser.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
txid.c Move the backup-block logic from XLogInsert to a new file, xloginsert.c. 2014-11-06 13:55:36 +02:00
uuid.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
varbit.c Predict integer overflow to avoid buffer overruns. 2014-02-17 09:33:31 -05:00
varchar.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
varlena.c Move the guts of our Levenshtein implementation into core. 2014-11-13 12:33:26 -05:00
version.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
windowfuncs.c Update copyright for 2014 2014-01-07 16:05:30 -05:00
xid.c Implement mxid_age() to compute multi-xid age 2014-09-10 17:13:04 -04:00
xml.c Support arrays as input to array_agg() and ARRAY(SELECT ...). 2014-11-25 12:21:28 -05:00