From 433d4eb986e3bb7865c47cbf997f165d9ed3cd72 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 8 Nov 2002 03:44:15 +0000 Subject: [PATCH] Update release docs for 7.3. --- HISTORY | 8 +- doc/src/sgml/release.sgml | 656 ++++++++++++++++++++++++++++++++++---- 2 files changed, 603 insertions(+), 61 deletions(-) diff --git a/HISTORY b/HISTORY index 3f0e5e03c5..0d599ff188 100644 --- a/HISTORY +++ b/HISTORY @@ -2,7 +2,7 @@ Release 7.3 - Release date: 2002-??-?? + Release date: 2002-11-?? Overview @@ -67,7 +67,7 @@ Migration to version 7.3 A dump/restore using "pg_dump" is required for those wishing to migrate data from any previous release. If your application examines the system catalogs, additional changes will be required due to the - introduction of schemas in 7.3; for more information, see + introduction of schemas in 7.3; for more information, see: http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3 @@ -384,8 +384,8 @@ ECPG ==== Fixed ecpg bug concerning octal numbers in single quotes (Michael) -Misc. Interfaces -================ +Miscellaneous Interfaces +======================== Move /interfaces/libpgeasy to http://gborg.postgresql.org (Marc, Bruce) Improve python (Elliot Lee, Andrew Johnson, Greg Copeland) Add libpgtcl connection close event (Gerhard Hintermayer) diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 4f8aeee6eb..a0d431e97c 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,16 +1,16 @@ Release Notes - 7.3 Development Branch + 7.4 Development Branch Below is a subset of the changes that have gone into the - development branch of PostgreSQL since version 7.2. For a complete + development branch of PostgreSQL since version 7.3. For a complete list of changes, consult the CVS logs. @@ -24,48 +24,6 @@ CDATA means the content is "SGML-free", so you can write without worries about funny characters. --> @@ -75,28 +33,119 @@ Regular expression function SUBSTRING() implemented per SQL99 Release date - 2002-??-?? + 2002-11-?? Overview - - TO BE FILLED IN. SEE /HISTORY. - - Major changes in this release: - XXX + Schemas - TO BE FILLED IN. SEE /HISTORY. + Schemas allow users to create objects in their own namespace + so two people or applications can have tables with the same + name. There is also a public schema for shared tables. + Table/index creation can be restricted by removing + permissions on the public schema. + + + Drop Column + + + PostgreSQL now supports ALTER TABLE ... DROP COLUMN functionality. + + + + + + Table Functions + + + Functions returning multiple rows and/or multiple columns are + now much easier to use than before. You can call such a + "table function" in the SELECT FROM clause, treating its output + like a table. Also, plpgsql functions can now return sets. + + + + + + Prepared Queries + + + For performance, PostgreSQL now supports prepared queries. + + + + + + Dependency Tracking + + + PostgreSQL now records object dependencies, which allows + improvements in many areas. + + + + + + Privileges + + + Functions and procedural languages now have privileges, and + people running them can take on the privileges of their creators. + + + + + + Multibyte/Locale + + + Both multibyte and locale are now always enabled. + + + + + + Logging + + + A variety of logging options have been enhanced. + + + + + + Interfaces + + + A large number of interfaces have been moved to + + http://gborg.postgresql.orgwhere they can be developed + and released independently. + + + + + + Functions/Identifiers + + + By default, functions can now take up to 32 parameters, and + identifiers can be up to 63 bytes long. + + + + @@ -105,8 +154,16 @@ Regular expression function SUBSTRING() implemented per SQL99 Migration to version 7.3 - A dump/restore using pg_dump is required for - those wishing to migrate data from any previous release. + A dump/restore using pg_dump is required for those + wishing to migrate data from any previous release. If your + application examines the system catalogs, additional changes will be + required due to the introduction of schemas in 7.3; for more + information, see: + + + http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3 + @@ -115,7 +172,72 @@ Regular expression function SUBSTRING() implemented per SQL99 - TO BE FILLED IN. SEE /HISTORY. + Pre-6.3 clients are no longer supported. + + + + + + pg_hba.conf now has a USER column and additional features. + + + + + + Several GUC logging parameters have been renamed and improved. + + + + + + LIMIT #,# is disabled, use LIMIT # OFFSET #. + + + + + + INSERTs with column lists must specify all values, e.g. + INSERT INTO tab (col1, col2) VALUES ('val1') is now invalid. + + + + + + DROP object now takes either CASCADE or RESTRICT to control + whether dependent objects are also dropped. + + + + + + An index is now not automatically created for SERIAL columns. + + + + + + A SET inside an aborted transaction is now rolled back. + + + + + + COPY no longer considers missing trailing columns to be NULL. + + + + + + TIMESTAMP and TIME data types now default to WITHOUT TIMEZONE. + + + + + + Pre-7.3 databases loaded into 7.3 will not have the new object + dependencies for SERIAL, UNIQUE constraints, and foreign keys. See + /contrib/adddepend for a detailed description and a script that + will add the such dependencies. @@ -128,11 +250,431 @@ Regular expression function SUBSTRING() implemented per SQL99 Changes - XXX + Server Operation - TO BE FILLED IN. SEE /HISTORY. +Kerberos V Heimdal support (KTH) +Add pg_locks view to show locks (Neil) +Security fixes for password negotiation memory allocation (Neil) +Remove support for version 0, <=6.2 FE/BE protocol (Tom) +Reserve the last few backend slots for superusers, add GUC variable + superuser_reserved_connections to control this (Nigel J. Andrews) + + + Performance + +Improve startup by calling localtime() only once (Tom) +Cache system catalog information in flat files for faster startup (Tom) +Improve caching of index information (Tom) +Optimizer improvements (Tom, Fernando Nasser) +Catalog caches now store failed lookups (Tom) +Hash function improvements (Neil) +Improve performance of query tokenization and network handling (Peter) +Speed improvement for large object restore (Mario Weilguni) +Mark expired index entries on first lookup, saving later heap fetches (Tom) +Eliminate NULL bitmap padding when not required (Manfred) +Add BSD-licensed qsort() for Solaris, for performance (Bruce) +Reduce per-row overhead by four bytes (Manfred Koizar) +Fix GEQO optimizer bug (Neil Conway) +Make WITHOUT OID actually save four bytes per row (Manfred Koizar) +Add GUC default_statistics_target variable to specify ANALYZE buckets (Neil) +Use local buffer cache for temporary tables so no WAL overhead (Tom) +Improve free space map performance on large tables (Stephen Marshall, Tom) +Improved WAL write concurrency (Tom) + + + + + Privileges + +Add privileges on functions and procedural languages (Peter) +Add OWNER to CREATE DATABASE so superusers can create databases + on behalf of unprivileged users. (Gavin Sherry, Tom) +Add new object permission bits EXECUTE and USAGE (Tom) +Add SET SESSION AUTHORIZATION DEFAULT and RESET SESSION AUTHORIZATION (Peter) +Allow functions to be executed with the privilege of the function owner (Peter) + + + + + Client Authentication + +Allow $HOME/.pgpass to store host/user password combinations (Alvaro Herrera) + + + + + Server Configuration + +Server log messages now tagged with LOG, not DEBUG (Bruce) +Add USER column to pg_hba.conf (Bruce) +Have log_connections output two lines in log file (Tom) +Remove debug_level from postgresql.conf, now SERVER_MIN_MESSAGES (Bruce) +New ALTER DATABASE/USER ... SET command for per-user/db initialization (Peter) +New GUC variables server_min_messages and client_min_messages which control + which messages are sent to the server logs or client applications (Bruce) +Allow pg_hba.conf to specify lists of users/dbs separated by commas, + group names prepended with +, and file names prepended with @ (Bruce) +Allow group names specified by + +Add samegroup in pg_hba.conf for group name/dbname restriction (Bruce) +Remove secondary password file capability (Bruce) +Remove pg_passwd utility (Bruce) +Add GUC variable db_user_namespace for db-local user names (Bruce) +SSL improvements (Bear Giles) +Make encryption of stored passwords the default (Bruce) +Allow pg_statistics to be reset by calling pg_stat_reset() (Christopher) +Add log_duration GUC parameter (Bruce) +Rename GUC debug_print_query to log_statement (Bruce) +Rename GUC show_query_stats to show_statement_stats (Bruce) +Add GUC param log_min_error_statement to print query to logs on error (Gavin) + + + + + Queries + +Make cursors insensitive, meaning their contents do not change (Tom) +Disable LIMIT #,# syntax; now only LIMIT # OFFSET # supported (Bruce) +Increase identifier length to 63 (Neil, Bruce) +UNION fixes for merging >= 3 columns of different lengths (Tom) +Add DEFAULT keyword to INSERT, i.e INSERT ... (..., DEFAULT, ) (Rod) +Allow views to have default values using ALTER COLUMN ... SET DEFAULT (Neil) +Fail on INSERTs with column lists that don't supply all column values, + e.g. INSERT INTO tab (col1, col2) VALUES ('val1'); (Rod) +Fix for join aliases (Tom) +Fix for FULL OUTER JOINs (Tom) +Improve reporting of invalid identifier and location (Tom, Gavin) +Fix OPEN cursor(args) (Tom) +Allow 'ctid' to be used in a view and currtid(viewname) (Hiroshi) +Fix for CREATE TABLE AS with UNION (Tom) +SQL99 syntax improvements (Thomas) +Add GUC statement_timeout variable to cancel queries (Bruce) +Allow prepared queries with PREPARE/EXECUTE (Neil) +Allow FOR UPDATE to appear after LIMIT/OFFSET (Bruce) +Add auto-transactions with GUC variable autocommit (Tom, David Van Wie) + + + + + Object Manipulation + +Make equals signs optional in CREATE DATABASE (Gavin Sherry) +Make ALTER TABLE OWNER to change index ownership (Neil) +Add per-database and per-user startup commands, ALTER DATABASE ... SET and + ALTER USER ... SET (Peter) +New ALTER TABLE tabname ALTER COLUMN colname SET STORAGE controls TOAST + storage, compression (John Gray) +Add SCHEMA support with CREATE/DROP SCHEMA (Tom) +Create schema for temporary tables (Tom) +Add GUC variable search_path for namespace schema search (Tom) +Add ALTER TABLE SET/DROP NOT NULL (Christopher) +New CREATE FUNCTION volatility levels (Tom) +Make rule names unique only per table (Tom) +Add 'ON tablename' clause to DROP RULE and COMMENT ON RULE (Tom) +Add ALTER TRIGGER RENAME (Joe) +New current_schema() and current_schemas() inquiry functions (Tom) +Allow functions to return multiple rows, also called table functions (Joe) +Make WITH optional in CREATE DATABASE, for consistency (Bruce) +Add object dependency tracking (Rod, Tom) +Add RESTRICT/CASCADE to DROP commands (Rod) +Add ALTER TABLE DROP non-CHECK CONSTRAINT (Rod) +Auto-destroy sequence on DROP of table with SERIAL (Rod) +Prevent column dropping if column is used by foreign key (Rod) +Automatically drop constraints/functions when object is dropped (Rod) +Add CREATE/DROP OPERATOR CLASS (Bill Studenmund, Tom) +Add ALTER TABLE DROP COLUMN (Christopher, Tom, Hiroshi) +Prevent inherited columns from being removed or renamed (Alvaro Herrera) +Fix foreign key constraints to not error on intermediate db states (Stephan) +Propagate column or table renaming to foreign key constraints +Add CREATE OR REPLACE VIEW (Gavin, Neil, Tom) +Add CREATE OR REPLACE RULE (Gavin, Neil, Tom) +Have rules execute alphabetically, returning more accurate values (Tom) + + + + + Utility Commands + +Have COPY TO output embedded carriage returns and newlines as \r and \n (Tom) +Allow DELIMITER in COPY FROM to be 8-bit clean (Tatsuo) +Make pg_dump use ALTER TABLE ADD PRIMARY KEY, for performance (Neil) +Disable brackets in multi-statement rules (Bruce) +Disable VACUUM from being called inside a function (Bruce) +Allow dropdb and other scripts to use identifiers with spaces (Bruce) +Restrict comment to the current database +Allow comments on operators, independent of the underlying function (Rod) +Rollback SET commands in aborted transactions (Tom) +EXPLAIN now outputs as a query (Tom) +Display sort keys in EXPLAIN (Tom) +Add 'SET LOCAL var = value' to set GUC variables for a single transaction (Tom) +Allow ANALYZE to run in a transaction (Bruce) +Improve COPY syntax using new WITH clauses, keep backward compatibility (Bruce) +Fix pg_dump to consistently output tags in non-ASCII dumps (Bruce) +Make foreign key constraints clearer in dump file (Rod) +Add COMMENT ON CONSTRAINT (Rod) +Allow COPY TO/FROM to specify column names (Brent Verner) +Dump UNIQUE and PRIMARY KEY contraints as ALTER TABLE (Rod) +Have SHOW output a query result (Joe) +Generate failure on short COPY lines rather than pad NULLs (Neil) +Fix CLUSTER to preserve all table attributes (Alvaro Herrera) +New pg_settings table to view/modify GUC settings (Joe) +Add smart quoting, portability improvements to pg_dump output (Peter) +Dump serial columns out as SERIAL (Tom) +Enable large file support, >2G for pg_dump (Peter, Philip Warner, Bruce) +Disallow TRUNCATE on tables that are involved in referential constraints (Rod) +Have TRUNCATE also auto-truncate the toast table of the relation (Tom) +Add clusterdb utility that will auto-cluster an entire database based on + previous CLUSTER operations (Alvaro Herrera) +Overhaul pg_dumpall (Peter) +Allow REINDEX of TOAST tables (Tom) +Implemented START TRANSACTION, per SQL99 (Neil) +Fix rare index corruption when a page split affects bulk delete (Tom) +Fix ALTER TABLE ... ADD COLUMN for inheritance (Alvaro Herrera) + + + + + Data Types and Functions + +Fix factorial(0) to return 1 (Bruce) +Date/time/timezone improvements (Thomas) +Fix for array slice extraction (Tom) +Fix extract/date_part to report proper microseconds for timestamp (Tatsuo) +Allow text_substr() and bytea_substr() to read TOAST values more + efficiently (John Gray) +Add DOMAIN type support (Rod) +Make WITHOUT TIME ZONE the default for TIMESTAMP and TIME data types (Thomas) +Allow alternate storage scheme of 64-bit integers for date/time types + using --enable-integer-datetimes in configure (Thomas) +Make timezone(timestamptz) return timestamp rather than a string (Thomas) +Allow fractional seconds in date/time types for dates prior to 1BC (Thomas) +Limit timestamp data types to 6 decimal places of precision (Thomas) +Change timezone conversion functions from timetz() to timezone() (Thomas) +Add GUC variables datestyle and timezone (Tom) +Add OVERLAY(), which allows substitution of a substring in a string (Thomas) +Add SIMILAR TO as a synonym for our existing operator "~" (Thomas, Tom) +Add regular expression SUBSTRING(string FROM pat FOR escape) (Thomas) +Add LOCALTIME and LOCALTIMESTAMP functions (Thomas) +Add named composite types using CREATE TYPE typename AS (column) (Joe) +Allow composite type definition in the table alias clause (Joe) +Add new API to simplify creation of C language table functions (Joe) +Remove ODBC-compatible empty parentheses from calls to SQL99 functions + for which these parentheses do not match the standar (Thomas) +Add appendix in the User's Guide which lists SQL92 features (Thomas) +Allow macaddr data type to accept 12 hex digits with no separators (Mike Wyer) +Add CREATE/DROP CAST (Thomas) +Add IS DISTINCT FROM operator (Thomas) +Add SQL99 TREAT() function, synonym for CAST() (Thomas) +Add pg_backend_pid() to output backend pid (Bruce) +Allow inet arrays in /contrib/array (Neil) +Add IS OF / IS NOT OF type predicate (Thomas) +Allow bit string constants without fully-specified length (Thomas) +Allow conversion between 8-byte integers and bit strings (Thomas) +Implement hex literal conversion to bit string literal (Thomas) +Allow table functions to appear in the FROM clause (Joe) +Increase maximum number of function parameters to 32 (Bruce) +No longer automatically create index for SERIAL column (Tom) +Add current_database() (Rod) +Fix cash_words() to not overflow buffer (Tom) +Add functions replace(), split_part(), to_hex() (Joe) +Fix LIKE for bytea as a right-hand argument (Joe) +Prevent crashes caused by SELECT cash_out(2) +Triggers are now fired in alphabetical order (Tom) +Add /contrib/adddepend to handle pre-7.3 object dependencies (Rod) +Allow better casting when INSERTing/UPDATing values (Tom) +Fix to_char(1,'FM999.99') to return a period (Karel) +Fix trigger/type/language functions returning OPAQUE to return proper type (Tom) + + + + + Internationalization + +Add additional encodings (Korean (JOHAB), Thai (WIN874), Vietnamese (TCVN), + Arabic (WIN1256), Simplified Chinese (GBK), Korean (UHC) (Eiji Tokuya) +Enable locale support by default (Peter) +Add GUC locale variables (Peter) +Escape byes >= 0x7f for multibyte in PQescapeBytea/PQunescapeBytea (Tatsuo) +Add locale awareness to regular expression character classes +Enable multibyte support by default (Tatso) +Add GUC variables client_encoding (Tom) +Add GB18030 multibyte support (Bill Huang) +Add CREATE/DROP CONVERSION, allowing loadable encodings (Tatsuo, Kaori) +Add pg_conversion table (Tatsuo) +Add SQL99 CONVERT() function (Tatsuo) + + + + + Server-side Languages + +Allow recursive SQL function (Peter) +Change PL/Tcl build to use configured compiler and Makefile.shlib (Peter) +Overhaul the PL/pgSQL FOUND variable to be more Oracle-compatible (Tom, Neil) +Allow PL/pgSQL to handle quoted identifiers (Tom) +Allow set-returning PL/pgSQL functions (Neil) +Make PL/pgSQL schema-aware (Joe) +Remove some memory leaks (Nigel J. Andrews, Tom) + + + + + Psql + +Don't lowercase psql \connect database name for 7.2.0 compatibility (Tom) +Add psql \timing to time user queries (Greg Sabino Mullane) +Have psql \d show index information (Greg Sabino Mullane) +New psql \dD shows domains (Jonathan Eisler) +Allow psql to show rules on views (Paul ?) +Fix for psql variable substitution (Tom) +Allow psql \d to show temporary table structure (Tom) +Allow psql \d to show foreign keys (Rod) +Fix \? to honor \pset pager (Bruce) +Have psql reports its version number on startup (Tom) +Allow \copy to specify column names (Tom) + + + + + Libpq + +Add PQunescapeBytea() function to libpq (Patrick Welche) +Fix for sending large queries over non-blocking connections (Bernhard Herzog) +Fix for libpq using timers on Win9X (David Ford) +Allow libpq notify to handle servers with different-length identifiers (Tom) +Add libpq PQescapeString() and PQescapeBytea() to Win32 (Bruce) +Fix for SSL with non-blocking connections (Jack Bates) +Add libpq connection timeout parameter (Denis A Ustimenko) + + + + + JDBC + +Allow jdbc to compile with jdk 1.4 (Dave) +Add jdbc3 support (Barry) +Allows jdbc to set loglevel by adding ?loglevel=X to the connection URL (Barry) +Add jdbc Driver.info() message that prints out the version number (Barry) +Add jdbc updateable result sets (Raghu Nidagal, Dave) +Add jdbc support for callable statements (Paul Bethe) +Add jdbc query cancel capability +Add refresh row to jdbc (Dave) +Fix jdbc MD5 encryption handling for multibyte servers (Jun Kawai) +Add JDBC support for prepared statements (Barry) + + + + + ECPG + +Fixed ecpg bug concerning octal numbers in single quotes (Michael) + + + + + Miscellaneous Interfaces + +Move /interfaces/libpgeasy to http://gborg.postgresql.org (Marc, Bruce) +Improve python (Elliot Lee, Andrew Johnson, Greg Copeland) +Add libpgtcl connection close event (Gerhard Hintermayer) +Move /interfaces/libpq++ to http://gborg.postgresql.org (Marc, Bruce) +Move /interfaces/odbc to http://gborg.postgresql.org (Marc) +Move /interfaces/libpgeasy to http://gborg.postgresql.org (Marc, Bruce) +Move /interfaces/perl5 to http://gborg.postgresql.org (Marc, Bruce) +Remove /bin/pgaccess from main tree, now at http://www.pgaccess.org (Bruce) +Add pg_on_connection_loss command to libpgtcl (Gerhard Hintermayer, Tom) + + + + + Build and Install + +Fix for parallel make (Peter) +AIX fixes for linking TCL (Andreas Zeugswetter) +Allow plperl to build under Cygwin (Jason Tishler) +Improve MIPS compiles (Peter, Oliver Elphick) +Require autoconf version 2.53 (Peter) +Require readline and zlib by default in configure (Peter) +Allow Solaris to use Intimate Shared Memory (ISM), for performance + (Scott Brunza, P.J. Josh Rovero) +Always enable syslog in compile, remove --enable-syslog option (Tatsuo) +Always enable multibyte in compile, remove --enable-multibyte option (Tatsuo) +Always enable locale in compile, remove --enable-locale option (Tatsuo) +Fix for Win9x DLL creation (Magnus Naeslund) +Fix for link() usage by WAL code on Win32, Netware, BeOS (Jason Tishler) +Add sys/types.h to c.h, remove from main files (Peter, Bruce) +Fix AIX hang on SMP machines (Tomoyuki Niijima) +AIX SMP hang fix (Tomoyuki Niijima) +Fix pre-1970 date handling on newer glibc libraries (Tom) +Fix PowerPC SMP locking (Tom) +Prevent gcc -ffast-math from being used (Tom) +Bison >= 1.50 now required for developer builds + + + + + Source Code + +Improve loadable module linking to use RTLD_NOW (Tom) +New error levels WARNING, INFO, LOG, DEBUG[1-5] (Bruce) +New src/port directory holds replace libc functions (Peter, Bruce) +New pg_namespace system catalog for schemas (Tom) +Add pg_class.relnamespace for schemas (Tom) +Add pg_type.typnamespace for schemas (Tom) +Add pg_proc.pronamespace for schemas (Tom) +Restructure aggregates to have pg_proc entries (Tom) +System relations now have their own namespace, pg_* test not required + (Fernando Nasser) +Rename TOAST index names to be *_index rather than *_idx (Neil) +Add namespaces for operators, opclasses (Tom) +Add additional checks to server control file (Thomas) +New Polish FAQ (Marcin Mazurek) +Add Posix semaphore support (Tom) +Document need for reindex (Bruce) +Rename some internal identifiers to simplify Win32 compile (Jan, Katherine Ward) +Add documentation on computing disk space (Bruce) +Remove KSQO from GUC (Bruce) +Fix memory leak in rtree (Kenneth Been) +Modify a few error messages for consistency (Bruce) +Remove unused system table columns (Peter) +Make system columns NOT NULL where appropriate (Tom) +Clean up use of sprintf in favor of snprintf() (Neil, Jukka Holappa) +Remove OPAQUE and create specific subtypes (Tom) +Cleanups in array internal handling (Joe, Tom) +Disallow pg_atoi('') (Bruce) +Remove GUC parameter wal_files because WAL files are now recycled (Bruce) +Add version numbers to heap pages (Tom) + + + + + Contrib + +Gist fixes (Teodor Sigaev, Neil) +Upgrade /contrib/mysql +Add /contrib/dbsize which shows table sizes without vacuum (Peter) +Add /contrib/intagg, integer aggregator routines (mlw) +Improve /contrib/Oid2name (Neil, Bruce) +Improve /contrib/tsearch (Teodor Sigaev) +Improve /contrib/tsearch (Oleg) +Cleanups of /contrib/rserver (Alexey V. Borzov) +Update /contrib/oracle conversion utility (Gilles Darold) +Update /contrib/dblink (Joe) +Improve options supported by /contrib/vacuumlo (Mario Weilguni) +Improvements to /contrib/intarray (Oleg, Teodor Sigaev, Andrey Oktyabrski) +Add /contrib/reindexdb utility (Shaun Thomas) +Add indexing to /contrib/isbn_issn (Dan Weston) +Add /contrib/dbmirror (Steven Singer) +Improve /contrib/pgbench (Neil) +Add /contrib/tablefunc table function examples (Joe) +Add /contrib/ltree data type for tree structures (Teodor Sigaev, Oleg Bartunov) +Move /contrib/pg_controldata into main tree (Bruce) +Fixes to /contrib/cube (Bruno Wolff) +Improve /contrib/fulltextindex (Christopher) + + +