postgresql/contrib
Andres Freund 86eaf208ea Hand code string to integer conversion for performance.
As benchmarks show, using libc's string-to-integer conversion is
pretty slow. At least part of the reason for that is that strtol[l]
have to be more generic than what largely is required inside pg.

This patch considerably speeds up int2/int4 input (int8 already was
already using hand-rolled code).

Most of the existing pg_atoi callers have been converted. But as one
requires pg_atoi's custom delimiter functionality, and as it seems
likely that there's external pg_atoi users, it seems sensible to just
keep pg_atoi around.

Author: Andres Freund
Reviewed-By: Robert Haas
Discussion: https://postgr.es/m/20171208214437.qgn6zdltyq5hmjpk@alap3.anarazel.de
2018-07-22 14:58:23 -07:00
..
adminpack adminpack: Revoke EXECUTE on pg_logfile_rotate() 2018-05-07 10:10:33 -04:00
amcheck Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
auth_delay
auto_explain
bloom Fix misc typos, mostly in comments. 2018-07-18 16:17:32 +03:00
btree_gin Clean up warnings from -Wimplicit-fallthrough. 2018-05-01 19:35:08 -04:00
btree_gist
citext Fix hashjoin costing mistake introduced with inner_unique optimization. 2018-07-14 11:59:12 -04:00
cube Rethink how to get float.h in old Windows API for isnan/isinf 2018-07-11 09:11:48 -04:00
dblink Deduplicate "invalid input syntax" messages for various types. 2018-07-22 14:58:01 -07:00
dict_int
dict_xsyn
earthdistance Improve English wording of some other getObjectDescription() messages. 2018-05-24 14:01:10 -04:00
file_fdw
fuzzystrmatch Replace search.cpan.org with metacpan.org 2018-06-29 22:02:20 +09:00
hstore Fix assorted compiler warnings seen in the buildfarm. 2018-05-02 15:52:54 -04:00
hstore_plperl Fix contrib/hstore_plperl to look through scalar refs. 2018-06-18 15:55:06 -04:00
hstore_plpython
intagg
intarray Fix yet more problems with incorrectly-constructed zero-length arrays. 2018-07-09 14:28:04 -04:00
isn
jsonb_plperl Rethink how to get float.h in old Windows API for isnan/isinf 2018-07-11 09:11:48 -04:00
jsonb_plpython Fix memory leak in PLySequence_ToJsonbValue() 2018-06-15 15:01:46 +03:00
lo
ltree Fix crash in contrib/ltree's lca() function for empty input array. 2018-07-13 18:45:30 -04:00
ltree_plpython
oid2name
pageinspect printf("%lf") is not portable, so omit the "l". 2018-05-20 11:40:54 -04:00
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm Avoid portability issues in autoprewarm.c. 2018-05-03 12:50:34 -04:00
pg_standby pg_standby: Remove code for .backup files 2018-07-01 15:10:08 +02:00
pg_stat_statements
pg_trgm Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
pg_visibility
pgcrypto Make capitalization of term "OpenSSL" more consistent 2018-06-29 09:45:44 +09:00
pgrowlocks
pgstattuple pgstatindex, pageinspect: handle partitioned indexes 2018-05-09 14:22:59 -03:00
postgres_fdw Deduplicate "invalid input syntax" messages for various types. 2018-07-22 14:58:01 -07:00
seg
sepgsql Update sepgsql regression test output for getObjectDescription() changes. 2018-05-24 16:11:25 -04:00
spi Hand code string to integer conversion for performance. 2018-07-22 14:58:23 -07:00
sslinfo
start-scripts
tablefunc
tcn Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
test_decoding Block replication slot advance for these not yet reserving WAL 2018-07-11 08:56:24 +09:00
tsm_system_rows
tsm_system_time Rethink how to get float.h in old Windows API for isnan/isinf 2018-07-11 09:11:48 -04:00
unaccent
uuid-ossp
vacuumlo
xml2
contrib-global.mk
Makefile
README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.