This release has a lot of new code and backward-incompatible changes;
it might be more accurate to label it "2.0".
* Add the pgmemcache.default_servers GUC variable. This specifies a
list of memcached servers ('host:port' pairs) that pgmemcache will
connect to by default. To use this, add pgmemcache to
preload_shared_libraries and custom_variable_classes, and then
define pgmemcache.default_servers as desired, all in postgreql.conf
* Remove memcache_free() and memcache_init(). Instead, define
_PG_init() and _PG_fini() functions, so that Postgres can invoke
them to do the appropriate initialization/cleanup work when
pgmemcache is loaded/unloaded from a process.
* Don't allocate any memory in TopMemoryContext directly. Instead,
create a small, long-lived context as a child of TopMemoryContext
and use that for the allocations we need to make.
* Add a new function, memcache_server_remove().
* Add a new SRF, memcache_server_list().
* Fix compile breakage against recent CVS HEAD.
* Change memcache_server_find(TEXT) and memcache_server_find(INT4)
to use OUT parameters, rather than returning a 'host:port' pair as a
single text value.
* Fix for crashes in memcache_incr(), memcache_decr(),
memcache_hash(): these weren't prepared to handle NULL inputs.
* Fix crash bug in memcache_flush_all0(): this function tried to
access a nonexistent function argument.
* Remove support for memcache_add(TEXT), memcache_set(TEXT), and
memcache_replace(TEXT). These were pointless, and treated NULL as
the empty string, which is wrong.
* Remove support for the "flags" concept from the API. This wasn't
actually feature complete (there was no way to fetch a flags value),
and was buggy anyway. I might readd this later.
* Removed deprecated function memcache_flush_all(TEXT);
memcache_flush(TEXT) should be used instead.
* Various code cleanup, editorialization on error message formats,
and refactorings.