diff -pruN 3.1-1.1/aclocal.m4 1:3.1.1-0ubuntu4/aclocal.m4
--- 3.1-1.1/aclocal.m4	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/aclocal.m4	2013-01-20 05:56:55.000000000 +0000
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -13,18 +14,21 @@
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
-[m4_warning([this file was generated for autoconf 2.64.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -34,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -50,19 +54,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -144,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
+# serial 12
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -191,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $dep
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -255,7 +262,7 @@ AC_CACHE_CHECK([dependency style of $dep
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -320,10 +327,13 @@ AC_DEFUN([AM_DEP_TRACK],
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
@@ -545,12 +555,15 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -590,8 +603,8 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
+# 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -611,7 +624,7 @@ AC_DEFUN([AM_MAINTAINER_MODE],
        [disable], [m4_define([am_maintainer_other], [enable])],
        [m4_define([am_maintainer_other], [enable])
         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
 [  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
@@ -722,12 +735,15 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check for `mkdir -p'.
@@ -750,13 +766,14 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -764,13 +781,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -846,12 +863,14 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
@@ -874,13 +893,13 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
@@ -889,13 +908,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -917,10 +936,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
 m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
      [m4_case([$1], [ustar],, [pax],,
               [m4_fatal([Unknown tar format])])
 AC_MSG_CHECKING([how to create a $1 tar archive])
diff -pruN 3.1-1.1/ChangeLog 1:3.1.1-0ubuntu4/ChangeLog
--- 3.1-1.1/ChangeLog	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/ChangeLog	2013-01-17 07:25:02.000000000 +0000
@@ -1,3 +1,40 @@
+2013-01-17  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ tools/splitconfig:
+ - Rewrote in python.
+ - Much shorter: most of the code was detecting & handling grep flavours!
+ - Should fix BSD build problem.  Thanks Martin van den Nieuwelaar.
+2013-01-12  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ include/pqxx/isolation.hxx:
+ - Updated documentation for isolation levels.
+2013-01-12  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ include/pqxx/isolation.hxx:
+ - Support for REPEATABLE READ isolation level.  Thanks pawsa.
+ - Fixes #259.
+2013-01-12  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ src/strconv.cxx, test/unit/test_string_conversion.cxx:
+ - Backported fix for #263.
+2013-01-11  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ configitems, configure.ac.in:
+ - Backport fix for unused function in strerror wrapper.
+ include/pqxx/cursor.hxx, src/util.cxx, test/unit/test_prepared_statement.cxx:
+ - Compile fixes for clang++ 3.0.
+2013-01-11  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ src/result.cxx, src/statement_parameters.cxx, src/tablewriter.cxx,
+ src/util.cxx:
+ - Compile fixes for clang++ 3.0.
+2013-01-11  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ configure.ac.in:
+ - Fix typo in earlier clang++ fix.
+ include/pqxx/cursor.hxx, include/pqxx/result.hxx, src/connection_base.cxx,
+ src/cursor.cxx, src/largeobject.cxx, src/pipeline.cxx:
+ - Compile fixes for clang++ 3.0.  Not done yet.
+2013-01-11  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ include/pqxx/compiler-internal.hxx, include/pqxx/largeobject.hxx,
+ include/pqxx/result.hxx, include/pqxx/util.hxx, test/unit/test_escape.cxx:
+ - Compile fixes for g++ 4.7.
+2013-01-10  Jeroen T. Vermeulen <jtv@xs4all.nl>
+ configure.ac.in:
+ - Fix w clang++ 3.0: basic C-library test broke.
 2010-02-15  Jeroen T. Vermeulen <jtv@xs4all.nl>
  configure, configure.ac, configure.ac.in:
  - Fixed #104: -Werror option always used.  Thanks Ray Dassen.
diff -pruN 3.1-1.1/config/ltmain.sh 1:3.1.1-0ubuntu4/config/ltmain.sh
--- 3.1-1.1/config/ltmain.sh	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/config/ltmain.sh	2013-01-20 05:56:49.000000000 +0000
@@ -1,9 +1,9 @@
-# Generated from ltmain.m4sh.
 
-# ltmain.sh (GNU libtool) 2.2.6
+# libtool (GNU libtool) 2.4.2
 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -32,50 +32,57 @@
 #
 # Provide generalized library-building support services.
 #
-#     --config             show all configuration variables
-#     --debug              enable verbose shell tracing
-# -n, --dry-run            display commands without modifying any files
-#     --features           display basic configuration information and exit
-#     --mode=MODE          use operation mode MODE
-#     --preserve-dup-deps  don't remove duplicate dependency libraries
-#     --quiet, --silent    don't print informational messages
-#     --tag=TAG            use configuration variables from tag TAG
-# -v, --verbose            print informational messages (default)
-#     --version            print version information
-# -h, --help               print short or long help message
+#       --config             show all configuration variables
+#       --debug              enable verbose shell tracing
+#   -n, --dry-run            display commands without modifying any files
+#       --features           display basic configuration information and exit
+#       --mode=MODE          use operation mode MODE
+#       --preserve-dup-deps  don't remove duplicate dependency libraries
+#       --quiet, --silent    don't print informational messages
+#       --no-quiet, --no-silent
+#                            print informational messages (default)
+#       --no-warn            don't display warning messages
+#       --tag=TAG            use configuration variables from tag TAG
+#   -v, --verbose            print more informational messages than default
+#       --no-verbose         don't print the extra informational messages
+#       --version            print version information
+#   -h, --help, --help-all   print short, long, or detailed help message
 #
 # MODE must be one of the following:
 #
-#       clean              remove files from the build directory
-#       compile            compile a source file into a libtool object
-#       execute            automatically set library path, then run a program
-#       finish             complete the installation of libtool libraries
-#       install            install libraries or executables
-#       link               create a library or an executable
-#       uninstall          remove libraries from an installed directory
+#         clean              remove files from the build directory
+#         compile            compile a source file into a libtool object
+#         execute            automatically set library path, then run a program
+#         finish             complete the installation of libtool libraries
+#         install            install libraries or executables
+#         link               create a library or an executable
+#         uninstall          remove libraries from an installed directory
 #
-# MODE-ARGS vary depending on the MODE.
+# MODE-ARGS vary depending on the MODE.  When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
 #
 # When reporting a bug, please describe a test case to reproduce it and
 # include the following information:
 #
-#       host-triplet:	$host
-#       shell:		$SHELL
-#       compiler:		$LTCC
-#       compiler flags:		$LTCFLAGS
-#       linker:		$LD (gnu? $with_gnu_ld)
-#       $progname:		(GNU libtool) 2.2.6 Debian-2.2.6a-4
-#       automake:		$automake_version
-#       autoconf:		$autoconf_version
+#         host-triplet:	$host
+#         shell:		$SHELL
+#         compiler:		$LTCC
+#         compiler flags:		$LTCFLAGS
+#         linker:		$LD (gnu? $with_gnu_ld)
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu2
+#         automake:	$automake_version
+#         autoconf:	$autoconf_version
 #
 # Report bugs to <bug-libtool@gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
 
-PROGRAM=ltmain.sh
+PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.2.6 Debian-2.2.6a-4"
+VERSION="2.4.2 Debian-2.4.2-1ubuntu2"
 TIMESTAMP=""
-package_revision=1.3012
+package_revision=1.3337
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -91,10 +98,15 @@ fi
 BIN_SH=xpg4; export BIN_SH # for Tru64
 DUALCASE=1; export DUALCASE # for MKS sh
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
 # NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
 lt_user_locale=
 lt_safe_locale=
 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
@@ -107,24 +119,28 @@ do
 	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
 	fi"
 done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
 
 $lt_unset CDPATH
 
 
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
 
 
 
 : ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="/bin/sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -144,6 +160,27 @@ IFS=" 	$lt_nl"
 dirname="s,/[^/]*$,,"
 basename="s,^.*/,,"
 
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+    if test "X$func_dirname_result" = "X${1}"; then
+      func_dirname_result="${3}"
+    else
+      func_dirname_result="$func_dirname_result${2}"
+    fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
 # func_dirname_and_basename file append nondir_replacement
 # perform func_basename and func_dirname in a single function
 # call:
@@ -158,33 +195,183 @@ basename="s,^.*/,,"
 # those functions but instead duplicate the functionality here.
 func_dirname_and_basename ()
 {
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+    # Extract subdirectory from the argument.
+    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+    if test "X$func_dirname_result" = "X${1}"; then
+      func_dirname_result="${3}"
+    else
+      func_dirname_result="$func_dirname_result${2}"
+    fi
+    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+    case ${2} in
+      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+    esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+		s@/\./@/@g
+		t dotsl
+		s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+#             value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+  # Start from root dir and reassemble the path.
+  func_normal_abspath_result=
+  func_normal_abspath_tpath=$1
+  func_normal_abspath_altnamespace=
+  case $func_normal_abspath_tpath in
+    "")
+      # Empty path, that just means $cwd.
+      func_stripname '' '/' "`pwd`"
+      func_normal_abspath_result=$func_stripname_result
+      return
+    ;;
+    # The next three entries are used to spot a run of precisely
+    # two leading slashes without using negated character classes;
+    # we take advantage of case's first-match behaviour.
+    ///*)
+      # Unusual form of absolute path, do nothing.
+    ;;
+    //*)
+      # Not necessarily an ordinary path; POSIX reserves leading '//'
+      # and for example Cygwin uses it to access remote file shares
+      # over CIFS/SMB, so we conserve a leading double slash if found.
+      func_normal_abspath_altnamespace=/
+    ;;
+    /*)
+      # Absolute path, do nothing.
+    ;;
+    *)
+      # Relative path, prepend $cwd.
+      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+    ;;
+  esac
+  # Cancel out all the simple stuff to save iterations.  We also want
+  # the path to end with a slash for ease of parsing, so make sure
+  # there is one (and only one) here.
+  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+  while :; do
+    # Processed it all yet?
+    if test "$func_normal_abspath_tpath" = / ; then
+      # If we ascended to the root using ".." the result may be empty now.
+      if test -z "$func_normal_abspath_result" ; then
+        func_normal_abspath_result=/
+      fi
+      break
+    fi
+    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcar"`
+    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+        -e "$pathcdr"`
+    # Figure out what to do with it
+    case $func_normal_abspath_tcomponent in
+      "")
+        # Trailing empty path component, ignore it.
+      ;;
+      ..)
+        # Parent dir; strip last assembled component from result.
+        func_dirname "$func_normal_abspath_result"
+        func_normal_abspath_result=$func_dirname_result
+      ;;
+      *)
+        # Actual path component, append it.
+        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+      ;;
+    esac
+  done
+  # Restore leading double-slash if one was found on entry.
+  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
 }
 
-# Generated shell functions inserted here.
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+#             value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+  func_relative_path_result=
+  func_normal_abspath "$1"
+  func_relative_path_tlibdir=$func_normal_abspath_result
+  func_normal_abspath "$2"
+  func_relative_path_tbindir=$func_normal_abspath_result
+
+  # Ascend the tree starting from libdir
+  while :; do
+    # check if we have found a prefix of bindir
+    case $func_relative_path_tbindir in
+      $func_relative_path_tlibdir)
+        # found an exact match
+        func_relative_path_tcancelled=
+        break
+        ;;
+      $func_relative_path_tlibdir*)
+        # found a matching prefix
+        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+        func_relative_path_tcancelled=$func_stripname_result
+        if test -z "$func_relative_path_result"; then
+          func_relative_path_result=.
+        fi
+        break
+        ;;
+      *)
+        func_dirname $func_relative_path_tlibdir
+        func_relative_path_tlibdir=${func_dirname_result}
+        if test "x$func_relative_path_tlibdir" = x ; then
+          # Have to descend all the way to the root!
+          func_relative_path_result=../$func_relative_path_result
+          func_relative_path_tcancelled=$func_relative_path_tbindir
+          break
+        fi
+        func_relative_path_result=../$func_relative_path_result
+        ;;
+    esac
+  done
 
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
+  # Now calculate path; take care to avoid doubling-up slashes.
+  func_stripname '' '/' "$func_relative_path_result"
+  func_relative_path_result=$func_stripname_result
+  func_stripname '/' '/' "$func_relative_path_tcancelled"
+  if test "x$func_stripname_result" != x ; then
+    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+  fi
+
+  # Normalisation. If bindir is libdir, return empty string,
+  # else relative path ending with a slash; either way, target
+  # file name can be directly appended.
+  if test ! -z "$func_relative_path_result"; then
+    func_stripname './' '' "$func_relative_path_result/"
+    func_relative_path_result=$func_stripname_result
+  fi
+}
 
 # The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
 func_dirname_and_basename "$progpath"
 progname=$func_basename_result
-case $progname in
-  -*) progname=./$progname ;;
-esac
 
 # Make sure we have an absolute path for reexecution:
 case $progpath in
@@ -196,7 +383,7 @@ case $progpath in
      ;;
   *)
      save_IFS="$IFS"
-     IFS=:
+     IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
        IFS="$save_IFS"
        test -x "$progdir/$progname" && break
@@ -215,6 +402,15 @@ sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
 # Same as above, but do not quote variable references.
 double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
 # Re-`\' parameter expansions in output of double_quote_subst that were
 # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
 # in input to double_quote_subst, that '$' was protected from expansion.
@@ -243,7 +439,7 @@ opt_warning=:
 # name if it has been set yet.
 func_echo ()
 {
-    $ECHO "$progname${mode+: }$mode: $*"
+    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
 }
 
 # func_verbose arg...
@@ -258,18 +454,25 @@ func_verbose ()
     :
 }
 
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*"
+}
+
 # func_error arg...
 # Echo program name prefixed message to standard error.
 func_error ()
 {
-    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
 }
 
 # func_warning arg...
 # Echo program name prefixed warning message to standard error.
 func_warning ()
 {
-    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
 
     # bash bug again:
     :
@@ -326,9 +529,9 @@ func_mkdir_p ()
         case $my_directory_path in */*) ;; *) break ;; esac
 
         # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
       done
-      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
 
       save_mkdir_p_IFS="$IFS"; IFS=':'
       for my_dir in $my_dir_list; do
@@ -378,7 +581,7 @@ func_mktempdir ()
         func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
     fi
 
-    $ECHO "X$my_tmpdir" | $Xsed
+    $ECHO "$my_tmpdir"
 }
 
 
@@ -392,7 +595,7 @@ func_quote_for_eval ()
 {
     case $1 in
       *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
       *)
         func_quote_for_eval_unquoted_result="$1" ;;
     esac
@@ -419,7 +622,7 @@ func_quote_for_expand ()
 {
     case $1 in
       *[\\\`\"]*)
-	my_arg=`$ECHO "X$1" | $Xsed \
+	my_arg=`$ECHO "$1" | $SED \
 	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
         my_arg="$1" ;;
@@ -488,15 +691,39 @@ func_show_eval_locale ()
     fi
 }
 
-
-
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+  case $1 in
+  [0-9]* | *[!a-zA-Z0-9_]*)
+    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+    ;;
+  * )
+    func_tr_sh_result=$1
+    ;;
+  esac
+}
 
 
 # func_version
 # Echo version message to standard output and exit.
 func_version ()
 {
-    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+    $opt_debug
+
+    $SED -n '/(C)/!b go
+	:more
+	/\./!{
+	  N
+	  s/\n# / /
+	  b more
+	}
+	:go
+	/^# '$PROGRAM' (GNU /,/# warranty; / {
         s/^# //
 	s/^# *$//
         s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
@@ -509,22 +736,28 @@ func_version ()
 # Echo short help message to standard output and exit.
 func_usage ()
 {
-    $SED -n '/^# Usage:/,/# -h/ {
+    $opt_debug
+
+    $SED -n '/^# Usage:/,/^#  *.*--help/ {
         s/^# //
 	s/^# *$//
 	s/\$progname/'$progname'/
 	p
     }' < "$progpath"
-    $ECHO
+    echo
     $ECHO "run \`$progname --help | more' for full usage"
     exit $?
 }
 
-# func_help
-# Echo long help message to standard output and exit.
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
 func_help ()
 {
+    $opt_debug
+
     $SED -n '/^# Usage:/,/# Report bugs to/ {
+	:print
         s/^# //
 	s/^# *$//
 	s*\$progname*'$progname'*
@@ -534,11 +767,18 @@ func_help ()
 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
 	s*\$LD*'"$LD"'*
 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
 	p
-     }' < "$progpath"
-    exit $?
+	d
+     }
+     /^# .* home page:/b print
+     /^# General help using/b print
+     ' < "$progpath"
+    ret=$?
+    if test -z "$1"; then
+      exit $ret
+    fi
 }
 
 # func_missing_arg argname
@@ -546,63 +786,106 @@ func_help ()
 # exit_cmd.
 func_missing_arg ()
 {
-    func_error "missing argument for $1"
+    $opt_debug
+
+    func_error "missing argument for $1."
     exit_cmd=exit
 }
 
-exit_cmd=:
 
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+    my_sed_long_arg='1s/^--[^=]*=//'
+
+    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
 
+exit_cmd=:
 
 
 
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell, and then maybe $ECHO will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
 
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
 
 magic="%%%MAGIC variable%%%"
 magic_exe="%%%MAGIC EXE variable%%%"
 
 # Global variables.
-# $mode is unset
 nonopt=
-execute_dlfiles=
 preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
 extracted_archives=
 extracted_serial=0
 
-opt_dry_run=false
-opt_duplicate_deps=false
-opt_silent=false
-opt_debug=:
-
 # If this variable is set in any of the actions, the command in it
 # will be execed at the end.  This prevents here-documents from being
 # left over by shells.
 exec_cmd=
 
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+    eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+    func_quote_for_eval "${2}"
+    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+    func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
 # func_fatal_configuration arg...
 # Echo program name prefixed message to standard error, followed by
 # a configuration failure hint, and exit.
@@ -636,16 +919,16 @@ func_config ()
 # Display the features supported by this script.
 func_features ()
 {
-    $ECHO "host: $host"
+    echo "host: $host"
     if test "$build_libtool_libs" = yes; then
-      $ECHO "enable shared libraries"
+      echo "enable shared libraries"
     else
-      $ECHO "disable shared libraries"
+      echo "disable shared libraries"
     fi
     if test "$build_old_libs" = yes; then
-      $ECHO "enable static libraries"
+      echo "enable static libraries"
     else
-      $ECHO "disable static libraries"
+      echo "disable static libraries"
     fi
 
     exit $?
@@ -692,117 +975,209 @@ func_enable_tag ()
   esac
 }
 
-# Parse options once, thoroughly.  This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
 {
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
 
-  # Shorthand for --mode=foo, only valid as the first argument
-  case $1 in
-  clean|clea|cle|cl)
-    shift; set dummy --mode clean ${1+"$@"}; shift
-    ;;
-  compile|compil|compi|comp|com|co|c)
-    shift; set dummy --mode compile ${1+"$@"}; shift
-    ;;
-  execute|execut|execu|exec|exe|ex|e)
-    shift; set dummy --mode execute ${1+"$@"}; shift
-    ;;
-  finish|finis|fini|fin|fi|f)
-    shift; set dummy --mode finish ${1+"$@"}; shift
-    ;;
-  install|instal|insta|inst|ins|in|i)
-    shift; set dummy --mode install ${1+"$@"}; shift
-    ;;
-  link|lin|li|l)
-    shift; set dummy --mode link ${1+"$@"}; shift
-    ;;
-  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-    shift; set dummy --mode uninstall ${1+"$@"}; shift
-    ;;
-  esac
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+  shift; set dummy --mode clean ${1+"$@"}; shift
+  ;;
+compile|compil|compi|comp|com|co|c)
+  shift; set dummy --mode compile ${1+"$@"}; shift
+  ;;
+execute|execut|execu|exec|exe|ex|e)
+  shift; set dummy --mode execute ${1+"$@"}; shift
+  ;;
+finish|finis|fini|fin|fi|f)
+  shift; set dummy --mode finish ${1+"$@"}; shift
+  ;;
+install|instal|insta|inst|ins|in|i)
+  shift; set dummy --mode install ${1+"$@"}; shift
+  ;;
+link|lin|li|l)
+  shift; set dummy --mode link ${1+"$@"}; shift
+  ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+  shift; set dummy --mode uninstall ${1+"$@"}; shift
+  ;;
+esac
 
-  # Parse non-mode specific arguments:
-  while test "$#" -gt 0; do
+
+
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
+
+
+# Parse options once, thoroughly.  This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+  # this just eases exit handling
+  while test $# -gt 0; do
     opt="$1"
     shift
-
     case $opt in
-      --config)		func_config					;;
-
-      --debug)		preserve_args="$preserve_args $opt"
+      --debug|-x)	opt_debug='set -x'
 			func_echo "enabling shell trace mode"
-			opt_debug='set -x'
 			$opt_debug
 			;;
-
-      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			execute_dlfiles="$execute_dlfiles $1"
-			shift
+      --dry-run|--dryrun|-n)
+			opt_dry_run=:
 			;;
-
-      --dry-run | -n)	opt_dry_run=:					;;
-      --features)       func_features					;;
-      --finish)		mode="finish"					;;
-
-      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			case $1 in
-			  # Valid mode arguments:
-			  clean)	;;
-			  compile)	;;
-			  execute)	;;
-			  finish)	;;
-			  install)	;;
-			  link)		;;
-			  relink)	;;
-			  uninstall)	;;
-
-			  # Catch anything else as an error
-			  *) func_error "invalid argument for $opt"
-			     exit_cmd=exit
-			     break
-			     ;;
-		        esac
-
-			mode="$1"
+      --config)
+			opt_config=:
+func_config
+			;;
+      --dlopen|-dlopen)
+			optarg="$1"
+			opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
 			shift
 			;;
-
       --preserve-dup-deps)
-			opt_duplicate_deps=:				;;
-
-      --quiet|--silent)	preserve_args="$preserve_args $opt"
-			opt_silent=:
+			opt_preserve_dup_deps=:
 			;;
-
-      --verbose| -v)	preserve_args="$preserve_args $opt"
+      --features)
+			opt_features=:
+func_features
+			;;
+      --finish)
+			opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+			;;
+      --help)
+			opt_help=:
+			;;
+      --help-all)
+			opt_help_all=:
+opt_help=': help-all'
+			;;
+      --mode)
+			test $# = 0 && func_missing_arg $opt && break
+			optarg="$1"
+			opt_mode="$optarg"
+case $optarg in
+  # Valid mode arguments:
+  clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+  # Catch anything else as an error
+  *) func_error "invalid argument for $opt"
+     exit_cmd=exit
+     break
+     ;;
+esac
+			shift
+			;;
+      --no-silent|--no-quiet)
 			opt_silent=false
+func_append preserve_args " $opt"
 			;;
-
-      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			preserve_args="$preserve_args $opt $1"
-			func_enable_tag "$1"	# tagname is set here
+      --no-warning|--no-warn)
+			opt_warning=false
+func_append preserve_args " $opt"
+			;;
+      --no-verbose)
+			opt_verbose=false
+func_append preserve_args " $opt"
+			;;
+      --silent|--quiet)
+			opt_silent=:
+func_append preserve_args " $opt"
+        opt_verbose=false
+			;;
+      --verbose|-v)
+			opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+			;;
+      --tag)
+			test $# = 0 && func_missing_arg $opt && break
+			optarg="$1"
+			opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
 			shift
 			;;
 
+      -\?|-h)		func_usage				;;
+      --help)		func_help				;;
+      --version)	func_version				;;
+
       # Separate optargs to long options:
-      -dlopen=*|--mode=*|--tag=*)
-			func_opt_split "$opt"
-			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+      --*=*)
+			func_split_long_opt "$opt"
+			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
 			shift
 			;;
 
-      -\?|-h)		func_usage					;;
-      --help)		opt_help=:					;;
-      --version)	func_version					;;
-
-      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
-
-      *)		nonopt="$opt"
-			break
+      # Separate non-argument short options:
+      -\?*|-h*|-n*|-v*)
+			func_split_short_opt "$opt"
+			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+			shift
 			;;
+
+      --)		break					;;
+      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
+      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
     esac
   done
 
+  # Validate options:
+
+  # save first non-option argument
+  if test "$#" -gt 0; then
+    nonopt="$opt"
+    shift
+  fi
+
+  # preserve --debug
+  test "$opt_debug" = : || func_append preserve_args " --debug"
 
   case $host in
     *cygwin* | *mingw* | *pw32* | *cegcc*)
@@ -810,82 +1185,44 @@ func_enable_tag ()
       opt_duplicate_compiler_generated_deps=:
       ;;
     *)
-      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
       ;;
   esac
 
-  # Having warned about all mis-specified options, bail out if
-  # anything was wrong.
-  $exit_cmd $EXIT_FAILURE
-}
+  $opt_help || {
+    # Sanity checks first:
+    func_check_version_match
 
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
+    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+      func_fatal_configuration "not configured to build any kind of library"
     fi
 
-    exit $EXIT_MISMATCH
-  fi
-}
-
+    # Darwin sucks
+    eval std_shrext=\"$shrext_cmds\"
 
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-$opt_help || {
-  # Sanity checks first:
-  func_check_version_match
-
-  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-    func_fatal_configuration "not configured to build any kind of library"
-  fi
+    # Only execute mode is allowed to have -dlopen flags.
+    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+      func_error "unrecognized option \`-dlopen'"
+      $ECHO "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
 
-  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+    # Change the help message to a mode-specific one.
+    generic_help="$help"
+    help="Try \`$progname --help --mode=$opt_mode' for more information."
+  }
 
 
-  # Darwin sucks
-  eval std_shrext=\"$shrext_cmds\"
+  # Bail if the options were screwed
+  $exit_cmd $EXIT_FAILURE
+}
 
 
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    func_error "unrecognized option \`-dlopen'"
-    $ECHO "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
 
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
-}
 
+## ----------- ##
+##    Main.    ##
+## ----------- ##
 
 # func_lalib_p file
 # True iff FILE is a libtool `.la' library or `.lo' object file.
@@ -950,12 +1287,9 @@ func_ltwrapper_executable_p ()
 # temporary ltwrapper_script.
 func_ltwrapper_scriptname ()
 {
-    func_ltwrapper_scriptname_result=""
-    if func_ltwrapper_executable_p "$1"; then
-	func_dirname_and_basename "$1" "" "."
-	func_stripname '' '.exe' "$func_basename_result"
-	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-    fi
+    func_dirname_and_basename "$1" "" "."
+    func_stripname '' '.exe' "$func_basename_result"
+    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
 }
 
 # func_ltwrapper_p file
@@ -1001,6 +1335,37 @@ func_source ()
 }
 
 
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot.  Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+  func_resolve_sysroot_result=$1
+  case $func_resolve_sysroot_result in
+  =*)
+    func_stripname '=' '' "$func_resolve_sysroot_result"
+    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+    ;;
+  esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+  case "$lt_sysroot:$1" in
+  ?*:"$lt_sysroot"*)
+    func_stripname "$lt_sysroot" '' "$1"
+    func_replace_sysroot_result="=$func_stripname_result"
+    ;;
+  *)
+    # Including no sysroot.
+    func_replace_sysroot_result=$1
+    ;;
+  esac
+}
+
 # func_infer_tag arg
 # Infer tagged configuration to use if any are available and
 # if one wasn't chosen via the "--tag" command line option.
@@ -1013,13 +1378,15 @@ func_infer_tag ()
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
-        func_quote_for_eval "$arg"
-	CC_quoted="$CC_quoted $func_quote_for_eval_result"
+	func_append_quoted CC_quoted "$arg"
       done
+      CC_expanded=`func_echo_all $CC`
+      CC_quoted_expanded=`func_echo_all $CC_quoted`
       case $@ in
       # Blanks in the command may have been stripped by the calling shell,
       # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
       # Blanks at the start of $base_compile will cause this to fail
       # if we don't check for them as well.
       *)
@@ -1030,11 +1397,13 @@ func_infer_tag ()
 	    CC_quoted=
 	    for arg in $CC; do
 	      # Double-quote args containing other shell metacharacters.
-	      func_quote_for_eval "$arg"
-	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
+	      func_append_quoted CC_quoted "$arg"
 	    done
+	    CC_expanded=`func_echo_all $CC`
+	    CC_quoted_expanded=`func_echo_all $CC_quoted`
 	    case "$@ " in
-	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
 	      # The compiler in the base compile command matches
 	      # the one in the tagged configuration.
 	      # Assume this is the tagged configuration we want.
@@ -1097,6 +1466,486 @@ EOF
     }
 }
 
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+  $opt_debug
+  func_convert_core_file_wine_to_w32_result="$1"
+  if test -n "$1"; then
+    # Unfortunately, winepath does not exit with a non-zero error code, so we
+    # are forced to check the contents of stdout. On the other hand, if the
+    # command is not found, the shell will set an exit code of 127 and print
+    # *an error message* to stdout. So we must check for both error code of
+    # zero AND non-empty stdout, which explains the odd construction:
+    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+        $SED -e "$lt_sed_naive_backslashify"`
+    else
+      func_convert_core_file_wine_to_w32_result=
+    fi
+  fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+  $opt_debug
+  # unfortunately, winepath doesn't convert paths, only file names
+  func_convert_core_path_wine_to_w32_result=""
+  if test -n "$1"; then
+    oldIFS=$IFS
+    IFS=:
+    for func_convert_core_path_wine_to_w32_f in $1; do
+      IFS=$oldIFS
+      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+        if test -z "$func_convert_core_path_wine_to_w32_result"; then
+          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+        else
+          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+        fi
+      fi
+    done
+    IFS=$oldIFS
+  fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+  $opt_debug
+  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+    if test "$?" -ne 0; then
+      # on failure, ensure result is empty
+      func_cygpath_result=
+    fi
+  else
+    func_cygpath_result=
+    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+  fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format.  Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+  $opt_debug
+  # awkward: cmd appends spaces to result
+  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+  $opt_debug
+  if test -z "$2" && test -n "$1" ; then
+    func_error "Could not determine host file name corresponding to"
+    func_error "  \`$1'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback:
+    func_to_host_file_result="$1"
+  fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+  $opt_debug
+  if test -z "$4" && test -n "$3"; then
+    func_error "Could not determine the host path corresponding to"
+    func_error "  \`$3'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback.  This is a deliberately simplistic "conversion" and
+    # should not be "improved".  See libtool.info.
+    if test "x$1" != "x$2"; then
+      lt_replace_pathsep_chars="s|$1|$2|g"
+      func_to_host_path_result=`echo "$3" |
+        $SED -e "$lt_replace_pathsep_chars"`
+    else
+      func_to_host_path_result="$3"
+    fi
+  fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+  $opt_debug
+  case $4 in
+  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+    ;;
+  esac
+  case $4 in
+  $2 ) func_append func_to_host_path_result "$3"
+    ;;
+  esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+  $opt_debug
+  $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result.  If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+  $opt_debug
+  case ,$2, in
+    *,"$to_tool_file_cmd",*)
+      func_to_tool_file_result=$1
+      ;;
+    *)
+      $to_tool_file_cmd "$1"
+      func_to_tool_file_result=$func_to_host_file_result
+      ;;
+  esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+  func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+    # LT_CYGPATH in this case.
+    func_to_host_file_result=`cygpath -m "$1"`
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format.  Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_file_wine_to_w32 "$1"
+    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result="$func_cygpath_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+    func_convert_core_file_wine_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result="$func_cygpath_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format.  If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+#   file name conversion function    : func_convert_file_X_to_Y ()
+#   path conversion function         : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same.  If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+  $opt_debug
+  if test -z "$to_host_path_cmd"; then
+    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+    to_host_path_cmd="func_convert_path_${func_stripname_result}"
+  fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+  $opt_debug
+  func_init_to_host_path_cmd
+  $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+  func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from ARG.  MSYS
+    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+    # and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format.  Requires a wine environment and
+# a working winepath.  Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result="$func_cygpath_result"
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from
+    # ARG. msys behavior is inconsistent here, cygpath turns them
+    # into '.;' and ';.', and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result="$func_cygpath_result"
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
 # func_mode_compile arg...
 func_mode_compile ()
 {
@@ -1137,12 +1986,12 @@ func_mode_compile ()
 	  ;;
 
 	-pie | -fpie | -fPIE)
-          pie_flag="$pie_flag $arg"
+          func_append pie_flag " $arg"
 	  continue
 	  ;;
 
 	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  later="$later $arg"
+	  func_append later " $arg"
 	  continue
 	  ;;
 
@@ -1163,15 +2012,14 @@ func_mode_compile ()
 	  save_ifs="$IFS"; IFS=','
 	  for arg in $args; do
 	    IFS="$save_ifs"
-	    func_quote_for_eval "$arg"
-	    lastarg="$lastarg $func_quote_for_eval_result"
+	    func_append_quoted lastarg "$arg"
 	  done
 	  IFS="$save_ifs"
 	  func_stripname ' ' '' "$lastarg"
 	  lastarg=$func_stripname_result
 
 	  # Add the arguments to base_compile.
-	  base_compile="$base_compile $lastarg"
+	  func_append base_compile " $lastarg"
 	  continue
 	  ;;
 
@@ -1187,8 +2035,7 @@ func_mode_compile ()
       esac    #  case $arg_mode
 
       # Aesthetically quote the previous argument.
-      func_quote_for_eval "$lastarg"
-      base_compile="$base_compile $func_quote_for_eval_result"
+      func_append_quoted base_compile "$lastarg"
     done # for arg
 
     case $arg_mode in
@@ -1213,7 +2060,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -1288,7 +2135,7 @@ func_mode_compile ()
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
     if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
       lockfile="$output_obj.lock"
     else
       output_obj=
@@ -1319,17 +2166,16 @@ compiler."
 	$opt_dry_run || $RM $removelist
 	exit $EXIT_FAILURE
       fi
-      removelist="$removelist $output_obj"
+      func_append removelist " $output_obj"
       $ECHO "$srcfile" > "$lockfile"
     fi
 
     $opt_dry_run || $RM $removelist
-    removelist="$removelist $lockfile"
+    func_append removelist " $lockfile"
     trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
 
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
+    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+    srcfile=$func_to_tool_file_result
     func_quote_for_eval "$srcfile"
     qsrcfile=$func_quote_for_eval_result
 
@@ -1349,7 +2195,7 @@ compiler."
 
       if test -z "$output_obj"; then
 	# Place PIC objects in $objdir
-	command="$command -o $lobj"
+	func_append command " -o $lobj"
       fi
 
       func_show_eval_locale "$command"	\
@@ -1396,11 +2242,11 @@ compiler."
 	command="$base_compile $qsrcfile $pic_flag"
       fi
       if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
+	func_append command " -o $obj"
       fi
 
       # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
+      func_append command "$suppress_output"
       func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
@@ -1445,13 +2291,13 @@ compiler."
 }
 
 $opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
+  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
 {
     # We need to display help for each of the modes.
-    case $mode in
+    case $opt_mode in
       "")
         # Generic help is extracted from the usage comments
         # at the start of this file.
@@ -1482,10 +2328,11 @@ This mode accepts the following addition
 
   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
   -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
+  -prefer-pic       try to build PIC objects only
+  -prefer-non-pic   try to build non-PIC objects only
   -shared           do not build a \`.o' file suitable for static linking
   -static           only build a \`.o' file suitable for static linking
+  -Wc,FLAG          pass FLAG directly to the compiler
 
 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
 from the given SOURCEFILE.
@@ -1538,7 +2385,7 @@ either the \`install' or \`cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
 
 The rest of the components are interpreted as arguments to that command (only
 BSD-compatible install options are recognized)."
@@ -1558,6 +2405,8 @@ The following components of LINK-COMMAND
 
   -all-static       do not do any dynamic linking at all
   -avoid-version    do not add a version suffix if possible
+  -bindir BINDIR    specify path to binaries directory (for systems where
+                    libraries must be found in the PATH setting at runtime)
   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
@@ -1586,6 +2435,11 @@ The following components of LINK-COMMAND
   -version-info CURRENT[:REVISION[:AGE]]
                     specify library version info [each variable defaults to 0]
   -weak LIBNAME     declare that the target provides the LIBNAME interface
+  -Wc,FLAG
+  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
+  -Wl,FLAG
+  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
+  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
 
 All other options (arguments beginning with \`-') are ignored.
 
@@ -1619,18 +2473,44 @@ Otherwise, only FILE itself is deleted u
         ;;
 
       *)
-        func_fatal_help "invalid operation mode \`$mode'"
+        func_fatal_help "invalid operation mode \`$opt_mode'"
         ;;
     esac
 
-    $ECHO
+    echo
     $ECHO "Try \`$progname --help' for more information about other modes."
-
-    exit $?
 }
 
-  # Now that we've collected a possible --mode arg, show help if necessary
-  $opt_help && func_mode_help
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+  if test "$opt_help" = :; then
+    func_mode_help
+  else
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	func_mode_help
+      done
+    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
+    {
+      func_help noexit
+      for opt_mode in compile link execute install finish uninstall clean; do
+	echo
+	func_mode_help
+      done
+    } |
+    sed '1d
+      /^When reporting/,/^Report/{
+	H
+	d
+      }
+      $x
+      /information about other modes/d
+      /more detailed .*MODE/d
+      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+  fi
+  exit $?
+fi
 
 
 # func_mode_execute arg...
@@ -1643,13 +2523,16 @@ func_mode_execute ()
       func_fatal_help "you must specify a COMMAND"
 
     # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
+    for file in $opt_dlopen; do
       test -f "$file" \
 	|| func_fatal_help "\`$file' is not a file"
 
       dir=
       case $file in
       *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$file" \
 	  || func_fatal_help "\`$lib' is not a valid libtool archive"
@@ -1671,7 +2554,7 @@ func_mode_execute ()
 	dir="$func_dirname_result"
 
 	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
+	  func_append dir "/$objdir"
 	else
 	  if test ! -f "$dir/$dlname"; then
 	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
@@ -1712,7 +2595,7 @@ func_mode_execute ()
     for file
     do
       case $file in
-      -*) ;;
+      -* | *.la | *.lo ) ;;
       *)
 	# Do a test to see if this is really a libtool program.
 	if func_ltwrapper_script_p "$file"; then
@@ -1728,8 +2611,7 @@ func_mode_execute ()
 	;;
       esac
       # Quote arguments (to preserve shell metacharacters).
-      func_quote_for_eval "$file"
-      args="$args $func_quote_for_eval_result"
+      func_append_quoted args "$file"
     done
 
     if test "X$opt_dry_run" = Xfalse; then
@@ -1754,29 +2636,66 @@ func_mode_execute ()
       # Display what would be done.
       if test -n "$shlibpath_var"; then
 	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	$ECHO "export $shlibpath_var"
+	echo "export $shlibpath_var"
       fi
       $ECHO "$cmd$args"
       exit $EXIT_SUCCESS
     fi
 }
 
-test "$mode" = execute && func_mode_execute ${1+"$@"}
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libs=
+    libdirs=
+    admincmds=
+
+    for opt in "$nonopt" ${1+"$@"}
+    do
+      if test -d "$opt"; then
+	func_append libdirs " $opt"
+
+      elif test -f "$opt"; then
+	if func_lalib_unsafe_p "$opt"; then
+	  func_append libs " $opt"
+	else
+	  func_warning "\`$opt' is not a valid libtool archive"
+	fi
+
+      else
+	func_fatal_error "invalid argument \`$opt'"
+      fi
+    done
 
+    if test -n "$libs"; then
+      if test -n "$lt_sysroot"; then
+        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+      else
+        sysroot_cmd=
+      fi
 
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $opt_debug
-    libdirs="$nonopt"
-    admincmds=
+      # Remove sysroot references
+      if $opt_dry_run; then
+        for lib in $libs; do
+          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+        done
+      else
+        tmpdir=`func_mktempdir`
+        for lib in $libs; do
+	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+	    > $tmpdir/tmp-la
+	  mv -f $tmpdir/tmp-la $lib
+	done
+        ${RM}r "$tmpdir"
+      fi
+    fi
 
     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
       for libdir in $libdirs; do
 	if test -n "$finish_cmds"; then
 	  # Do each command in the finish commands.
@@ -1786,7 +2705,7 @@ func_mode_finish ()
 	if test -n "$finish_eval"; then
 	  # Do the single finish_eval.
 	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+	  $opt_dry_run || eval "$cmds" || func_append admincmds "
        $cmds"
 	fi
       done
@@ -1795,53 +2714,55 @@ func_mode_finish ()
     # Exit here if they wanted silent mode.
     $opt_silent && exit $EXIT_SUCCESS
 
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
-    $ECHO "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $ECHO "   $libdir"
-    done
-    $ECHO
-    $ECHO "If you ever happen to want to link against installed libraries"
-    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
-    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $ECHO "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $ECHO "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $ECHO "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      echo "----------------------------------------------------------------------"
+      echo "Libraries have been installed in:"
+      for libdir in $libdirs; do
+	$ECHO "   $libdir"
+      done
+      echo
+      echo "If you ever happen to want to link against installed libraries"
+      echo "in a given directory, LIBDIR, you must either use libtool, and"
+      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+      echo "flag during linking and do at least one of the following:"
+      if test -n "$shlibpath_var"; then
+	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+	echo "     during execution"
+      fi
+      if test -n "$runpath_var"; then
+	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+	echo "     during linking"
+      fi
+      if test -n "$hardcode_libdir_flag_spec"; then
+	libdir=LIBDIR
+	eval flag=\"$hardcode_libdir_flag_spec\"
 
-      $ECHO "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $ECHO "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    $ECHO
+	$ECHO "   - use the \`$flag' linker flag"
+      fi
+      if test -n "$admincmds"; then
+	$ECHO "   - have your system administrator run these commands:$admincmds"
+      fi
+      if test -f /etc/ld.so.conf; then
+	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+      fi
+      echo
 
-    $ECHO "See any operating system documentation about shared libraries for"
-    case $host in
-      solaris2.[6789]|solaris2.1[0-9])
-        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	$ECHO "pages."
-	;;
-      *)
-        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
-        ;;
-    esac
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
+      echo "See any operating system documentation about shared libraries for"
+      case $host in
+	solaris2.[6789]|solaris2.1[0-9])
+	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	  echo "pages."
+	  ;;
+	*)
+	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
+	  ;;
+      esac
+      echo "----------------------------------------------------------------------"
+    fi
     exit $EXIT_SUCCESS
 }
 
-test "$mode" = finish && func_mode_finish ${1+"$@"}
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
 
 
 # func_mode_install arg...
@@ -1852,7 +2773,7 @@ func_mode_install ()
     # install_prog (especially on Windows NT).
     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
        # Allow the use of GNU shtool's install command.
-       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+       case $nonopt in *shtool*) :;; *) false;; esac; then
       # Aesthetically quote it.
       func_quote_for_eval "$nonopt"
       install_prog="$func_quote_for_eval_result "
@@ -1866,7 +2787,12 @@ func_mode_install ()
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
     func_quote_for_eval "$arg"
-    install_prog="$install_prog$func_quote_for_eval_result"
+    func_append install_prog "$func_quote_for_eval_result"
+    install_shared_prog=$install_prog
+    case " $install_prog " in
+      *[\\\ /]cp\ *) install_cp=: ;;
+      *) install_cp=false ;;
+    esac
 
     # We need to accept at least all the BSD install flags.
     dest=
@@ -1876,10 +2802,12 @@ func_mode_install ()
     install_type=
     isdir=no
     stripme=
+    no_mode=:
     for arg
     do
+      arg2=
       if test -n "$dest"; then
-	files="$files $dest"
+	func_append files " $dest"
 	dest=$arg
 	continue
       fi
@@ -1887,10 +2815,9 @@ func_mode_install ()
       case $arg in
       -d) isdir=yes ;;
       -f)
-	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
+	if $install_cp; then :; else
+	  prev=$arg
+	fi
 	;;
       -g | -m | -o)
 	prev=$arg
@@ -1904,6 +2831,10 @@ func_mode_install ()
       *)
 	# If the previous option needed an argument, then skip it.
 	if test -n "$prev"; then
+	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
+	    arg2=$install_override_mode
+	    no_mode=false
+	  fi
 	  prev=
 	else
 	  dest=$arg
@@ -1914,7 +2845,11 @@ func_mode_install ()
 
       # Aesthetically quote the argument.
       func_quote_for_eval "$arg"
-      install_prog="$install_prog $func_quote_for_eval_result"
+      func_append install_prog " $func_quote_for_eval_result"
+      if test -n "$arg2"; then
+	func_quote_for_eval "$arg2"
+      fi
+      func_append install_shared_prog " $func_quote_for_eval_result"
     done
 
     test -z "$install_prog" && \
@@ -1923,6 +2858,13 @@ func_mode_install ()
     test -n "$prev" && \
       func_fatal_help "the \`$prev' option requires an argument"
 
+    if test -n "$install_override_mode" && $no_mode; then
+      if $install_cp; then :; else
+	func_quote_for_eval "$install_override_mode"
+	func_append install_shared_prog " -m $func_quote_for_eval_result"
+      fi
+    fi
+
     if test -z "$files"; then
       if test -z "$dest"; then
 	func_fatal_help "no file or destination specified"
@@ -1977,10 +2919,13 @@ func_mode_install ()
       case $file in
       *.$libext)
 	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
+	func_append staticlibs " $file"
 	;;
 
       *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$file" \
 	  || func_fatal_help "\`$file' is not a valid libtool archive"
@@ -1994,23 +2939,23 @@ func_mode_install ()
 	if test "X$destdir" = "X$libdir"; then
 	  case "$current_libdirs " in
 	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  *) func_append current_libdirs " $libdir" ;;
 	  esac
 	else
 	  # Note the libdir as a future libdir.
 	  case "$future_libdirs " in
 	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  *) func_append future_libdirs " $libdir" ;;
 	  esac
 	fi
 
 	func_dirname "$file" "/" ""
 	dir="$func_dirname_result"
-	dir="$dir$objdir"
+	func_append dir "$objdir"
 
 	if test -n "$relink_command"; then
 	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
 
 	  # Don't allow the user to place us outside of our expected
 	  # location b/c this prevents finding dependent libraries that
@@ -2023,9 +2968,9 @@ func_mode_install ()
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
 	  else
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
 	  fi
 
 	  func_warning "relinking \`$file'"
@@ -2043,7 +2988,7 @@ func_mode_install ()
 	  test -n "$relink_command" && srcname="$realname"T
 
 	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
 	      'exit $?'
 	  tstripme="$stripme"
 	  case $host_os in
@@ -2083,7 +3028,7 @@ func_mode_install ()
 	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
 
 	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
 	;;
 
       *.lo)
@@ -2183,7 +3128,7 @@ func_mode_install ()
 	    if test -f "$lib"; then
 	      func_source "$lib"
 	    fi
-	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
 	    if test -n "$libdir" && test ! -f "$libfile"; then
 	      func_warning "\`$lib' has not been installed in \`$libdir'"
 	      finalize=no
@@ -2202,7 +3147,7 @@ func_mode_install ()
 		file="$func_basename_result"
 	        outputname="$tmpdir/$file"
 	        # Replace the output file specification.
-	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
 
 	        $opt_silent || {
 	          func_quote_for_expand "$relink_command"
@@ -2221,7 +3166,7 @@ func_mode_install ()
 	    }
 	  else
 	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
 	  fi
 	fi
 
@@ -2257,11 +3202,13 @@ func_mode_install ()
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
 
       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
 
       if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
       fi
 
       # Do each command in the postinstall commands.
@@ -2280,7 +3227,7 @@ func_mode_install ()
     fi
 }
 
-test "$mode" = install && func_mode_install ${1+"$@"}
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
 
 
 # func_generate_dlsyms outputname originator pic_p
@@ -2323,6 +3270,22 @@ func_generate_dlsyms ()
 extern \"C\" {
 #endif
 
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
 /* External symbol declarations for the compiler. */\
 "
 
@@ -2332,10 +3295,11 @@ extern \"C\" {
 	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
 
 	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	  for progfile in $progfiles; do
-	    func_verbose "extracting global C symbols from \`$progfile'"
-	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
 	  done
 
 	  if test -n "$exclude_expsyms"; then
@@ -2371,7 +3335,7 @@ extern \"C\" {
 	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
 	      eval '$MV "$nlist"T "$nlist"'
 	      case $host in
-	        *cygwin | *mingw* | *cegcc* )
+	        *cygwin* | *mingw* | *cegcc* )
 	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
 	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
 	          ;;
@@ -2384,10 +3348,52 @@ extern \"C\" {
 	  func_verbose "extracting global C symbols from \`$dlprefile'"
 	  func_basename "$dlprefile"
 	  name="$func_basename_result"
-	  $opt_dry_run || {
-	    eval '$ECHO ": $name " >> "$nlist"'
-	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	  }
+          case $host in
+	    *cygwin* | *mingw* | *cegcc* )
+	      # if an import library, we need to obtain dlname
+	      if func_win32_import_lib_p "$dlprefile"; then
+	        func_tr_sh "$dlprefile"
+	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
+	        dlprefile_dlbasename=""
+	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+	          # Use subshell, to avoid clobbering current variable values
+	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+	          if test -n "$dlprefile_dlname" ; then
+	            func_basename "$dlprefile_dlname"
+	            dlprefile_dlbasename="$func_basename_result"
+	          else
+	            # no lafile. user explicitly requested -dlpreopen <import library>.
+	            $sharedlib_from_linklib_cmd "$dlprefile"
+	            dlprefile_dlbasename=$sharedlib_from_linklib_result
+	          fi
+	        fi
+	        $opt_dry_run || {
+	          if test -n "$dlprefile_dlbasename" ; then
+	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+	          else
+	            func_warning "Could not compute DLL name from $name"
+	            eval '$ECHO ": $name " >> "$nlist"'
+	          fi
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+	        }
+	      else # not an import lib
+	        $opt_dry_run || {
+	          eval '$ECHO ": $name " >> "$nlist"'
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	        }
+	      fi
+	    ;;
+	    *)
+	      $opt_dry_run || {
+	        eval '$ECHO ": $name " >> "$nlist"'
+	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	      }
+	    ;;
+          esac
 	done
 
 	$opt_dry_run || {
@@ -2415,36 +3421,19 @@ extern \"C\" {
 	  if test -f "$nlist"S; then
 	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
 	  else
-	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
 	  fi
 
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
 
 /* The mapping between symbol names and symbols.  */
 typedef struct {
   const char *name;
   void *address;
 } lt_dlsymlist;
-"
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc* )
-	    $ECHO >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs.  */"
-	    lt_dlsym_const= ;;
-	  *osf5*)
-	    echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
-	    lt_dlsym_const= ;;
-	  *)
-	    lt_dlsym_const=const ;;
-	  esac
-
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
+extern LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
+LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =
 {\
   { \"$my_originator\", (void *) 0 },"
@@ -2457,7 +3446,7 @@ lt_${my_prefix}_LTX_preloaded_symbols[]
 	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
 	    ;;
 	  esac
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+	  echo >> "$output_objdir/$my_dlsyms" "\
   {0, (void *) 0}
 };
 
@@ -2484,7 +3473,7 @@ static const void *lt_preloaded_setup()
 	  # linked before any other PIC object.  But we must not use
 	  # pic_flag when linking with -static.  The problem exists in
 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
 	  *-*-hpux*)
 	    pic_flag_for_symtable=" $pic_flag"  ;;
@@ -2500,7 +3489,7 @@ static const void *lt_preloaded_setup()
 	for arg in $LTCFLAGS; do
 	  case $arg in
 	  -pie | -fpie | -fPIE) ;;
-	  *) symtab_cflags="$symtab_cflags $arg" ;;
+	  *) func_append symtab_cflags " $arg" ;;
 	  esac
 	done
 
@@ -2515,16 +3504,16 @@ static const void *lt_preloaded_setup()
 	case $host in
 	*cygwin* | *mingw* | *cegcc* )
 	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
 	  else
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
 	  fi
 	  ;;
 	*)
-	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
 	  ;;
 	esac
 	;;
@@ -2538,8 +3527,8 @@ static const void *lt_preloaded_setup()
       # really was required.
 
       # Nullify the symbol file.
-      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
     fi
 }
 
@@ -2549,6 +3538,7 @@ static const void *lt_preloaded_setup()
 # Need a lot of goo to handle *both* DLLs and import libs
 # Has to be a shell function in order to 'eat' the argument
 # that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
 func_win32_libid ()
 {
   $opt_debug
@@ -2559,9 +3549,11 @@ func_win32_libid ()
     win32_libid_type="x86 archive import"
     ;;
   *ar\ archive*) # could be an import, or static
+    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-      win32_nmres=`eval $NM -f posix -A $1 |
+       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+      func_to_tool_file "$1" func_convert_file_msys_to_w32
+      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
 	$SED -n -e '
 	    1,100{
 		/ I /{
@@ -2590,6 +3582,131 @@ func_win32_libid ()
   $ECHO "$win32_libid_type"
 }
 
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+  $opt_debug
+  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+  $opt_debug
+  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+    $SED '/^Contents of section '"$match_literal"':/{
+      # Place marker at beginning of archive member dllname section
+      s/.*/====MARK====/
+      p
+      d
+    }
+    # These lines can sometimes be longer than 43 characters, but
+    # are always uninteresting
+    /:[	 ]*file format pe[i]\{,1\}-/d
+    /^In archive [^:]*:/d
+    # Ensure marker is printed
+    /^====MARK====/p
+    # Remove all lines with less than 43 characters
+    /^.\{43\}/!d
+    # From remaining lines, remove first 43 characters
+    s/^.\{43\}//' |
+    $SED -n '
+      # Join marker and all lines until next marker into a single line
+      /^====MARK====/ b para
+      H
+      $ b para
+      b
+      :para
+      x
+      s/\n//g
+      # Remove the marker
+      s/^====MARK====//
+      # Remove trailing dots and whitespace
+      s/[\. \t]*$//
+      # Print
+      /./p' |
+    # we now have a list, one entry per line, of the stringified
+    # contents of the appropriate section of all members of the
+    # archive which possess that section. Heuristic: eliminate
+    # all those which have a first or second character that is
+    # a '.' (that is, objdump's representation of an unprintable
+    # character.) This should work for all archives with less than
+    # 0x302f exports -- but will fail for DLLs whose name actually
+    # begins with a literal '.' or a single character followed by
+    # a '.'.
+    #
+    # Of those that remain, print the first one.
+    $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $opt_debug
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $opt_debug
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+  $opt_debug
+  if func_cygming_gnu_implib_p "$1" ; then
+    # binutils import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+  elif func_cygming_ms_implib_p "$1" ; then
+    # ms-generated import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+  else
+    # unknown
+    sharedlib_from_linklib_result=""
+  fi
+}
 
 
 # func_extract_an_archive dir oldlib
@@ -2598,7 +3715,18 @@ func_extract_an_archive ()
     $opt_debug
     f_ex_an_ar_dir="$1"; shift
     f_ex_an_ar_oldlib="$1"
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if test "$lock_old_archive_extraction" = yes; then
+      lockfile=$f_ex_an_ar_oldlib.lock
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    fi
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+		   'stat=$?; rm -f "$lockfile"; exit $stat'
+    if test "$lock_old_archive_extraction" = yes; then
+      $opt_dry_run || rm -f "$lockfile"
+    fi
     if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
      :
     else
@@ -2669,7 +3797,7 @@ func_extract_archives ()
 	    darwin_file=
 	    darwin_files=
 	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
 	      $LIPO -create -output "$darwin_file" $darwin_files
 	    done # $darwin_filelist
 	    $RM -rf unfat-$$
@@ -2684,25 +3812,30 @@ func_extract_archives ()
         func_extract_an_archive "$my_xdir" "$my_xabs"
 	;;
       esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
     done
 
     func_extract_archives_result="$my_oldobjs"
 }
 
 
-
-# func_emit_wrapper_part1 [arg=no]
+# func_emit_wrapper [arg=no]
 #
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
-{
-	func_emit_wrapper_part1_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part1_arg1=$1
-	fi
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+	func_emit_wrapper_arg1=${1-no}
 
 	$ECHO "\
 #! $SHELL
@@ -2718,7 +3851,6 @@ func_emit_wrapper_part1 ()
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
 # Be Bourne compatible
@@ -2749,31 +3881,135 @@ if test \"\$libtool_install_magic\" = \"
 else
   # When we are sourced in execute mode, \$file and \$ECHO are already set.
   if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    ECHO=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$ECHO works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$ECHO will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
+    file=\"\$0\""
+
+    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+    $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+    ECHO=\"$qECHO\"
+  fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+  lt_script_arg0=\$0
+  shift
+  for lt_opt
+  do
+    case \"\$lt_opt\" in
+    --lt-debug) lt_option_debug=1 ;;
+    --lt-dump-script)
+        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+        cat \"\$lt_dump_D/\$lt_dump_F\"
+        exit 0
+      ;;
+    --lt-*)
+        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+        exit 1
+      ;;
+    esac
+  done
+
+  # Print the debug banner immediately:
+  if test -n \"\$lt_option_debug\"; then
+    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+  fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+  lt_dump_args_N=1;
+  for lt_arg
+  do
+    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+  done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
 "
-	$ECHO "\
+  case $host in
+  # Backslashes separate directories on plain windows
+  *-*-mingw | *-*-os2* | *-cegcc*)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+    ;;
+
+  *)
+    $ECHO "\
+      if test -n \"\$lt_option_debug\"; then
+        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+        func_lt_dump_args \${1+\"\$@\"} 1>&2
+      fi
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+    ;;
+  esac
+  $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
+  func_exec_program_core \${1+\"\$@\"}
+}
+
+  # Parse options
+  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
 
   # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 
   # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
   while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
 
     # If there was a directory component, then change thisdir.
     if test \"x\$destdir\" != \"x\$file\"; then
@@ -2783,30 +4019,13 @@ else
       esac
     fi
 
-    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
   done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
-	func_emit_wrapper_part2_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part2_arg1=$1
-	fi
-
-	$ECHO "\
 
   # Usually 'no', except on cygwin/mingw when embedded into
   # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
   if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
     # special case for '.'
     if test \"\$thisdir\" = \".\"; then
@@ -2814,7 +4033,7 @@ func_emit_wrapper_part2 ()
     fi
     # remove .libs from thisdir
     case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
     $objdir )   thisdir=. ;;
     esac
   fi
@@ -2869,6 +4088,18 @@ func_emit_wrapper_part2 ()
 
   if test -f \"\$progdir/\$program\"; then"
 
+	# fixup the dll searchpath if we need to.
+	#
+	# Fix the DLL searchpath if we need to.  Do this before prepending
+	# to shlibpath, because on Windows, both are PATH and uninstalled
+	# libraries must come first.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
 	# Export our shlibpath_var if we have one.
 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 	  $ECHO "\
@@ -2877,253 +4108,28 @@ func_emit_wrapper_part2 ()
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
     # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
 
     export $shlibpath_var
 "
 	fi
 
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
 	$ECHO "\
     if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2* | *-cegcc*)
-	  $ECHO "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $ECHO "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
+      func_exec_program \${1+\"\$@\"}
     fi
   else
     # The program doesn't exist.
     \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
     \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
     exit 1
   fi
 fi\
 "
 }
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_arg1=$1
-	fi
-
-	# split this up so that func_emit_cwrapperexe_src
-	# can call each part independently.
-	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
-	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
-
-
-# func_to_host_path arg
-#
-# Convert paths to host format when used with build tools.
-# Intended for use with "native" mingw (where libtool itself
-# is running under the msys shell), or in the following cross-
-# build environments:
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-# where wine is equipped with the `winepath' executable.
-# In the native mingw case, the (msys) shell automatically
-# converts paths for any non-msys applications it launches,
-# but that facility isn't available from inside the cwrapper.
-# Similar accommodations are necessary for $host mingw and
-# $build cygwin.  Calling this function does no harm for other
-# $host/$build combinations not listed above.
-#
-# ARG is the path (on $build) that should be converted to
-# the proper representation for $host. The result is stored
-# in $func_to_host_path_result.
-func_to_host_path ()
-{
-  func_to_host_path_result="$1"
-  if test -n "$1" ; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        case $build in
-          *mingw* ) # actually, msys
-            # awkward: cmd appends spaces to result
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_path_tmp1=`cygpath -w "$1"`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # Unfortunately, winepath does not exit with a non-zero
-            # error code, so we are forced to check the contents of
-            # stdout. On the other hand, if the command is not
-            # found, the shell will set an exit code of 127 and print
-            # *an error message* to stdout. So we must check for both
-            # error code of zero AND non-empty stdout, which explains
-            # the odd construction:
-            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
-            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-                $SED -e "$lt_sed_naive_backslashify"`
-            else
-              # Allow warning below.
-              func_to_host_path_result=""
-            fi
-            ;;
-        esac
-        if test -z "$func_to_host_path_result" ; then
-          func_error "Could not determine host path corresponding to"
-          func_error "  '$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback:
-          func_to_host_path_result="$1"
-        fi
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_path
-
-# func_to_host_pathlist arg
-#
-# Convert pathlists to host format when used with build tools.
-# See func_to_host_path(), above. This function supports the
-# following $build/$host combinations (but does no harm for
-# combinations not listed here):
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-#
-# Path separators are also converted from $build format to
-# $host format. If ARG begins or ends with a path separator
-# character, it is preserved (but converted to $host format)
-# on output.
-#
-# ARG is a pathlist (on $build) that should be converted to
-# the proper representation on $host. The result is stored
-# in $func_to_host_pathlist_result.
-func_to_host_pathlist ()
-{
-  func_to_host_pathlist_result="$1"
-  if test -n "$1" ; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        # Remove leading and trailing path separator characters from
-        # ARG. msys behavior is inconsistent here, cygpath turns them
-        # into '.;' and ';.', and winepath ignores them completely.
-        func_to_host_pathlist_tmp2="$1"
-        # Once set for this call, this variable should not be
-        # reassigned. It is used in tha fallback case.
-        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
-          $SED -e 's|^:*||' -e 's|:*$||'`
-        case $build in
-          *mingw* ) # Actually, msys.
-            # Awkward: cmd appends spaces to result.
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # unfortunately, winepath doesn't convert pathlists
-            func_to_host_pathlist_result=""
-            func_to_host_pathlist_oldIFS=$IFS
-            IFS=:
-            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
-              IFS=$func_to_host_pathlist_oldIFS
-              if test -n "$func_to_host_pathlist_f" ; then
-                func_to_host_path "$func_to_host_pathlist_f"
-                if test -n "$func_to_host_path_result" ; then
-                  if test -z "$func_to_host_pathlist_result" ; then
-                    func_to_host_pathlist_result="$func_to_host_path_result"
-                  else
-                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
-                  fi
-                fi
-              fi
-              IFS=:
-            done
-            IFS=$func_to_host_pathlist_oldIFS
-            ;;
-        esac
-        if test -z "$func_to_host_pathlist_result" ; then
-          func_error "Could not determine the host path(s) corresponding to"
-          func_error "  '$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback. This may break if $1 contains DOS-style drive
-          # specifications. The fix is not to complicate the expression
-          # below, but for the user to provide a working wine installation
-          # with winepath so that path translation in the cross-to-mingw
-          # case works properly.
-          lt_replace_pathsep_nix_to_dos="s|:|;|g"
-          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
-            $SED -e "$lt_replace_pathsep_nix_to_dos"`
-        fi
-        # Now, add the leading and trailing path separators back
-        case "$1" in
-          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
-            ;;
-        esac
-        case "$1" in
-          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
-            ;;
-        esac
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_pathlist
+
 
 # func_emit_cwrapperexe_src
 # emit the source code for a wrapper executable on stdout
@@ -3141,31 +4147,23 @@ func_emit_cwrapperexe_src ()
 
    This wrapper executable should never be moved out of the build directory.
    If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "$SHELL $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
 */
 EOF
 	    cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #ifdef _MSC_VER
 # include <direct.h>
 # include <process.h>
 # include <io.h>
-# define setmode _setmode
 #else
 # include <unistd.h>
 # include <stdint.h>
 # ifdef __CYGWIN__
 #  include <io.h>
-#  define HAVE_SETENV
-#  ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-#  endif
 # endif
 #endif
 #include <malloc.h>
@@ -3177,6 +4175,44 @@ int setenv (const char *, const char *,
 #include <fcntl.h>
 #include <sys/stat.h>
 
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+#  define _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat    _stat
+# define chmod   _chmod
+# define getcwd  _getcwd
+# define putenv  _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
 #if defined(PATH_MAX)
 # define LT_PATHMAX PATH_MAX
 #elif defined(MAXPATHLEN)
@@ -3192,14 +4228,7 @@ int setenv (const char *, const char *,
 # define S_IXGRP 0
 #endif
 
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#endif
-
+/* path handling portability macros */
 #ifndef DIR_SEPARATOR
 # define DIR_SEPARATOR '/'
 # define PATH_SEPARATOR ':'
@@ -3230,10 +4259,6 @@ int setenv (const char *, const char *,
 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
 #endif /* PATH_SEPARATOR_2 */
 
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
 #ifndef FOPEN_WB
 # define FOPEN_WB "w"
 #endif
@@ -3246,22 +4271,13 @@ int setenv (const char *, const char *,
   if (stale) { free ((void *) stale); stale = 0; } \
 } while (0)
 
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
-    va_list args;
-    va_start (args, fmt);
-    (void) vfprintf (stderr, fmt, args);
-    va_end (args);
-}
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
 #else
-# define LTWRAPPER_DEBUGPRINTF(args)
+static int lt_debug = 0;
 #endif
 
-const char *program_name = NULL;
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
 
 void *xmalloc (size_t num);
 char *xstrdup (const char *string);
@@ -3271,41 +4287,27 @@ char *chase_symlinks (const char *pathsp
 int make_executable (const char *path);
 int check_executable (const char *path);
 char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
 void lt_setenv (const char *name, const char *value);
 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
 void lt_update_exe_path (const char *name, const char *value);
 void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
-	    func_emit_wrapper_part1 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
-	    cat <<EOF
-
-static const char *script_text_part2 =
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
 EOF
-	    func_emit_wrapper_part2 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
 
 	    cat <<EOF
-const char * MAGIC_EXE = "$magic_exe";
+volatile const char * MAGIC_EXE = "$magic_exe";
 const char * LIB_PATH_VARNAME = "$shlibpath_var";
 EOF
 
 	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_pathlist "$temp_rpath"
+              func_to_host_path "$temp_rpath"
 	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
 EOF
 	    else
 	      cat <<"EOF"
@@ -3314,10 +4316,10 @@ EOF
 	    fi
 
 	    if test -n "$dllsearchpath"; then
-              func_to_host_pathlist "$dllsearchpath:"
+              func_to_host_path "$dllsearchpath:"
 	      cat <<EOF
 const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
+const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
 EOF
 	    else
 	      cat <<"EOF"
@@ -3340,24 +4342,10 @@ EOF
 	    cat <<"EOF"
 
 #define LTWRAPPER_OPTION_PREFIX         "--lt-"
-#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
 
-static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-
 static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-
-static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
-  /* argument is putenv-style "foo=bar", value of foo is set to bar */
-
-static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
-  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
-
-static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
-  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
 
 int
 main (int argc, char *argv[])
@@ -3374,10 +4362,13 @@ main (int argc, char *argv[])
   int i;
 
   program_name = (char *) xstrdup (base_name (argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+  newargz = XMALLOC (char *, argc + 1);
 
-  /* very simple arg parsing; don't want to rely on getopt */
+  /* very simple arg parsing; don't want to rely on getopt
+   * also, copy all non cwrapper options to newargz, except
+   * argz[0], which is handled differently
+   */
+  newargc=0;
   for (i = 1; i < argc; i++)
     {
       if (strcmp (argv[i], dumpscript_opt) == 0)
@@ -3391,25 +4382,57 @@ EOF
 	      esac
 
 	    cat <<"EOF"
-	  printf ("%s", script_text_part1);
-	  printf ("%s", script_text_part2);
+	  lt_dump_script (stdout);
 	  return 0;
 	}
+      if (strcmp (argv[i], debug_opt) == 0)
+	{
+          lt_debug = 1;
+          continue;
+	}
+      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal (__FILE__, __LINE__,
+		    "unrecognized %s option: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
     }
+  newargz[++newargc] = NULL;
+
+EOF
+	    cat <<EOF
+  /* The GNU banner must be the first non-error debug message */
+  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+	    cat <<"EOF"
+  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
 
-  newargz = XMALLOC (char *, argc + 1);
   tmp_pathspec = find_executable (argv[0]);
   if (tmp_pathspec == NULL)
-    lt_fatal ("Couldn't find %s", argv[0]);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
-			  tmp_pathspec));
+    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (before symlink chase) at: %s\n",
+		  tmp_pathspec);
 
   actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
-			  actual_cwrapper_path));
+  lt_debugprintf (__FILE__, __LINE__,
+                  "(main) found exe (after symlink chase) at: %s\n",
+		  actual_cwrapper_path);
   XFREE (tmp_pathspec);
 
-  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
   strendzap (actual_cwrapper_path, actual_cwrapper_name);
 
   /* wrapper name transforms */
@@ -3427,8 +4450,9 @@ EOF
   target_name = tmp_pathspec;
   tmp_pathspec = 0;
 
-  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
-			  target_name));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(main) libtool target name: %s\n",
+		  target_name);
 EOF
 
 	    cat <<EOF
@@ -3478,80 +4502,19 @@ EOF
 
   lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
   lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
+     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+     because on Windows, both *_VARNAMEs are PATH but uninstalled
+     libraries must come first. */
   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
 
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
-        {
-          if (argv[i][env_set_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_set_opt_len + 1;
-              lt_opt_process_env_set (p);
-            }
-          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_set (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_set_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
-        {
-          if (argv[i][env_prepend_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_prepend_opt_len + 1;
-              lt_opt_process_env_prepend (p);
-            }
-          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_prepend_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
-        {
-          if (argv[i][env_append_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_append_opt_len + 1;
-              lt_opt_process_env_append (p);
-            }
-          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_append (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_append_opt);
-          continue;
-        }
-      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal ("Unrecognized option in %s namespace: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+		  nonnull (lt_argv_zero));
   for (i = 0; i < newargc; i++)
     {
-      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+		      i, nonnull (newargz[i]));
     }
 
 EOF
@@ -3560,11 +4523,14 @@ EOF
 	      mingw*)
 		cat <<"EOF"
   /* execv doesn't actually work on mingw as expected on unix */
+  newargz = prepare_spawn (newargz);
   rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
   if (rval == -1)
     {
       /* failed to start process */
-      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      lt_debugprintf (__FILE__, __LINE__,
+		      "(main) failed to launch target \"%s\": %s\n",
+		      lt_argv_zero, nonnull (strerror (errno)));
       return 127;
     }
   return rval;
@@ -3586,7 +4552,7 @@ xmalloc (size_t num)
 {
   void *p = (void *) malloc (num);
   if (!p)
-    lt_fatal ("Memory exhausted");
+    lt_fatal (__FILE__, __LINE__, "memory exhausted");
 
   return p;
 }
@@ -3620,8 +4586,8 @@ check_executable (const char *path)
 {
   struct stat st;
 
-  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+                  nonempty (path));
   if ((!path) || (!*path))
     return 0;
 
@@ -3638,8 +4604,8 @@ make_executable (const char *path)
   int rval = 0;
   struct stat st;
 
-  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+                  nonempty (path));
   if ((!path) || (!*path))
     return 0;
 
@@ -3665,8 +4631,8 @@ find_executable (const char *wrapper)
   int tmp_len;
   char *concat_name;
 
-  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
-			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+                  nonempty (wrapper));
 
   if ((wrapper == NULL) || (*wrapper == '\0'))
     return NULL;
@@ -3719,7 +4685,8 @@ find_executable (const char *wrapper)
 		{
 		  /* empty path: current directory */
 		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal ("getcwd failed");
+		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+                              nonnull (strerror (errno)));
 		  tmp_len = strlen (tmp);
 		  concat_name =
 		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
@@ -3744,7 +4711,8 @@ find_executable (const char *wrapper)
     }
   /* Relative path | not found in path: prepend cwd */
   if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
+    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+              nonnull (strerror (errno)));
   tmp_len = strlen (tmp);
   concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
   memcpy (concat_name, tmp, tmp_len);
@@ -3770,8 +4738,9 @@ chase_symlinks (const char *pathspec)
   int has_symlinks = 0;
   while (strlen (tmp_pathspec) && !has_symlinks)
     {
-      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
-			      tmp_pathspec));
+      lt_debugprintf (__FILE__, __LINE__,
+		      "checking path component for symlinks: %s\n",
+		      tmp_pathspec);
       if (lstat (tmp_pathspec, &s) == 0)
 	{
 	  if (S_ISLNK (s.st_mode) != 0)
@@ -3793,8 +4762,9 @@ chase_symlinks (const char *pathspec)
 	}
       else
 	{
-	  char *errstr = strerror (errno);
-	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+	  lt_fatal (__FILE__, __LINE__,
+		    "error accessing file \"%s\": %s",
+		    tmp_pathspec, nonnull (strerror (errno)));
 	}
     }
   XFREE (tmp_pathspec);
@@ -3807,7 +4777,8 @@ chase_symlinks (const char *pathspec)
   tmp_pathspec = realpath (pathspec, buf);
   if (tmp_pathspec == 0)
     {
-      lt_fatal ("Could not follow symlinks for %s", pathspec);
+      lt_fatal (__FILE__, __LINE__,
+		"could not follow symlinks for %s", pathspec);
     }
   return xstrdup (tmp_pathspec);
 #endif
@@ -3833,11 +4804,25 @@ strendzap (char *str, const char *pat)
   return str;
 }
 
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+  va_list args;
+  if (lt_debug)
+    {
+      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+      va_start (args, fmt);
+      (void) vfprintf (stderr, fmt, args);
+      va_end (args);
+    }
+}
+
 static void
-lt_error_core (int exit_status, const char *mode,
+lt_error_core (int exit_status, const char *file,
+	       int line, const char *mode,
 	       const char *message, va_list ap)
 {
-  fprintf (stderr, "%s: %s: ", program_name, mode);
+  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
   vfprintf (stderr, message, ap);
   fprintf (stderr, ".\n");
 
@@ -3846,20 +4831,32 @@ lt_error_core (int exit_status, const ch
 }
 
 void
-lt_fatal (const char *message, ...)
+lt_fatal (const char *file, int line, const char *message, ...)
 {
   va_list ap;
   va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
   va_end (ap);
 }
 
+static const char *
+nonnull (const char *s)
+{
+  return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+  return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
 void
 lt_setenv (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_setenv) setting '%s' to '%s'\n",
+                  nonnull (name), nonnull (value));
   {
 #ifdef HAVE_SETENV
     /* always make a copy, for consistency with !HAVE_SETENV */
@@ -3904,95 +4901,12 @@ lt_extend_str (const char *orig_value, c
   return new_value;
 }
 
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
-  const char *p;
-  int len;
-  if (!arg || !*arg)
-    return 1;
-
-  p = strchr (arg, (int)'=');
-
-  if (!p)
-    return 1;
-
-  *value = xstrdup (++p);
-
-  len = strlen (arg) - strlen (*value);
-  *name = XMALLOC (char, len);
-  strncpy (*name, arg, len-1);
-  (*name)[len - 1] = '\0';
-
-  return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
-    }
-
-  lt_setenv (name, value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 0);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 1);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
 void
 lt_update_exe_path (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
 
   if (name && *name && value && *value)
     {
@@ -4011,9 +4925,9 @@ lt_update_exe_path (const char *name, co
 void
 lt_update_lib_path (const char *name, const char *value)
 {
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
+  lt_debugprintf (__FILE__, __LINE__,
+		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                  nonnull (name), nonnull (value));
 
   if (name && *name && value && *value)
     {
@@ -4023,11 +4937,158 @@ lt_update_lib_path (const char *name, co
     }
 }
 
+EOF
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+   Note that spawn() does not by itself call the command interpreter
+     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+         GetVersionEx(&v);
+         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+      }) ? "cmd.exe" : "command.com").
+   Instead it simply concatenates the arguments, separated by ' ', and calls
+   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
+   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+   special way:
+   - Space and tab are interpreted as delimiters. They are not treated as
+     delimiters if they are surrounded by double quotes: "...".
+   - Unescaped double quotes are removed from the input. Their only effect is
+     that within double quotes, space and tab are treated like normal
+     characters.
+   - Backslashes not followed by double quotes are not special.
+   - But 2*n+1 backslashes followed by a double quote become
+     n backslashes followed by a double quote (n >= 0):
+       \" -> "
+       \\\" -> \"
+       \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+  size_t argc;
+  char **new_argv;
+  size_t i;
+
+  /* Count number of arguments.  */
+  for (argc = 0; argv[argc] != NULL; argc++)
+    ;
+
+  /* Allocate new argument vector.  */
+  new_argv = XMALLOC (char *, argc + 1);
+
+  /* Put quoted arguments into the new argument vector.  */
+  for (i = 0; i < argc; i++)
+    {
+      const char *string = argv[i];
+
+      if (string[0] == '\0')
+	new_argv[i] = xstrdup ("\"\"");
+      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+	{
+	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+	  size_t length;
+	  unsigned int backslashes;
+	  const char *s;
+	  char *quoted_string;
+	  char *p;
+
+	  length = 0;
+	  backslashes = 0;
+	  if (quote_around)
+	    length++;
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		length += backslashes + 1;
+	      length++;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    length += backslashes + 1;
+
+	  quoted_string = XMALLOC (char, length + 1);
+
+	  p = quoted_string;
+	  backslashes = 0;
+	  if (quote_around)
+	    *p++ = '"';
+	  for (s = string; *s != '\0'; s++)
+	    {
+	      char c = *s;
+	      if (c == '"')
+		{
+		  unsigned int j;
+		  for (j = backslashes + 1; j > 0; j--)
+		    *p++ = '\\';
+		}
+	      *p++ = c;
+	      if (c == '\\')
+		backslashes++;
+	      else
+		backslashes = 0;
+	    }
+	  if (quote_around)
+	    {
+	      unsigned int j;
+	      for (j = backslashes; j > 0; j--)
+		*p++ = '\\';
+	      *p++ = '"';
+	    }
+	  *p = '\0';
+
+	  new_argv[i] = quoted_string;
+	}
+      else
+	new_argv[i] = (char *) string;
+    }
+  new_argv[argc] = NULL;
+
+  return new_argv;
+}
+EOF
+		;;
+	    esac
 
+            cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+	    func_emit_wrapper yes |
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
+            cat <<"EOF"
+}
 EOF
 }
 # end: func_emit_cwrapperexe_src
 
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+    $opt_debug
+    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+    *import*) : ;;
+    *) false ;;
+    esac
+}
+
 # func_mode_link arg...
 func_mode_link ()
 {
@@ -4072,6 +5133,7 @@ func_mode_link ()
     new_inherited_linker_flags=
 
     avoid_version=no
+    bindir=
     dlfiles=
     dlprefiles=
     dlself=no
@@ -4164,6 +5226,11 @@ func_mode_link ()
 	esac
 
 	case $prev in
+	bindir)
+	  bindir="$arg"
+	  prev=
+	  continue
+	  ;;
 	dlfiles|dlprefiles)
 	  if test "$preload" = no; then
 	    # Add the symbol object into the linking commands.
@@ -4195,9 +5262,9 @@ func_mode_link ()
 	    ;;
 	  *)
 	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
+	      func_append dlfiles " $arg"
 	    else
-	      dlprefiles="$dlprefiles $arg"
+	      func_append dlprefiles " $arg"
 	    fi
 	    prev=
 	    continue
@@ -4221,7 +5288,7 @@ func_mode_link ()
 	    *-*-darwin*)
 	      case "$deplibs " in
 		*" $qarg.ltframework "*) ;;
-		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+		*) func_append deplibs " $qarg.ltframework" # this is fixed later
 		   ;;
 	      esac
 	      ;;
@@ -4240,7 +5307,7 @@ func_mode_link ()
 	    moreargs=
 	    for fil in `cat "$save_arg"`
 	    do
-#	      moreargs="$moreargs $fil"
+#	      func_append moreargs " $fil"
 	      arg=$fil
 	      # A libtool-controlled object.
 
@@ -4269,7 +5336,7 @@ func_mode_link ()
 
 		  if test "$prev" = dlfiles; then
 		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      dlfiles="$dlfiles $pic_object"
+		      func_append dlfiles " $pic_object"
 		      prev=
 		      continue
 		    else
@@ -4281,7 +5348,7 @@ func_mode_link ()
 		  # CHECK ME:  I think I busted this.  -Ossama
 		  if test "$prev" = dlprefiles; then
 		    # Preload the old-style object.
-		    dlprefiles="$dlprefiles $pic_object"
+		    func_append dlprefiles " $pic_object"
 		    prev=
 		  fi
 
@@ -4351,12 +5418,12 @@ func_mode_link ()
 	  if test "$prev" = rpath; then
 	    case "$rpath " in
 	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
+	    *) func_append rpath " $arg" ;;
 	    esac
 	  else
 	    case "$xrpath " in
 	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
+	    *) func_append xrpath " $arg" ;;
 	    esac
 	  fi
 	  prev=
@@ -4368,28 +5435,28 @@ func_mode_link ()
 	  continue
 	  ;;
 	weak)
-	  weak_libs="$weak_libs $arg"
+	  func_append weak_libs " $arg"
 	  prev=
 	  continue
 	  ;;
 	xcclinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $qarg"
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $qarg"
 	  prev=
 	  func_append compile_command " $qarg"
 	  func_append finalize_command " $qarg"
 	  continue
 	  ;;
 	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
+	  func_append compiler_flags " $qarg"
 	  prev=
 	  func_append compile_command " $qarg"
 	  func_append finalize_command " $qarg"
 	  continue
 	  ;;
 	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $wl$qarg"
 	  prev=
 	  func_append compile_command " $wl$qarg"
 	  func_append finalize_command " $wl$qarg"
@@ -4425,6 +5492,11 @@ func_mode_link ()
 	continue
 	;;
 
+      -bindir)
+	prev=bindir
+	continue
+	;;
+
       -dlopen)
 	prev=dlfiles
 	continue
@@ -4475,15 +5547,16 @@ func_mode_link ()
 	;;
 
       -L*)
-	func_stripname '-L' '' "$arg"
-	dir=$func_stripname_result
-	if test -z "$dir"; then
+	func_stripname "-L" '' "$arg"
+	if test -z "$func_stripname_result"; then
 	  if test "$#" -gt 0; then
 	    func_fatal_error "require no space between \`-L' and \`$1'"
 	  else
 	    func_fatal_error "need path for \`-L' option"
 	  fi
 	fi
+	func_resolve_sysroot "$func_stripname_result"
+	dir=$func_resolve_sysroot_result
 	# We need an absolute path.
 	case $dir in
 	[\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -4495,24 +5568,30 @@ func_mode_link ()
 	  ;;
 	esac
 	case "$deplibs " in
-	*" -L$dir "*) ;;
+	*" -L$dir "* | *" $arg "*)
+	  # Will only happen for absolute or sysroot arguments
+	  ;;
 	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
+	  # Preserve sysroot, but never include relative directories
+	  case $dir in
+	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+	    *) func_append deplibs " -L$dir" ;;
+	  esac
+	  func_append lib_search_path " $dir"
 	  ;;
 	esac
 	case $host in
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
 	  case :$dllsearchpath: in
 	  *":$dir:"*) ;;
 	  ::) dllsearchpath=$dir;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  *) func_append dllsearchpath ":$dir";;
 	  esac
 	  case :$dllsearchpath: in
 	  *":$testbindir:"*) ;;
 	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  *) func_append dllsearchpath ":$testbindir";;
 	  esac
 	  ;;
 	esac
@@ -4522,7 +5601,7 @@ func_mode_link ()
       -l*)
 	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # These systems don't actually have a C or math library (as such)
 	    continue
 	    ;;
@@ -4536,7 +5615,7 @@ func_mode_link ()
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs System.ltframework"
+	    func_append deplibs " System.ltframework"
 	    continue
 	    ;;
 	  *-*-sco3.2v5* | *-*-sco5v6*)
@@ -4556,7 +5635,7 @@ func_mode_link ()
 	   ;;
 	 esac
 	fi
-	deplibs="$deplibs $arg"
+	func_append deplibs " $arg"
 	continue
 	;;
 
@@ -4568,21 +5647,22 @@ func_mode_link ()
       # Tru64 UNIX uses -model [arg] to determine the layout of C++
       # classes, name mangling, and exception handling.
       # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot)
-	compiler_flags="$compiler_flags $arg"
+      -model|-arch|-isysroot|--sysroot)
+	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
 	prev=xcompiler
 	continue
 	;;
 
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	compiler_flags="$compiler_flags $arg"
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
 	case "$new_inherited_linker_flags " in
 	    *" $arg "*) ;;
-	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+	    * ) func_append new_inherited_linker_flags " $arg" ;;
 	esac
 	continue
 	;;
@@ -4649,13 +5729,17 @@ func_mode_link ()
 	# We need an absolute path.
 	case $dir in
 	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	=*)
+	  func_stripname '=' '' "$dir"
+	  dir=$lt_sysroot$func_stripname_result
+	  ;;
 	*)
 	  func_fatal_error "only absolute run-paths are allowed"
 	  ;;
 	esac
 	case "$xrpath " in
 	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
+	*) func_append xrpath " $dir" ;;
 	esac
 	continue
 	;;
@@ -4708,8 +5792,8 @@ func_mode_link ()
 	for flag in $args; do
 	  IFS="$save_ifs"
           func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
+	  func_append arg " $func_quote_for_eval_result"
+	  func_append compiler_flags " $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
 	func_stripname ' ' '' "$arg"
@@ -4724,9 +5808,9 @@ func_mode_link ()
 	for flag in $args; do
 	  IFS="$save_ifs"
           func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
-	  linker_flags="$linker_flags $func_quote_for_eval_result"
+	  func_append arg " $wl$func_quote_for_eval_result"
+	  func_append compiler_flags " $wl$func_quote_for_eval_result"
+	  func_append linker_flags " $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
 	func_stripname ' ' '' "$arg"
@@ -4754,23 +5838,27 @@ func_mode_link ()
 	arg="$func_quote_for_eval_result"
 	;;
 
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # @file GCC response files
+      # Flags to be passed through unchanged, with rationale:
+      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
+      # -r[0-9][0-9]*        specify processor for the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+      # +DA*, +DD*           enable 64-bit mode for the HP compiler
+      # -q*                  compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+      # -F/path              path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
+      # @file                GCC response files
+      # -tp=*                Portland pgcc target processor selection
+      # --sysroot=*          for sysroot support
+      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
         func_quote_for_eval "$arg"
 	arg="$func_quote_for_eval_result"
         func_append compile_command " $arg"
         func_append finalize_command " $arg"
-        compiler_flags="$compiler_flags $arg"
+        func_append compiler_flags " $arg"
         continue
         ;;
 
@@ -4782,7 +5870,7 @@ func_mode_link ()
 
       *.$objext)
 	# A standard object.
-	objs="$objs $arg"
+	func_append objs " $arg"
 	;;
 
       *.lo)
@@ -4813,7 +5901,7 @@ func_mode_link ()
 
 	    if test "$prev" = dlfiles; then
 	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		dlfiles="$dlfiles $pic_object"
+		func_append dlfiles " $pic_object"
 		prev=
 		continue
 	      else
@@ -4825,7 +5913,7 @@ func_mode_link ()
 	    # CHECK ME:  I think I busted this.  -Ossama
 	    if test "$prev" = dlprefiles; then
 	      # Preload the old-style object.
-	      dlprefiles="$dlprefiles $pic_object"
+	      func_append dlprefiles " $pic_object"
 	      prev=
 	    fi
 
@@ -4870,24 +5958,25 @@ func_mode_link ()
 
       *.$libext)
 	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
+	func_append deplibs " $arg"
+	func_append old_deplibs " $arg"
 	continue
 	;;
 
       *.la)
 	# A libtool-controlled library.
 
+	func_resolve_sysroot "$arg"
 	if test "$prev" = dlfiles; then
 	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
+	  func_append dlfiles " $func_resolve_sysroot_result"
 	  prev=
 	elif test "$prev" = dlprefiles; then
 	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
+	  func_append dlprefiles " $func_resolve_sysroot_result"
 	  prev=
 	else
-	  deplibs="$deplibs $arg"
+	  func_append deplibs " $func_resolve_sysroot_result"
 	fi
 	continue
 	;;
@@ -4925,7 +6014,7 @@ func_mode_link ()
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
@@ -4934,6 +6023,8 @@ func_mode_link ()
 
     func_dirname "$output" "/" ""
     output_objdir="$func_dirname_result$objdir"
+    func_to_tool_file "$output_objdir/"
+    tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.
     func_mkdir_p "$output_objdir"
 
@@ -4954,12 +6045,12 @@ func_mode_link ()
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      if $opt_duplicate_deps ; then
+      if $opt_preserve_dup_deps ; then
 	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	esac
       fi
-      libs="$libs $deplib"
+      func_append libs " $deplib"
     done
 
     if test "$linkmode" = lib; then
@@ -4972,9 +6063,9 @@ func_mode_link ()
       if $opt_duplicate_compiler_generated_deps; then
 	for pre_post_dep in $predeps $postdeps; do
 	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
 	  esac
-	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	  func_append pre_post_deps " $pre_post_dep"
 	done
       fi
       pre_post_deps=
@@ -5044,17 +6135,19 @@ func_mode_link ()
 	for lib in $dlprefiles; do
 	  # Ignore non-libtool-libs
 	  dependency_libs=
+	  func_resolve_sysroot "$lib"
 	  case $lib in
-	  *.la)	func_source "$lib" ;;
+	  *.la)	func_source "$func_resolve_sysroot_result" ;;
 	  esac
 
 	  # Collect preopened libtool deplibs, except any this library
 	  # has declared as weak libs
 	  for deplib in $dependency_libs; do
-            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+	    func_basename "$deplib"
+            deplib_base=$func_basename_result
 	    case " $weak_libs " in
 	    *" $deplib_base "*) ;;
-	    *) deplibs="$deplibs $deplib" ;;
+	    *) func_append deplibs " $deplib" ;;
 	    esac
 	  done
 	done
@@ -5070,16 +6163,17 @@ func_mode_link ()
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
 	  else
-	    compiler_flags="$compiler_flags $deplib"
+	    func_append compiler_flags " $deplib"
 	    if test "$linkmode" = lib ; then
 		case "$new_inherited_linker_flags " in
 		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
 		esac
 	    fi
 	  fi
@@ -5164,7 +6258,7 @@ func_mode_link ()
 	    if test "$linkmode" = lib ; then
 		case "$new_inherited_linker_flags " in
 		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
 		esac
 	    fi
 	  fi
@@ -5177,7 +6271,8 @@ func_mode_link ()
 	    test "$pass" = conv && continue
 	    newdependency_libs="$deplib $newdependency_libs"
 	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
 	    ;;
 	  prog)
 	    if test "$pass" = conv; then
@@ -5191,7 +6286,8 @@ func_mode_link ()
 	      finalize_deplibs="$deplib $finalize_deplibs"
 	    fi
 	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
 	    ;;
 	  *)
 	    func_warning "\`-L' is ignored for archives/objects"
@@ -5202,17 +6298,21 @@ func_mode_link ()
 	-R*)
 	  if test "$pass" = link; then
 	    func_stripname '-R' '' "$deplib"
-	    dir=$func_stripname_result
+	    func_resolve_sysroot "$func_stripname_result"
+	    dir=$func_resolve_sysroot_result
 	    # Make sure the xrpath contains only unique directories.
 	    case "$xrpath " in
 	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
+	    *) func_append xrpath " $dir" ;;
 	    esac
 	  fi
 	  deplibs="$deplib $deplibs"
 	  continue
 	  ;;
-	*.la) lib="$deplib" ;;
+	*.la)
+	  func_resolve_sysroot "$deplib"
+	  lib=$func_resolve_sysroot_result
+	  ;;
 	*.$libext)
 	  if test "$pass" = conv; then
 	    deplibs="$deplib $deplibs"
@@ -5230,7 +6330,7 @@ func_mode_link ()
 		match_pattern*)
 		  set dummy $deplibs_check_method; shift
 		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
 		    | $EGREP "$match_pattern_regex" > /dev/null; then
 		    valid_a_lib=yes
 		  fi
@@ -5240,15 +6340,15 @@ func_mode_link ()
 		;;
 	      esac
 	      if test "$valid_a_lib" != yes; then
-		$ECHO
+		echo
 		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
-		$ECHO "*** that it is just a static archive that I should not use here."
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because the file extensions .$libext of this argument makes me believe"
+		echo "*** that it is just a static archive that I should not use here."
 	      else
-		$ECHO
+		echo
 		$ECHO "*** Warning: Linking the shared library $output against the"
 		$ECHO "*** static library $deplib is not portable!"
 		deplibs="$deplib $deplibs"
@@ -5275,11 +6375,11 @@ func_mode_link ()
 	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 	      # If there is no dlopen support or we're linking statically,
 	      # we need to preload.
-	      newdlprefiles="$newdlprefiles $deplib"
+	      func_append newdlprefiles " $deplib"
 	      compile_deplibs="$deplib $compile_deplibs"
 	      finalize_deplibs="$deplib $finalize_deplibs"
 	    else
-	      newdlfiles="$newdlfiles $deplib"
+	      func_append newdlfiles " $deplib"
 	    fi
 	  fi
 	  continue
@@ -5321,20 +6421,20 @@ func_mode_link ()
 
 	# Convert "-framework foo" to "foo.ltframework"
 	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
 	    case " $new_inherited_linker_flags " in
 	      *" $tmp_inherited_linker_flag "*) ;;
-	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
 	    esac
 	  done
 	fi
-	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	  test -n "$dlopen" && func_append dlfiles " $dlopen"
+	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
 	fi
 
 	if test "$pass" = conv; then
@@ -5345,17 +6445,17 @@ func_mode_link ()
 	      func_fatal_error "cannot find name of link library for \`$lib'"
 	    fi
 	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    func_append convenience " $ladir/$objdir/$old_library"
+	    func_append old_convenience " $ladir/$objdir/$old_library"
 	    tmp_libs=
 	    for deplib in $dependency_libs; do
 	      deplibs="$deplib $deplibs"
-	      if $opt_duplicate_deps ; then
+	      if $opt_preserve_dup_deps ; then
 		case "$tmp_libs " in
-		*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
 		esac
 	      fi
-	      tmp_libs="$tmp_libs $deplib"
+	      func_append tmp_libs " $deplib"
 	    done
 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
 	    func_fatal_error "\`$lib' is not a convenience library"
@@ -5366,9 +6466,15 @@ func_mode_link ()
 
 	# Get the name of the library we link against.
 	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
+	if test -n "$old_library" &&
+	   { test "$prefer_static_libs" = yes ||
+	     test "$prefer_static_libs,$installed" = "built,no"; }; then
+	  linklib=$old_library
+	else
+	  for l in $old_library $library_names; do
+	    linklib="$l"
+	  done
+	fi
 	if test -z "$linklib"; then
 	  func_fatal_error "cannot find name of link library for \`$lib'"
 	fi
@@ -5385,9 +6491,9 @@ func_mode_link ()
 	    # statically, we need to preload.  We also need to preload any
 	    # dependent libraries so libltdl's deplib preloader doesn't
 	    # bomb out in the load deplibs phase.
-	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	    func_append dlprefiles " $lib $dependency_libs"
 	  else
-	    newdlfiles="$newdlfiles $lib"
+	    func_append newdlfiles " $lib"
 	  fi
 	  continue
 	fi # $pass = dlopen
@@ -5409,14 +6515,14 @@ func_mode_link ()
 
 	# Find the relevant object directory and library name.
 	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
 	    func_warning "library \`$lib' was moved."
 	    dir="$ladir"
 	    absdir="$abs_ladir"
 	    libdir="$abs_ladir"
 	  else
-	    dir="$libdir"
-	    absdir="$libdir"
+	    dir="$lt_sysroot$libdir"
+	    absdir="$lt_sysroot$libdir"
 	  fi
 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
 	else
@@ -5424,12 +6530,12 @@ func_mode_link ()
 	    dir="$ladir"
 	    absdir="$abs_ladir"
 	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
+	    func_append notinst_path " $abs_ladir"
 	  else
 	    dir="$ladir/$objdir"
 	    absdir="$abs_ladir/$objdir"
 	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
+	    func_append notinst_path " $abs_ladir"
 	  fi
 	fi # $installed = yes
 	func_stripname 'lib' '.la' "$laname"
@@ -5440,20 +6546,46 @@ func_mode_link ()
 	  if test -z "$libdir" && test "$linkmode" = prog; then
 	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
 	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	    # Keep a list of preopened convenience libraries to check
-	    # that they are being used correctly in the link pass.
-	    test -z "$libdir" && \
-		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
+	  case "$host" in
+	    # special handling for platforms with PE-DLLs.
+	    *cygwin* | *mingw* | *cegcc* )
+	      # Linker will automatically link against shared library if both
+	      # static and shared are present.  Therefore, ensure we extract
+	      # symbols from the import library if a shared library is present
+	      # (otherwise, the dlopen module name will be incorrect).  We do
+	      # this by putting the import library name into $newdlprefiles.
+	      # We recover the dlopen module name by 'saving' the la file
+	      # name in a special purpose variable, and (later) extracting the
+	      # dlname from the la file.
+	      if test -n "$dlname"; then
+	        func_tr_sh "$dir/$linklib"
+	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+	        func_append newdlprefiles " $dir/$linklib"
+	      else
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      fi
+	    ;;
+	    * )
+	      # Prefer using a static library (so that no silly _DYNAMIC symbols
+	      # are required to link).
+	      if test -n "$old_library"; then
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      # Otherwise, use the dlname, so that lt_dlopen finds it.
+	      elif test -n "$dlname"; then
+	        func_append newdlprefiles " $dir/$dlname"
+	      else
+	        func_append newdlprefiles " $dir/$linklib"
+	      fi
+	    ;;
+	  esac
 	fi # $pass = dlpreopen
 
 	if test -z "$libdir"; then
@@ -5471,7 +6603,7 @@ func_mode_link ()
 
 
 	if test "$linkmode" = prog && test "$pass" != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
+	  func_append newlib_search_path " $ladir"
 	  deplibs="$lib $deplibs"
 
 	  linkalldeplibs=no
@@ -5484,7 +6616,8 @@ func_mode_link ()
 	  for deplib in $dependency_libs; do
 	    case $deplib in
 	    -L*) func_stripname '-L' '' "$deplib"
-	         newlib_search_path="$newlib_search_path $func_stripname_result"
+	         func_resolve_sysroot "$func_stripname_result"
+	         func_append newlib_search_path " $func_resolve_sysroot_result"
 		 ;;
 	    esac
 	    # Need to link against all dependency_libs?
@@ -5495,12 +6628,12 @@ func_mode_link ()
 	      # or/and link against static libraries
 	      newdependency_libs="$deplib $newdependency_libs"
 	    fi
-	    if $opt_duplicate_deps ; then
+	    if $opt_preserve_dup_deps ; then
 	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	      esac
 	    fi
-	    tmp_libs="$tmp_libs $deplib"
+	    func_append tmp_libs " $deplib"
 	  done # for deplib
 	  continue
 	fi # $linkmode = prog...
@@ -5515,7 +6648,7 @@ func_mode_link ()
 	      # Make sure the rpath contains only unique directories.
 	      case "$temp_rpath:" in
 	      *"$absdir:"*) ;;
-	      *) temp_rpath="$temp_rpath$absdir:" ;;
+	      *) func_append temp_rpath "$absdir:" ;;
 	      esac
 	    fi
 
@@ -5527,7 +6660,7 @@ func_mode_link ()
 	    *)
 	      case "$compile_rpath " in
 	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
+	      *) func_append compile_rpath " $absdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5536,7 +6669,7 @@ func_mode_link ()
 	    *)
 	      case "$finalize_rpath " in
 	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
+	      *) func_append finalize_rpath " $libdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5561,12 +6694,12 @@ func_mode_link ()
 	  case $host in
 	  *cygwin* | *mingw* | *cegcc*)
 	      # No point in relinking DLLs because paths are not encoded
-	      notinst_deplibs="$notinst_deplibs $lib"
+	      func_append notinst_deplibs " $lib"
 	      need_relink=no
 	    ;;
 	  *)
 	    if test "$installed" = no; then
-	      notinst_deplibs="$notinst_deplibs $lib"
+	      func_append notinst_deplibs " $lib"
 	      need_relink=yes
 	    fi
 	    ;;
@@ -5583,7 +6716,7 @@ func_mode_link ()
 	    fi
 	  done
 	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-	    $ECHO
+	    echo
 	    if test "$linkmode" = prog; then
 	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
 	    else
@@ -5601,7 +6734,7 @@ func_mode_link ()
 	    *)
 	      case "$compile_rpath " in
 	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
+	      *) func_append compile_rpath " $absdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5610,7 +6743,7 @@ func_mode_link ()
 	    *)
 	      case "$finalize_rpath " in
 	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
+	      *) func_append finalize_rpath " $libdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5664,7 +6797,7 @@ func_mode_link ()
 	    linklib=$newlib
 	  fi # test -n "$old_archive_from_expsyms_cmds"
 
-	  if test "$linkmode" = prog || test "$mode" != relink; then
+	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
@@ -5686,9 +6819,9 @@ func_mode_link ()
 		      if test "X$dlopenmodule" != "X$lib"; then
 			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
 			if test -z "$old_library" ; then
-			  $ECHO
-			  $ECHO "*** And there doesn't seem to be a static archive available"
-			  $ECHO "*** The link will probably fail, sorry"
+			  echo
+			  echo "*** And there doesn't seem to be a static archive available"
+			  echo "*** The link will probably fail, sorry"
 			else
 			  add="$dir/$old_library"
 			fi
@@ -5715,12 +6848,12 @@ func_mode_link ()
 	         test "$hardcode_direct_absolute" = no; then
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
+		add_dir="-L$absdir"
 		# Try looking first in the location we're being installed to.
 		if test -n "$inst_prefix_dir"; then
 		  case $libdir in
 		    [\\/]*)
-		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      func_append add_dir " -L$inst_prefix_dir$libdir"
 		      ;;
 		  esac
 		fi
@@ -5742,7 +6875,7 @@ func_mode_link ()
 	    if test -n "$add_shlibpath"; then
 	      case :$compile_shlibpath: in
 	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
 	      esac
 	    fi
 	    if test "$linkmode" = prog; then
@@ -5756,13 +6889,13 @@ func_mode_link ()
 		 test "$hardcode_shlibpath_var" = yes; then
 		case :$finalize_shlibpath: in
 		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		*) func_append finalize_shlibpath "$libdir:" ;;
 		esac
 	      fi
 	    fi
 	  fi
 
-	  if test "$linkmode" = prog || test "$mode" = relink; then
+	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
@@ -5776,7 +6909,7 @@ func_mode_link ()
 	    elif test "$hardcode_shlibpath_var" = yes; then
 	      case :$finalize_shlibpath: in
 	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      *) func_append finalize_shlibpath "$libdir:" ;;
 	      esac
 	      add="-l$name"
 	    elif test "$hardcode_automatic" = yes; then
@@ -5793,7 +6926,7 @@ func_mode_link ()
 	      if test -n "$inst_prefix_dir"; then
 		case $libdir in
 		  [\\/]*)
-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    func_append add_dir " -L$inst_prefix_dir$libdir"
 		    ;;
 		esac
 	      fi
@@ -5828,21 +6961,21 @@ func_mode_link ()
 
 	    # Just print a warning and add the library to dependency_libs so
 	    # that the program can be linked against the static library.
-	    $ECHO
+	    echo
 	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
-	    $ECHO "*** I have the capability to make that library automatically link in when"
-	    $ECHO "*** you link to this library.  But I can only do this if you have a"
-	    $ECHO "*** shared version of the library, which you do not appear to have."
+	    echo "*** I have the capability to make that library automatically link in when"
+	    echo "*** you link to this library.  But I can only do this if you have a"
+	    echo "*** shared version of the library, which you do not appear to have."
 	    if test "$module" = yes; then
-	      $ECHO "*** But as you try to build a module library, libtool will still create "
-	      $ECHO "*** a static module, that should work as long as the dlopening application"
-	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 	      if test -z "$global_symbol_pipe"; then
-		$ECHO
-		$ECHO "*** However, this would only work if libtool was able to extract symbol"
-		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$ECHO "*** not find such a program.  So, this module is probably useless."
-		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	      fi
 	      if test "$build_old_libs" = no; then
 		build_libtool_libs=module
@@ -5870,27 +7003,33 @@ func_mode_link ()
 	           temp_xrpath=$func_stripname_result
 		   case " $xrpath " in
 		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
+		   *) func_append xrpath " $temp_xrpath";;
 		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      *) func_append temp_deplibs " $libdir";;
 	      esac
 	    done
 	    dependency_libs="$temp_deplibs"
 	  fi
 
-	  newlib_search_path="$newlib_search_path $absdir"
+	  func_append newlib_search_path " $absdir"
 	  # Link against this library
 	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
 	  # ... and its dependency_libs
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    newdependency_libs="$deplib $newdependency_libs"
-	    if $opt_duplicate_deps ; then
+	    case $deplib in
+              -L*) func_stripname '-L' '' "$deplib"
+                   func_resolve_sysroot "$func_stripname_result";;
+              *) func_resolve_sysroot "$deplib" ;;
+            esac
+	    if $opt_preserve_dup_deps ; then
 	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      *" $func_resolve_sysroot_result "*)
+                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
 	      esac
 	    fi
-	    tmp_libs="$tmp_libs $deplib"
+	    func_append tmp_libs " $func_resolve_sysroot_result"
 	  done
 
 	  if test "$link_all_deplibs" != no; then
@@ -5900,8 +7039,10 @@ func_mode_link ()
 	      case $deplib in
 	      -L*) path="$deplib" ;;
 	      *.la)
+	        func_resolve_sysroot "$deplib"
+	        deplib=$func_resolve_sysroot_result
 	        func_dirname "$deplib" "" "."
-		dir="$func_dirname_result"
+		dir=$func_dirname_result
 		# We need an absolute path.
 		case $dir in
 		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
@@ -5928,8 +7069,8 @@ func_mode_link ()
                       if test -z "$darwin_install_name"; then
                           darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                       fi
-		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
 		      path=
 		    fi
 		  fi
@@ -5962,7 +7103,7 @@ func_mode_link ()
 	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
 	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
 	else
-	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	fi
       fi
       dependency_libs="$newdependency_libs"
@@ -5979,7 +7120,7 @@ func_mode_link ()
 	  for dir in $newlib_search_path; do
 	    case "$lib_search_path " in
 	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
+	    *) func_append lib_search_path " $dir" ;;
 	    esac
 	  done
 	  newlib_search_path=
@@ -6037,10 +7178,10 @@ func_mode_link ()
 	    -L*)
 	      case " $tmp_libs " in
 	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      *) func_append tmp_libs " $deplib" ;;
 	      esac
 	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    *) func_append tmp_libs " $deplib" ;;
 	    esac
 	  done
 	  eval $var=\"$tmp_libs\"
@@ -6056,7 +7197,7 @@ func_mode_link ()
 	  ;;
 	esac
 	if test -n "$i" ; then
-	  tmp_libs="$tmp_libs $i"
+	  func_append tmp_libs " $i"
 	fi
       done
       dependency_libs=$tmp_libs
@@ -6097,7 +7238,7 @@ func_mode_link ()
       # Now set the variables for building old libraries.
       build_libtool_libs=no
       oldlibs="$output"
-      objs="$objs$old_deplibs"
+      func_append objs "$old_deplibs"
       ;;
 
     lib)
@@ -6130,10 +7271,10 @@ func_mode_link ()
 	if test "$deplibs_check_method" != pass_all; then
 	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
 	else
-	  $ECHO
+	  echo
 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
 	  $ECHO "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
+	  func_append libobjs " $objs"
 	fi
       fi
 
@@ -6192,13 +7333,14 @@ func_mode_link ()
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
 	  darwin|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
 	    age="$number_minor"
 	    revision="$number_revision"
 	    ;;
-	  freebsd-aout|freebsd-elf|sunos)
+	  freebsd-aout|freebsd-elf|qnx|sunos)
 	    current="$number_major"
 	    revision="$number_minor"
 	    age="0"
@@ -6311,7 +7453,7 @@ func_mode_link ()
 	  versuffix="$major.$revision"
 	  ;;
 
-	linux)
+	linux) # correct to gnu/linux during the next big refactor
 	  func_arith $current - $age
 	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
@@ -6334,7 +7476,7 @@ func_mode_link ()
 	  done
 
 	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
+	  func_append verstring ":${current}.0"
 	  ;;
 
 	qnx)
@@ -6402,10 +7544,10 @@ func_mode_link ()
       fi
 
       func_generate_dlsyms "$libname" "$libname" "yes"
-      libobjs="$libobjs $symfileobj"
+      func_append libobjs " $symfileobj"
       test "X$libobjs" = "X " && libobjs=
 
-      if test "$mode" != relink; then
+      if test "$opt_mode" != relink; then
 	# Remove our outputs, but don't remove object files since they
 	# may have been created when compiling PIC objects.
 	removelist=
@@ -6421,7 +7563,7 @@ func_mode_link ()
 		   continue
 		 fi
 	       fi
-	       removelist="$removelist $p"
+	       func_append removelist " $p"
 	       ;;
 	    *) ;;
 	  esac
@@ -6432,27 +7574,28 @@ func_mode_link ()
 
       # Now set the variables for building old libraries.
       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+	func_append oldlibs " $output_objdir/$libname.$libext"
 
 	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
       #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
-      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
       #done
 
       if test -n "$xrpath"; then
 	# If the user specified any rpath flags, then add them.
 	temp_xrpath=
 	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
+	  func_replace_sysroot "$libdir"
+	  func_append temp_xrpath " -R$func_replace_sysroot_result"
 	  case "$finalize_rpath " in
 	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  *) func_append finalize_rpath " $libdir" ;;
 	  esac
 	done
 	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
@@ -6466,7 +7609,7 @@ func_mode_link ()
       for lib in $old_dlfiles; do
 	case " $dlprefiles $dlfiles " in
 	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
+	*) func_append dlfiles " $lib" ;;
 	esac
       done
 
@@ -6476,19 +7619,19 @@ func_mode_link ()
       for lib in $old_dlprefiles; do
 	case "$dlprefiles " in
 	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
+	*) func_append dlprefiles " $lib" ;;
 	esac
       done
 
       if test "$build_libtool_libs" = yes; then
 	if test -n "$rpath"; then
 	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
 	    # these systems don't actually have a c library (as such)!
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs System.ltframework"
+	    func_append deplibs " System.ltframework"
 	    ;;
 	  *-*-netbsd*)
 	    # Don't link with libc until the a.out ld.so is fixed.
@@ -6505,7 +7648,7 @@ func_mode_link ()
 	  *)
 	    # Add libc to deplibs on all other systems if necessary.
 	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
+	      func_append deplibs " -lc"
 	    fi
 	    ;;
 	  esac
@@ -6554,7 +7697,7 @@ EOF
 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		  case " $predeps $postdeps " in
 		  *" $i "*)
-		    newdeplibs="$newdeplibs $i"
+		    func_append newdeplibs " $i"
 		    i=""
 		    ;;
 		  esac
@@ -6565,21 +7708,21 @@ EOF
 		  set dummy $deplib_matches; shift
 		  deplib_match=$1
 		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
+		    func_append newdeplibs " $i"
 		  else
 		    droppeddeps=yes
-		    $ECHO
+		    echo
 		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    $ECHO "*** I have the capability to make that library automatically link in when"
-		    $ECHO "*** you link to this library.  But I can only do this if you have a"
-		    $ECHO "*** shared version of the library, which I believe you do not have"
-		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
-		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+		    echo "*** I have the capability to make that library automatically link in when"
+		    echo "*** you link to this library.  But I can only do this if you have a"
+		    echo "*** shared version of the library, which I believe you do not have"
+		    echo "*** because a test_compile did reveal that the linker did not use it for"
+		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
 		  fi
 		fi
 		;;
 	      *)
-		newdeplibs="$newdeplibs $i"
+		func_append newdeplibs " $i"
 		;;
 	      esac
 	    done
@@ -6597,7 +7740,7 @@ EOF
 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		    case " $predeps $postdeps " in
 		    *" $i "*)
-		      newdeplibs="$newdeplibs $i"
+		      func_append newdeplibs " $i"
 		      i=""
 		      ;;
 		    esac
@@ -6608,29 +7751,29 @@ EOF
 		    set dummy $deplib_matches; shift
 		    deplib_match=$1
 		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		      newdeplibs="$newdeplibs $i"
+		      func_append newdeplibs " $i"
 		    else
 		      droppeddeps=yes
-		      $ECHO
+		      echo
 		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      $ECHO "*** I have the capability to make that library automatically link in when"
-		      $ECHO "*** you link to this library.  But I can only do this if you have a"
-		      $ECHO "*** shared version of the library, which you do not appear to have"
-		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
-		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+		      echo "*** I have the capability to make that library automatically link in when"
+		      echo "*** you link to this library.  But I can only do this if you have a"
+		      echo "*** shared version of the library, which you do not appear to have"
+		      echo "*** because a test_compile did reveal that the linker did not use this one"
+		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
 		    fi
 		  fi
 		else
 		  droppeddeps=yes
-		  $ECHO
+		  echo
 		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $ECHO "*** make it link in!  You will probably need to install it or some"
-		  $ECHO "*** library that it depends on before this library will be fully"
-		  $ECHO "*** functional.  Installing it before continuing would be even better."
+		  echo "*** make it link in!  You will probably need to install it or some"
+		  echo "*** library that it depends on before this library will be fully"
+		  echo "*** functional.  Installing it before continuing would be even better."
 		fi
 		;;
 	      *)
-		newdeplibs="$newdeplibs $i"
+		func_append newdeplibs " $i"
 		;;
 	      esac
 	    done
@@ -6647,15 +7790,27 @@ EOF
 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
+		  func_append newdeplibs " $a_deplib"
 		  a_deplib=""
 		  ;;
 		esac
 	      fi
 	      if test -n "$a_deplib" ; then
 		libname=`eval "\\$ECHO \"$libname_spec\""`
+		if test -n "$file_magic_glob"; then
+		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+		else
+		  libnameglob=$libname
+		fi
+		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  if test "$want_nocaseglob" = yes; then
+		    shopt -s nocaseglob
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		    $nocaseglob
+		  else
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		  fi
 		  for potent_lib in $potential_libs; do
 		      # Follow soft links.
 		      if ls -lLd "$potent_lib" 2>/dev/null |
@@ -6672,13 +7827,13 @@ EOF
 			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 			case $potliblink in
 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
 			esac
 		      done
 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
 			 $SED -e 10q |
 			 $EGREP "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
+			func_append newdeplibs " $a_deplib"
 			a_deplib=""
 			break 2
 		      fi
@@ -6687,12 +7842,12 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$ECHO
+		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
 		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
 		else
@@ -6703,7 +7858,7 @@ EOF
 	      ;;
 	    *)
 	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
+	      func_append newdeplibs " $a_deplib"
 	      ;;
 	    esac
 	  done # Gone through all deplibs.
@@ -6719,7 +7874,7 @@ EOF
 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
+		  func_append newdeplibs " $a_deplib"
 		  a_deplib=""
 		  ;;
 		esac
@@ -6730,9 +7885,9 @@ EOF
 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		  for potent_lib in $potential_libs; do
 		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
 		       $EGREP "$match_pattern_regex" > /dev/null; then
-		      newdeplibs="$newdeplibs $a_deplib"
+		      func_append newdeplibs " $a_deplib"
 		      a_deplib=""
 		      break 2
 		    fi
@@ -6741,12 +7896,12 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$ECHO
+		echo
 		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
+		echo "*** I have the capability to make that library automatically link in when"
+		echo "*** you link to this library.  But I can only do this if you have a"
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
 		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
 		else
@@ -6757,32 +7912,32 @@ EOF
 	      ;;
 	    *)
 	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
+	      func_append newdeplibs " $a_deplib"
 	      ;;
 	    esac
 	  done # Gone through all deplibs.
 	  ;;
 	none | unknown | *)
 	  newdeplibs=""
-	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
-	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
 	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 	    for i in $predeps $postdeps ; do
 	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
 	    done
 	  fi
-	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
-	     $GREP . >/dev/null; then
-	    $ECHO
+	  case $tmp_deplibs in
+	  *[!\	\ ]*)
+	    echo
 	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+	      echo "*** Warning: inter-library dependencies are not supported in this platform."
 	    else
-	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+	      echo "*** Warning: inter-library dependencies are not known to be supported."
 	    fi
-	    $ECHO "*** All declared inter-library dependencies are being dropped."
+	    echo "*** All declared inter-library dependencies are being dropped."
 	    droppeddeps=yes
-	  fi
+	    ;;
+	  esac
 	  ;;
 	esac
 	versuffix=$versuffix_save
@@ -6794,23 +7949,23 @@ EOF
 	case $host in
 	*-*-rhapsody* | *-*-darwin1.[012])
 	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
 	  ;;
 	esac
 
 	if test "$droppeddeps" = yes; then
 	  if test "$module" = yes; then
-	    $ECHO
-	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+	    echo
+	    echo "*** Warning: libtool could not satisfy all declared inter-library"
 	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $ECHO "*** a static module, that should work as long as the dlopening"
-	    $ECHO "*** application is linked with the -dlopen flag."
+	    echo "*** a static module, that should work as long as the dlopening"
+	    echo "*** application is linked with the -dlopen flag."
 	    if test -z "$global_symbol_pipe"; then
-	      $ECHO
-	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
-	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $ECHO "*** not find such a program.  So, this module is probably useless."
-	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+	      echo
+	      echo "*** However, this would only work if libtool was able to extract symbol"
+	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      echo "*** not find such a program.  So, this module is probably useless."
+	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	    fi
 	    if test "$build_old_libs" = no; then
 	      oldlibs="$output_objdir/$libname.$libext"
@@ -6820,16 +7975,16 @@ EOF
 	      build_libtool_libs=no
 	    fi
 	  else
-	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
-	    $ECHO "*** automatically added whenever a program is linked with this library"
-	    $ECHO "*** or is declared to -dlopen it."
+	    echo "*** The inter-library dependencies that have been dropped here will be"
+	    echo "*** automatically added whenever a program is linked with this library"
+	    echo "*** or is declared to -dlopen it."
 
 	    if test "$allow_undefined" = no; then
-	      $ECHO
-	      $ECHO "*** Since this library must not contain undefined symbols,"
-	      $ECHO "*** because either the platform does not support them or"
-	      $ECHO "*** it was explicitly requested with -no-undefined,"
-	      $ECHO "*** libtool will only create a static version of it."
+	      echo
+	      echo "*** Since this library must not contain undefined symbols,"
+	      echo "*** because either the platform does not support them or"
+	      echo "*** it was explicitly requested with -no-undefined,"
+	      echo "*** libtool will only create a static version of it."
 	      if test "$build_old_libs" = no; then
 		oldlibs="$output_objdir/$libname.$libext"
 		build_libtool_libs=module
@@ -6846,9 +8001,9 @@ EOF
       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
       case $host in
 	*-*-darwin*)
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	  ;;
       esac
 
@@ -6861,7 +8016,7 @@ EOF
 	*)
 	  case " $deplibs " in
 	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
+	    func_append new_libs " -L$path/$objdir" ;;
 	  esac
 	  ;;
 	esac
@@ -6871,10 +8026,10 @@ EOF
 	-L*)
 	  case " $new_libs " in
 	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
+	  *) func_append new_libs " $deplib" ;;
 	  esac
 	  ;;
-	*) new_libs="$new_libs $deplib" ;;
+	*) func_append new_libs " $deplib" ;;
 	esac
       done
       deplibs="$new_libs"
@@ -6886,15 +8041,22 @@ EOF
 
       # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then
+	# Remove ${wl} instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
 	if test "$hardcode_into_libs" = yes; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
 	  dep_rpath=
 	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
 	  for libdir in $rpath; do
 	    if test -n "$hardcode_libdir_flag_spec"; then
 	      if test -n "$hardcode_libdir_separator"; then
+		func_replace_sysroot "$libdir"
+		libdir=$func_replace_sysroot_result
 		if test -z "$hardcode_libdirs"; then
 		  hardcode_libdirs="$libdir"
 		else
@@ -6903,18 +8065,18 @@ EOF
 		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 		    ;;
 		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
 		    ;;
 		  esac
 		fi
 	      else
 		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
+		func_append dep_rpath " $flag"
 	      fi
 	    elif test -n "$runpath_var"; then
 	      case "$perm_rpath " in
 	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      *) func_append perm_rpath " $libdir" ;;
 	      esac
 	    fi
 	  done
@@ -6922,17 +8084,13 @@ EOF
 	  if test -n "$hardcode_libdir_separator" &&
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
 	  fi
 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
 	    # We should set the runpath_var.
 	    rpath=
 	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
+	      func_append rpath "$dir:"
 	    done
 	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
 	  fi
@@ -6940,7 +8098,7 @@ EOF
 	fi
 
 	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
 	if test -n "$shlibpath"; then
 	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
 	fi
@@ -6966,18 +8124,18 @@ EOF
 	linknames=
 	for link
 	do
-	  linknames="$linknames $link"
+	  func_append linknames " $link"
 	done
 
 	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	test "X$libobjs" = "X " && libobjs=
 
 	delfiles=
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
 	  export_symbols="$output_objdir/$libname.uexp"
-	  delfiles="$delfiles $export_symbols"
+	  func_append delfiles " $export_symbols"
 	fi
 
 	orig_export_symbols=
@@ -7008,13 +8166,45 @@ EOF
 	    $opt_dry_run || $RM $export_symbols
 	    cmds=$export_symbols_cmds
 	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
+	    for cmd1 in $cmds; do
 	      IFS="$save_ifs"
-	      eval cmd=\"$cmd\"
-	      func_len " $cmd"
-	      len=$func_len_result
-	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	      # Take the normal branch if the nm_file_list_spec branch
+	      # doesn't work or if tool conversion is not needed.
+	      case $nm_file_list_spec~$to_tool_file_cmd in
+		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+		  try_normal_branch=yes
+		  eval cmd=\"$cmd1\"
+		  func_len " $cmd"
+		  len=$func_len_result
+		  ;;
+		*)
+		  try_normal_branch=no
+		  ;;
+	      esac
+	      if test "$try_normal_branch" = yes \
+		 && { test "$len" -lt "$max_cmd_len" \
+		      || test "$max_cmd_len" -le -1; }
+	      then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
+	      elif test -n "$nm_file_list_spec"; then
+		func_basename "$output"
+		output_la=$func_basename_result
+		save_libobjs=$libobjs
+		save_output=$output
+		output=${output_objdir}/${output_la}.nm
+		func_to_tool_file "$output"
+		libobjs=$nm_file_list_spec$func_to_tool_file_result
+		func_append delfiles " $output"
+		func_verbose "creating $NM input file list: $output"
+		for obj in $save_libobjs; do
+		  func_to_tool_file "$obj"
+		  $ECHO "$func_to_tool_file_result"
+		done > "$output"
+		eval cmd=\"$cmd1\"
 		func_show_eval "$cmd" 'exit $?'
+		output=$save_output
+		libobjs=$save_libobjs
 		skipped_export=false
 	      else
 		# The command line is too long to execute in one step.
@@ -7036,7 +8226,7 @@ EOF
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	  tmp_export_symbols="$export_symbols"
 	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	fi
 
 	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
@@ -7048,7 +8238,7 @@ EOF
 	  # global variables. join(1) would be nice here, but unfortunately
 	  # isn't a blessed tool.
 	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
 	  export_symbols=$output_objdir/$libname.def
 	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 	fi
@@ -7058,7 +8248,7 @@ EOF
 	  case " $convenience " in
 	  *" $test_deplib "*) ;;
 	  *)
-	    tmp_deplibs="$tmp_deplibs $test_deplib"
+	    func_append tmp_deplibs " $test_deplib"
 	    ;;
 	  esac
 	done
@@ -7078,21 +8268,21 @@ EOF
 	    test "X$libobjs" = "X " && libobjs=
 	  else
 	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
+	    func_append generated " $gentop"
 
 	    func_extract_archives $gentop $convenience
-	    libobjs="$libobjs $func_extract_archives_result"
+	    func_append libobjs " $func_extract_archives_result"
 	    test "X$libobjs" = "X " && libobjs=
 	  fi
 	fi
 
 	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
 	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
+	  func_append linker_flags " $flag"
 	fi
 
 	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
+	if test "$opt_mode" = relink; then
 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
 	fi
 
@@ -7137,7 +8327,8 @@ EOF
 	    save_libobjs=$libobjs
 	  fi
 	  save_output=$output
-	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+	  func_basename "$output"
+	  output_la=$func_basename_result
 
 	  # Clear the reloadable object creation command queue and
 	  # initialize k to one.
@@ -7150,13 +8341,16 @@ EOF
 	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
 	    output=${output_objdir}/${output_la}.lnkscript
 	    func_verbose "creating GNU ld script: $output"
-	    $ECHO 'INPUT (' > $output
+	    echo 'INPUT (' > $output
 	    for obj in $save_libobjs
 	    do
-	      $ECHO "$obj" >> $output
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
 	    done
-	    $ECHO ')' >> $output
-	    delfiles="$delfiles $output"
+	    echo ')' >> $output
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$func_to_tool_file_result
 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
 	    output=${output_objdir}/${output_la}.lnk
 	    func_verbose "creating linker input file list: $output"
@@ -7170,10 +8364,12 @@ EOF
 	    fi
 	    for obj
 	    do
-	      $ECHO "$obj" >> $output
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
 	    done
-	    delfiles="$delfiles $output"
-	    output=$firstobj\"$file_list_spec$output\"
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
 	  else
 	    if test -n "$save_libobjs"; then
 	      func_verbose "creating reloadable object files..."
@@ -7197,17 +8393,19 @@ EOF
 		  # command to the queue.
 		  if test "$k" -eq 1 ; then
 		    # The first file doesn't have a previous command to add.
-		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+		    reload_objs=$objlist
+		    eval concat_cmds=\"$reload_cmds\"
 		  else
 		    # All subsequent reloadable object files will link in
 		    # the last one created.
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+		    reload_objs="$objlist $last_robj"
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
 		  fi
 		  last_robj=$output_objdir/$output_la-${k}.$objext
 		  func_arith $k + 1
 		  k=$func_arith_result
 		  output=$output_objdir/$output_la-${k}.$objext
-		  objlist=$obj
+		  objlist=" $obj"
 		  func_len " $last_robj"
 		  func_arith $len0 + $func_len_result
 		  len=$func_arith_result
@@ -7217,11 +8415,12 @@ EOF
 	      # reloadable object file.  All subsequent reloadable object
 	      # files will link in the last one created.
 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+	      reload_objs="$objlist $last_robj"
+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
 	      if test -n "$last_robj"; then
 	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
 	      fi
-	      delfiles="$delfiles $output"
+	      func_append delfiles " $output"
 
 	    else
 	      output=
@@ -7255,7 +8454,7 @@ EOF
 		lt_exit=$?
 
 		# Restore the uninstalled library and exit
-		if test "$mode" = relink; then
+		if test "$opt_mode" = relink; then
 		  ( cd "$output_objdir" && \
 		    $RM "${realname}T" && \
 		    $MV "${realname}U" "$realname" )
@@ -7276,7 +8475,7 @@ EOF
 	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	      tmp_export_symbols="$export_symbols"
 	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
 	    fi
 
 	    if test -n "$orig_export_symbols"; then
@@ -7288,7 +8487,7 @@ EOF
 	      # global variables. join(1) would be nice here, but unfortunately
 	      # isn't a blessed tool.
 	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
 	      export_symbols=$output_objdir/$libname.def
 	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 	    fi
@@ -7329,10 +8528,10 @@ EOF
 	# Add any objects from preloaded convenience libraries
 	if test -n "$dlprefiles"; then
 	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $dlprefiles
-	  libobjs="$libobjs $func_extract_archives_result"
+	  func_append libobjs " $func_extract_archives_result"
 	  test "X$libobjs" = "X " && libobjs=
 	fi
 
@@ -7348,7 +8547,7 @@ EOF
 	    lt_exit=$?
 
 	    # Restore the uninstalled library and exit
-	    if test "$mode" = relink; then
+	    if test "$opt_mode" = relink; then
 	      ( cd "$output_objdir" && \
 	        $RM "${realname}T" && \
 		$MV "${realname}U" "$realname" )
@@ -7360,7 +8559,7 @@ EOF
 	IFS="$save_ifs"
 
 	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
+	if test "$opt_mode" = relink; then
 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 
 	  if test -n "$convenience"; then
@@ -7441,18 +8640,21 @@ EOF
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
 	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $convenience
 	  reload_conv_objs="$reload_objs $func_extract_archives_result"
 	fi
       fi
 
+      # If we're not building shared, we need to use non_pic_objs
+      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
 
       output="$obj"
       func_execute_cmds "$reload_cmds" 'exit $?'
@@ -7512,8 +8714,8 @@ EOF
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
 	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
 	;;
       esac
 
@@ -7524,14 +8726,14 @@ EOF
 	if test "$tagname" = CXX ; then
 	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
 	    10.[0123])
-	      compile_command="$compile_command ${wl}-bind_at_load"
-	      finalize_command="$finalize_command ${wl}-bind_at_load"
+	      func_append compile_command " ${wl}-bind_at_load"
+	      func_append finalize_command " ${wl}-bind_at_load"
 	    ;;
 	  esac
 	fi
 	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
 	;;
       esac
 
@@ -7545,7 +8747,7 @@ EOF
 	*)
 	  case " $compile_deplibs " in
 	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
+	    func_append new_libs " -L$path/$objdir" ;;
 	  esac
 	  ;;
 	esac
@@ -7555,17 +8757,17 @@ EOF
 	-L*)
 	  case " $new_libs " in
 	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
+	  *) func_append new_libs " $deplib" ;;
 	  esac
 	  ;;
-	*) new_libs="$new_libs $deplib" ;;
+	*) func_append new_libs " $deplib" ;;
 	esac
       done
       compile_deplibs="$new_libs"
 
 
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
+      func_append compile_command " $compile_deplibs"
+      func_append finalize_command " $finalize_deplibs"
 
       if test -n "$rpath$xrpath"; then
 	# If the user specified any rpath flags, then add them.
@@ -7573,7 +8775,7 @@ EOF
 	  # This is the magic to use -rpath.
 	  case "$finalize_rpath " in
 	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  *) func_append finalize_rpath " $libdir" ;;
 	  esac
 	done
       fi
@@ -7592,18 +8794,18 @@ EOF
 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 		;;
 	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
 		;;
 	      esac
 	    fi
 	  else
 	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
+	    func_append rpath " $flag"
 	  fi
 	elif test -n "$runpath_var"; then
 	  case "$perm_rpath " in
 	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  *) func_append perm_rpath " $libdir" ;;
 	  esac
 	fi
 	case $host in
@@ -7612,12 +8814,12 @@ EOF
 	  case :$dllsearchpath: in
 	  *":$libdir:"*) ;;
 	  ::) dllsearchpath=$libdir;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  *) func_append dllsearchpath ":$libdir";;
 	  esac
 	  case :$dllsearchpath: in
 	  *":$testbindir:"*) ;;
 	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  *) func_append dllsearchpath ":$testbindir";;
 	  esac
 	  ;;
 	esac
@@ -7643,18 +8845,18 @@ EOF
 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 		;;
 	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
 		;;
 	      esac
 	    fi
 	  else
 	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
+	    func_append rpath " $flag"
 	  fi
 	elif test -n "$runpath_var"; then
 	  case "$finalize_perm_rpath " in
 	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  *) func_append finalize_perm_rpath " $libdir" ;;
 	  esac
 	fi
       done
@@ -7668,8 +8870,8 @@ EOF
 
       if test -n "$libobjs" && test "$build_old_libs" = yes; then
 	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
       fi
 
       func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
@@ -7681,15 +8883,15 @@ EOF
 
       wrappers_required=yes
       case $host in
+      *cegcc* | *mingw32ce*)
+        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
       *cygwin* | *mingw* )
         if test "$build_libtool_libs" != yes; then
           wrappers_required=no
         fi
         ;;
-      *cegcc)
-        # Disable wrappers for cegcc, we are cross compiling anyway.
-        wrappers_required=no
-        ;;
       *)
         if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
           wrappers_required=no
@@ -7698,13 +8900,19 @@ EOF
       esac
       if test "$wrappers_required" = no; then
 	# Replace the output file specification.
-	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	link_command="$compile_command$compile_rpath"
 
 	# We have no uninstalled library dependencies, so finalize right now.
 	exit_status=0
 	func_show_eval "$link_command" 'exit_status=$?'
 
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
 	# Delete the generated files.
 	if test -f "$output_objdir/${outputname}S.${objext}"; then
 	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
@@ -7727,7 +8935,7 @@ EOF
 	  # We should set the runpath_var.
 	  rpath=
 	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
+	    func_append rpath "$dir:"
 	  done
 	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
 	fi
@@ -7735,7 +8943,7 @@ EOF
 	  # We should set the runpath_var.
 	  rpath=
 	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
+	    func_append rpath "$dir:"
 	  done
 	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
 	fi
@@ -7745,11 +8953,18 @@ EOF
 	# We don't need to create a wrapper script.
 	link_command="$compile_var$compile_command$compile_rpath"
 	# Replace the output file specification.
-	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
 	# Delete the old output file.
 	$opt_dry_run || $RM $output
 	# Link the executable and exit
 	func_show_eval "$link_command" 'exit $?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
 	exit $EXIT_SUCCESS
       fi
 
@@ -7764,7 +8979,7 @@ EOF
 	if test "$fast_install" != no; then
 	  link_command="$finalize_var$compile_command$finalize_rpath"
 	  if test "$fast_install" = yes; then
-	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
 	  else
 	    # fast_install is set to needless
 	    relink_command=
@@ -7776,13 +8991,19 @@ EOF
       fi
 
       # Replace the output file specification.
-      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 
       # Delete the old output files.
       $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
 
       func_show_eval "$link_command" 'exit $?'
 
+      if test -n "$postlink_cmds"; then
+	func_to_tool_file "$output_objdir/$outputname"
+	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	func_execute_cmds "$postlink_cmds" 'exit $?'
+      fi
+
       # Now create the wrapper script.
       func_verbose "creating $output"
 
@@ -7800,18 +9021,7 @@ EOF
 	  fi
 	done
 	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $ECHO for shipping.
-      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
-	case $progpath in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-	esac
-	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
       fi
 
       # Only actually do things if not in dry run mode.
@@ -7891,7 +9101,7 @@ EOF
 	else
 	  oldobjs="$old_deplibs $non_pic_objects"
 	  if test "$preload" = yes && test -f "$symfileobj"; then
-	    oldobjs="$oldobjs $symfileobj"
+	    func_append oldobjs " $symfileobj"
 	  fi
 	fi
 	addlibs="$old_convenience"
@@ -7899,10 +9109,10 @@ EOF
 
       if test -n "$addlibs"; then
 	gentop="$output_objdir/${outputname}x"
-	generated="$generated $gentop"
+	func_append generated " $gentop"
 
 	func_extract_archives $gentop $addlibs
-	oldobjs="$oldobjs $func_extract_archives_result"
+	func_append oldobjs " $func_extract_archives_result"
       fi
 
       # Do each command in the archive commands.
@@ -7913,10 +9123,10 @@ EOF
 	# Add any objects from preloaded convenience libraries
 	if test -n "$dlprefiles"; then
 	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $dlprefiles
-	  oldobjs="$oldobjs $func_extract_archives_result"
+	  func_append oldobjs " $func_extract_archives_result"
 	fi
 
 	# POSIX demands no paths to be encoded in archives.  We have
@@ -7932,9 +9142,9 @@ EOF
 	    done | sort | sort -uc >/dev/null 2>&1); then
 	  :
 	else
-	  $ECHO "copying selected object files to avoid basename conflicts..."
+	  echo "copying selected object files to avoid basename conflicts..."
 	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 	  func_mkdir_p "$gentop"
 	  save_oldobjs=$oldobjs
 	  oldobjs=
@@ -7958,18 +9168,30 @@ EOF
 		esac
 	      done
 	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      oldobjs="$oldobjs $gentop/$newobj"
+	      func_append oldobjs " $gentop/$newobj"
 	      ;;
-	    *) oldobjs="$oldobjs $obj" ;;
+	    *) func_append oldobjs " $obj" ;;
 	    esac
 	  done
 	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
 	eval cmds=\"$old_archive_cmds\"
 
 	func_len " $cmds"
 	len=$func_len_result
 	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 	  cmds=$old_archive_cmds
+	elif test -n "$archiver_list_spec"; then
+	  func_verbose "using command file archive linking..."
+	  for obj in $oldobjs
+	  do
+	    func_to_tool_file "$obj"
+	    $ECHO "$func_to_tool_file_result"
+	  done > $output_objdir/$libname.libcmd
+	  func_to_tool_file "$output_objdir/$libname.libcmd"
+	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+	  cmds=$old_archive_cmds
 	else
 	  # the command line is too long to link in one step, link in parts
 	  func_verbose "using piecewise archive linking..."
@@ -8043,7 +9265,7 @@ EOF
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
       if test "$hardcode_automatic" = yes ; then
 	relink_command=
       fi
@@ -8063,12 +9285,23 @@ EOF
 	      *.la)
 		func_basename "$deplib"
 		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		func_resolve_sysroot "$deplib"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
-		newdependency_libs="$newdependency_libs $libdir/$name"
+		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      -L*)
+		func_stripname -L '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -L$func_replace_sysroot_result"
 		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      -R*)
+		func_stripname -R '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -R$func_replace_sysroot_result"
+		;;
+	      *) func_append newdependency_libs " $deplib" ;;
 	      esac
 	    done
 	    dependency_libs="$newdependency_libs"
@@ -8082,9 +9315,9 @@ EOF
 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlfiles="$newdlfiles $libdir/$name"
+		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
 		;;
-	      *) newdlfiles="$newdlfiles $lib" ;;
+	      *) func_append newdlfiles " $lib" ;;
 	      esac
 	    done
 	    dlfiles="$newdlfiles"
@@ -8101,7 +9334,7 @@ EOF
 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlprefiles="$newdlprefiles $libdir/$name"
+		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
 		;;
 	      esac
 	    done
@@ -8113,7 +9346,7 @@ EOF
 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 		*) abs=`pwd`"/$lib" ;;
 	      esac
-	      newdlfiles="$newdlfiles $abs"
+	      func_append newdlfiles " $abs"
 	    done
 	    dlfiles="$newdlfiles"
 	    newdlprefiles=
@@ -8122,15 +9355,33 @@ EOF
 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 		*) abs=`pwd`"/$lib" ;;
 	      esac
-	      newdlprefiles="$newdlprefiles $abs"
+	      func_append newdlprefiles " $abs"
 	    done
 	    dlprefiles="$newdlprefiles"
 	  fi
 	  $RM $output
 	  # place dlname in correct position for cygwin
+	  # In fact, it would be nice if we could use this code for all target
+	  # systems that can't hard-code library paths into their executables
+	  # and that have no shared library path variable independent of PATH,
+	  # but it turns out we can't easily determine that from inspecting
+	  # libtool variables, so we have to hard-code the OSs to which it
+	  # applies here; at the moment, that means platforms that use the PE
+	  # object format with DLL files.  See the long comment at the top of
+	  # tests/bindir.at for full details.
 	  tdlname=$dlname
 	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+	      # If a -bindir argument was supplied, place the dll there.
+	      if test "x$bindir" != x ;
+	      then
+		func_relative_path "$install_libdir" "$bindir"
+		tdlname=$func_relative_path_result$dlname
+	      else
+		# Otherwise fall back on heuristic.
+		tdlname=../bin/$dlname
+	      fi
+	      ;;
 	  esac
 	  $ECHO > $output "\
 # $outputname - a libtool library file
@@ -8189,7 +9440,7 @@ relink_command=\"$relink_command\""
     exit $EXIT_SUCCESS
 }
 
-{ test "$mode" = link || test "$mode" = relink; } &&
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
     func_mode_link ${1+"$@"}
 
 
@@ -8209,9 +9460,9 @@ func_mode_uninstall ()
     for arg
     do
       case $arg in
-      -f) RM="$RM $arg"; rmforce=yes ;;
-      -*) RM="$RM $arg" ;;
-      *) files="$files $arg" ;;
+      -f) func_append RM " $arg"; rmforce=yes ;;
+      -*) func_append RM " $arg" ;;
+      *) func_append files " $arg" ;;
       esac
     done
 
@@ -8220,24 +9471,23 @@ func_mode_uninstall ()
 
     rmdirs=
 
-    origobjdir="$objdir"
     for file in $files; do
       func_dirname "$file" "" "."
       dir="$func_dirname_result"
       if test "X$dir" = X.; then
-	objdir="$origobjdir"
+	odir="$objdir"
       else
-	objdir="$dir/$origobjdir"
+	odir="$dir/$objdir"
       fi
       func_basename "$file"
       name="$func_basename_result"
-      test "$mode" = uninstall && objdir="$dir"
+      test "$opt_mode" = uninstall && odir="$dir"
 
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
+      # Remember odir for removal later, being careful to avoid duplicates
+      if test "$opt_mode" = clean; then
 	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
+	  *" $odir "*) ;;
+	  *) func_append rmdirs " $odir" ;;
 	esac
       fi
 
@@ -8263,18 +9513,17 @@ func_mode_uninstall ()
 
 	  # Delete the libtool libraries and symlinks.
 	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
+	    func_append rmfiles " $odir/$n"
 	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
 
-	  case "$mode" in
+	  case "$opt_mode" in
 	  clean)
-	    case "  $library_names " in
-	    # "  " in the beginning catches empty $dlname
+	    case " $library_names " in
 	    *" $dlname "*) ;;
-	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
 	    esac
-	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
 	    ;;
 	  uninstall)
 	    if test -n "$library_names"; then
@@ -8302,19 +9551,19 @@ func_mode_uninstall ()
 	  # Add PIC object to the list of files to remove.
 	  if test -n "$pic_object" &&
 	     test "$pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$pic_object"
+	    func_append rmfiles " $dir/$pic_object"
 	  fi
 
 	  # Add non-PIC object to the list of files to remove.
 	  if test -n "$non_pic_object" &&
 	     test "$non_pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$non_pic_object"
+	    func_append rmfiles " $dir/$non_pic_object"
 	  fi
 	fi
 	;;
 
       *)
-	if test "$mode" = clean ; then
+	if test "$opt_mode" = clean ; then
 	  noexename=$name
 	  case $file in
 	  *.exe)
@@ -8324,7 +9573,7 @@ func_mode_uninstall ()
 	    noexename=$func_stripname_result
 	    # $file with .exe has already been added to rmfiles,
 	    # add $file without .exe
-	    rmfiles="$rmfiles $file"
+	    func_append rmfiles " $file"
 	    ;;
 	  esac
 	  # Do a test to see if this is a libtool program.
@@ -8333,7 +9582,7 @@ func_mode_uninstall ()
 	      func_ltwrapper_scriptname "$file"
 	      relink_command=
 	      func_source $func_ltwrapper_scriptname_result
-	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+	      func_append rmfiles " $func_ltwrapper_scriptname_result"
 	    else
 	      relink_command=
 	      func_source $dir/$noexename
@@ -8341,12 +9590,12 @@ func_mode_uninstall ()
 
 	    # note $name still contains .exe if it was in $file originally
 	    # as does the version of $file that was added into $rmfiles
-	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
 	    if test "$fast_install" = yes && test -n "$relink_command"; then
-	      rmfiles="$rmfiles $objdir/lt-$name"
+	      func_append rmfiles " $odir/lt-$name"
 	    fi
 	    if test "X$noexename" != "X$name" ; then
-	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	      func_append rmfiles " $odir/lt-${noexename}.c"
 	    fi
 	  fi
 	fi
@@ -8354,7 +9603,6 @@ func_mode_uninstall ()
       esac
       func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
-    objdir="$origobjdir"
 
     # Try to remove the ${objdir}s in the directories where we deleted files
     for dir in $rmdirs; do
@@ -8366,16 +9614,16 @@ func_mode_uninstall ()
     exit $exit_status
 }
 
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
     func_mode_uninstall ${1+"$@"}
 
-test -z "$mode" && {
+test -z "$opt_mode" && {
   help="$generic_help"
   func_fatal_help "you must specify a MODE"
 }
 
 test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$mode'"
+  func_fatal_help "invalid operation mode \`$opt_mode'"
 
 if test -n "$exec_cmd"; then
   eval exec "$exec_cmd"
diff -pruN 3.1-1.1/config/m4/libtool.m4 1:3.1.1-0ubuntu4/config/m4/libtool.m4
--- 3.1-1.1/config/m4/libtool.m4	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/config/m4/libtool.m4	2013-01-20 05:56:49.000000000 +0000
@@ -1,7 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -10,7 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -37,7 +39,7 @@ m4_define([_LT_COPYING], [dnl
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 ])
 
-# serial 56 LT_INIT
+# serial 57 LT_INIT
 
 
 # LT_PREREQ(VERSION)
@@ -66,6 +68,7 @@ esac
 # ------------------
 AC_DEFUN([LT_INIT],
 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
 AC_BEFORE([$0], [LT_LANG])dnl
 AC_BEFORE([$0], [LT_OUTPUT])dnl
 AC_BEFORE([$0], [LTDL_INIT])dnl
@@ -82,6 +85,8 @@ AC_REQUIRE([LTVERSION_VERSION])dnl
 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
 m4_require([_LT_PROG_LTMAIN])dnl
 
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
 dnl Parse OPTIONS
 _LT_SET_OPTIONS([$0], [$1])
 
@@ -118,7 +123,7 @@ m4_defun([_LT_CC_BASENAME],
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 ])
 
 
@@ -138,6 +143,11 @@ m4_defun([_LT_FILEUTILS_DEFAULTS],
 m4_defun([_LT_SETUP],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -160,10 +170,13 @@ _LT_DECL([], [exeext], [0], [Executable
 dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
 m4_require([_LT_CMD_RELOAD])dnl
 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
 
 _LT_CONFIG_LIBTOOL_INIT([
 # See if we are running on zsh, and set the options which allow our
@@ -179,7 +192,6 @@ fi
 _LT_CHECK_OBJDIR
 
 m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
 
 case $host_os in
 aix3*)
@@ -193,23 +205,6 @@ aix3*)
   ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
 # Global variables:
 ofile=libtool
 can_build_shared=yes
@@ -250,6 +245,28 @@ _LT_CONFIG_COMMANDS
 ])# _LT_SETUP
 
 
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
 # _LT_PROG_LTMAIN
 # ---------------
 # Note that this code is called both from `configure', and `config.status'
@@ -408,7 +425,7 @@ m4_define([_lt_decl_all_varnames],
 # declaration there will have the same value as in `configure'.  VARNAME
 # must have a single quote delimited value for this to work.
 m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
 
 
 # _LT_CONFIG_STATUS_DECLARATIONS
@@ -418,7 +435,7 @@ m4_define([_LT_CONFIG_STATUS_DECLARE],
 # embedded single quotes properly.  In configure, this macro expands
 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
 #
-#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
     [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
@@ -517,12 +534,20 @@ LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
 compiler='$compiler_DEFAULT'
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
 # Quote evaled strings.
 for var in lt_decl_all_varnames([[ \
 ]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -533,9 +558,9 @@ done
 # Double-quote double-evaled strings.
 for var in lt_decl_all_varnames([[ \
 ]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -543,16 +568,38 @@ for var in lt_decl_all_varnames([[ \
     esac
 done
 
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
-  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
-  ;;
-esac
-
 _LT_OUTPUT_LIBTOOL_INIT
 ])
 
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable.  If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins.  After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script.  The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
 
 # LT_OUTPUT
 # ---------
@@ -562,20 +609,11 @@ _LT_OUTPUT_LIBTOOL_INIT
 AC_DEFUN([LT_OUTPUT],
 [: ${CONFIG_LT=./config.lt}
 AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
 
 cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
+lt_cl_silent=false
 exec AS_MESSAGE_LOG_FD>>config.log
 {
   echo
@@ -601,7 +639,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2008 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -646,15 +684,13 @@ chmod +x "$CONFIG_LT"
 # appending to config.log, which fails on DOS, as config.log is still kept
 # open by configure.  Here we exec the FD to /dev/null, effectively closing
 # config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
-  lt_cl_success=:
-  test "$silent" = yes &&
-    lt_config_lt_args="$lt_config_lt_args --quiet"
-  exec AS_MESSAGE_LOG_FD>/dev/null
-  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-  exec AS_MESSAGE_LOG_FD>>config.log
-  $lt_cl_success || AS_EXIT(1)
-fi
+lt_cl_success=:
+test "$silent" = yes &&
+  lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
 ])# LT_OUTPUT
 
 
@@ -717,15 +753,12 @@ _LT_EOF
   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
   # text mode, it properly converts lines to CR/LF.  This bash problem
   # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  _LT_PROG_XSI_SHELLFNS
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
 
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
+  _LT_PROG_REPLACE_SHELLFNS
 
-  mv -f "$cfgfile" "$ofile" ||
+   mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
 ],
@@ -770,6 +803,7 @@ AC_DEFUN([LT_LANG],
 m4_case([$1],
   [C],			[_LT_LANG(C)],
   [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
   [Java],		[_LT_LANG(GCJ)],
   [Fortran 77],		[_LT_LANG(F77)],
   [Fortran],		[_LT_LANG(FC)],
@@ -791,6 +825,31 @@ m4_defun([_LT_LANG],
 ])# _LT_LANG
 
 
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
 # _LT_LANG_DEFAULT_CONFIG
 # -----------------------
 m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -821,6 +880,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
        m4_ifdef([LT_PROG_GCJ],
 	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
 
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
 AC_PROVIDE_IFELSE([LT_PROG_RC],
   [LT_LANG(RC)],
   [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -831,11 +894,13 @@ AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)
 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
 dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
 
 
 # _LT_TAG_COMPILER
@@ -921,7 +986,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECK
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -929,6 +1000,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECK
 	rm -rf libconftest.dylib*
 	rm -f conftest.*
       fi])
+
     AC_CACHE_CHECK([for -exported_symbols_list linker flag],
       [lt_cv_ld_exported_symbols_list],
       [lt_cv_ld_exported_symbols_list=no
@@ -940,6 +1012,34 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECK
 	[lt_cv_ld_exported_symbols_list=no])
 	LDFLAGS="$save_LDFLAGS"
     ])
+
+    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+      [lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+    ])
     case $host_os in
     rhapsody* | darwin1.[[012]])
       _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
@@ -967,7 +1067,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECK
     else
       _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
     fi
-    if test "$DSYMUTIL" != ":"; then
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -977,8 +1077,8 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECK
 ])
 
 
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
 # Checks for linker and compiler features on darwin
 m4_defun([_LT_DARWIN_LINKER_FEATURES],
 [
@@ -987,7 +1087,13 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_automatic, $1)=yes
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+  else
+    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  fi
   _LT_TAGVAR(link_all_deplibs, $1)=yes
   _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -995,7 +1101,7 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -1011,203 +1117,142 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   fi
 ])
 
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
 # Links a minimal program and checks the executable
 # for the system default hardcoded library path. In most cases,
 # this is /usr/lib:/lib, but when the MPI compilers are used
 # the location of the communication and MPI libs are included too.
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+  lt_aix_libpath_sed='[
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }]'
+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi],[])
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+  fi
+  ])
+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
 ])# _LT_SYS_MODULE_PATH_AIX
 
 
 # _LT_SHELL_INIT(ARG)
 # -------------------
 m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
 
 
 # _LT_PROG_ECHO_BACKSLASH
 # -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
 m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
 else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-[$]*
-_LT_EOF
-  exit 0
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
 fi
 
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO "$*" 
+}
 
-	  if test "$prev" != 'sed 50q "[$]0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
+case "$ECHO" in
+  printf*) AC_MSG_RESULT([printf]) ;;
+  print*) AC_MSG_RESULT([print -r]) ;;
+  *) AC_MSG_RESULT([cat]) ;;
+esac
 
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test "X`printf %s $ECHO`" = "X$ECHO" \
+      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
 
-AC_SUBST(lt_ECHO)
-])
 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
-    [An echo program that does not interpret backslashes])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 ])# _LT_PROG_ECHO_BACKSLASH
 
 
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[  --with-sysroot[=DIR] Search for dependent libraries within DIR
+                        (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted.  We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+   if test "$GCC" = yes; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   AC_MSG_RESULT([${with_sysroot}])
+   AC_MSG_ERROR([The sysroot must be an absolute path.])
+   ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
 # _LT_ENABLE_LOCK
 # ---------------
 m4_defun([_LT_ENABLE_LOCK],
@@ -1236,7 +1281,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     if test "$lt_cv_prog_gnu_ld" = yes; then
       case `/usr/bin/file conftest.$ac_objext` in
@@ -1329,14 +1374,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -1354,14 +1412,47 @@ need_locks="$enable_libtool_lock"
 ])# _LT_ENABLE_LOCK
 
 
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+     [echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([lt_ar_try])
+      if test "$ac_status" -eq 0; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	AC_TRY_EVAL([lt_ar_try])
+	if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
 # _LT_CMD_OLD_ARCHIVE
 # -------------------
 m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
+[_LT_PROG_AR
 
 AC_CHECK_TOOL(STRIP, strip, :)
 test -z "$STRIP" && STRIP=:
@@ -1380,18 +1471,27 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
+
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
 _LT_DECL([], [old_postinstall_cmds], [2])
 _LT_DECL([], [old_postuninstall_cmds], [2])
 _LT_TAGDECL([], [old_archive_cmds], [2],
     [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+    [Whether to use a lock for old archive extraction])
 ])# _LT_CMD_OLD_ARCHIVE
 
 
@@ -1416,15 +1516,15 @@ AC_CACHE_CHECK([$1], [$2],
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        $2=yes
@@ -1464,7 +1564,7 @@ AC_CACHE_CHECK([$1], [$2],
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          $2=yes
@@ -1527,6 +1627,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [d
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
   amigaos*)
     # On AmigaOS with pdksh, this test takes hours, literally.
     # So we just punt and use a minimum line length of 8192.
@@ -1552,6 +1657,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [d
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1591,8 +1701,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [d
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
         i=`expr $i + 1`
@@ -1643,7 +1753,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
+[#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -1684,7 +1794,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -1693,7 +1809,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -1869,16 +1989,16 @@ AC_CACHE_CHECK([if $compiler supports -c
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
@@ -2037,6 +2157,7 @@ m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_OBJDUMP])dnl
 m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
 AC_MSG_CHECKING([dynamic linker characteristics])
 m4_if([$1],
 	[], [
@@ -2045,16 +2166,23 @@ if test "$GCC" = yes; then
     darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
     *) lt_awk_arg="/^libraries:/" ;;
   esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
   # Ok, now we have the path, separated by spaces, we can step through it
   # and add multilib dir if necessary.
   lt_tmp_lt_search_path_spec=
@@ -2067,7 +2195,7 @@ if test "$GCC" = yes; then
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
 BEGIN {RS=" "; FS="/|\n";} {
   lt_foo="";
   lt_count=0;
@@ -2087,7 +2215,13 @@ BEGIN {RS=" "; FS="/|\n";} {
   if (lt_foo != "") { lt_freq[[lt_foo]]++; }
   if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
 }'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi])
@@ -2113,7 +2247,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -2122,7 +2256,7 @@ aix3*)
   ;;
 
 aix[[4-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -2175,7 +2309,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -2187,7 +2321,7 @@ beos*)
   ;;
 
 bsdi[[45]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -2206,8 +2340,9 @@ cygwin* | mingw* | pw32* | cegcc*)
   need_version=no
   need_lib_prefix=no
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -2228,36 +2363,83 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+m4_if([$1], [],[
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
     ;;
 
   *)
+    # Assume MSVC wrapper
     library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
     ;;
   esac
-  dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
   ;;
@@ -2278,7 +2460,7 @@ m4_if([$1], [],[
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2286,10 +2468,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -2297,7 +2475,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
+    freebsd[[23]].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -2315,7 +2493,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2335,12 +2513,26 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
 
@@ -2386,12 +2578,14 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[[3-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2407,7 +2601,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -2444,9 +2638,9 @@ linux*oldld* | linux*aout* | linux*coff*
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2454,16 +2648,21 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-       [shlibpath_overrides_runpath=yes])])
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+    [lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+	 [lt_cv_shlibpath_overrides_runpath=yes])])
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+    ])
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -2472,7 +2671,7 @@ linux* | k*bsd*-gnu)
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -2516,7 +2715,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -2585,7 +2784,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2610,7 +2809,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2634,7 +2833,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -2665,7 +2864,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware*
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2675,7 +2874,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2717,6 +2916,8 @@ _LT_DECL([], [library_names_spec], [1],
     The last name is the one that the linker finds with -lNAME]])
 _LT_DECL([], [soname_spec], [1],
     [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+    [Permission mode override for installation of shared libraries])
 _LT_DECL([], [postinstall_cmds], [2],
     [Command to use after installation of a shared archive])
 _LT_DECL([], [postuninstall_cmds], [2],
@@ -2829,6 +3030,7 @@ AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 m4_require([_LT_DECL_SED])dnl
 m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
 
 AC_ARG_WITH([gnu-ld],
     [AS_HELP_STRING([--with-gnu-ld],
@@ -2950,6 +3152,11 @@ case $reload_flag in
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
   darwin*)
     if test "$GCC" = yes; then
       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
@@ -2958,8 +3165,8 @@ case $host_os in
     fi
     ;;
 esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
 ])# _LT_CMD_RELOAD
 
 
@@ -3011,16 +3218,18 @@ mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     lt_cv_file_magic_cmd='$OBJDUMP -f'
   fi
   ;;
 
-cegcc)
+cegcc*)
   # use the weaker test based on 'objdump'. See mingw*.
   lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
   lt_cv_file_magic_cmd='$OBJDUMP -f'
@@ -3050,6 +3259,10 @@ gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
   case $host_cpu in
@@ -3058,11 +3271,11 @@ hpux10.20* | hpux11*)
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     ;;
   hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
     lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     ;;
   *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
     lt_cv_file_magic_test_file=/usr/lib/libc.sl
     ;;
   esac
@@ -3083,8 +3296,8 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -3162,6 +3375,21 @@ tpf*)
   ;;
 esac
 ])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3169,7 +3397,11 @@ test -z "$deplibs_check_method" && depli
 _LT_DECL([], [deplibs_check_method], [1],
     [Method to check whether dependent libraries are shared objects])
 _LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method == "file_magic"])
+    [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+    [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
 ])# _LT_CHECK_MAGIC_METHOD
 
 
@@ -3226,7 +3458,19 @@ if test "$lt_cv_path_NM" != "no"; then
   NM="$lt_cv_path_NM"
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
-  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
   AC_SUBST([DUMPBIN])
   if test "$DUMPBIN" != ":"; then
     NM="$DUMPBIN"
@@ -3239,13 +3483,13 @@ _LT_DECL([], [NM], [1], [A BSD- or MS-co
 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
   [lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
   cat conftest.out >&AS_MESSAGE_LOG_FD
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -3260,6 +3504,67 @@ dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([AM_PROG_NM], [])
 dnl AC_DEFUN([AC_PROG_NM], [])
 
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh
+  # decide which to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+    [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+  [lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+  MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
 
 # LT_LIB_M
 # --------
@@ -3268,7 +3573,7 @@ AC_DEFUN([LT_LIB_M],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 LIBM=
 case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
   # These system don't have libm, or don't need it
   ;;
 *-ncr-sysv4.3*)
@@ -3296,7 +3601,12 @@ m4_defun([_LT_COMPILER_NO_RTTI],
 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
 
 if test "$GCC" = yes; then
-  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+  case $cc_basename in
+  nvcc*)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+  esac
 
   _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
     lt_cv_prog_compiler_rtti_exceptions,
@@ -3313,6 +3623,7 @@ _LT_TAGDECL([no_builtin_flag], [lt_prog_
 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([LT_PATH_NM])dnl
 AC_REQUIRE([LT_PATH_LD])dnl
 m4_require([_LT_DECL_SED])dnl
@@ -3380,8 +3691,8 @@ esac
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -3405,6 +3716,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -3417,6 +3729,7 @@ for ac_symprfx in "" "_"; do
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
   fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -3438,7 +3751,7 @@ _LT_EOF
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"
@@ -3450,6 +3763,18 @@ _LT_EOF
       if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
 	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
 	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -3461,7 +3786,7 @@ _LT_EOF
 	  cat <<_LT_EOF >> conftest.$ac_ext
 
 /* The mapping between symbol names and symbols.  */
-const struct {
+LT@&t@_DLSYM_CONST struct {
   const char *name;
   void       *address;
 }
@@ -3487,15 +3812,15 @@ static const void *lt_preloaded_setup()
 _LT_EOF
 	  # Now try linking the two files.
 	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
 	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
 	    pipe_works=yes
 	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
 	else
 	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
 	fi
@@ -3528,6 +3853,13 @@ else
   AC_MSG_RESULT(ok)
 fi
 
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
     [Take the output of nm and produce a listing of raw symbols and C names])
 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
@@ -3538,6 +3870,8 @@ _LT_DECL([global_symbol_to_c_name_addres
 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
     [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
     [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+    [Specify filename containing input files for $NM])
 ]) # _LT_CMD_GLOBAL_SYMBOLS
 
 
@@ -3549,7 +3883,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)=
 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
 _LT_TAGVAR(lt_prog_compiler_static, $1)=
 
-AC_MSG_CHECKING([for $compiler option to produce PIC])
 m4_if([$1], [CXX], [
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -3600,6 +3933,11 @@ m4_if([$1], [CXX], [
       # DJGPP does not support shared libraries at all
       _LT_TAGVAR(lt_prog_compiler_pic, $1)=
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
     interix[[3-9]]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -3649,6 +3987,12 @@ m4_if([$1], [CXX], [
 	  ;;
 	esac
 	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	m4_if([$1], [GCJ], [],
+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+	;;
       dgux*)
 	case $cc_basename in
 	  ec++*)
@@ -3705,7 +4049,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -3738,8 +4082,8 @@ m4_if([$1], [CXX], [
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
+	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
 	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
@@ -3801,7 +4145,7 @@ m4_if([$1], [CXX], [
 	;;
       solaris*)
 	case $cc_basename in
-	  CC*)
+	  CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -3905,6 +4249,12 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -3947,6 +4297,15 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
       ;;
     esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
+      ;;
+    esac
   else
     # PORTME Check for flag to pass linker flags through the system compiler.
     case $host_os in
@@ -3989,7 +4348,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -4010,7 +4369,13 @@ m4_if([$1], [CXX], [
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
 	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
+      nagfor*)
+	# NAG Fortran compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -4022,25 +4387,40 @@ m4_if([$1], [CXX], [
         # All Alpha code is PIC.
         _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
 	  ;;
 	esac
 	;;
@@ -4072,7 +4452,7 @@ m4_if([$1], [CXX], [
       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
       case $cc_basename in
-      f77* | f90* | f95*)
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
       *)
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
@@ -4129,9 +4509,11 @@ case $host_os in
     _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
     ;;
 esac
-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-	[How to pass a linker flag through the compiler])
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
 
 #
 # Check to make sure the PIC flag actually works.
@@ -4150,6 +4532,8 @@ fi
 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
 	[Additional compiler flags for building library objects])
 
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
 #
 # Check to make sure the static flag actually works.
 #
@@ -4170,6 +4554,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog
 m4_defun([_LT_LINKER_SHLIBS],
 [AC_REQUIRE([LT_PATH_LD])dnl
 AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_DECL_SED])dnl
@@ -4178,30 +4563,40 @@ m4_require([_LT_TAG_COMPILER])dnl
 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 m4_if([$1], [CXX], [
   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
   case $host_os in
   aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     else
       _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
     _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
+    ;;
   cygwin* | mingw* | cegcc*)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
+    case $cc_basename in
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+      ;;
+    esac
+    ;;
+  linux* | k*bsd*-gnu | gnu*)
     _LT_TAGVAR(link_all_deplibs, $1)=no
-  ;;
+    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
+    ;;
   esac
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
 ], [
   runpath_var=
   _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -4216,7 +4611,6 @@ m4_if([$1], [CXX], [
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
   _LT_TAGVAR(hardcode_libdir_separator, $1)=
   _LT_TAGVAR(hardcode_minus_L, $1)=no
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4261,13 +4655,39 @@ dnl Note also adjust exclude_expsyms for
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu)
+  linux* | k*bsd*-gnu | gnu*)
     _LT_TAGVAR(link_all_deplibs, $1)=no
     ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
   if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
@@ -4285,6 +4705,7 @@ dnl Note also adjust exclude_expsyms for
     fi
     supports_anon_versioning=no
     case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -4300,11 +4721,12 @@ dnl Note also adjust exclude_expsyms for
 	_LT_TAGVAR(ld_shlibs, $1)=no
 	cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
 *** to be unable to reliably create shared libraries on AIX.
 *** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
 _LT_EOF
       fi
@@ -4340,10 +4762,12 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
       # as there is no search path for DLLs.
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_TAGVAR(always_export_symbols, $1)=no
       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -4361,6 +4785,11 @@ _LT_EOF
       fi
       ;;
 
+    haiku*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
     interix[[3-9]]*)
       _LT_TAGVAR(hardcode_direct, $1)=no
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4376,7 +4805,7 @@ _LT_EOF
       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
 	case $cc_basename in
@@ -4386,15 +4815,16 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
@@ -4405,13 +4835,17 @@ _LT_EOF
 	lf95*)				# Lahey Fortran 8.1
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
 	  tmp_sharedflag='--shared' ;;
-	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  _LT_TAGVAR(compiler_needs_object, $1)=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
@@ -4427,17 +4861,16 @@ _LT_EOF
         fi
 
 	case $cc_basename in
-	xlf*)
+	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
 	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
 	  fi
 	  ;;
 	esac
@@ -4451,8 +4884,8 @@ _LT_EOF
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -4470,8 +4903,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4517,8 +4950,8 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4558,8 +4991,10 @@ _LT_EOF
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
 	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	else
 	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	fi
@@ -4647,9 +5082,9 @@ _LT_EOF
 	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        _LT_SYS_MODULE_PATH_AIX
+        _LT_SYS_MODULE_PATH_AIX([$1])
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
       else
 	if test "$host_cpu" = ia64; then
 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -4658,14 +5093,19 @@ _LT_EOF
 	else
 	 # Determine the default libpath from the value encoded in an
 	 # empty executable.
-	 _LT_SYS_MODULE_PATH_AIX
+	 _LT_SYS_MODULE_PATH_AIX([$1])
 	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 	  # Warning - without using the other run time loading flags,
 	  # -berok will link without error, but may produce a broken library.
 	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  fi
 	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 	  # This is similar to how AIX traditionally builds its shared libraries.
 	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -4697,20 +5137,64 @@ _LT_EOF
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	_LT_TAGVAR(always_export_symbols, $1)=yes
+	_LT_TAGVAR(file_list_spec, $1)='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	  else
+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	  fi~
+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	  linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
+	  case $lt_outputfile in
+	    *.exe|*.EXE) ;;
+	    *)
+	      lt_outputfile="$lt_outputfile.exe"
+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
+	      ;;
+	  esac~
+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	    $RM "$lt_outputfile.manifest";
+	  fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	# FIXME: Should let the user specify the lib program.
+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -4723,10 +5207,6 @@ _LT_EOF
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -4739,7 +5219,7 @@ _LT_EOF
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -4748,7 +5228,7 @@ _LT_EOF
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4756,7 +5236,7 @@ _LT_EOF
 
     hpux9*)
       if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
 	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
@@ -4771,14 +5251,13 @@ _LT_EOF
       ;;
 
     hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
       if test "$with_gnu_ld" = no; then
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
 	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
 	_LT_TAGVAR(hardcode_direct, $1)=yes
 	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -4790,16 +5269,16 @@ _LT_EOF
       ;;
 
     hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	case $host_cpu in
 	hppa*64*)
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	esac
       else
@@ -4811,7 +5290,14 @@ _LT_EOF
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	m4_if($1, [], [
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  _LT_LINKER_OPTION([if $CC understands -b],
+	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
 	  ;;
 	esac
       fi
@@ -4839,19 +5325,34 @@ _LT_EOF
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        AC_LINK_IFELSE(int foo(void) {},
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-        )
-        LDFLAGS="$save_LDFLAGS"
+	# This should be the same for all languages, so no per-tag cache variable.
+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+	  [lt_cv_irix_exported_symbol],
+	  [save_LDFLAGS="$LDFLAGS"
+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+	   AC_LINK_IFELSE(
+	     [AC_LANG_SOURCE(
+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+			      [C++], [[int foo (void) { return 0; }]],
+			      [Fortran 77], [[
+      subroutine foo
+      end]],
+			      [Fortran], [[
+      subroutine foo
+      end]])])],
+	      [lt_cv_irix_exported_symbol=yes],
+	      [lt_cv_irix_exported_symbol=no])
+           LDFLAGS="$save_LDFLAGS"])
+	if test "$lt_cv_irix_exported_symbol" = yes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	fi
       else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4913,17 +5414,17 @@ _LT_EOF
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
       _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
       fi
       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
@@ -4933,13 +5434,13 @@ _LT_EOF
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -4952,9 +5453,9 @@ _LT_EOF
       _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
       if test "$GCC" = yes; then
 	wlarc='${wl}'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
 	case `$CC -V 2>&1` in
 	*"Compilers 5.0"*)
@@ -5130,36 +5631,38 @@ x|xyes)
       # Test whether the compiler implicitly links with -lc since on some
       # systems, -lgcc has to come before -lc. If gcc already passes -lc
       # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-        _LT_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+	[$RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+	  _LT_TAGVAR(allow_undefined_flag, $1)=
+	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+	  then
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	  else
+	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  fi
+	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+	])
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
       ;;
     esac
   fi
@@ -5196,9 +5699,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1]
 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
     [Flag to hardcode $libdir into a binary during linking.
     This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
@@ -5224,8 +5724,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
     to runtime path list])
 _LT_TAGDECL([], [link_all_deplibs], [0],
     [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
-    [Fix the shell variable $srcfile for the compiler])
 _LT_TAGDECL([], [always_export_symbols], [0],
     [Set to "yes" if exported symbols are required])
 _LT_TAGDECL([], [export_symbols_cmds], [2],
@@ -5236,6 +5734,8 @@ _LT_TAGDECL([], [include_expsyms], [1],
     [Symbols that must always be exported])
 _LT_TAGDECL([], [prelink_cmds], [2],
     [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+    [Commands necessary for finishing linking programs])
 _LT_TAGDECL([], [file_list_spec], [1],
     [Specify filename containing input files])
 dnl FIXME: Not yet implemented
@@ -5329,37 +5829,22 @@ CC="$lt_save_CC"
 ])# _LT_LANG_C_CONFIG
 
 
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
 # _LT_LANG_CXX_CONFIG([TAG])
 # --------------------------
 # Ensure that the configuration variables for a C++ compiler are suitably
 # defined.  These variables are subsequently used by _LT_CONFIG to write
 # the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
 
 AC_LANG_PUSH(C++)
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
@@ -5371,7 +5856,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -5381,6 +5865,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -5412,6 +5898,7 @@ if test "$_lt_caught_CXX_error" != yes;
 
   # Allow CC to be a program name with arguments.
   lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
   lt_save_LD=$LD
   lt_save_GCC=$GCC
   GCC=$GXX
@@ -5429,6 +5916,7 @@ if test "$_lt_caught_CXX_error" != yes;
   fi
   test -z "${LDCXX+set}" || LD=$LDCXX
   CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
   compiler=$CC
   _LT_TAGVAR(compiler, $1)=$CC
   _LT_CC_BASENAME([$compiler])
@@ -5450,8 +5938,8 @@ if test "$_lt_caught_CXX_error" != yes;
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
       if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5483,7 +5971,7 @@ if test "$_lt_caught_CXX_error" != yes;
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -5592,10 +6080,10 @@ if test "$_lt_caught_CXX_error" != yes;
           _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
-          _LT_SYS_MODULE_PATH_AIX
+          _LT_SYS_MODULE_PATH_AIX([$1])
           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         else
           if test "$host_cpu" = ia64; then
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
@@ -5604,14 +6092,19 @@ if test "$_lt_caught_CXX_error" != yes;
           else
 	    # Determine the default libpath from the value encoded in an
 	    # empty executable.
-	    _LT_SYS_MODULE_PATH_AIX
+	    _LT_SYS_MODULE_PATH_AIX([$1])
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 	    # Warning - without using the other run time loading flags,
 	    # -berok will link without error, but may produce a broken library.
 	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    fi
 	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
 	    # This is similar to how AIX traditionally builds its shared
 	    # libraries.
@@ -5641,28 +6134,75 @@ if test "$_lt_caught_CXX_error" != yes;
         ;;
 
       cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-        # as there is no search path for DLLs.
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-        _LT_TAGVAR(always_export_symbols, $1)=no
-        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          _LT_TAGVAR(ld_shlibs, $1)=no
-        fi
-        ;;
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=yes
+	  _LT_TAGVAR(file_list_spec, $1)='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=".dll"
+	  # FIXME: Setting linknames here is a bad hack.
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	    else
+	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	    fi~
+	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	    linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	  # Don't use ranlib
+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+	    lt_tool_outputfile="@TOOL_OUTPUT@"~
+	    case $lt_outputfile in
+	      *.exe|*.EXE) ;;
+	      *)
+		lt_outputfile="$lt_outputfile.exe"
+		lt_tool_outputfile="$lt_tool_outputfile.exe"
+		;;
+	    esac~
+	    func_to_tool_file "$lt_outputfile"~
+	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	      $RM "$lt_outputfile.manifest";
+	    fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=no
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file (1st line
+	    # is EXPORTS), use it as is; otherwise, prepend...
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      cp $export_symbols $output_objdir/$soname.def;
+	    else
+	      echo EXPORTS > $output_objdir/$soname.def;
+	      cat $export_symbols >> $output_objdir/$soname.def;
+	    fi~
+	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	  ;;
+	esac
+	;;
       darwin* | rhapsody*)
         _LT_DARWIN_LINKER_FEATURES($1)
 	;;
@@ -5685,7 +6225,7 @@ if test "$_lt_caught_CXX_error" != yes;
         esac
         ;;
 
-      freebsd[[12]]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5704,6 +6244,11 @@ if test "$_lt_caught_CXX_error" != yes;
       gnu*)
         ;;
 
+      haiku*)
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        ;;
+
       hpux9*)
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -5728,11 +6273,11 @@ if test "$_lt_caught_CXX_error" != yes;
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
             else
               # FIXME: insert proper C++ library support
               _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5793,7 +6338,7 @@ if test "$_lt_caught_CXX_error" != yes;
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
           *)
 	    if test "$GXX" = yes; then
@@ -5803,10 +6348,10 @@ if test "$_lt_caught_CXX_error" != yes;
 	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          ia64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          *)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	        esac
 	      fi
@@ -5836,7 +6381,7 @@ if test "$_lt_caught_CXX_error" != yes;
         case $cc_basename in
           CC*)
 	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -5847,9 +6392,9 @@ if test "$_lt_caught_CXX_error" != yes;
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -5860,7 +6405,7 @@ if test "$_lt_caught_CXX_error" != yes;
         _LT_TAGVAR(inherit_rpath, $1)=yes
         ;;
 
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -5878,7 +6423,7 @@ if test "$_lt_caught_CXX_error" != yes;
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5915,26 +6460,26 @@ if test "$_lt_caught_CXX_error" != yes;
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
 	    case `$CC -V` in
-	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
 	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
 	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
 		$RANLIB $oldlib'
 	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
-	    *) # Version 6 will use weak symbols
+	    *) # Version 6 and above use weak symbols
 	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
@@ -5942,7 +6487,7 @@ if test "$_lt_caught_CXX_error" != yes;
 
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
             ;;
 	  cxx*)
 	    # Compaq C++
@@ -5961,9 +6506,9 @@ if test "$_lt_caught_CXX_error" != yes;
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
 	    ;;
-	  xl*)
+	  xl* | mpixl* | bgxl*)
 	    # IBM XL 8.0 on PPC, with GNU ld
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5983,13 +6528,13 @@ if test "$_lt_caught_CXX_error" != yes;
 	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	      _LT_TAGVAR(compiler_needs_object, $1)=yes
 
 	      # Not sure whether something based on
 	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
 	      # would be better.
-	      output_verbose_link_cmd='echo'
+	      output_verbose_link_cmd='func_echo_all'
 
 	      # Archives containing C++ object files must be created using
 	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -6058,7 +6603,7 @@ if test "$_lt_caught_CXX_error" != yes;
 	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
 	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
 	  fi
-	  output_verbose_link_cmd=echo
+	  output_verbose_link_cmd=func_echo_all
 	else
 	  _LT_TAGVAR(ld_shlibs, $1)=no
 	fi
@@ -6093,15 +6638,15 @@ if test "$_lt_caught_CXX_error" != yes;
 	    case $host in
 	      osf3*)
 	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 		;;
 	      *)
 	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
 	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
 	          $RM $lib.exp'
 	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
 		;;
@@ -6117,17 +6662,17 @@ if test "$_lt_caught_CXX_error" != yes;
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
 	  *)
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
 	      case $host in
 	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -6137,7 +6682,7 @@ if test "$_lt_caught_CXX_error" != yes;
 	      # Commands to make compiler produce verbose output that lists
 	      # what "hidden" libraries, object files and flags are used when
 	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
 	    else
 	      # FIXME: insert proper C++ library support
@@ -6173,7 +6718,7 @@ if test "$_lt_caught_CXX_error" != yes;
 
       solaris*)
         case $cc_basename in
-          CC*)
+          CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
             _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
 	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
@@ -6194,7 +6739,7 @@ if test "$_lt_caught_CXX_error" != yes;
 	    esac
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
 
-	    output_verbose_link_cmd='echo'
+	    output_verbose_link_cmd='func_echo_all'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -6214,14 +6759,14 @@ if test "$_lt_caught_CXX_error" != yes;
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
 	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      else
 	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
 	        # platform.
@@ -6232,7 +6777,7 @@ if test "$_lt_caught_CXX_error" != yes;
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      fi
 
 	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
@@ -6286,6 +6831,10 @@ if test "$_lt_caught_CXX_error" != yes;
           CC*)
 	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
+	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+	      '"$_LT_TAGVAR(reload_cmds, $1)"
 	    ;;
 	  *)
 	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -6341,6 +6890,7 @@ if test "$_lt_caught_CXX_error" != yes;
   fi # test -n "$compiler"
 
   CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
   LDCXX=$LD
   LD=$lt_save_LD
   GCC=$lt_save_GCC
@@ -6355,6 +6905,29 @@ AC_LANG_POP
 ])# _LT_LANG_CXX_CONFIG
 
 
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+  case ${2} in
+  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -6363,6 +6936,7 @@ AC_LANG_POP
 # objects, libraries and library flags.
 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
 # Dependencies to place before and after the object being linked:
 _LT_TAGVAR(predep_objects, $1)=
 _LT_TAGVAR(postdep_objects, $1)=
@@ -6412,7 +6986,20 @@ public class foo {
   }
 };
 _LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
 ])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
 dnl Parse the compiler output and extract the necessary
 dnl objects, libraries and library flags.
 if AC_TRY_EVAL(ac_compile); then
@@ -6424,7 +7011,7 @@ if AC_TRY_EVAL(ac_compile); then
   pre_test_object_deps_done=no
 
   for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
+    case ${prev}${p} in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
@@ -6433,13 +7020,22 @@ if AC_TRY_EVAL(ac_compile); then
           test $p = "-R"; then
 	 prev=$p
 	 continue
-       else
-	 prev=
        fi
 
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
        if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
+	 case ${prev} in
+	 -L | -R)
 	   # Internal compiler library paths should come after those
 	   # provided the user.  The postdeps already come after the
 	   # user supplied libs so there is no need to process them.
@@ -6459,8 +7055,10 @@ if AC_TRY_EVAL(ac_compile); then
 	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
 	 fi
        fi
+       prev=
        ;;
 
+    *.lto.$objext) ;; # Ignore GCC LTO objects
     *.$objext)
        # This assumes that the test object file only shows up
        # once in the compiler output.
@@ -6496,6 +7094,7 @@ else
 fi
 
 $RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
 
 # PORTME: override above test on systems where it is broken
 m4_if([$1], [CXX],
@@ -6532,7 +7131,7 @@ linux*)
 
 solaris*)
   case $cc_basename in
-  CC*)
+  CC* | sunCC*)
     # The more standards-conforming stlport4 library is
     # incompatible with the Cstd library. Avoid specifying
     # it if it's in CXXFLAGS. Ignore libCrun as
@@ -6576,32 +7175,16 @@ _LT_TAGDECL([], [compiler_lib_search_pat
 ])# _LT_SYS_HIDDEN_LIBDEPS
 
 
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
-  _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
 # _LT_LANG_F77_CONFIG([TAG])
 # --------------------------
 # Ensure that the configuration variables for a Fortran 77 compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
 # to write the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
 
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6611,7 +7194,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -6620,6 +7202,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6659,7 +7243,9 @@ if test "$_lt_disable_F77" != yes; then
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
   CC=${F77-"f77"}
+  CFLAGS=$FFLAGS
   compiler=$CC
   _LT_TAGVAR(compiler, $1)=$CC
   _LT_CC_BASENAME([$compiler])
@@ -6713,38 +7299,24 @@ if test "$_lt_disable_F77" != yes; then
 
   GCC=$lt_save_GCC
   CC="$lt_save_CC"
+  CFLAGS="$lt_save_CFLAGS"
 fi # test "$_lt_disable_F77" != yes
 
 AC_LANG_POP
 ])# _LT_LANG_F77_CONFIG
 
 
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
-  _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
 # _LT_LANG_FC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for a Fortran compiler are
 # suitably defined.  These variables are subsequently used by _LT_CONFIG
 # to write the compiler configuration to `libtool'.
 m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
 
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -6754,7 +7326,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -6763,6 +7334,8 @@ _LT_TAGVAR(module_cmds, $1)=
 _LT_TAGVAR(module_expsym_cmds, $1)=
 _LT_TAGVAR(link_all_deplibs, $1)=unknown
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 _LT_TAGVAR(no_undefined_flag, $1)=
 _LT_TAGVAR(whole_archive_flag_spec, $1)=
 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
@@ -6802,7 +7375,9 @@ if test "$_lt_disable_FC" != yes; then
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
   CC=${FC-"f95"}
+  CFLAGS=$FCFLAGS
   compiler=$CC
   GCC=$ac_cv_fc_compiler_gnu
 
@@ -6858,7 +7433,8 @@ if test "$_lt_disable_FC" != yes; then
   fi # test -n "$compiler"
 
   GCC=$lt_save_GCC
-  CC="$lt_save_CC"
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
 fi # test "$_lt_disable_FC" != yes
 
 AC_LANG_POP
@@ -6895,10 +7471,12 @@ _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
 # Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
 lt_save_GCC=$GCC
 GCC=yes
 CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
 _LT_TAGVAR(LD, $1)="$LD"
@@ -6908,6 +7486,8 @@ _LT_CC_BASENAME([$compiler])
 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
 
 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
 
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
@@ -6927,10 +7507,82 @@ fi
 AC_LANG_RESTORE
 
 GCC=$lt_save_GCC
-CC="$lt_save_CC"
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
 ])# _LT_LANG_GCJ_CONFIG
 
 
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
 # _LT_LANG_RC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
@@ -6962,9 +7614,11 @@ _LT_LINKER_BOILERPLATE
 
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
 lt_save_GCC=$GCC
 GCC=
 CC=${RC-"windres"}
+CFLAGS=
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
 _LT_CC_BASENAME([$compiler])
@@ -6977,7 +7631,8 @@ fi
 
 GCC=$lt_save_GCC
 AC_LANG_RESTORE
-CC="$lt_save_CC"
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
 ])# _LT_LANG_RC_CONFIG
 
 
@@ -6997,6 +7652,13 @@ dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
 
 
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
 # LT_PROG_RC
 # ----------
 AC_DEFUN([LT_PROG_RC],
@@ -7036,6 +7698,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object
 AC_SUBST([OBJDUMP])
 ])
 
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
 
 # _LT_DECL_SED
 # ------------
@@ -7129,8 +7800,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES],
 # Try some XSI features
 xsi_shell=no
 ( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,b/c, \
     && eval 'test $(( 1 + 1 )) -eq 2 \
     && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
   && xsi_shell=yes
@@ -7169,208 +7840,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn
 ])# _LT_CHECK_SHELL_FEATURES
 
 
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-m4_defun([_LT_PROG_XSI_SHELLFNS],
-[case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $[*] ))
-}
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
 
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+    case ${1} in
+      */*) func_dirname_result="${1%/*}${2}" ;;
+      *  ) func_dirname_result="${3}" ;;
+    esac])
+
+  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+    func_basename_result="${1##*/}"])
+
+  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+    case ${1} in
+      */*) func_dirname_result="${1%/*}${2}" ;;
+      *  ) func_dirname_result="${3}" ;;
+    esac
+    func_basename_result="${1##*/}"])
 
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
+  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary parameter first.
+    func_stripname_result=${3}
+    func_stripname_result=${func_stripname_result#"${1}"}
+    func_stripname_result=${func_stripname_result%"${2}"}])
 
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+    func_split_long_opt_name=${1%%=*}
+    func_split_long_opt_arg=${1#*=}])
 
-dnl func_dirname_and_basename
-dnl A portable version of this function is already defined in general.m4sh
-dnl so there is no need for it here.
+  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+    func_split_short_opt_arg=${1#??}
+    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
 
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
-  esac
-}
+  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+    case ${1} in
+      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+      *)    func_lo2o_result=${1} ;;
+    esac])
 
-# sed scripts:
-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[[^=]]*=//'
+  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
 
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
 
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
+fi
 
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
-}
+if test x"$lt_shell_append" = xyes; then
+  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
 
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$[@]"`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+    func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
+  # Save a `func_append' function call where possible by direct use of '+='
+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+else
+  # Save a `func_append' function call even when '+=' is not available
+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+fi
 
-_LT_EOF
-esac
+if test x"$_lt_function_replace_fail" = x":"; then
+  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
 
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]+=\$[2]"
-}
-_LT_EOF
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
     ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]=\$$[1]\$[2]"
-}
-
-_LT_EOF
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
     ;;
-  esac
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+         [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
 ])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+         [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff -pruN 3.1-1.1/config/m4/lt~obsolete.m4 1:3.1.1-0ubuntu4/config/m4/lt~obsolete.m4
--- 3.1-1.1/config/m4/lt~obsolete.m4	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/config/m4/lt~obsolete.m4	2013-01-20 05:56:50.000000000 +0000
@@ -1,13 +1,13 @@
 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
 #
-#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 #   Written by Scott James Remnant, 2004.
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 4 lt~obsolete.m4
+# serial 5 lt~obsolete.m4
 
 # These exist entirely to fool aclocal when bootstrapping libtool.
 #
@@ -77,7 +77,6 @@ m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC
 m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
 m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
 m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
 m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
@@ -90,3 +89,10 @@ m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[
 m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
 m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
 m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
diff -pruN 3.1-1.1/config/m4/ltoptions.m4 1:3.1.1-0ubuntu4/config/m4/ltoptions.m4
--- 3.1-1.1/config/m4/ltoptions.m4	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/config/m4/ltoptions.m4	2013-01-20 05:56:49.000000000 +0000
@@ -1,13 +1,14 @@
 # Helper functions for option handling.                    -*- Autoconf -*-
 #
-#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+#   Inc.
 #   Written by Gary V. Vaughan, 2004
 #
 # This file is free software; the Free Software Foundation gives
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 6 ltoptions.m4
+# serial 7 ltoptions.m4
 
 # This is to help aclocal find these macros, as it can't see m4_define.
 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -125,7 +126,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
 [enable_win32_dll=yes
 
 case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
   AC_CHECK_TOOL(AS, as, false)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -133,13 +134,13 @@ case $host in
 esac
 
 test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [0], [Assembler program])dnl
+_LT_DECL([], [AS],      [1], [Assembler program])dnl
 
 test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
 
 test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
 ])# win32-dll
 
 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
@@ -325,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL],
 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
     [pic_mode=default])
 
 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
diff -pruN 3.1-1.1/config/m4/ltversion.m4 1:3.1.1-0ubuntu4/config/m4/ltversion.m4
--- 3.1-1.1/config/m4/ltversion.m4	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/config/m4/ltversion.m4	2013-01-20 05:56:50.000000000 +0000
@@ -7,17 +7,17 @@
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# Generated from ltversion.in.
+# @configure_input@
 
-# serial 3012 ltversion.m4
+# serial 3337 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
+[macro_version='2.4.2'
+macro_revision='1.3337'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff -pruN 3.1-1.1/config/Makefile.in 1:3.1.1-0ubuntu4/config/Makefile.in
--- 3.1-1.1/config/Makefile.in	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/config/Makefile.in	2013-01-20 05:56:57.000000000 +0000
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -15,6 +15,23 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -51,6 +68,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -71,6 +93,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DOXYGEN = @DOXYGEN@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
@@ -97,6 +120,7 @@ LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MKDIR = @MKDIR@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -132,6 +156,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -165,7 +190,6 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -280,10 +304,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff -pruN 3.1-1.1/configitems 1:3.1.1-0ubuntu4/configitems
--- 3.1-1.1/configitems	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/configitems	2013-01-17 07:24:55.000000000 +0000
@@ -54,6 +54,7 @@ PQXX_HAVE_SHARED_PTR	public	compiler
 PQXX_HAVE_SLEEP	internal	compiler
 PQXX_HAVE_STREAMBUF	public	compiler
 PQXX_HAVE_STRERROR_R	internal	compiler
+PQXX_HAVE_STRERROR_R_GNU	internal	compiler
 PQXX_HAVE_STRING_CLEAR	internal	compiler
 PQXX_HAVE_STRNLEN	internal	compiler
 PQXX_HAVE_STRLCPY	internal	compiler
diff -pruN 3.1-1.1/configure 1:3.1.1-0ubuntu4/configure
--- 3.1-1.1/configure	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/configure	2013-01-20 05:56:57.000000000 +0000
@@ -1,12 +1,12 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for libpqxx 3.1.
+# Generated by GNU Autoconf 2.69 for libpqxx 3.1.1.
 #
 # Report bugs to <Jeroen T. Vermeulen <jtv@xs4all.nl>>.
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -89,6 +89,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -133,6 +134,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -166,11 +192,20 @@ if ( set x; as_fn_ret_success y && test
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
   test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+
+  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+    PATH=/empty FPATH=/empty; export PATH FPATH
+    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
 test \$(( 1 + 1 )) = 2 || exit 1"
   if (eval "$as_required") 2>/dev/null; then :
   as_have_required=yes
@@ -211,14 +246,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -317,10 +363,18 @@ $as_echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -357,19 +411,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -442,6 +496,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -476,16 +534,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -497,28 +555,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -526,160 +564,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P
 # Sed expression to map a string onto a valid variable name.
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
-
-
-# Check that we are running under the correct shell.
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-$*
-_LT_EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
-
-	  if test "$prev" != 'sed 50q "$0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
 
-
-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -698,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='libpqxx'
 PACKAGE_TARNAME='libpqxx'
-PACKAGE_VERSION='3.1'
-PACKAGE_STRING='libpqxx 3.1'
+PACKAGE_VERSION='3.1.1'
+PACKAGE_STRING='libpqxx 3.1.1'
 PACKAGE_BUGREPORT='Jeroen T. Vermeulen <jtv@xs4all.nl>'
 PACKAGE_URL=''
 
@@ -769,9 +661,11 @@ OTOOL
 LIPO
 NMEDIT
 DSYMUTIL
-lt_ECHO
+MANIFEST_TOOL
 RANLIB
+ac_ct_AR
 AR
+DLLTOOL
 OBJDUMP
 LN_S
 NM
@@ -800,6 +694,7 @@ CC
 am__fastdepCXX_FALSE
 am__fastdepCXX_TRUE
 CXXDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -887,6 +782,7 @@ enable_static
 with_pic
 enable_fast_install
 with_gnu_ld
+with_sysroot
 enable_libtool_lock
 enable_maintainer_mode
 with_std
@@ -967,8 +863,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -1013,7 +910,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1039,7 +936,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1243,7 +1140,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1259,7 +1156,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1289,8 +1186,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1298,7 +1195,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1308,7 +1205,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1316,13 +1213,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1345,7 +1242,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1359,8 +1256,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1375,9 +1270,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1416,11 +1311,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1446,7 +1341,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libpqxx 3.1 to adapt to many kinds of systems.
+\`configure' configures libpqxx 3.1.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1460,7 +1355,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1516,7 +1411,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpqxx 3.1:";;
+     short | recursive ) echo "Configuration of libpqxx 3.1.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1538,9 +1433,11 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic              try to use only PIC/non-PIC objects [default=use
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot=DIR Search for dependent libraries within DIR
+                        (or the compiler's sysroot if not specified).
   --with-std              name of standard library namespace (normally "std")
   --with-tr1              namespace of TR1 extension to the C++ standard
 
@@ -1550,7 +1447,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CC          C compiler command
   CFLAGS      C compiler flags
@@ -1623,10 +1520,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpqxx configure 3.1
-generated by GNU Autoconf 2.64
+libpqxx configure 3.1.1
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1670,8 +1567,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_compile
 
@@ -1708,8 +1605,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
 
@@ -1740,7 +1637,7 @@ $as_echo "$ac_try_echo"; } >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -1754,8 +1651,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
 
@@ -1768,7 +1665,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1786,7 +1683,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -1811,7 +1708,7 @@ $as_echo "$ac_try_echo"; } >&5
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1822,8 +1719,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
 
@@ -1864,8 +1761,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
 
@@ -1877,7 +1774,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1932,7 +1829,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -1957,7 +1854,7 @@ $as_echo "$ac_try_echo"; } >&5
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1968,8 +1865,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_cpp
 
@@ -2000,7 +1897,7 @@ $as_echo "$ac_try_echo"; } >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
+	 test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -2014,8 +1911,8 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_link
 
@@ -2027,10 +1924,10 @@ fi
 ac_fn_cxx_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -2066,7 +1963,7 @@ if ac_fn_cxx_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -2089,17 +1986,15 @@ $as_echo "$as_me: WARNING: $2: see the A
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## -------------------------------------------------- ##
+( $as_echo "## -------------------------------------------------- ##
 ## Report this to Jeroen T. Vermeulen <jtv@xs4all.nl> ##
-## -------------------------------------------------- ##
-_ASBOX
+## -------------------------------------------------- ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -2108,7 +2003,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_cxx_check_header_mongrel
 
@@ -2149,16 +2044,16 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+  as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_run
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libpqxx $as_me 3.1, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+It was created by libpqxx $as_me 3.1.1, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2268,11 +2163,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -2306,11 +2199,9 @@ $as_echo "$as_me: WARNING: cache variabl
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -2323,11 +2214,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -2341,11 +2230,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -2400,7 +2287,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -2411,18 +2303,22 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2491,7 +2387,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -2512,16 +2408,22 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 ac_aux_dir=
 for ac_dir in config "$srcdir"/config; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2553,7 +2455,7 @@ am__api_version='1.11'
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2573,7 +2475,7 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
 	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
@@ -2640,11 +2542,11 @@ am_lf='
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
 esac
 
 # Do `set' in a subshell so we don't clobber the current shell's
@@ -2666,7 +2568,7 @@ if (
       # if, for instance, CONFIG_SHELL is bash and it inherits a
       # broken ls alias from the environment.  This has actually
       # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
 alias in your environment" "$LINENO" 5
    fi
 
@@ -2676,7 +2578,7 @@ then
    # Ok.
    :
 else
-   as_fn_error "newly created file is older than distributed files!
+   as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -2730,7 +2632,7 @@ if test "$cross_compiling" != no; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -2742,7 +2644,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2770,7 +2672,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -2782,7 +2684,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2823,7 +2725,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
+  if ${ac_cv_path_mkdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -2833,7 +2735,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_prog in mkdir gmkdir; do
 	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
 	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
 	     'mkdir (GNU coreutils) '* | \
 	     'mkdir (coreutils) '* | \
@@ -2848,6 +2750,7 @@ IFS=$as_save_IFS
 
 fi
 
+  test -d ./--version && rmdir ./--version
   if test "${ac_cv_path_mkdir+set}" = set; then
     MKDIR_P="$ac_cv_path_mkdir -p"
   else
@@ -2855,7 +2758,6 @@ fi
     # value for MKDIR_P within a source directory, because that will
     # break other packages using the cache if that directory is
     # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
     MKDIR_P="$ac_install_sh -d"
   fi
 fi
@@ -2874,7 +2776,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -2886,7 +2788,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2914,7 +2816,7 @@ done
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -2922,7 +2824,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2956,7 +2858,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"
   am__isrc=' -I$(srcdir)'
   # test to see if srcdir already configured
   if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
@@ -2972,7 +2874,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=libpqxx
- VERSION=3.1
+ VERSION=3.1.1
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3002,18 +2904,18 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}ma
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
 
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
 
 
 
-PQXXVERSION=3.1
+PQXXVERSION=3.1.1
 PQXX_ABI=3.1
 PQXX_MAJOR=3
 PQXX_MINOR=1
@@ -3046,7 +2948,7 @@ if test -z "$CXX"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX"; then
@@ -3058,7 +2960,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3090,7 +2992,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CXX"; then
@@ -3102,7 +3004,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3160,32 +3062,30 @@ $as_echo "$ac_try_echo"; } >&5
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdio.h>
+
 int
 main ()
 {
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
-$as_echo_n "checking for C++ compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
+$as_echo_n "checking whether the C++ compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
@@ -3247,62 +3147,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeex
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C++ compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C++ compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
+$as_echo_n "checking for C++ compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
-$as_echo_n "checking whether the C++ compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -3332,19 +3198,78 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C++ compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3384,8 +3309,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3395,7 +3320,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -3432,7 +3357,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -3565,6 +3490,7 @@ fi
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
  if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
@@ -3580,7 +3506,7 @@ depcc="$CXX"  am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
@@ -3589,6 +3515,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -3648,7 +3575,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -3713,7 +3640,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3725,7 +3652,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3753,7 +3680,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3765,7 +3692,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3806,7 +3733,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3818,7 +3745,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3846,7 +3773,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3859,7 +3786,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -3905,7 +3832,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -3917,7 +3844,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3949,7 +3876,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -3961,7 +3888,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -4003,8 +3930,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4025,15 +3952,15 @@ $as_echo "$ac_try_echo"; } >&5
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4070,7 +3997,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4148,7 +4075,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4157,8 +4084,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4247,7 +4173,7 @@ depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
@@ -4256,6 +4182,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -4315,7 +4242,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -4410,8 +4337,8 @@ esac
 
 
 
-macro_version='2.2.6'
-macro_revision='1.3012'
+macro_version='2.4.2'
+macro_revision='1.3337'
 
 
 
@@ -4429,27 +4356,27 @@ ltmain="$ac_aux_dir/ltmain.sh"
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -4467,14 +4394,14 @@ case $build_os in *\ *) build_os=`echo "
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -4482,7 +4409,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -4498,9 +4425,78 @@ IFS=$ac_save_IFS
 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+  ECHO='printf %s\n'
+else
+  # Use this function as a fallback that always works.
+  func_fallback_echo ()
+  {
+    eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+  }
+  ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+    $ECHO ""
+}
+
+case "$ECHO" in
+  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -4520,7 +4516,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -4555,7 +4551,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -4582,7 +4578,7 @@ Xsed="$SED -e 1s/^X//"
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -4596,7 +4592,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -4631,7 +4627,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -4645,7 +4641,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -4662,7 +4658,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -4697,7 +4693,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -4712,7 +4708,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -4729,7 +4725,7 @@ do
     for ac_prog in fgrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+      as_fn_executable_p "$ac_path_FGREP" || continue
 # Check for GNU ac_path_FGREP and select it if it is found.
   # Check for GNU $ac_path_FGREP
 case `"$ac_path_FGREP" --version 2>&1` in
@@ -4764,7 +4760,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -4843,7 +4839,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -4880,10 +4876,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -4910,7 +4906,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -4963,14 +4959,17 @@ if test "$lt_cv_path_NM" != "no"; then
   NM="$lt_cv_path_NM"
 else
   # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+  if test -n "$DUMPBIN"; then :
+    # Let the user override the test.
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in dumpbin "link -dump"
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -4982,7 +4981,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5008,13 +5007,13 @@ fi
 fi
 if test -z "$DUMPBIN"; then
   ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+  for ac_prog in dumpbin "link -dump"
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -5026,7 +5025,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5063,6 +5062,15 @@ esac
   fi
 fi
 
+    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+    *COFF*)
+      DUMPBIN="$DUMPBIN -symbols"
+      ;;
+    *)
+      DUMPBIN=:
+      ;;
+    esac
+  fi
 
   if test "$DUMPBIN" != ":"; then
     NM="$DUMPBIN"
@@ -5077,18 +5085,18 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:5085: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:5088: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:5091: output\"" >&5)
+  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -5112,7 +5120,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -5145,6 +5153,11 @@ else
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
+  mint*)
+    # On MiNT this can take a long time and run out of memory.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
   amigaos*)
     # On AmigaOS with pdksh, this test takes hours, literally.
     # So we just punt and use a minimum line length of 8192.
@@ -5170,6 +5183,11 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -5209,8 +5227,8 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
         i=`expr $i + 1`
@@ -5252,8 +5270,8 @@ $as_echo_n "checking whether the shell u
 # Try some XSI features
 xsi_shell=no
 ( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,b/c, \
     && eval 'test $(( 1 + 1 )) -eq 2 \
     && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
   && xsi_shell=yes
@@ -5302,22 +5320,101 @@ esac
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
 case $reload_flag in
 "" | " "*) ;;
 *) reload_flag=" $reload_flag" ;;
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
   darwin*)
     if test "$GCC" = yes; then
       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
@@ -5340,7 +5437,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -5352,7 +5449,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5380,7 +5477,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -5392,7 +5489,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OBJDUMP="objdump"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5439,7 +5536,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -5481,16 +5578,18 @@ mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
   # func_win32_libid shell function, so use a weaker test based on 'objdump',
   # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
+  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
     lt_cv_file_magic_cmd='func_win32_libid'
   else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    # Keep this pattern in sync with the one in func_win32_libid.
+    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
     lt_cv_file_magic_cmd='$OBJDUMP -f'
   fi
   ;;
 
-cegcc)
+cegcc*)
   # use the weaker test based on 'objdump'. See mingw*.
   lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
   lt_cv_file_magic_cmd='$OBJDUMP -f'
@@ -5520,6 +5619,10 @@ gnu*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
+haiku*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
   case $host_cpu in
@@ -5528,11 +5631,11 @@ hpux10.20* | hpux11*)
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
     ;;
   hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
     lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
     ;;
   *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
     lt_cv_file_magic_test_file=/usr/lib/libc.sl
     ;;
   esac
@@ -5553,8 +5656,8 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -5635,6 +5738,21 @@ esac
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
 $as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -5650,12 +5768,166 @@ test -z "$deplibs_check_method" && depli
 
 
 
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh
+  # decide which to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -5667,8 +5939,8 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -5688,14 +5960,18 @@ $as_echo "no" >&6; }
 fi
 
 
+    test -n "$AR" && break
+  done
 fi
-if test -z "$ac_cv_prog_AR"; then
+if test -z "$AR"; then
   ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -5707,8 +5983,8 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_AR="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -5727,6 +6003,10 @@ else
 $as_echo "no" >&6; }
 fi
 
+
+  test -n "$ac_ct_AR" && break
+done
+
   if test "x$ac_ct_AR" = x; then
     AR="false"
   else
@@ -5738,16 +6018,72 @@ ac_tool_warned=yes ;;
 esac
     AR=$ac_ct_AR
   fi
-else
-  AR="$ac_cv_prog_AR"
 fi
 
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
 
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
 
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
 
 
 
@@ -5760,7 +6096,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -5772,7 +6108,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5800,7 +6136,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -5812,7 +6148,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_STRIP="strip"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5859,7 +6195,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -5871,7 +6207,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5899,7 +6235,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -5911,7 +6247,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -5961,15 +6297,27 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
+case $host_os in
+  darwin*)
+    lock_old_archive_extraction=yes ;;
+  *)
+    lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
 
 
 
@@ -6016,7 +6364,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -6077,8 +6425,8 @@ esac
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -6102,6 +6450,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -6114,6 +6463,7 @@ for ac_symprfx in "" "_"; do
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
   fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -6139,8 +6489,8 @@ _LT_EOF
   test $ac_status = 0; }; then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && test -s "$nlist"; then
@@ -6155,6 +6505,18 @@ _LT_EOF
       if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
 	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
 	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -6166,7 +6528,7 @@ _LT_EOF
 	  cat <<_LT_EOF >> conftest.$ac_ext
 
 /* The mapping between symbol names and symbols.  */
-const struct {
+LT_DLSYM_CONST struct {
   const char *name;
   void       *address;
 }
@@ -6192,8 +6554,8 @@ static const void *lt_preloaded_setup()
 _LT_EOF
 	  # Now try linking the two files.
 	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
 	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
@@ -6203,8 +6565,8 @@ _LT_EOF
   test $ac_status = 0; } && test -s conftest${ac_exeext}; then
 	    pipe_works=yes
 	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
 	else
 	  echo "cannot find nm_test_func in $nlist" >&5
 	fi
@@ -6241,6 +6603,23 @@ else
 $as_echo "ok" >&6; }
 fi
 
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -6257,6 +6636,38 @@ fi
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+  withval=$with_sysroot;
+else
+  with_sysroot=no
+fi
+
+
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+   if test "$GCC" = yes; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
 
 
 
@@ -6294,7 +6705,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 6297 "configure"' > conftest.$ac_ext
+  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6388,7 +6799,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -6429,7 +6840,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -6440,7 +6851,20 @@ sparc*-*solaris*)
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -6456,15 +6880,132 @@ esac
 
 need_locks="$enable_libtool_lock"
 
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+  MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -6476,7 +7017,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6504,7 +7045,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -6516,7 +7057,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6556,7 +7097,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -6568,7 +7109,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6596,7 +7137,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -6608,7 +7149,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_NMEDIT="nmedit"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6648,7 +7189,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -6660,7 +7201,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6688,7 +7229,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -6700,7 +7241,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_LIPO="lipo"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6740,7 +7281,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -6752,7 +7293,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6780,7 +7321,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -6792,7 +7333,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL="otool"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6832,7 +7373,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -6844,7 +7385,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6872,7 +7413,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -6884,7 +7425,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OTOOL64="otool64"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6947,7 +7488,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -6963,7 +7504,13 @@ else
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&5
@@ -6974,9 +7521,10 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -7006,6 +7554,41 @@ rm -f core conftest.err conftest.$ac_obj
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_force_load=no
+      cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+      echo "$AR cru libconftest.a conftest.o" >&5
+      $AR cru libconftest.a conftest.o 2>&5
+      echo "$RANLIB libconftest.a" >&5
+      $RANLIB libconftest.a 2>&5
+      cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+      _lt_result=$?
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+	lt_cv_ld_force_load=yes
+      else
+	cat conftest.err >&5
+      fi
+        rm -f conftest.err libconftest.a conftest conftest.c
+        rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
     case $host_os in
     rhapsody* | darwin1.[012])
       _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
@@ -7033,7 +7616,7 @@ $as_echo "$lt_cv_ld_exported_symbols_lis
     else
       _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
     fi
-    if test "$DSYMUTIL" != ":"; then
+    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
       _lt_dsymutil='~$DSYMUTIL $lib || :'
     else
       _lt_dsymutil=
@@ -7053,7 +7636,7 @@ if test -n "$CPP" && test -d "$CPP"; the
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -7083,7 +7666,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -7099,11 +7682,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -7142,7 +7725,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -7158,18 +7741,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -7181,7 +7764,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7298,8 +7881,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -7313,7 +7895,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -7324,528 +7906,13 @@ done
 
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-_lt_caught_CXX_error=yes; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-else
-  _lt_caught_CXX_error=yes
-fi
+func_stripname_cnf ()
+{
+  case ${2} in
+  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  esac
+} # func_stripname_cnf
 
 
 
@@ -7896,7 +7963,22 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
   pic_mode=default
 fi
@@ -7973,6 +8055,11 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo
 
 
 
+
+
+
+
+
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -7994,7 +8081,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -8022,19 +8109,6 @@ _ACEOF
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
 case $host_os in
 aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
@@ -8047,23 +8121,6 @@ aix3*)
   ;;
 esac
 
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
 # Global variables:
 ofile=libtool
 can_build_shared=yes
@@ -8092,7 +8149,7 @@ for cc_temp in $compiler""; do
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
 # Only perform the check for file, if the check method requires it
@@ -8102,7 +8159,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -8168,7 +8225,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -8301,11 +8358,16 @@ if test -n "$compiler"; then
 lt_prog_compiler_no_builtin_flag=
 
 if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+  case $cc_basename in
+  nvcc*)
+    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+  *)
+    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+  esac
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -8321,15 +8383,15 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8324: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8328: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
@@ -8358,8 +8420,6 @@ fi
 lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl='-Wl,'
@@ -8407,6 +8467,12 @@ $as_echo_n "checking for $compiler optio
       lt_prog_compiler_pic='-fno-common'
       ;;
 
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static=
+      ;;
+
     hpux*)
       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
@@ -8449,6 +8515,15 @@ $as_echo_n "checking for $compiler optio
       lt_prog_compiler_pic='-fPIC'
       ;;
     esac
+
+    case $cc_basename in
+    nvcc*) # Cuda Compiler Driver 2.2
+      lt_prog_compiler_wl='-Xlinker '
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
+      ;;
+    esac
   else
     # PORTME Check for flag to pass linker flags through the system compiler.
     case $host_os in
@@ -8490,7 +8565,7 @@ $as_echo_n "checking for $compiler optio
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    linux* | k*bsd*-gnu)
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
       case $cc_basename in
       # old Intel for x86_64 which still supported -KPIC.
       ecc*)
@@ -8511,7 +8586,13 @@ $as_echo_n "checking for $compiler optio
 	lt_prog_compiler_pic='--shared'
 	lt_prog_compiler_static='--static'
 	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
+      nagfor*)
+	# NAG Fortran compiler
+	lt_prog_compiler_wl='-Wl,-Wl,,'
+	lt_prog_compiler_pic='-PIC'
+	lt_prog_compiler_static='-Bstatic'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
 	lt_prog_compiler_wl='-Wl,'
@@ -8523,25 +8604,40 @@ $as_echo_n "checking for $compiler optio
         # All Alpha code is PIC.
         lt_prog_compiler_static='-non_shared'
         ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
+      xl* | bgxl* | bgf* | mpixl*)
+	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
 	lt_prog_compiler_wl='-Wl,'
 	lt_prog_compiler_pic='-qpic'
 	lt_prog_compiler_static='-qstaticlink'
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl=''
+	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl='-Wl,'
 	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  lt_prog_compiler_pic='-KPIC'
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
 	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl=''
 	  ;;
 	esac
 	;;
@@ -8573,7 +8669,7 @@ $as_echo_n "checking for $compiler optio
       lt_prog_compiler_pic='-KPIC'
       lt_prog_compiler_static='-Bstatic'
       case $cc_basename in
-      f77* | f90* | f95*)
+      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
 	lt_prog_compiler_wl='-Qoption ld ';;
       *)
 	lt_prog_compiler_wl='-Wl,';;
@@ -8630,13 +8726,17 @@ case $host_os in
     lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
     ;;
 esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-
-
-
-
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
 
 #
 # Check to make sure the PIC flag actually works.
@@ -8644,7 +8744,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -8660,15 +8760,15 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8663: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8667: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_pic_works=yes
@@ -8697,13 +8797,18 @@ fi
 
 
 
+
+
+
+
+
 #
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -8716,7 +8821,7 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          lt_cv_prog_compiler_static_works=yes
@@ -8746,7 +8851,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -8765,16 +8870,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8768: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8772: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
@@ -8801,7 +8906,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6;
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -8820,16 +8925,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8823: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8827: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
@@ -8895,7 +9000,6 @@ $as_echo_n "checking whether the $compil
   hardcode_direct=no
   hardcode_direct_absolute=no
   hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
   hardcode_libdir_separator=
   hardcode_minus_L=no
   hardcode_shlibpath_var=unsupported
@@ -8939,13 +9043,39 @@ $as_echo_n "checking whether the $compil
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu)
+  linux* | k*bsd*-gnu | gnu*)
     link_all_deplibs=no
     ;;
   esac
 
   ld_shlibs=yes
+
+  # On some targets, GNU ld is compatible enough with the native linker
+  # that we're better off using the native interface for both.
+  lt_use_gnu_ld_interface=no
   if test "$with_gnu_ld" = yes; then
+    case $host_os in
+      aix*)
+	# The AIX port of GNU ld has always aspired to compatibility
+	# with the native linker.  However, as the warning in the GNU ld
+	# block says, versions before 2.19.5* couldn't really create working
+	# shared libraries, regardless of the interface used.
+	case `$LD -v 2>&1` in
+	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+	  *)
+	    lt_use_gnu_ld_interface=yes
+	    ;;
+	esac
+	;;
+      *)
+	lt_use_gnu_ld_interface=yes
+	;;
+    esac
+  fi
+
+  if test "$lt_use_gnu_ld_interface" = yes; then
     # If archive_cmds runs LD, not CC, wlarc should be empty
     wlarc='${wl}'
 
@@ -8963,6 +9093,7 @@ $as_echo_n "checking whether the $compil
     fi
     supports_anon_versioning=no
     case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
       *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -8978,11 +9109,12 @@ $as_echo_n "checking whether the $compil
 	ld_shlibs=no
 	cat <<_LT_EOF 1>&2
 
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** Warning: the GNU linker, at least up to release 2.19, is reported
 *** to be unable to reliably create shared libraries on AIX.
 *** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
 
 _LT_EOF
       fi
@@ -9018,10 +9150,12 @@ _LT_EOF
       # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
       # as there is no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
+      export_dynamic_flag_spec='${wl}--export-all-symbols'
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -9039,6 +9173,11 @@ _LT_EOF
       fi
       ;;
 
+    haiku*)
+      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      link_all_deplibs=yes
+      ;;
+
     interix[3-9]*)
       hardcode_direct=no
       hardcode_shlibpath_var=no
@@ -9054,7 +9193,7 @@ _LT_EOF
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | tpf* | k*bsd*-gnu)
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
       tmp_diet=no
       if test "$host_os" = linux-dietlibc; then
 	case $cc_basename in
@@ -9064,15 +9203,16 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	pgf77* | pgf90* | pgf95* | pgfortran*)
+					# Portland Group f77 and f90 compilers
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
 	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
@@ -9083,13 +9223,17 @@ _LT_EOF
 	lf95*)				# Lahey Fortran 8.1
 	  whole_archive_flag_spec=
 	  tmp_sharedflag='--shared' ;;
-	xl[cC]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
+	nvcc*)	# Cuda Compiler Driver 2.2
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
+	  ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	  compiler_needs_object=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
@@ -9105,17 +9249,16 @@ _LT_EOF
         fi
 
 	case $cc_basename in
-	xlf*)
+	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec=
-	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
-	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
 	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
 	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
 	  fi
 	  ;;
 	esac
@@ -9129,8 +9272,8 @@ _LT_EOF
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -9148,8 +9291,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	ld_shlibs=no
       fi
@@ -9195,8 +9338,8 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	ld_shlibs=no
       fi
@@ -9236,8 +9379,10 @@ _LT_EOF
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
 	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	# Also, AIX nm treats weak defined symbols like other global
+	# defined symbols, whereas GNU nm marks them as "W".
 	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	else
 	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	fi
@@ -9325,7 +9470,13 @@ _LT_EOF
 	allow_undefined_flag='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+        if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -9338,25 +9489,32 @@ main ()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
 
         hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
       else
 	if test "$host_cpu" = ia64; then
 	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
@@ -9365,7 +9523,13 @@ if test -z "$aix_libpath"; then aix_libp
 	else
 	 # Determine the default libpath from the value encoded in an
 	 # empty executable.
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	 if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -9378,30 +9542,42 @@ main ()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
 
 	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
 	  # Warning - without using the other run time loading flags,
 	  # -berok will link without error, but may produce a broken library.
 	  no_undefined_flag=' ${wl}-bernotok'
 	  allow_undefined_flag=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec='$convenience'
+	  if test "$with_gnu_ld" = yes; then
+	    # We only use this code for GNU lds that support --whole-archive.
+	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	  else
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec='$convenience'
+	  fi
 	  archive_cmds_need_lc=yes
 	  # This is similar to how AIX traditionally builds its shared libraries.
 	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
@@ -9433,20 +9609,64 @@ if test -z "$aix_libpath"; then aix_libp
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	always_export_symbols=yes
+	file_list_spec='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	  else
+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	  fi~
+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	  linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	old_postinstall_cmds='chmod 644 $oldlib'
+	postlink_cmds='lt_outputfile="@OUTPUT@"~
+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
+	  case $lt_outputfile in
+	    *.exe|*.EXE) ;;
+	    *)
+	      lt_outputfile="$lt_outputfile.exe"
+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
+	      ;;
+	  esac~
+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	    $RM "$lt_outputfile.manifest";
+	  fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	old_archive_from_new_cmds='true'
+	# FIXME: Should let the user specify the lib program.
+	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	enable_shared_with_static_runtimes=yes
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -9456,7 +9676,12 @@ if test -z "$aix_libpath"; then aix_libp
   hardcode_direct=no
   hardcode_automatic=yes
   hardcode_shlibpath_var=unsupported
-  whole_archive_flag_spec=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec=''
+  fi
   link_all_deplibs=yes
   allow_undefined_flag="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -9464,7 +9689,7 @@ if test -z "$aix_libpath"; then aix_libp
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -9482,10 +9707,6 @@ if test -z "$aix_libpath"; then aix_libp
       hardcode_shlibpath_var=no
       ;;
 
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -9498,7 +9719,7 @@ if test -z "$aix_libpath"; then aix_libp
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -9507,7 +9728,7 @@ if test -z "$aix_libpath"; then aix_libp
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       hardcode_shlibpath_var=no
@@ -9515,7 +9736,7 @@ if test -z "$aix_libpath"; then aix_libp
 
     hpux9*)
       if test "$GCC" = yes; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
 	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
@@ -9530,14 +9751,13 @@ if test -z "$aix_libpath"; then aix_libp
       ;;
 
     hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+	archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
       if test "$with_gnu_ld" = no; then
 	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_flag_spec_ld='+b $libdir'
 	hardcode_libdir_separator=:
 	hardcode_direct=yes
 	hardcode_direct_absolute=yes
@@ -9549,16 +9769,16 @@ if test -z "$aix_libpath"; then aix_libp
       ;;
 
     hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
 	case $host_cpu in
 	hppa*64*)
 	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	ia64*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	esac
       else
@@ -9570,7 +9790,46 @@ if test -z "$aix_libpath"; then aix_libp
 	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+
+	  # Older versions of the 11.00 compiler do not understand -b yet
+	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler__b=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS -b"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler__b=yes
+       fi
+     else
+       lt_cv_prog_compiler__b=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
 	  ;;
 	esac
       fi
@@ -9598,26 +9857,39 @@ if test -z "$aix_libpath"; then aix_libp
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	# This should be the same for all languages, so no per-tag cache variable.
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LDFLAGS="$LDFLAGS"
+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-int foo(void) {}
+int foo (void) { return 0; }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
+  lt_cv_irix_exported_symbol=yes
+else
+  lt_cv_irix_exported_symbol=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
+           LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+	if test "$lt_cv_irix_exported_symbol" = yes; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	fi
       else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
       fi
       archive_cmds_need_lc='no'
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
@@ -9679,17 +9951,17 @@ rm -f core conftest.err conftest.$ac_obj
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
       old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
       fi
       archive_cmds_need_lc='no'
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
@@ -9699,13 +9971,13 @@ rm -f core conftest.err conftest.$ac_obj
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	hardcode_libdir_flag_spec='-rpath $libdir'
@@ -9718,9 +9990,9 @@ rm -f core conftest.err conftest.$ac_obj
       no_undefined_flag=' -z defs'
       if test "$GCC" = yes; then
 	wlarc='${wl}'
-	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
 	case `$CC -V 2>&1` in
 	*"Compilers 5.0"*)
@@ -9908,44 +10180,50 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-	pic_flag=$lt_prog_compiler_pic
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl
+	  pic_flag=$lt_prog_compiler_pic
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag
+	  allow_undefined_flag=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
   (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
-        then
-	  archive_cmds_need_lc=no
-        else
-	  archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
-$as_echo "$archive_cmds_need_lc" >&6; }
+	  then
+	    lt_cv_archive_cmds_need_lc=no
+	  else
+	    lt_cv_archive_cmds_need_lc=yes
+	  fi
+	  allow_undefined_flag=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
       ;;
     esac
   fi
@@ -10103,11 +10381,6 @@ esac
 
 
 
-
-
-
-
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -10116,16 +10389,23 @@ if test "$GCC" = yes; then
     darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
     *) lt_awk_arg="/^libraries:/" ;;
   esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+  case $host_os in
+    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+    *) lt_sed_strip_eq="s,=/,/,g" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+  case $lt_search_path_spec in
+  *\;*)
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+    ;;
+  *)
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+    ;;
+  esac
   # Ok, now we have the path, separated by spaces, we can step through it
   # and add multilib dir if necessary.
   lt_tmp_lt_search_path_spec=
@@ -10138,7 +10418,7 @@ if test "$GCC" = yes; then
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
 BEGIN {RS=" "; FS="/|\n";} {
   lt_foo="";
   lt_count=0;
@@ -10158,7 +10438,13 @@ BEGIN {RS=" "; FS="/|\n";} {
   if (lt_foo != "") { lt_freq[lt_foo]++; }
   if (lt_freq[lt_foo] == 1) { print lt_foo; }
 }'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+  # AWK program above erroneously prepends '/' to C:/dos/paths
+  # for these hosts.
+  case $host_os in
+    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+  esac
+  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
@@ -10184,7 +10470,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -10193,7 +10479,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -10246,7 +10532,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -10258,7 +10544,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -10277,8 +10563,9 @@ cygwin* | mingw* | pw32* | cegcc*)
   need_version=no
   need_lib_prefix=no
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -10299,36 +10586,83 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
+      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
     ;;
 
   *)
+    # Assume MSVC wrapper
     library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
     ;;
   esac
-  dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
   ;;
@@ -10349,7 +10683,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -10357,10 +10691,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -10368,7 +10698,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -10386,7 +10716,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -10405,13 +10735,27 @@ freebsd* | dragonfly*)
   esac
   ;;
 
-gnu*)
-  version_type=linux
+gnu*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
+  dynamic_linker="$host_os runtime_loader"
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
 
@@ -10457,12 +10801,14 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -10478,7 +10824,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -10515,9 +10861,9 @@ linux*oldld* | linux*aout* | linux*coff*
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10525,12 +10871,17 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -10543,13 +10894,17 @@ main ()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
   if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  shlibpath_overrides_runpath=yes
+  lt_cv_shlibpath_overrides_runpath=yes
 fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -10558,7 +10913,7 @@ rm -f core conftest.err conftest.$ac_obj
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -10602,7 +10957,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -10671,7 +11026,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10696,7 +11051,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -10720,7 +11075,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -10751,7 +11106,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware*
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -10761,7 +11116,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -10873,6 +11228,11 @@ fi
 
 
 
+
+
+
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
 hardcode_action=
@@ -10945,7 +11305,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10979,7 +11339,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -10993,12 +11353,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11032,16 +11392,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11075,12 +11435,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11114,12 +11474,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -11153,7 +11513,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -11194,7 +11554,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -11203,7 +11563,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11206 "configure"
+#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11244,7 +11604,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -11253,7 +11619,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -11290,7 +11660,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -11299,7 +11669,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11302 "configure"
+#line $LINENO "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11340,7 +11710,13 @@ else
 #  endif
 #endif
 
-void fnord() { int i=42;}
+/* When -fvisbility=hidden is used, assume the code has been annotated
+   correspondingly for the symbols needed.  */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -11349,7 +11725,11 @@ int main ()
   if (self)
     {
       if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      else
+        {
+	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
+          else puts (dlerror ());
+	}
       /* dlclose (self); */
     }
   else
@@ -11506,6 +11886,145 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 CC="$lt_save_CC"
 
+      if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if ${ac_cv_prog_CXXCPP+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+else
+  _lt_caught_CXX_error=yes
+fi
 
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -11522,7 +12041,6 @@ export_dynamic_flag_spec_CXX=
 hardcode_direct_CXX=no
 hardcode_direct_absolute_CXX=no
 hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
 hardcode_libdir_separator_CXX=
 hardcode_minus_L_CXX=no
 hardcode_shlibpath_var_CXX=unsupported
@@ -11532,6 +12050,8 @@ module_cmds_CXX=
 module_expsym_cmds_CXX=
 link_all_deplibs_CXX=unknown
 old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
 no_undefined_flag_CXX=
 whole_archive_flag_spec_CXX=
 enable_shared_with_static_runtimes_CXX=no
@@ -11587,6 +12107,7 @@ $RM -r conftest*
 
   # Allow CC to be a program name with arguments.
   lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
   lt_save_LD=$LD
   lt_save_GCC=$GCC
   GCC=$GXX
@@ -11604,6 +12125,7 @@ $RM -r conftest*
   fi
   test -z "${LDCXX+set}" || LD=$LDCXX
   CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
   compiler=$CC
   compiler_CXX=$CC
   for cc_temp in $compiler""; do
@@ -11614,7 +12136,7 @@ $RM -r conftest*
     *) break;;
   esac
 done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
 
 
   if test -n "$compiler"; then
@@ -11677,7 +12199,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -11714,10 +12236,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -11743,8 +12265,8 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
       if test "$with_gnu_ld" = yes; then
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
         hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
         export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
@@ -11776,7 +12298,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
     else
       GXX=no
@@ -11886,7 +12408,13 @@ $as_echo_n "checking whether the $compil
           allow_undefined_flag_CXX='-berok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+          if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath__CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -11899,26 +12427,33 @@ main ()
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath__CXX
+fi
 
           hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
         else
           if test "$host_cpu" = ia64; then
 	    hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
@@ -11927,7 +12462,13 @@ if test -z "$aix_libpath"; then aix_libp
           else
 	    # Determine the default libpath from the value encoded in an
 	    # empty executable.
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	    if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath__CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -11940,30 +12481,42 @@ main ()
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath__CXX
+fi
 
 	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 	    # Warning - without using the other run time loading flags,
 	    # -berok will link without error, but may produce a broken library.
 	    no_undefined_flag_CXX=' ${wl}-bernotok'
 	    allow_undefined_flag_CXX=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    whole_archive_flag_spec_CXX='$convenience'
+	    if test "$with_gnu_ld" = yes; then
+	      # We only use this code for GNU lds that support --whole-archive.
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    else
+	      # Exported symbols can be pulled into shared objects from archives
+	      whole_archive_flag_spec_CXX='$convenience'
+	    fi
 	    archive_cmds_need_lc_CXX=yes
 	    # This is similar to how AIX traditionally builds its shared
 	    # libraries.
@@ -11993,28 +12546,75 @@ if test -z "$aix_libpath"; then aix_libp
         ;;
 
       cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-        # as there is no search path for DLLs.
-        hardcode_libdir_flag_spec_CXX='-L$libdir'
-        allow_undefined_flag_CXX=unsupported
-        always_export_symbols_CXX=no
-        enable_shared_with_static_runtimes_CXX=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          ld_shlibs_CXX=no
-        fi
-        ;;
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  hardcode_libdir_flag_spec_CXX=' '
+	  allow_undefined_flag_CXX=unsupported
+	  always_export_symbols_CXX=yes
+	  file_list_spec_CXX='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=".dll"
+	  # FIXME: Setting linknames here is a bad hack.
+	  archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	  archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	    else
+	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	    fi~
+	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	    linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+	  enable_shared_with_static_runtimes_CXX=yes
+	  # Don't use ranlib
+	  old_postinstall_cmds_CXX='chmod 644 $oldlib'
+	  postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+	    lt_tool_outputfile="@TOOL_OUTPUT@"~
+	    case $lt_outputfile in
+	      *.exe|*.EXE) ;;
+	      *)
+		lt_outputfile="$lt_outputfile.exe"
+		lt_tool_outputfile="$lt_tool_outputfile.exe"
+		;;
+	    esac~
+	    func_to_tool_file "$lt_outputfile"~
+	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	      $RM "$lt_outputfile.manifest";
+	    fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  hardcode_libdir_flag_spec_CXX='-L$libdir'
+	  export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+	  allow_undefined_flag_CXX=unsupported
+	  always_export_symbols_CXX=no
+	  enable_shared_with_static_runtimes_CXX=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file (1st line
+	    # is EXPORTS), use it as is; otherwise, prepend...
+	    archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      cp $export_symbols $output_objdir/$soname.def;
+	    else
+	      echo EXPORTS > $output_objdir/$soname.def;
+	      cat $export_symbols >> $output_objdir/$soname.def;
+	    fi~
+	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    ld_shlibs_CXX=no
+	  fi
+	  ;;
+	esac
+	;;
       darwin* | rhapsody*)
 
 
@@ -12022,7 +12622,12 @@ if test -z "$aix_libpath"; then aix_libp
   hardcode_direct_CXX=no
   hardcode_automatic_CXX=yes
   hardcode_shlibpath_var_CXX=unsupported
-  whole_archive_flag_spec_CXX=''
+  if test "$lt_cv_ld_force_load" = "yes"; then
+    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+  else
+    whole_archive_flag_spec_CXX=''
+  fi
   link_all_deplibs_CXX=yes
   allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
   case $cc_basename in
@@ -12030,7 +12635,7 @@ if test -z "$aix_libpath"; then aix_libp
      *) _lt_dar_can_shared=$GCC ;;
   esac
   if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
+    output_verbose_link_cmd=func_echo_all
     archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
     module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
     archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
@@ -12064,7 +12669,7 @@ if test -z "$aix_libpath"; then aix_libp
         esac
         ;;
 
-      freebsd[12]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         ld_shlibs_CXX=no
@@ -12083,6 +12688,11 @@ if test -z "$aix_libpath"; then aix_libp
       gnu*)
         ;;
 
+      haiku*)
+        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        link_all_deplibs_CXX=yes
+        ;;
+
       hpux9*)
         hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
         hardcode_libdir_separator_CXX=:
@@ -12107,11 +12717,11 @@ if test -z "$aix_libpath"; then aix_libp
             # explicitly linking system object files so we need to strip them
             # from the output so that they don't get included in the library
             # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
             ;;
           *)
             if test "$GXX" = yes; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
             else
               # FIXME: insert proper C++ library support
               ld_shlibs_CXX=no
@@ -12172,7 +12782,7 @@ if test -z "$aix_libpath"; then aix_libp
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
           *)
 	    if test "$GXX" = yes; then
@@ -12182,10 +12792,10 @@ if test -z "$aix_libpath"; then aix_libp
 	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          ia64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          *)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	        esac
 	      fi
@@ -12215,7 +12825,7 @@ if test -z "$aix_libpath"; then aix_libp
         case $cc_basename in
           CC*)
 	    # SGI C++
-	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -12226,9 +12836,9 @@ if test -z "$aix_libpath"; then aix_libp
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    link_all_deplibs_CXX=yes
@@ -12239,7 +12849,7 @@ if test -z "$aix_libpath"; then aix_libp
         inherit_rpath_CXX=yes
         ;;
 
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
         case $cc_basename in
           KCC*)
 	    # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -12257,7 +12867,7 @@ if test -z "$aix_libpath"; then aix_libp
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 
 	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
 	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
@@ -12294,26 +12904,26 @@ if test -z "$aix_libpath"; then aix_libp
           pgCC* | pgcpp*)
             # Portland Group C++ compiler
 	    case `$CC -V` in
-	    *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
 	      prelink_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
 	      old_archive_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
 		$RANLIB $oldlib'
 	      archive_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      archive_expsym_cmds_CXX='tpldir=Template.dir~
 		rm -rf $tpldir~
 		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
-	    *) # Version 6 will use weak symbols
+	    *) # Version 6 and above use weak symbols
 	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
 	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
 	      ;;
@@ -12321,7 +12931,7 @@ if test -z "$aix_libpath"; then aix_libp
 
 	    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
 	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
             ;;
 	  cxx*)
 	    # Compaq C++
@@ -12340,9 +12950,9 @@ if test -z "$aix_libpath"; then aix_libp
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
 	    ;;
-	  xl*)
+	  xl* | mpixl* | bgxl*)
 	    # IBM XL 8.0 on PPC, with GNU ld
 	    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
 	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
@@ -12362,13 +12972,13 @@ if test -z "$aix_libpath"; then aix_libp
 	      archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	      archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
 	      hardcode_libdir_flag_spec_CXX='-R$libdir'
-	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
 	      compiler_needs_object_CXX=yes
 
 	      # Not sure whether something based on
 	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
 	      # would be better.
-	      output_verbose_link_cmd='echo'
+	      output_verbose_link_cmd='func_echo_all'
 
 	      # Archives containing C++ object files must be created using
 	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -12437,7 +13047,7 @@ if test -z "$aix_libpath"; then aix_libp
 	    export_dynamic_flag_spec_CXX='${wl}-E'
 	    whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
 	  fi
-	  output_verbose_link_cmd=echo
+	  output_verbose_link_cmd=func_echo_all
 	else
 	  ld_shlibs_CXX=no
 	fi
@@ -12472,15 +13082,15 @@ if test -z "$aix_libpath"; then aix_libp
 	    case $host in
 	      osf3*)
 	        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
 		;;
 	      *)
 	        allow_undefined_flag_CXX=' -expect_unresolved \*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
 	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
 	          $RM $lib.exp'
 	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
 		;;
@@ -12496,17 +13106,17 @@ if test -z "$aix_libpath"; then aix_libp
 	    # explicitly linking system object files so we need to strip them
 	    # from the output so that they don't get included in the library
 	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
 	    ;;
 	  *)
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
 	      case $host in
 	        osf3*)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -12516,7 +13126,7 @@ if test -z "$aix_libpath"; then aix_libp
 	      # Commands to make compiler produce verbose output that lists
 	      # what "hidden" libraries, object files and flags are used when
 	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 
 	    else
 	      # FIXME: insert proper C++ library support
@@ -12552,7 +13162,7 @@ if test -z "$aix_libpath"; then aix_libp
 
       solaris*)
         case $cc_basename in
-          CC*)
+          CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
             archive_cmds_need_lc_CXX=yes
 	    no_undefined_flag_CXX=' -zdefs'
@@ -12573,7 +13183,7 @@ if test -z "$aix_libpath"; then aix_libp
 	    esac
 	    link_all_deplibs_CXX=yes
 
-	    output_verbose_link_cmd='echo'
+	    output_verbose_link_cmd='func_echo_all'
 
 	    # Archives containing C++ object files must be created using
 	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -12593,14 +13203,14 @@ if test -z "$aix_libpath"; then aix_libp
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
 	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      else
 	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
 	        # platform.
@@ -12611,7 +13221,7 @@ if test -z "$aix_libpath"; then aix_libp
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
 	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
 	      fi
 
 	      hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
@@ -12665,6 +13275,10 @@ if test -z "$aix_libpath"; then aix_libp
           CC*)
 	    archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	    archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+	      '"$old_archive_cmds_CXX"
+	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+	      '"$reload_cmds_CXX"
 	    ;;
 	  *)
 	    archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
@@ -12726,6 +13340,14 @@ private:
 };
 _LT_EOF
 
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -12739,7 +13361,7 @@ if { { eval echo "\"\$as_me\":${as_linen
   pre_test_object_deps_done=no
 
   for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
+    case ${prev}${p} in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
@@ -12748,13 +13370,22 @@ if { { eval echo "\"\$as_me\":${as_linen
           test $p = "-R"; then
 	 prev=$p
 	 continue
-       else
-	 prev=
        fi
 
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
        if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
+	 case ${prev} in
+	 -L | -R)
 	   # Internal compiler library paths should come after those
 	   # provided the user.  The postdeps already come after the
 	   # user supplied libs so there is no need to process them.
@@ -12774,8 +13405,10 @@ if { { eval echo "\"\$as_me\":${as_linen
 	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
 	 fi
        fi
+       prev=
        ;;
 
+    *.lto.$objext) ;; # Ignore GCC LTO objects
     *.$objext)
        # This assumes that the test object file only shows up
        # once in the compiler output.
@@ -12811,6 +13444,7 @@ else
 fi
 
 $RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
 
 # PORTME: override above test on systems where it is broken
 case $host_os in
@@ -12846,7 +13480,7 @@ linux*)
 
 solaris*)
   case $cc_basename in
-  CC*)
+  CC* | sunCC*)
     # The more standards-conforming stlport4 library is
     # incompatible with the Cstd library. Avoid specifying
     # it if it's in CXXFLAGS. Ignore libCrun as
@@ -12911,8 +13545,6 @@ fi
 lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -12962,6 +13594,11 @@ $as_echo_n "checking for $compiler optio
       # DJGPP does not support shared libraries at all
       lt_prog_compiler_pic_CXX=
       ;;
+    haiku*)
+      # PIC is the default for Haiku.
+      # The "-static" flag exists, but is broken.
+      lt_prog_compiler_static_CXX=
+      ;;
     interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -13011,6 +13648,11 @@ $as_echo_n "checking for $compiler optio
 	  ;;
 	esac
 	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+	;;
       dgux*)
 	case $cc_basename in
 	  ec++*)
@@ -13067,7 +13709,7 @@ $as_echo_n "checking for $compiler optio
 	    ;;
 	esac
 	;;
-      linux* | k*bsd*-gnu)
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
 	case $cc_basename in
 	  KCC*)
 	    # KAI C++ Compiler
@@ -13100,8 +13742,8 @@ $as_echo_n "checking for $compiler optio
 	    lt_prog_compiler_pic_CXX=
 	    lt_prog_compiler_static_CXX='-non_shared'
 	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
+	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+	    # IBM XL 8.0, 9.0 on PPC and BlueGene
 	    lt_prog_compiler_wl_CXX='-Wl,'
 	    lt_prog_compiler_pic_CXX='-qpic'
 	    lt_prog_compiler_static_CXX='-qstaticlink'
@@ -13163,7 +13805,7 @@ $as_echo_n "checking for $compiler optio
 	;;
       solaris*)
 	case $cc_basename in
-	  CC*)
+	  CC* | sunCC*)
 	    # Sun C++ 4.2, 5.x and Centerline C++
 	    lt_prog_compiler_pic_CXX='-KPIC'
 	    lt_prog_compiler_static_CXX='-Bstatic'
@@ -13228,10 +13870,17 @@ case $host_os in
     lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
     ;;
 esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
-
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
 
 #
 # Check to make sure the PIC flag actually works.
@@ -13239,7 +13888,7 @@ $as_echo "$lt_prog_compiler_pic_CXX" >&6
 if test -n "$lt_prog_compiler_pic_CXX"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works_CXX=no
@@ -13255,15 +13904,15 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13258: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:13262: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_pic_works_CXX=yes
@@ -13289,13 +13938,15 @@ fi
 
 
 
+
+
 #
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works_CXX=no
@@ -13308,7 +13959,7 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          lt_cv_prog_compiler_static_works_CXX=yes
@@ -13335,7 +13986,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
@@ -13354,16 +14005,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13357: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13361: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
@@ -13387,7 +14038,7 @@ $as_echo "$lt_cv_prog_compiler_c_o_CXX"
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
@@ -13406,16 +14057,16 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13409: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13413: \$? = $ac_status" >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
@@ -13466,30 +14117,40 @@ fi
 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
   case $host_os in
   aix[4-9]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    # Also, AIX nm treats weak defined symbols like other global defined
+    # symbols, whereas GNU nm marks them as "W".
     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     else
       export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
     export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
+    ;;
   cygwin* | mingw* | cegcc*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
+    case $cc_basename in
+    cl*)
+      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+      ;;
+    esac
+    ;;
+  linux* | k*bsd*-gnu | gnu*)
     link_all_deplibs_CXX=no
-  ;;
+    ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
+    ;;
   esac
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
 $as_echo "$ld_shlibs_CXX" >&6; }
@@ -13521,44 +14182,50 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  $RM conftest*
+	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
-      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_CXX
-	pic_flag=$lt_prog_compiler_pic_CXX
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-        allow_undefined_flag_CXX=
-        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+	  soname=conftest
+	  lib=conftest
+	  libobjs=conftest.$ac_objext
+	  deplibs=
+	  wl=$lt_prog_compiler_wl_CXX
+	  pic_flag=$lt_prog_compiler_pic_CXX
+	  compiler_flags=-v
+	  linker_flags=-v
+	  verstring=
+	  output_objdir=.
+	  libname=conftest
+	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+	  allow_undefined_flag_CXX=
+	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
   (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
-        then
-	  archive_cmds_need_lc_CXX=no
-        else
-	  archive_cmds_need_lc_CXX=yes
-        fi
-        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5
-$as_echo "$archive_cmds_need_lc_CXX" >&6; }
+	  then
+	    lt_cv_archive_cmds_need_lc_CXX=no
+	  else
+	    lt_cv_archive_cmds_need_lc_CXX=yes
+	  fi
+	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+	else
+	  cat conftest.err 1>&5
+	fi
+	$RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
       ;;
     esac
   fi
@@ -13626,8 +14293,6 @@ esac
 
 
 
-
-
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -13653,7 +14318,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -13662,7 +14327,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -13715,7 +14380,7 @@ amigaos*)
   m68k)
     library_names_spec='$libname.ixlibrary $libname.a'
     # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
     ;;
   esac
   ;;
@@ -13727,7 +14392,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -13746,8 +14411,9 @@ cygwin* | mingw* | pw32* | cegcc*)
   need_version=no
   need_lib_prefix=no
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -13768,36 +14434,82 @@ cygwin* | mingw* | pw32* | cegcc*)
     cygwin*)
       # Cygwin DLLs use 'cyg' prefix rather than 'lib'
       soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+
       ;;
     mingw* | cegcc*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
     ;;
 
   *)
+    # Assume MSVC wrapper
     library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
     ;;
   esac
-  dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
   ;;
@@ -13817,7 +14529,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -13825,10 +14537,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -13836,7 +14544,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -13854,7 +14562,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -13874,12 +14582,26 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+haiku*)
+  version_type=linux # correct to gnu/linux during the next big refactor
+  need_lib_prefix=no
+  need_version=no
+  dynamic_linker="$host_os runtime_loader"
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
   hardcode_into_libs=yes
   ;;
 
@@ -13925,12 +14647,14 @@ hpux9* | hpux10* | hpux11*)
     soname_spec='${libname}${release}${shared_ext}$major'
     ;;
   esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
   postinstall_cmds='chmod 555 $lib'
+  # or fails outright, so override atomically:
+  install_override_mode=555
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -13946,7 +14670,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -13983,9 +14707,9 @@ linux*oldld* | linux*aout* | linux*coff*
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -13993,12 +14717,17 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+
   # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_shlibpath_overrides_runpath=no
+    save_LDFLAGS=$LDFLAGS
+    save_libdir=$libdir
+    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -14011,13 +14740,17 @@ main ()
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
   if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  shlibpath_overrides_runpath=yes
+  lt_cv_shlibpath_overrides_runpath=yes
 fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
+    LDFLAGS=$save_LDFLAGS
+    libdir=$save_libdir
+
+fi
+
+  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
 
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
@@ -14026,7 +14759,7 @@ rm -f core conftest.err conftest.$ac_obj
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -14070,7 +14803,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -14139,7 +14872,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -14164,7 +14897,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -14188,7 +14921,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -14219,7 +14952,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware*
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -14229,7 +14962,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -14290,6 +15023,8 @@ fi
 
 
 
+
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
 hardcode_action_CXX=
@@ -14337,6 +15072,7 @@ fi
   fi # test -n "$compiler"
 
   CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
   LDCXX=$LD
   LD=$lt_save_LD
   GCC=$lt_save_GCC
@@ -14365,6 +15101,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
 
+
+
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -14377,7 +15115,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -14385,7 +15123,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -14408,7 +15146,7 @@ fi
 set dummy mkdir; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_MKDIR+set}" = set; then :
+if ${ac_cv_path_MKDIR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MKDIR in
@@ -14422,7 +15160,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_MKDIR="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14448,7 +15186,7 @@ fi
 set dummy doxygen; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DOXYGEN+set}" = set; then :
+if ${ac_cv_path_DOXYGEN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $DOXYGEN in
@@ -14462,7 +15200,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14496,7 +15234,7 @@ fi
 set dummy dot; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_HAVE_DOT+set}" = set; then :
+if ${ac_cv_prog_HAVE_DOT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$HAVE_DOT"; then
@@ -14508,7 +15246,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_HAVE_DOT="YES"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14534,7 +15272,7 @@ fi
 set dummy xmlto; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_XMLTO+set}" = set; then :
+if ${ac_cv_path_XMLTO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $XMLTO in
@@ -14548,7 +15286,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_XMLTO="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14574,7 +15312,7 @@ fi
 set dummy pkg-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $PKG_CONFIG in
@@ -14588,7 +15326,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14870,7 +15608,7 @@ fi
 boost_smart_ptr=yes
 
 ac_fn_cxx_check_header_mongrel "$LINENO" "boost/smart_ptr.hpp" "ac_cv_header_boost_smart_ptr_hpp" "$ac_includes_default"
-if test "x$ac_cv_header_boost_smart_ptr_hpp" = x""yes; then :
+if test "x$ac_cv_header_boost_smart_ptr_hpp" = xyes; then :
 
 $as_echo "#define PQXX_HAVE_BOOST_SMART_PTR 1" >>confdefs.h
 
@@ -14957,7 +15695,7 @@ $as_echo "$tr1" >&6; }
 
 ioshdr=yes
 ac_fn_cxx_check_header_mongrel "$LINENO" "ios" "ac_cv_header_ios" "$ac_includes_default"
-if test "x$ac_cv_header_ios" = x""yes; then :
+if test "x$ac_cv_header_ios" = xyes; then :
 
 $as_echo "#define PQXX_HAVE_IOS 1" >>confdefs.h
 
@@ -14969,7 +15707,7 @@ fi
 
 streambuf=yes
 ac_fn_cxx_check_header_mongrel "$LINENO" "streambuf" "ac_cv_header_streambuf" "$ac_includes_default"
-if test "x$ac_cv_header_streambuf" = x""yes; then :
+if test "x$ac_cv_header_streambuf" = xyes; then :
 
 $as_echo "#define PQXX_HAVE_STREAMBUF 1" >>confdefs.h
 
@@ -14981,7 +15719,7 @@ fi
 
 localehdr=yes
 ac_fn_cxx_check_header_mongrel "$LINENO" "locale" "ac_cv_header_locale" "$ac_includes_default"
-if test "x$ac_cv_header_locale" = x""yes; then :
+if test "x$ac_cv_header_locale" = xyes; then :
 
 $as_echo "#define PQXX_HAVE_LOCALE 1" >>confdefs.h
 
@@ -15103,7 +15841,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PG_CONFIG+set}" = set; then :
+if ${ac_cv_path_PG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $PG_CONFIG in
@@ -15117,7 +15855,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -15143,7 +15881,7 @@ fi
 done
 
 if test -z "$PG_CONFIG" || test ! -r "$PG_CONFIG"; then
-	as_fn_error "
+	as_fn_error $? "
 PostgreSQL configuration script pg_config not found.  Make sure this is in your
 command path before configuring.  Without it, the configure script has no way to
 find the right location for the libpq library and its headers.
@@ -15166,7 +15904,7 @@ POSTGRES_INCLUDE="-I${with_postgres_incl
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -15282,6 +16020,7 @@ $as_echo_n "checking ability to compile
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <string.h>
+	namespace std {} // In case string.h does not define it.
 	${usestd}
 	extern void f(size_t);
 int
@@ -15295,7 +16034,7 @@ _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Could not build even a tiny test program using the standard C library.
 
 Something very basic has gone wrong; try reading config.log to find out what.
@@ -15317,7 +16056,7 @@ $as_echo "yes" >&6; }
 socklibok=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing select" >&5
 $as_echo_n "checking for library containing select... " >&6; }
-if test "${ac_cv_search_select+set}" = set; then :
+if ${ac_cv_search_select+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -15351,11 +16090,11 @@ for ac_lib in '' socket nsl ws2_32 wsock
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_select+set}" = set; then :
+  if ${ac_cv_search_select+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_select+set}" = set; then :
+if ${ac_cv_search_select+:} false; then :
 
 else
   ac_cv_search_select=no
@@ -15382,7 +16121,7 @@ for l in ws2_32 wsock32 winsock ; do
 		as_ac_Lib=`$as_echo "ac_cv_lib_$l''_main" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -l$l" >&5
 $as_echo_n "checking for main in -l$l... " >&6; }
-if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$as_ac_Lib+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -15411,8 +16150,7 @@ fi
 eval ac_res=\$$as_ac_Lib
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_Lib
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
   LIBS="$LIBS -l$l";socklibok=yes
 fi
 
@@ -15420,7 +16158,7 @@ fi
 done
 
 if test "${socklibok}" != "yes" ; then
-	as_fn_error "
+	as_fn_error $? "
 Could not figure out how to link a simple sockets-based program.  Please read
 the config.log file for more clues as to why this failed.
 " "$LINENO" 5
@@ -15429,11 +16167,10 @@ fi
 
 as_ac_Header=`$as_echo "ac_cv_header_${with_postgres_include}/libpq-fe.h" | $as_tr_sh`
 ac_fn_cxx_check_header_mongrel "$LINENO" "${with_postgres_include}/libpq-fe.h" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Can't find libpq-fe.h in ${with_postgres_include}.  Are you sure the libpq
 headers are installed correctly?  They should be in the directory returned by
 \"pg_config --includedir\".
@@ -15465,7 +16202,7 @@ _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Could not compile a call to a basic libpq function.  There must be something
 seriously wrong with the headers that \"pg_config --includedir\" pointed to; the
 contents of config.log may give you a clue about the nature of the failure.
@@ -15491,7 +16228,7 @@ LDFLAGS="$LDFLAGS -L${with_postgres_lib}
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpq" >&5
 $as_echo_n "checking for main in -lpq... " >&6; }
-if test "${ac_cv_lib_pq_main+set}" = set; then :
+if ${ac_cv_lib_pq_main+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -15519,7 +16256,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_main" >&5
 $as_echo "$ac_cv_lib_pq_main" >&6; }
-if test "x$ac_cv_lib_pq_main" = x""yes; then :
+if test "x$ac_cv_lib_pq_main" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBPQ 1
 _ACEOF
@@ -15527,7 +16264,7 @@ _ACEOF
   LIBS="-lpq $LIBS"
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Could not link to libpq.  Make sure you have the PostgreSQL client library
 installed, and that the library binary can be found in the location returned by
 \"pg_config --libdir\".
@@ -15538,7 +16275,7 @@ ac_cv_lib_pq=ac_cv_lib_pq_main
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PQexec in -lpq" >&5
 $as_echo_n "checking for PQexec in -lpq... " >&6; }
-if test "${ac_cv_lib_pq_PQexec+set}" = set; then :
+if ${ac_cv_lib_pq_PQexec+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -15572,7 +16309,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pq_PQexec" >&5
 $as_echo "$ac_cv_lib_pq_PQexec" >&6; }
-if test "x$ac_cv_lib_pq_PQexec" = x""yes; then :
+if test "x$ac_cv_lib_pq_PQexec" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBPQ 1
 _ACEOF
@@ -15580,7 +16317,7 @@ _ACEOF
   LIBS="-lpq $LIBS"
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Did not find the PQexec() function in libpq.  This is the litmus test for a
 working libpq installation.
 
@@ -15588,7 +16325,7 @@ A source file using the PQexec() functio
 libpq library is available for linking, but for some reason a call to PQexec()
 failed to link properly to the libpq library.  This may be because the libpq
 library file is damaged, or in some incorrect format. or if your libpq is much
-more recent than libpqxx version 3.1, perhaps libpq has undergone a
+more recent than libpqxx version 3.1.1, perhaps libpq has undergone a
 radical ABI change.
 
 The last parts of config.log may give you a clue as to what really went wrong,
@@ -15620,7 +16357,7 @@ _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Linking a call to libpq failed in C++, even though it succeeded in C.  If your
 C and C++ compilers are very different beasts, this may mean that we do not have
 the right options for linking with it after all.  Alternatively, this may be
@@ -15650,7 +16387,7 @@ _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Linking a call to libpq failed in C++, even though it succeeded in C.  If your
 C and C++ compilers are very different beasts, this may mean that we do not have
 the right options for linking with it after all.
@@ -15684,7 +16421,7 @@ _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 The Oid typedef in libpq has changed.  Please notify the libpqxx authors of the
 change!
 " "$LINENO" 5
@@ -15762,6 +16499,33 @@ your <cstring> header.
 This may be because your implementation strerror() is threadsafe, in which case
 there is nothing to worry about.
 " >&2;}
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU-style strerror_r" >&5
+$as_echo_n "checking for GNU-style strerror_r... " >&6; }
+gnu_strerror_r=yes
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <cstring>
+	${usestd}
+	const char *it_is_a_string(char *x) { return strerror_r(0,x,10); }
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+$as_echo "#define PQXX_HAVE_STRERROR_R_GNU 1" >>confdefs.h
+
+else
+  gnu_strerror_r=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnu_strerror_r" >&5
+$as_echo "$gnu_strerror_r" >&6; }
 fi # strerror_r
 
 
@@ -15961,7 +16725,7 @@ _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Could not compile code using fd_set.  This may be a known problem with GNU libc
 and the extremely strict compiler options used in libpqxx's maintainer mode; try
 configuring again, this time omitting the --enable-maintainer-mode option.
@@ -15996,7 +16760,7 @@ _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
 
 else
-  as_fn_error "
+  as_fn_error $? "
 Could not compile code using fd_set.  There is something seriously wrong, or
 maybe your warning options are too strict.  If you are using GNU libc (as will
 be the case on a GNU/Linux system) and are telling the compiler to treat
@@ -16679,7 +17443,7 @@ rm -f core conftest.err conftest.$ac_obj
 $as_echo "$pqcancel" >&6; }
 
 ac_fn_cxx_check_header_mongrel "$LINENO" "limits" "ac_cv_header_limits" "$ac_includes_default"
-if test "x$ac_cv_header_limits" = x""yes; then :
+if test "x$ac_cv_header_limits" = xyes; then :
 
 $as_echo "#define PQXX_HAVE_LIMITS 1" >>confdefs.h
 
@@ -17013,7 +17777,7 @@ $as_echo "$usingdecl" >&6; }
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -17021,7 +17785,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -17112,10 +17876,21 @@ $as_echo "$as_me: WARNING: cache variabl
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -17131,6 +17906,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -17154,35 +17930,31 @@ else
 fi
 
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_REFERENCE_TRUE}" && test -z "${BUILD_REFERENCE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_REFERENCE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_REFERENCE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_TUTORIAL_TRUE}" && test -z "${BUILD_TUTORIAL_FALSE}"; then
-  as_fn_error "conditional \"BUILD_TUTORIAL\" was never defined.
+  as_fn_error $? "conditional \"BUILD_TUTORIAL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -17283,6 +18055,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -17328,19 +18101,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -17478,16 +18251,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -17536,7 +18309,7 @@ $as_echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -17547,28 +18320,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -17589,8 +18350,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libpqxx $as_me 3.1, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+This file was extended by libpqxx $as_me 3.1.1, which was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -17630,6 +18391,7 @@ Usage: $0 [OPTION]... [TAG]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -17652,12 +18414,13 @@ Report bugs to <Jeroen T. Vermeulen <jtv
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libpqxx config.status 3.1
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+libpqxx config.status 3.1.1
+configured by $0, generated by GNU Autoconf 2.69,
+  with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -17675,11 +18438,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -17693,12 +18461,15 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -17711,7 +18482,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -17720,7 +18491,7 @@ Try \`$0 --help' for more information.";
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -17740,7 +18511,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
@@ -17774,184 +18545,208 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac
 sed_quote_subst='$sed_quote_subst'
 double_quote_subst='$double_quote_subst'
 delay_variable_subst='$delay_variable_subst'
-enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
-macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
-enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
-host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
-host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
-host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
-build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
-build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
-build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
-SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
-Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
-GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
-EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
-FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
-LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
-NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
-LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
-exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
-AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
-compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
-GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
-SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
-ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
-need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
-LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
-libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
-need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
-version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
-striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
-predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
 
 LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
 compiler='$compiler_DEFAULT'
 
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+  eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
 # Quote evaled strings.
-for var in SED \
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
 GREP \
 EGREP \
 FGREP \
@@ -17964,8 +18759,13 @@ reload_flag \
 OBJDUMP \
 deplibs_check_method \
 file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
 AR \
 AR_FLAGS \
+archiver_list_spec \
 STRIP \
 RANLIB \
 CC \
@@ -17975,14 +18775,14 @@ lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-SHELL \
-ECHO \
+nm_file_list_spec \
 lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
 lt_prog_compiler_pic \
+lt_prog_compiler_wl \
 lt_prog_compiler_static \
 lt_cv_prog_compiler_c_o \
 need_locks \
+MANIFEST_TOOL \
 DSYMUTIL \
 NMEDIT \
 LIPO \
@@ -17996,9 +18796,7 @@ with_gnu_ld \
 allow_undefined_flag \
 no_undefined_flag \
 hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
 hardcode_libdir_separator \
-fix_srcfile_path \
 exclude_expsyms \
 include_expsyms \
 file_list_spec \
@@ -18006,6 +18804,7 @@ variables_saved_for_relink \
 libname_spec \
 library_names_spec \
 soname_spec \
+install_override_mode \
 finish_eval \
 old_striplib \
 striplib \
@@ -18016,10 +18815,11 @@ predeps \
 postdeps \
 compiler_lib_search_path \
 LD_CXX \
+reload_flag_CXX \
 compiler_CXX \
 lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_wl_CXX \
 lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
 lt_prog_compiler_static_CXX \
 lt_cv_prog_compiler_c_o_CXX \
 export_dynamic_flag_spec_CXX \
@@ -18029,9 +18829,7 @@ with_gnu_ld_CXX \
 allow_undefined_flag_CXX \
 no_undefined_flag_CXX \
 hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_ld_CXX \
 hardcode_libdir_separator_CXX \
-fix_srcfile_path_CXX \
 exclude_expsyms_CXX \
 include_expsyms_CXX \
 file_list_spec_CXX \
@@ -18041,9 +18839,9 @@ postdep_objects_CXX \
 predeps_CXX \
 postdeps_CXX \
 compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -18065,11 +18863,13 @@ module_cmds \
 module_expsym_cmds \
 export_symbols_cmds \
 prelink_cmds \
+postlink_cmds \
 postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
 sys_lib_search_path_spec \
 sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
 old_archive_cmds_CXX \
 old_archive_from_new_cmds_CXX \
 old_archive_from_expsyms_cmds_CXX \
@@ -18078,10 +18878,11 @@ archive_expsym_cmds_CXX \
 module_cmds_CXX \
 module_expsym_cmds_CXX \
 export_symbols_cmds_CXX \
-prelink_cmds_CXX; do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
+    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
       ;;
     *)
       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -18089,12 +18890,6 @@ prelink_cmds_CXX; do
     esac
 done
 
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
-  ;;
-esac
-
 ac_aux_dir='$ac_aux_dir'
 xsi_shell='$xsi_shell'
 lt_shell_append='$lt_shell_append'
@@ -18145,7 +18940,7 @@ do
     "libpqxx.spec") CONFIG_FILES="$CONFIG_FILES libpqxx.spec" ;;
     "configitems") CONFIG_COMMANDS="$CONFIG_COMMANDS configitems" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -18168,9 +18963,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -18178,12 +18974,13 @@ $debug ||
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -18200,12 +18997,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -18214,18 +19011,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -18233,7 +19030,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -18247,7 +19044,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -18261,7 +19058,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
@@ -18281,7 +19078,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -18313,21 +19110,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/n
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -18339,7 +19144,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -18351,11 +19156,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -18440,7 +19245,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -18453,7 +19258,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -18472,7 +19277,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -18481,7 +19286,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -18507,8 +19312,8 @@ $as_echo "$as_me: creating $ac_file" >&6
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -18644,23 +19449,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -18669,21 +19475,21 @@ which seems to be undefined.  Please mak
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -18844,7 +19650,8 @@ $as_echo X"$file" |
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -18892,6 +19699,15 @@ pic_mode=$pic_mode
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -18941,9 +19757,11 @@ SP2NL=$lt_lt_SP2NL
 # turn newlines into spaces.
 NL2SP=$lt_lt_NL2SP
 
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
 
 # An object symbol dumper.
 OBJDUMP=$lt_OBJDUMP
@@ -18951,13 +19769,30 @@ OBJDUMP=$lt_OBJDUMP
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
 
-# Command to use when deplibs_check_method == "file_magic".
+# Command to use when deplibs_check_method = "file_magic".
 file_magic_cmd=$lt_file_magic_cmd
 
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
 # The archiver.
 AR=$lt_AR
+
+# Flags to create an archive.
 AR_FLAGS=$lt_AR_FLAGS
 
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
 # A symbol stripping program.
 STRIP=$lt_STRIP
 
@@ -18966,6 +19801,9 @@ RANLIB=$lt_RANLIB
 old_postinstall_cmds=$lt_old_postinstall_cmds
 old_postuninstall_cmds=$lt_old_postuninstall_cmds
 
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
 # A C compiler.
 LTCC=$lt_CC
 
@@ -18984,14 +19822,14 @@ global_symbol_to_c_name_address=$lt_lt_c
 # Transform the output of nm in a C name address pair when lib prefix is needed.
 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
 
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
 
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
 
-# An echo program that does not interpret backslashes.
-ECHO=$lt_ECHO
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
 
 # Used to examine libraries when file_magic_cmd begins with "file".
 MAGIC_CMD=$MAGIC_CMD
@@ -18999,6 +19837,9 @@ MAGIC_CMD=$MAGIC_CMD
 # Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
 DSYMUTIL=$lt_DSYMUTIL
 
@@ -19055,6 +19896,9 @@ library_names_spec=$lt_library_names_spe
 # The coded name of the library, if different from the real name.
 soname_spec=$lt_soname_spec
 
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
 # Command to use after installation of a shared archive.
 postinstall_cmds=$lt_postinstall_cmds
 
@@ -19094,6 +19938,10 @@ striplib=$lt_striplib
 # The linker used to build libraries.
 LD=$lt_LD
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
 # Commands used to build an old-style archive.
 old_archive_cmds=$lt_old_archive_cmds
 
@@ -19106,12 +19954,12 @@ with_gcc=$GCC
 # Compiler flag to turn off builtin functions.
 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
 # Additional compiler flags for building library objects.
 pic_flag=$lt_lt_prog_compiler_pic
 
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
 # Compiler flag to prevent dynamic linking.
 link_static_flag=$lt_lt_prog_compiler_static
 
@@ -19161,10 +20009,6 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
@@ -19198,9 +20042,6 @@ inherit_rpath=$inherit_rpath
 # Whether libtool must link a program against all its dependency libraries.
 link_all_deplibs=$link_all_deplibs
 
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
 # Set to "yes" if exported symbols are required.
 always_export_symbols=$always_export_symbols
 
@@ -19216,6 +20057,9 @@ include_expsyms=$lt_include_expsyms
 # Commands necessary for linking programs (against libraries) with templates.
 prelink_cmds=$lt_prelink_cmds
 
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
 # Specify filename containing input files.
 file_list_spec=$lt_file_list_spec
 
@@ -19262,212 +20106,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
   # text mode, it properly converts lines to CR/LF.  This bash problem
   # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1+=\$2"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1=\$$1\$2"
-}
-
-_LT_EOF
-    ;;
-  esac
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
 
+  if test x"$xsi_shell" = xyes; then
+  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\    case ${1} in\
+\      */*) func_dirname_result="${1%/*}${2}" ;;\
+\      *  ) func_dirname_result="${3}" ;;\
+\    esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\    func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\    case ${1} in\
+\      */*) func_dirname_result="${1%/*}${2}" ;;\
+\      *  ) func_dirname_result="${3}" ;;\
+\    esac\
+\    func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\    # positional parameters, so assign one to ordinary parameter first.\
+\    func_stripname_result=${3}\
+\    func_stripname_result=${func_stripname_result#"${1}"}\
+\    func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\    func_split_long_opt_name=${1%%=*}\
+\    func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\    func_split_short_opt_arg=${1#??}\
+\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\    case ${1} in\
+\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\      *)    func_lo2o_result=${1} ;;\
+\    esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+    func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+    func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+    func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+  sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+    eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\    func_quote_for_eval "${2}"\
+\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  # Save a `func_append' function call where possible by direct use of '+='
+  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+else
+  # Save a `func_append' function call even when '+=' is not available
+  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
 
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
 
-  mv -f "$cfgfile" "$ofile" ||
+   mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
 
@@ -19479,6 +20280,10 @@ _LT_EOF
 # The linker used to build libraries.
 LD=$lt_LD_CXX
 
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
 # Commands used to build an old-style archive.
 old_archive_cmds=$lt_old_archive_cmds_CXX
 
@@ -19491,12 +20296,12 @@ with_gcc=$GCC_CXX
 # Compiler flag to turn off builtin functions.
 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
 # Additional compiler flags for building library objects.
 pic_flag=$lt_lt_prog_compiler_pic_CXX
 
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
 # Compiler flag to prevent dynamic linking.
 link_static_flag=$lt_lt_prog_compiler_static_CXX
 
@@ -19546,10 +20351,6 @@ no_undefined_flag=$lt_no_undefined_flag_
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
 
@@ -19583,9 +20384,6 @@ inherit_rpath=$inherit_rpath_CXX
 # Whether libtool must link a program against all its dependency libraries.
 link_all_deplibs=$link_all_deplibs_CXX
 
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_CXX
-
 # Set to "yes" if exported symbols are required.
 always_export_symbols=$always_export_symbols_CXX
 
@@ -19601,6 +20399,9 @@ include_expsyms=$lt_include_expsyms_CXX
 # Commands necessary for linking programs (against libraries) with templates.
 prelink_cmds=$lt_prelink_cmds_CXX
 
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
 # Specify filename containing input files.
 file_list_spec=$lt_file_list_spec_CXX
 
@@ -19636,7 +20437,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -19657,7 +20458,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff -pruN 3.1-1.1/configure.ac 1:3.1.1-0ubuntu4/configure.ac
--- 3.1-1.1/configure.ac	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/configure.ac	2013-01-20 05:56:48.000000000 +0000
@@ -11,13 +11,13 @@
 LC_ALL=C
 
 AC_PREREQ(2.59)
-AC_INIT(libpqxx, 3.1, [Jeroen T. Vermeulen <jtv@xs4all.nl>])
+AC_INIT(libpqxx, 3.1.1, [Jeroen T. Vermeulen <jtv@xs4all.nl>])
 AC_LANG(C++)
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_MACRO_DIR([config/m4])
-AM_INIT_AUTOMAKE(libpqxx, 3.1)
+AM_INIT_AUTOMAKE(libpqxx, 3.1.1)
 
-PQXXVERSION=3.1
+PQXXVERSION=3.1.1
 PQXX_ABI=3.1
 PQXX_MAJOR=3
 PQXX_MINOR=1
@@ -329,6 +329,7 @@ AC_HEADER_STDC
 
 AC_MSG_CHECKING([ability to compile programs using the standard C library])
 AC_TRY_COMPILE([#include <string.h>
+	namespace std {} // In case string.h does not define it.
 	${usestd}
 	extern void f(size_t);],
 	[f(strlen(""))],[],
@@ -416,7 +417,7 @@ A source file using the PQexec() functio
 libpq library is available for linking, but for some reason a call to PQexec()
 failed to link properly to the libpq library.  This may be because the libpq
 library file is damaged, or in some incorrect format. or if your libpq is much
-more recent than libpqxx version 3.1, perhaps libpq has undergone a
+more recent than libpqxx version 3.1.1, perhaps libpq has undergone a
 radical ABI change.
 
 The last parts of config.log may give you a clue as to what really went wrong,
@@ -511,6 +512,18 @@ your <cstring> header.
 This may be because your implementation strerror() is threadsafe, in which case
 there is nothing to worry about.
 ])
+else
+AC_MSG_CHECKING([for GNU-style strerror_r])
+gnu_strerror_r=yes
+AC_TRY_COMPILE(
+	[#include <cstring>
+	${usestd}
+	const char *it_is_a_string(char *x) { return strerror_r(0,x,10); }],
+	[],
+	[AC_DEFINE(
+		PQXX_HAVE_STRERROR_R_GNU,1,[Define for GNU-style strerror_r])],
+	[gnu_strerror_r=no])
+AC_MSG_RESULT($gnu_strerror_r)
 fi # strerror_r
 
 
diff -pruN 3.1-1.1/configure.ac.in 1:3.1.1-0ubuntu4/configure.ac.in
--- 3.1-1.1/configure.ac.in	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/configure.ac.in	2013-01-17 07:24:55.000000000 +0000
@@ -329,6 +329,7 @@ AC_HEADER_STDC
 
 AC_MSG_CHECKING([ability to compile programs using the standard C library])
 AC_TRY_COMPILE([#include <string.h>
+	namespace std {} // In case string.h does not define it.
 	${usestd}
 	extern void f(size_t);],
 	[f(strlen(""))],[],
@@ -511,6 +512,18 @@ your <cstring> header.
 This may be because your implementation strerror() is threadsafe, in which case
 there is nothing to worry about.
 ])
+else
+AC_MSG_CHECKING([for GNU-style strerror_r])
+gnu_strerror_r=yes
+AC_TRY_COMPILE(
+	[#include <cstring>
+	${usestd}
+	const char *it_is_a_string(char *x) { return strerror_r(0,x,10); }],
+	[],
+	[AC_DEFINE(
+		PQXX_HAVE_STRERROR_R_GNU,1,[Define for GNU-style strerror_r])],
+	[gnu_strerror_r=no])
+AC_MSG_RESULT($gnu_strerror_r)
 fi # strerror_r
 
 
diff -pruN 3.1-1.1/debian/changelog 1:3.1.1-0ubuntu4/debian/changelog
--- 3.1-1.1/debian/changelog	2012-05-29 08:57:16.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/changelog	2013-12-11 12:38:09.000000000 +0000
@@ -1,3 +1,27 @@
+libpqxx3 (1:3.1.1-0ubuntu4) trusty; urgency=low
+
+  * Use dh-autoreconf to update autotools files for new ports.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Wed, 11 Dec 2013 12:38:08 +0000
+
+libpqxx3 (1:3.1.1-0ubuntu3) trusty; urgency=low
+
+  * Add epoch to override -dev package from libpqxx version 4
+
+ -- Jonathan Riddell <jriddell@ubuntu.com>  Wed, 27 Nov 2013 14:20:24 +0000
+
+libpqxx3 (3.1.1-0ubuntu2) trusty; urgency=low
+
+  * Add python build-dep
+
+ -- Jonathan Riddell <jriddell@ubuntu.com>  Wed, 27 Nov 2013 14:03:36 +0000
+
+libpqxx3 (3.1.1-0ubuntu1) trusty; urgency=low
+
+  * New upstream release
+
+ -- Jonathan Riddell <jriddell@ubuntu.com>  Wed, 27 Nov 2013 11:53:55 +0000
+
 libpqxx3 (3.1-1.1) unstable; urgency=low
 
   * Non maintainer upload
diff -pruN 3.1-1.1/debian/control 1:3.1.1-0ubuntu4/debian/control
--- 3.1-1.1/debian/control	2011-11-28 21:33:40.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/control	2013-12-11 12:37:37.000000000 +0000
@@ -1,8 +1,9 @@
 Source: libpqxx3
 Section: libs
 Priority: optional
-Maintainer: Marcin Kulisz (kuLa) <debian@kulisz.net>
-Build-Depends: debhelper (>> 8.0.0), libpq-dev (>= 8.0.3), chrpath, libtool
+Maintainer: Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
+XSBC-Original-Maintainer: Marcin Kulisz (kuLa) <debian@kulisz.net>
+Build-Depends: debhelper (>> 8.0.0), libpq-dev (>= 8.0.3), chrpath, libtool, python, dh-autoreconf
 Standards-Version: 3.9.2
 Vcs-Git: git://git.debian.org/git/collab-maint/libpqxx.git
 Vcs-Browser: http://git.debian.org/?p=collab-maint/libpqxx.git;a=summary
diff -pruN 3.1-1.1/debian/libpqxx-dev.dirs 1:3.1.1-0ubuntu4/debian/libpqxx-dev.dirs
--- 3.1-1.1/debian/libpqxx-dev.dirs	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-dev.dirs	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff -pruN 3.1-1.1/debian/libpqxx-dev.docs 1:3.1.1-0ubuntu4/debian/libpqxx-dev.docs
--- 3.1-1.1/debian/libpqxx-dev.docs	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-dev.docs	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,4 @@
+NEWS
+README
+README-UPGRADE
+TODO
diff -pruN 3.1-1.1/debian/libpqxx-dev.install 1:3.1.1-0ubuntu4/debian/libpqxx-dev.install
--- 3.1-1.1/debian/libpqxx-dev.install	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-dev.install	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,4 @@
+debian/install/usr/include          usr
+debian/install/usr/lib/libpqxx.la   usr/lib
+debian/install/usr/lib/libpqxx.so   usr/lib
+debian/install/usr/lib/pkgconfig    usr/lib
diff -pruN 3.1-1.1/debian/libpqxx-dev.preinst 1:3.1.1-0ubuntu4/debian/libpqxx-dev.preinst
--- 3.1-1.1/debian/libpqxx-dev.preinst	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-dev.preinst	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,36 @@
+#! /bin/sh
+# preinst script for libpqxx-dev
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+
+case "$1" in
+    install|upgrade)
+        # Remove symbolic link if it exists.
+        if test -h /usr/share/doc/libpqxx-dev; then
+	    rm -f /usr/share/doc/libpqxx-dev
+	fi
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 0
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff -pruN 3.1-1.1/debian/libpqxx-doc.doc-base.reference 1:3.1.1-0ubuntu4/debian/libpqxx-doc.doc-base.reference
--- 3.1-1.1/debian/libpqxx-doc.doc-base.reference	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-doc.doc-base.reference	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,9 @@
+Document: libpqxx-reference
+Title: libpqxx Reference Manual
+Author: Jeroen T. Vermeulen
+Abstract: A C++ API to the PostgreSQL database management system.
+Section: Programming/C++
+
+Format: HTML
+Index: /usr/share/doc/libpqxx-doc/html/Reference/index.html
+Files: /usr/share/doc/libpqxx-doc/html/Reference/*
diff -pruN 3.1-1.1/debian/libpqxx-doc.doc-base.tutorial 1:3.1.1-0ubuntu4/debian/libpqxx-doc.doc-base.tutorial
--- 3.1-1.1/debian/libpqxx-doc.doc-base.tutorial	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-doc.doc-base.tutorial	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,9 @@
+Document: libpqxx-tutorial
+Title: libpqxx Tutorial
+Author: Jeroen T. Vermeulen
+Abstract: Tutorial for libpqxx, a C++ API to the PostgreSQL database management system.
+Section: Programming/C++
+
+Format: HTML
+Index: /usr/share/doc/libpqxx-doc/html/Tutorial/index.html
+Files: /usr/share/doc/libpqxx-doc/html/Tutorial/*
diff -pruN 3.1-1.1/debian/libpqxx-doc.install 1:3.1.1-0ubuntu4/debian/libpqxx-doc.install
--- 3.1-1.1/debian/libpqxx-doc.install	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/libpqxx-doc.install	2013-01-17 07:25:00.000000000 +0000
@@ -0,0 +1,2 @@
+doc/html            usr/share/doc/libpqxx-doc
+test/*.cxx          usr/share/doc/libpqxx-doc/examples
diff -pruN 3.1-1.1/debian/rules 1:3.1.1-0ubuntu4/debian/rules
--- 3.1-1.1/debian/rules	2012-05-29 08:57:16.000000000 +0000
+++ 1:3.1.1-0ubuntu4/debian/rules	2013-12-11 12:37:31.000000000 +0000
@@ -6,7 +6,7 @@ export LIBRARY_VERSION=3.1
 CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) -fpermissive
 
 %:
-	dh $@
+	dh $@ --with autoreconf
 
 override_dh_auto_configure:
 	dh_auto_configure -- --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --enable-shared --disable-static CXXFLAGS="$(CXXFLAGS)"
diff -pruN 3.1-1.1/doc/html/Reference/a00001.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00001.html
--- 3.1-1.1/doc/html/Reference/a00001.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00001.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,84 +1,135 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::argument_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: Getting started</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00001.html">argument_error</a>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00001.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">Getting started </div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::argument_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::argument_error" --><!-- doxytag: inherits="pqxx::pqxx_exception" -->Invalid argument passed to libpqxx, similar to std::invalid_argument.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::argument_error:</div>
-<div class="dynsection">
-<p><center><img src="a00496.png" border="0" usemap="#a00497" alt="Inheritance graph"></center>
-<map name="a00497">
-<area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="7,6,164,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00498.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html#1b68c0e492e7cb4f9458ca0de1b85862">argument_error</a> (const std::string &amp;)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Invalid argument passed to libpqxx, similar to std::invalid_argument. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="1b68c0e492e7cb4f9458ca0de1b85862"></a><!-- doxytag: member="pqxx::argument_error::argument_error" ref="1b68c0e492e7cb4f9458ca0de1b85862" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::argument_error::argument_error           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
+<div class="textblock"><p>The most basic three types in libpqxx are the connection (which inherits its API from <a class="el" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">pqxx::connection_base</a> and its setup behaviour from <a class="el" href="a00024.html">pqxx::connectionpolicy</a>), the transaction (derived from <a class="el" href="a00107.html">pqxx::transaction_base</a>), and the result (<a class="el" href="a00084.html" title="Query or command result set.">pqxx::result</a>).</p>
+<p>They fit together as follows: </p>
+<ul>
+<li>You connect to the database by creating a connection object (see <a class="el" href="a00200.html">Connection classes</a>). The connection type you'll usually want is <a class="el" href="a00200.html#ga26edb910e4563d1115e22c627914e98b" title="The &quot;standard&quot; connection type: connect to database right now.">pqxx::connection</a>. </li>
+<li>You create a transaction object (see <a class="el" href="a00202.html">Transaction classes</a>) operating on that connection. You'll usually want the <a class="el" href="a00202.html#ga82685329d6fd91f5ab30772d266fe5f0" title="Bog-standard, default transaction type.">pqxx::work</a> variety. If you don't want transactional behaviour, use <a class="el" href="a00063.html">pqxx::nontransaction</a>. Once you're done you call the transaction's <code>commit</code> function to make its work final. If you don't call this, the work will be rolled back when the transaction object is destroyed. </li>
+<li>Until then, use the transaction's <code>exec</code> function to execute queries, which you pass in as simple strings. </li>
+<li>The function returns a <a class="el" href="a00084.html" title="Query or command result set.">pqxx::result</a> object, which acts as a standard container of rows. Each row in itself acts as a container of fields. You can use array indexing and/or iterators to access either. </li>
+<li>The field's data is stored as a text string. You can read it as such using its <code>c_str()</code> function, or convert it to other types using its <code>as()</code> and <code>to()</code> member functions. These are templated on the destination type: <code>myfield.as&lt;int&gt;()</code>; or <code>myfield.to(myint)</code>; </li>
+<li>After you've closed the transaction, the connection is free to run a next transaction.</li>
+</ul>
+<p>Here's a very basic example. It connects to the default database (you'll need to have one set up), queries it for a very simple result, converts it to an <code>int</code>, and prints it out. It also contains some basic error handling.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;pqxx/pqxx&gt;</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">int</span> main()</div>
+<div class="line">{</div>
+<div class="line">  <span class="keywordflow">try</span></div>
+<div class="line">  {</div>
+<div class="line">    <a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">pqxx::connection</a> c;</div>
+<div class="line">    <a class="code" href="a00106.html" title="Standard back-end transaction, templatized on isolation level.">pqxx::work</a> w(c);</div>
+<div class="line">    <a class="code" href="a00084.html" title="Query or command result set.">pqxx::result</a> r = w.exec(<span class="stringliteral">&quot;SELECT 1&quot;</span>);</div>
+<div class="line">    w.commit();</div>
+<div class="line"></div>
+<div class="line">    std::cout &lt;&lt; r[0][0].as&lt;<span class="keywordtype">int</span>&gt;() &lt;&lt; std::endl;</div>
+<div class="line">  }</div>
+<div class="line">  <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception &amp;e)</div>
+<div class="line">  {</div>
+<div class="line">    std::cerr &lt;&lt; e.what() &lt;&lt; std::endl;</div>
+<div class="line">    <span class="keywordflow">return</span> 1;</div>
+<div class="line">  }</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>This prints the number 1. Notice that you can keep the result object around after the transaction (or even the connection) has been closed.</p>
+<p>Here's a slightly more complicated example. It takes an argument from the command line and retrieves a string with that value. The interesting part is that it uses the escaping-and-quoting function <code>quote()</code> to embed this string value in SQL safely. It also reads the result field's value as a plain C-style string using its <code>c_str()</code> function.</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><span class="preprocessor">#include &lt;pqxx/pqxx&gt;</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])</div>
+<div class="line">{</div>
+<div class="line">  <span class="keywordflow">if</span> (!argv[1])</div>
+<div class="line">  {</div>
+<div class="line">    std::cerr &lt;&lt; <span class="stringliteral">&quot;Give me a string!&quot;</span> &lt;&lt; std::endl;</div>
+<div class="line">    <span class="keywordflow">return</span> 1;</div>
+<div class="line">  }</div>
+<div class="line">  <span class="keywordflow">try</span></div>
+<div class="line">  {</div>
+<div class="line">    <a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">pqxx::connection</a> c;</div>
+<div class="line">    <a class="code" href="a00106.html" title="Standard back-end transaction, templatized on isolation level.">pqxx::work</a> w(c);</div>
+<div class="line">    <a class="code" href="a00084.html" title="Query or command result set.">pqxx::result</a> r = w.exec(<span class="stringliteral">&quot;SELECT &quot;</span> + w.quote(argv[1]));</div>
+<div class="line">    w.commit();</div>
+<div class="line"></div>
+<div class="line">    std::cout &lt;&lt; r[0][0].c_str() &lt;&lt; std::endl;</div>
+<div class="line">  }</div>
+<div class="line">  <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception &amp;e)</div>
+<div class="line">  {</div>
+<div class="line">    std::cerr &lt;&lt; e.what() &lt;&lt; std::endl;</div>
+<div class="line">    <span class="keywordflow">return</span> 1;</div>
+<div class="line">  }</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>You can find more about converting field values to native types, or converting values to strings for use with libpqxx, under <a class="el" href="a00197.html">String conversion</a>. More about getting to the tuples and fields of a result is under <a class="el" href="a00002.html">Accessing results and result rows</a>.</p>
+<p>If you want to handle exceptions thrown by libpqxx in more detail, for example to print the SQL contents of a query that failed, see <a class="el" href="a00203.html">Exception classes</a>. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00002.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00002.html
--- 3.1-1.1/doc/html/Reference/a00002.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00002.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,190 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: std::std::back_insert_iterator&lt; pqxx::tablewriter &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: Accessing results and result rows</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
   </div>
-  <div class="navpath"><a class="el" href="a00191.html">std</a>::<a class="el" href="a00002.html">std::back_insert_iterator&lt; pqxx::tablewriter &gt;</a>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00002.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">Accessing results and result rows </div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>std::std::back_insert_iterator&lt; pqxx::tablewriter &gt; Class Template Reference</h1><!-- doxytag: class="std::back_insert_iterator&lt; pqxx::tablewriter &gt;" -->Specialized back_insert_iterator for tablewriter.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00254.html">tablewriter.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00687.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#9faf7f8dadfaf68ab71c16d3c065205d">back_insert_iterator</a> (<a class="el" href="a00101.html">pqxx::tablewriter</a> &amp;W)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">back_insert_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#04c08d548814d85db81412a16230daca">operator=</a> (const back_insert_iterator &amp;rhs)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">back_insert_iterator &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00002.html#93ea77fc6df6b30fb3683bf38078f8f5">operator=</a> (const TUPLE &amp;T)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">back_insert_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#84107f6fd284b24edbf42c719342e3de">operator++</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">back_insert_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#73ccecc504326cdde34183151ce947c6">operator++</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">back_insert_iterator &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00002.html#a5d0b168fa9b152988bf37a89510051e">operator*</a> ()</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- class std::std::back_insert_iterator&lt; pqxx::tablewriter &gt;</h3>
-
-Specialized back_insert_iterator for tablewriter. 
-<p>
-Doesn't require a value_type to be defined. Accepts any container type instead. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="9faf7f8dadfaf68ab71c16d3c065205d"></a><!-- doxytag: member="std::back_insert_iterator&lt; pqxx::tablewriter &gt;::back_insert_iterator" ref="9faf7f8dadfaf68ab71c16d3c065205d" args="(pqxx::tablewriter &amp;W)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">std::std::back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt;::back_insert_iterator           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00101.html">pqxx::tablewriter</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>W</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="04c08d548814d85db81412a16230daca"></a><!-- doxytag: member="std::back_insert_iterator&lt; pqxx::tablewriter &gt;::operator=" ref="04c08d548814d85db81412a16230daca" args="(const back_insert_iterator &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">back_insert_iterator&amp; std::std::back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt;::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="93ea77fc6df6b30fb3683bf38078f8f5"></a><!-- doxytag: member="std::back_insert_iterator&lt; pqxx::tablewriter &gt;::operator=" ref="93ea77fc6df6b30fb3683bf38078f8f5" args="(const TUPLE &amp;T)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">back_insert_iterator&amp; std::std::back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt;::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="84107f6fd284b24edbf42c719342e3de"></a><!-- doxytag: member="std::back_insert_iterator&lt; pqxx::tablewriter &gt;::operator++" ref="84107f6fd284b24edbf42c719342e3de" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">back_insert_iterator&amp; std::std::back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt;::operator++           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="73ccecc504326cdde34183151ce947c6"></a><!-- doxytag: member="std::back_insert_iterator&lt; pqxx::tablewriter &gt;::operator++" ref="73ccecc504326cdde34183151ce947c6" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">back_insert_iterator&amp; std::std::back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt;::operator++           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a5d0b168fa9b152988bf37a89510051e"></a><!-- doxytag: member="std::back_insert_iterator&lt; pqxx::tablewriter &gt;::operator*" ref="a5d0b168fa9b152988bf37a89510051e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">back_insert_iterator&amp; std::std::back_insert_iterator&lt; <a class="el" href="a00101.html">pqxx::tablewriter</a> &gt;::operator*           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00254.html">tablewriter.hxx</a></ul>
+<div class="textblock"><p>Let's say you have a result object. For example, your program may have done:</p>
+<div class="fragment"><div class="line"><a class="code" href="a00084.html" title="Query or command result set.">pqxx::result</a> r = w.exec(<span class="stringliteral">&quot;SELECT * FROM mytable&quot;</span>);</div>
+</div><!-- fragment --><p>Now how do you access the data inside <code>r</code>?</p>
+<p>The simplest way is array indexing. A result acts as an array of tuples, and a tuple acts as an array of fields.</p>
+<div class="fragment"><div class="line"><span class="keywordflow">for</span> (<span class="keywordtype">int</span> rownum=0; rownum &lt; r.<a class="code" href="a00084.html#a4dccf162cd4081bbe2824ba29d546e90">size</a>(); ++rownum)</div>
+<div class="line">{</div>
+<div class="line">  <span class="keyword">const</span> result::tuple row = r[rownum];</div>
+<div class="line"></div>
+<div class="line">  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> colnum=0; colnum &lt; row.size(); ++colnum)</div>
+<div class="line">  {</div>
+<div class="line">    <span class="keyword">const</span> result::field = row[colnum];</div>
+<div class="line"></div>
+<div class="line">    std::cout &lt;&lt; field.c_str() &lt;&lt; <span class="charliteral">&#39;\t&#39;</span>;</div>
+<div class="line">  }</div>
+<div class="line"></div>
+<div class="line">  std::cout &lt;&lt; std::endl;</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>But results and rows also define <code>const_iterator</code> types:</p>
+<div class="fragment"><div class="line"><span class="keywordflow">for</span> (<a class="code" href="a00026.html" title="Iterator for rows (tuples) in a query result set.">pqxx::result::const_iterator</a> row = r.<a class="code" href="a00084.html#a4da8b68228a85639c4bcc0499cff338a">begin</a>();</div>
+<div class="line">     row != r.<a class="code" href="a00084.html#a1bb5a3f08176752a21e5902f634ef7be">end</a>();</div>
+<div class="line">     ++row)</div>
+<div class="line"> {</div>
+<div class="line">   <span class="keywordflow">for</span> (<a class="code" href="a00025.html">pqxx::result::tuple::const_iterator</a> field = row-&gt;<a class="code" href="a00110.html#a2ef9928b68fa88d62b1e15d273520633">begin</a>();</div>
+<div class="line">        field != row-&gt;<a class="code" href="a00110.html#ac19dba7f5f671c45686919d0ec060099">end</a>();</div>
+<div class="line">        ++field)</div>
+<div class="line">     std::cout &lt;&lt; field-&gt;c_str() &lt;&lt; <span class="charliteral">&#39;\t&#39;</span>;</div>
+<div class="line"></div>
+<div class="line">   std::cout &lt;&lt; std::endl;</div>
+<div class="line"> }</div>
+</div><!-- fragment --><p>They also have <code>const_reverse_iterator</code> types, which iterate backwards from <code>rbegin()</code> to <code>rend()</code> exclusive.</p>
+<p>All these iterator types provide one extra bit of convenience that you won't normally find in C++ iterators: referential transparency. You don't need to dereference them to get to the row or field they refer to. That is, instead of <code>row-&gt;end()</code> you can also choose to say <code>row.end()</code>. Similarly, you may prefer <code>field.c_str()</code> over <code>field-&gt;c_str()</code>.</p>
+<p>This becomes really helpful with the array-indexing operator. With regular C++ iterators you would need ugly expressions like <code></code>(*row)[0] or <code>row-&gt;operator[](0)</code>. With the iterator types defined by the result and tuple classes you can simply say <code>row</code>[0]. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00003.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00003.html
--- 3.1-1.1/doc/html/Reference/a00003.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00003.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,191 +1,86 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_connection&lt; CONNECTPOLICY &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: Thread safety</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00003.html">basic_connection</a>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00003.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">Thread safety </div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_connection&lt; CONNECTPOLICY &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::basic_connection" --><!-- doxytag: inherits="pqxx::connection_base" -->The ultimate template that defines a connection type.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00203.html">basic_connection.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::basic_connection&lt; CONNECTPOLICY &gt;:</div>
-<div class="dynsection">
-<p><center><img src="a00430.png" border="0" usemap="#a00431" alt="Inheritance graph"></center>
-<map name="a00431">
-<area shape="rect" href="a00020.html" title="connection_base abstract base class; represents a connection to a database." alt="" coords="75,6,243,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00432.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a02e7329e13fdc9809c1215f224ab5fe">basic_connection</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#0436a1271586987e97bdf5b59b96f607">basic_connection</a> (const std::string &amp;opt)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#a6c74a9abcfa2b13c2334d0c38f66305">basic_connection</a> (const char opt[])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#3abaa953e318c2dda1b61b3f5861140e">~basic_connection</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html#1a5b69f05379fd3e37be8bf36b984727">options</a> () const   throw ()</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CONNECTPOLICY&gt;<br>
- class pqxx::basic_connection&lt; CONNECTPOLICY &gt;</h3>
-
-The ultimate template that defines a connection type. 
-<p>
-Combines <a class="el" href="a00020.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> (the highly complex class implementing essentially all connection-related functionality) with a connection policy (a simpler helper class determining the rules that govern the process of setting up the underlying connection to the backend).<p>
-The pattern used to combine these classes is the same as for <a class="el" href="a00009.html">basic_transaction</a>. Through use of the template mechanism, the policy object is embedded in the <a class="el" href="a00003.html" title="The ultimate template that defines a connection type.">basic_connection</a> object so that it does not need to be allocated separately. At the same time this construct avoids the need for any virtual functions in this class, which reduces risks of bugs in construction and destruction; as well as any need to templatize the larger body of code in the <a class="el" href="a00020.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> class which might otherwise lead to unacceptable code duplication. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a02e7329e13fdc9809c1215f224ab5fe"></a><!-- doxytag: member="pqxx::basic_connection::basic_connection" ref="a02e7329e13fdc9809c1215f224ab5fe" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CONNECTPOLICY&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00003.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::<a class="el" href="a00003.html">basic_connection</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l00142">pqxx::connection_base::init()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0436a1271586987e97bdf5b59b96f607"></a><!-- doxytag: member="pqxx::basic_connection::basic_connection" ref="0436a1271586987e97bdf5b59b96f607" args="(const std::string &amp;opt)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CONNECTPOLICY&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00003.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::<a class="el" href="a00003.html">basic_connection</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>opt</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l00142">pqxx::connection_base::init()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a6c74a9abcfa2b13c2334d0c38f66305"></a><!-- doxytag: member="pqxx::basic_connection::basic_connection" ref="a6c74a9abcfa2b13c2334d0c38f66305" args="(const char opt[])" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CONNECTPOLICY&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00003.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::<a class="el" href="a00003.html">basic_connection</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>opt</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l00142">pqxx::connection_base::init()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3abaa953e318c2dda1b61b3f5861140e"></a><!-- doxytag: member="pqxx::basic_connection::~basic_connection" ref="3abaa953e318c2dda1b61b3f5861140e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CONNECTPOLICY&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00003.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::~<a class="el" href="a00003.html">basic_connection</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l01162">pqxx::connection_base::close()</a>, and <a class="el" href="a00218.html#l00488">pqxx::connection_base::set_noticer()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="1a5b69f05379fd3e37be8bf36b984727"></a><!-- doxytag: member="pqxx::basic_connection::options" ref="1a5b69f05379fd3e37be8bf36b984727" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CONNECTPOLICY&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">const std ::string&amp; <a class="el" href="a00003.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::options           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00203.html">basic_connection.hxx</a></ul>
+<div class="textblock"><p>This library does not contain any locking code to protect objects against simultaneous modification in multi-threaded programs. There are many different threading interfaces and libpqxx does not dictate your choice.</p>
+<p>Therefore it is up to you, the user of the library, to ensure that your threaded client programs perform no conflicting operations concurrently.</p>
+<p>The library does try to avoid non-obvious unsafe operations and so does the underlying libpq. Here's what you should do to keep your threaded libpqxx application safe:</p>
+<ul>
+<li>Treat a connection, together with any and all objects related to it, as a "world" of its own. You should generally make sure that the same "world" is never accessed concurrently by multiple threads. There are a few cases where you don't need to be this careful, however; see below.</li>
+</ul>
+<ul>
+<li>Result sets (<a class="el" href="a00084.html" title="Query or command result set.">pqxx::result</a>) and binary data (<a class="el" href="a00013.html">pqxx::binarystring</a>) are special. Copying these objects is very cheap, and you can give the copy to another thread. Just make sure that no other thread accesses the same copy when it's being assigned to, swapped, cleared, or destroyed.</li>
+</ul>
+<dl class="section warning"><dt>Warning</dt><dd>Prior to libpqxx 3.1, or in C++ environments without the standard <code>"shared_ptr"</code> smart pointer type, copying, assigning, or destroying a <a class="el" href="a00084.html" title="Query or command result set.">pqxx::result</a> or <a class="el" href="a00013.html">pqxx::binarystring</a> could also affect any other other object of the same type referring to the same underlying data.</dd></dl>
+<p>Use <code><a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e" title="Describe thread safety available in this build.">pqxx::describe_thread_safety</a></code> to find out at runtime what level of thread safety is implemented in your build and version of libpqxx. It returns a <a class="el" href="a00104.html" title="Descriptor of library&#39;s thread-safety model.">pqxx::thread_safety_model</a> describing what you can and cannot rely on. A command-line utility <code>tools/pqxxthreadsafety</code> prints out the same information. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00004.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00004.html
--- 3.1-1.1/doc/html/Reference/a00004.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00004.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,179 +1,142 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::argument_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00004.html">basic_fieldstream</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00004.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00232.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::argument_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::basic_fieldstream" -->Input stream that gets its data from a <a class="el" href="a00076.html" title="Query or command result set.">result</a> field.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00617.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#cb9db31f275560a165bb466555f30986">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TRAITS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#60c8c26735eb6e96fc915968ea13c7bc">traits_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::int_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#8f1cd9fcb08f673ef02776beb52ceefd">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::pos_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#b2bc41979cc1d0d8a349a6b82dd5077f">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::off_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#5f11dbcdcaf2c705935e099debb68cd8">off_type</a></td></tr>
 
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#b5ec9c60396c03e9b95f9ce61ff8644f">basic_fieldstream</a> (const <a class="el" href="a00081.html">result::field</a> &amp;F)</td></tr>
+<p>Invalid argument passed to libpqxx, similar to std::invalid_argument.  
+ <a href="a00004.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::argument_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00004.png" usemap="#pqxx::argument_error_map" alt=""/>
+  <map id="pqxx::argument_error_map" name="pqxx::argument_error_map">
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,131,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1b68c0e492e7cb4f9458ca0de1b85862"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html#a1b68c0e492e7cb4f9458ca0de1b85862">argument_error</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt;<br>
- class pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt;</h3>
-
-Input stream that gets its data from a <a class="el" href="a00076.html" title="Query or command result set.">result</a> field. 
-<p>
-Use this class exactly as you would any other istream to read data from a field. All formatting and streaming operations of <code>std::istream</code> are supported. What you'll typically want to use, however, is the fieldstream typedef (which defines a <a class="el" href="a00004.html" title="Input stream that gets its data from a result field.">basic_fieldstream</a> for <code>char</code>). This is similar to how e.g. <code>std::ifstream</code> relates to <code>std::basic_ifstream</code>.<p>
-This class has only been tested for the char type (and its default traits). <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="cb9db31f275560a165bb466555f30986"></a><!-- doxytag: member="pqxx::basic_fieldstream::char_type" ref="cb9db31f275560a165bb466555f30986" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef CHAR <a class="el" href="a00004.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00004.html#cb9db31f275560a165bb466555f30986">char_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="60c8c26735eb6e96fc915968ea13c7bc"></a><!-- doxytag: member="pqxx::basic_fieldstream::traits_type" ref="60c8c26735eb6e96fc915968ea13c7bc" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef TRAITS <a class="el" href="a00004.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00004.html#60c8c26735eb6e96fc915968ea13c7bc">traits_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8f1cd9fcb08f673ef02776beb52ceefd"></a><!-- doxytag: member="pqxx::basic_fieldstream::int_type" ref="8f1cd9fcb08f673ef02776beb52ceefd" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Invalid argument passed to libpqxx, similar to std::invalid_argument. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1b68c0e492e7cb4f9458ca0de1b85862"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::int_type <a class="el" href="a00004.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00004.html#8f1cd9fcb08f673ef02776beb52ceefd">int_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b2bc41979cc1d0d8a349a6b82dd5077f"></a><!-- doxytag: member="pqxx::basic_fieldstream::pos_type" ref="b2bc41979cc1d0d8a349a6b82dd5077f" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00004.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00004.html#b2bc41979cc1d0d8a349a6b82dd5077f">pos_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="5f11dbcdcaf2c705935e099debb68cd8"></a><!-- doxytag: member="pqxx::basic_fieldstream::off_type" ref="5f11dbcdcaf2c705935e099debb68cd8" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef traits_type::off_type <a class="el" href="a00004.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00004.html#5f11dbcdcaf2c705935e099debb68cd8">off_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="b5ec9c60396c03e9b95f9ce61ff8644f"></a><!-- doxytag: member="pqxx::basic_fieldstream::basic_fieldstream" ref="b5ec9c60396c03e9b95f9ce61ff8644f" args="(const result::field &amp;F)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00004.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00004.html">basic_fieldstream</a>           </td>
+          <td class="memname">pqxx::argument_error::argument_error </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00081.html">result::field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>F</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00004.html">argument_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00004.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00004.js
--- 3.1-1.1/doc/html/Reference/a00004.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00004.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00004 =
+[
+    [ "argument_error", "a00004.html#a1b68c0e492e7cb4f9458ca0de1b85862", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00004.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00004.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00005.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00005.html
--- 3.1-1.1/doc/html/Reference/a00005.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00005.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,253 +1,218 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_ilostream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: std::back_insert_iterator&lt; pqxx::tablewriter &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00005.html">basic_ilostream</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00005.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00318.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::back_insert_iterator&lt; pqxx::tablewriter &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_ilostream&lt; CHAR, TRAITS &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::basic_ilostream" -->Input stream that gets its data from a large object.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00229.html">largeobject.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00585.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#d94ea6936b6a5ee2983bdcbacdf364a9">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TRAITS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#f70c033d70d77ee3e4942112ad9e54c2">traits_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::int_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#1cffaceb7db5daf482bcb7f73aeaa0b0">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::pos_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#9b47ff8b4b3863983169e64b69cee6fa">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::off_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#8ef4183e4700b8859a1f0950e6dff8ee">off_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#53f0bc4d9eed45617ae14bf553efa429">basic_ilostream</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00050.html">largeobject</a> O, <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00005.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>.  <a href="#53f0bc4d9eed45617ae14bf553efa429"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#f46e0f2cfe62a5c75b431e56065ad883">basic_ilostream</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<p>Specialized back_insert_iterator for tablewriter.  
+ <a href="a00005.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00005.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>.  <a href="#f46e0f2cfe62a5c75b431e56065ad883"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00167_source.html">tablewriter.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a25f4372dfc9c449cae4572f01de65323"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> (<a class="el" href="a00103.html">pqxx::tablewriter</a> &amp;W)  throw ()</td></tr>
+<tr class="memitem:a2aaa8274759d9d84964e8235ec59bac0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#a2aaa8274759d9d84964e8235ec59bac0">operator=</a> (const <a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a673f58eda786a37dd76ebcfd7bd5cd96"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:a673f58eda786a37dd76ebcfd7bd5cd96"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00005.html#a673f58eda786a37dd76ebcfd7bd5cd96">operator=</a> (const TUPLE &amp;T)</td></tr>
+<tr class="memitem:a0b7adddc8406229b9c5a161302dffba5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#a0b7adddc8406229b9c5a161302dffba5">operator++</a> ()</td></tr>
+<tr class="memitem:ad4658fc955fd5a74ece771106a7edee0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#ad4658fc955fd5a74ece771106a7edee0">operator++</a> (int)</td></tr>
+<tr class="memitem:a0b513557015fe5eda72c189dd488d5dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html#a0b513557015fe5eda72c189dd488d5dd">operator*</a> ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt;<br>
- class pqxx::basic_ilostream&lt; CHAR, TRAITS &gt;</h3>
-
-Input stream that gets its data from a large object. 
-<p>
-Use this class exactly as you would any other istream to read data from a large object. All formatting and streaming operations of <code>std::istream</code> are supported. What you'll typically want to use, however, is the ilostream typedef (which defines a <a class="el" href="a00005.html" title="Input stream that gets its data from a large object.">basic_ilostream</a> for <code>char</code>). This is similar to how e.g. <code>std::ifstream</code> relates to <code>std::basic_ifstream</code>.<p>
-Currently only works for <code>&lt;char, <a class="el" href="a00013.html" title="Work around missing std::char_traits&lt;char&gt;.">std::char_traits&lt;char&gt;</a> &gt;</code>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="d94ea6936b6a5ee2983bdcbacdf364a9"></a><!-- doxytag: member="pqxx::basic_ilostream::char_type" ref="d94ea6936b6a5ee2983bdcbacdf364a9" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef CHAR <a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html#d94ea6936b6a5ee2983bdcbacdf364a9">char_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;&gt;<br/>
+class std::back_insert_iterator&lt; pqxx::tablewriter &gt;</h3>
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f70c033d70d77ee3e4942112ad9e54c2"></a><!-- doxytag: member="pqxx::basic_ilostream::traits_type" ref="f70c033d70d77ee3e4942112ad9e54c2" args="" -->
+<p>Specialized back_insert_iterator for tablewriter. </p>
+<p>Doesn't require a value_type to be defined. Accepts any container type instead. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a25f4372dfc9c449cae4572f01de65323"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">typedef TRAITS <a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html#f70c033d70d77ee3e4942112ad9e54c2">traits_type</a>          </td>
+          <td class="memname">std::back_insert_iterator&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt;::back_insert_iterator </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00103.html">pqxx::tablewriter</a> &amp;&#160;</td>
+          <td class="paramname"><em>W</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="1cffaceb7db5daf482bcb7f73aeaa0b0"></a><!-- doxytag: member="pqxx::basic_ilostream::int_type" ref="1cffaceb7db5daf482bcb7f73aeaa0b0" args="" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a0b513557015fe5eda72c189dd488d5dd"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::int_type <a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html#1cffaceb7db5daf482bcb7f73aeaa0b0">int_type</a>          </td>
+          <td class="memname"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a>&amp; std::back_insert_iterator&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt;::operator* </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="9b47ff8b4b3863983169e64b69cee6fa"></a><!-- doxytag: member="pqxx::basic_ilostream::pos_type" ref="9b47ff8b4b3863983169e64b69cee6fa" args="" -->
+</div>
+<a class="anchor" id="a0b7adddc8406229b9c5a161302dffba5"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html#9b47ff8b4b3863983169e64b69cee6fa">pos_type</a>          </td>
+          <td class="memname"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a>&amp; std::back_insert_iterator&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt;::operator++ </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="8ef4183e4700b8859a1f0950e6dff8ee"></a><!-- doxytag: member="pqxx::basic_ilostream::off_type" ref="8ef4183e4700b8859a1f0950e6dff8ee" args="" -->
+</div>
+<a class="anchor" id="ad4658fc955fd5a74ece771106a7edee0"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::off_type <a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html#8ef4183e4700b8859a1f0950e6dff8ee">off_type</a>          </td>
+          <td class="memname"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a>&amp; std::back_insert_iterator&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt;::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="53f0bc4d9eed45617ae14bf553efa429"></a><!-- doxytag: member="pqxx::basic_ilostream::basic_ilostream" ref="53f0bc4d9eed45617ae14bf553efa429" args="(dbtransaction &amp;T, largeobject O, largeobject::size_type BufSize=512)" -->
+</div>
+<a class="anchor" id="a2aaa8274759d9d84964e8235ec59bac0"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html">basic_ilostream</a>           </td>
+          <td class="memname"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a>&amp; std::back_insert_iterator&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt;::operator= </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html">largeobject</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="paramtype">const <a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a>&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt; &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a <a class="el" href="a00005.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which this stream is to exist </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Large object to access </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>BufSize</em>&nbsp;</td><td>Size of buffer to use internally (optional) </td></tr>
-  </table>
-</dl>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f46e0f2cfe62a5c75b431e56065ad883"></a><!-- doxytag: member="pqxx::basic_ilostream::basic_ilostream" ref="f46e0f2cfe62a5c75b431e56065ad883" args="(dbtransaction &amp;T, oid O, largeobject::size_type BufSize=512)" -->
+</div>
+<a class="anchor" id="a673f58eda786a37dd76ebcfd7bd5cd96"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename TUPLE &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00005.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00005.html">basic_ilostream</a>           </td>
+          <td class="memname"><a class="el" href="a00005.html#a25f4372dfc9c449cae4572f01de65323">back_insert_iterator</a>&amp; std::back_insert_iterator&lt; <a class="el" href="a00103.html">pqxx::tablewriter</a> &gt;::operator= </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramtype">const TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a <a class="el" href="a00005.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which this stream is to exist </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Identifier of a large object to access </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>BufSize</em>&nbsp;</td><td>Size of buffer to use internally (optional) </td></tr>
-  </table>
-</dl>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00229.html">largeobject.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00167_source.html">tablewriter.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><b>std</b></li><li class="navelem"><a class="el" href="a00005.html">back_insert_iterator< pqxx::tablewriter ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00005.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00005.js
--- 3.1-1.1/doc/html/Reference/a00005.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00005.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00005 =
+[
+    [ "back_insert_iterator", "a00005.html#a25f4372dfc9c449cae4572f01de65323", null ],
+    [ "operator*", "a00005.html#a0b513557015fe5eda72c189dd488d5dd", null ],
+    [ "operator++", "a00005.html#a0b7adddc8406229b9c5a161302dffba5", null ],
+    [ "operator++", "a00005.html#ad4658fc955fd5a74ece771106a7edee0", null ],
+    [ "operator=", "a00005.html#a2aaa8274759d9d84964e8235ec59bac0", null ],
+    [ "operator=", "a00005.html#a673f58eda786a37dd76ebcfd7bd5cd96", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00006.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00006.html
--- 3.1-1.1/doc/html/Reference/a00006.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00006.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,276 +1,345 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_lostream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_connection&lt; CONNECTPOLICY &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00006.html">basic_lostream</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00006.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00208.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_connection&lt; CONNECTPOLICY &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_lostream&lt; CHAR, TRAITS &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::basic_lostream" -->Stream that reads and writes a large object.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00229.html">largeobject.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00587.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#6defd7dc017956dcda572ff9d54b394d">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TRAITS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#c41b5c92c32c7d99a86e887d8fc9f33e">traits_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::int_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#7d45a1d6dc270b8a793a5e3cde0fb2c3">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::pos_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#411cd2fbec4a9f5bfa07030d8a77b482">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::off_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#94b75418ccf0801a3f7fd62d3f0897d7">off_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#82775c94f45b87a6b9e082900d2d9d2b">basic_lostream</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00050.html">largeobject</a> O, <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00006.html" title="Stream that reads and writes a large object.">basic_lostream</a>.  <a href="#82775c94f45b87a6b9e082900d2d9d2b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#60e982e6fba23c8067404af0a4f5d05a">basic_lostream</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00006.html" title="Stream that reads and writes a large object.">basic_lostream</a>.  <a href="#60e982e6fba23c8067404af0a4f5d05a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#57d98a1321d8f5d00027810bb811025c">~basic_lostream</a> ()</td></tr>
+<p>The ultimate template that defines a connection type.  
+ <a href="a00006.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00117_source.html">basic_connection.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::basic_connection&lt; CONNECTPOLICY &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00006.png" usemap="#pqxx::basic_connection&lt; CONNECTPOLICY &gt;_map" alt=""/>
+  <map id="pqxx::basic_connection&lt; CONNECTPOLICY &gt;_map" name="pqxx::basic_connection&lt; CONNECTPOLICY &gt;_map">
+<area href="a00023.html" title="connection_base abstract base class; represents a connection to a database." alt="pqxx::connection_base" shape="rect" coords="0,0,273,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa02e7329e13fdc9809c1215f224ab5fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#aa02e7329e13fdc9809c1215f224ab5fe">basic_connection</a> ()</td></tr>
+<tr class="memitem:a0436a1271586987e97bdf5b59b96f607"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#a0436a1271586987e97bdf5b59b96f607">basic_connection</a> (const std::string &amp;opt)</td></tr>
+<tr class="memitem:aa6c74a9abcfa2b13c2334d0c38f66305"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#aa6c74a9abcfa2b13c2334d0c38f66305">basic_connection</a> (const char opt[])</td></tr>
+<tr class="memitem:a3abaa953e318c2dda1b61b3f5861140e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#a3abaa953e318c2dda1b61b3f5861140e">~basic_connection</a> ()  throw ()</td></tr>
+<tr class="memitem:af041bd491664d3d3c81e7ad9e701d593"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html#af041bd491664d3d3c81e7ad9e701d593">options</a> () const   throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00023"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00023')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00023.html">pqxx::connection_base</a></td></tr>
+<tr class="memitem:a9bd21013745b4454e248e637cdae1287 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a9bd21013745b4454e248e637cdae1287">disconnect</a> ()  throw ()</td></tr>
+<tr class="memdesc:a9bd21013745b4454e248e637cdae1287 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly close connection.  <a href="#a9bd21013745b4454e248e637cdae1287"></a><br/></td></tr>
+<tr class="memitem:a36a26cf7e13f612749d49faf4f1654f8 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a36a26cf7e13f612749d49faf4f1654f8">is_open</a> () const   throw ()</td></tr>
+<tr class="memdesc:a36a26cf7e13f612749d49faf4f1654f8 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this connection open at the moment?  <a href="#a36a26cf7e13f612749d49faf4f1654f8"></a><br/></td></tr>
+<tr class="memitem:af53d2c135aa27cdb1a66ff550a26e555 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af53d2c135aa27cdb1a66ff550a26e555">trace</a> (FILE *)  throw ()</td></tr>
+<tr class="memdesc:af53d2c135aa27cdb1a66ff550a26e555 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable tracing to a given output stream, or NULL to disable.  <a href="#af53d2c135aa27cdb1a66ff550a26e555"></a><br/></td></tr>
+<tr class="memitem:a04895c06c5ae1d8b0863a32a28beff51 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a04895c06c5ae1d8b0863a32a28beff51">set_client_encoding</a> (const std::string &amp;Encoding)</td></tr>
+<tr class="memdesc:a04895c06c5ae1d8b0863a32a28beff51 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set client-side character encoding.  <a href="#a04895c06c5ae1d8b0863a32a28beff51"></a><br/></td></tr>
+<tr class="memitem:a120b9e03dcaa9b0c3ef7026afa64d954 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a120b9e03dcaa9b0c3ef7026afa64d954">set_variable</a> (const std::string &amp;Var, const std::string &amp;Value)</td></tr>
+<tr class="memdesc:a120b9e03dcaa9b0c3ef7026afa64d954 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable.  <a href="#a120b9e03dcaa9b0c3ef7026afa64d954"></a><br/></td></tr>
+<tr class="memitem:a908a2ffdf56d8259492e9f3894e24f65 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a908a2ffdf56d8259492e9f3894e24f65">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a908a2ffdf56d8259492e9f3894e24f65 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read session variable.  <a href="#a908a2ffdf56d8259492e9f3894e24f65"></a><br/></td></tr>
+<tr class="memitem:a4963aaba6da521d480c21c7ec01835cf inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a4963aaba6da521d480c21c7ec01835cf">adorn_name</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a4963aaba6da521d480c21c7ec01835cf inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suffix unique number to name to make it unique within session context.  <a href="#a4963aaba6da521d480c21c7ec01835cf"></a><br/></td></tr>
+<tr class="memitem:ga8978ff727c03a1aaaa3a9d3fd3268abf inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga8978ff727c03a1aaaa3a9d3fd3268abf">esc</a> (const char str[])</td></tr>
+<tr class="memdesc:ga8978ff727c03a1aaaa3a9d3fd3268abf inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00199.html#ga8978ff727c03a1aaaa3a9d3fd3268abf"></a><br/></td></tr>
+<tr class="memitem:gae711f65dd793a70629f97a2e0e54d8db inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gae711f65dd793a70629f97a2e0e54d8db">esc</a> (const char str[], size_t maxlen)</td></tr>
+<tr class="memdesc:gae711f65dd793a70629f97a2e0e54d8db inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00199.html#gae711f65dd793a70629f97a2e0e54d8db"></a><br/></td></tr>
+<tr class="memitem:gaca9ba750fd096cfd652a4323dab3a653 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gaca9ba750fd096cfd652a4323dab3a653">esc</a> (const std::string &amp;str)</td></tr>
+<tr class="memdesc:gaca9ba750fd096cfd652a4323dab3a653 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00199.html#gaca9ba750fd096cfd652a4323dab3a653"></a><br/></td></tr>
+<tr class="memitem:ga6a8c83d3dcea7114a00c188fe6a92779 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6a8c83d3dcea7114a00c188fe6a92779">esc_raw</a> (const unsigned char str[], size_t len)</td></tr>
+<tr class="memdesc:ga6a8c83d3dcea7114a00c188fe6a92779 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for use as SQL string literal on this connection.  <a href="a00199.html#ga6a8c83d3dcea7114a00c188fe6a92779"></a><br/></td></tr>
+<tr class="memitem:ga81fe65fbb9561af7c5f0b33a9fe27e5a inherit pub_methods_a00023"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga81fe65fbb9561af7c5f0b33a9fe27e5a"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga81fe65fbb9561af7c5f0b33a9fe27e5a">quote</a> (const T &amp;t)</td></tr>
+<tr class="memdesc:ga81fe65fbb9561af7c5f0b33a9fe27e5a inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga81fe65fbb9561af7c5f0b33a9fe27e5a"></a><br/></td></tr>
+<tr class="memitem:a9709e4738b1bfb1dba547381749908cb inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a9709e4738b1bfb1dba547381749908cb">cancel_query</a> ()</td></tr>
+<tr class="memdesc:a9709e4738b1bfb1dba547381749908cb inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to cancel the ongoing query, if any.  <a href="#a9709e4738b1bfb1dba547381749908cb"></a><br/></td></tr>
+<tr class="memitem:a1aa330287775aa1ff83f94714f772673 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673">activate</a> ()</td></tr>
+<tr class="memdesc:a1aa330287775aa1ff83f94714f772673 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly activate deferred or deactivated connection.  <a href="#a1aa330287775aa1ff83f94714f772673"></a><br/></td></tr>
+<tr class="memitem:a10b275082e18dbcb177a8871f92c7523 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a10b275082e18dbcb177a8871f92c7523">deactivate</a> ()</td></tr>
+<tr class="memdesc:a10b275082e18dbcb177a8871f92c7523 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly deactivate connection.  <a href="#a10b275082e18dbcb177a8871f92c7523"></a><br/></td></tr>
+<tr class="memitem:aedf7ac72658efa92e702a06b1964747a inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aedf7ac72658efa92e702a06b1964747a">inhibit_reactivation</a> (bool inhibit)</td></tr>
+<tr class="memdesc:aedf7ac72658efa92e702a06b1964747a inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallow (or permit) connection recovery.  <a href="#aedf7ac72658efa92e702a06b1964747a"></a><br/></td></tr>
+<tr class="memitem:a335ca1d83e65a9e57b907c431c3afbe1 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a335ca1d83e65a9e57b907c431c3afbe1">simulate_failure</a> ()</td></tr>
+<tr class="memdesc:a335ca1d83e65a9e57b907c431c3afbe1 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make the connection fail.  <a href="#a335ca1d83e65a9e57b907c431c3afbe1"></a><br/></td></tr>
+<tr class="memitem:ac6b5f32ac91993b37531e96c2d14b18e inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ac6b5f32ac91993b37531e96c2d14b18e">set_noticer</a> (std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt; N)  throw ()</td></tr>
+<tr class="memdesc:ac6b5f32ac91993b37531e96c2d14b18e inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set handler for postgresql errors or warning messages.  <a href="#ac6b5f32ac91993b37531e96c2d14b18e"></a><br/></td></tr>
+<tr class="memitem:aedf4e61e94ea58058e4bc592d98f8dc2 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00065.html">noticer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aedf4e61e94ea58058e4bc592d98f8dc2">get_noticer</a> () const   throw ()</td></tr>
+<tr class="memitem:a140578ed1e1c65c61deb0407ff25959f inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a140578ed1e1c65c61deb0407ff25959f">process_notice</a> (const char[])  throw ()</td></tr>
+<tr class="memdesc:a140578ed1e1c65c61deb0407ff25959f inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke notice processor function. The message should end in newline.  <a href="#a140578ed1e1c65c61deb0407ff25959f"></a><br/></td></tr>
+<tr class="memitem:a9d64420154827b3572dcdb955a93bfff inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a9d64420154827b3572dcdb955a93bfff">process_notice</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memdesc:a9d64420154827b3572dcdb955a93bfff inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke notice processor function. Newline at end is recommended.  <a href="#a9d64420154827b3572dcdb955a93bfff"></a><br/></td></tr>
+<tr class="memitem:a043e536c1923594c246f2ca8db31dffa inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a043e536c1923594c246f2ca8db31dffa">dbname</a> ()</td></tr>
+<tr class="memdesc:a043e536c1923594c246f2ca8db31dffa inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of database we're connected to, if any.  <a href="#a043e536c1923594c246f2ca8db31dffa"></a><br/></td></tr>
+<tr class="memitem:ae02522000400fc2782e892ac0387d85b inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ae02522000400fc2782e892ac0387d85b">username</a> ()</td></tr>
+<tr class="memdesc:ae02522000400fc2782e892ac0387d85b inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Database user ID we're connected under, if any.  <a href="#ae02522000400fc2782e892ac0387d85b"></a><br/></td></tr>
+<tr class="memitem:a38dde9befa350a07a5ac093d13ee64e2 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a38dde9befa350a07a5ac093d13ee64e2">hostname</a> ()</td></tr>
+<tr class="memdesc:a38dde9befa350a07a5ac093d13ee64e2 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of server, or NULL if none specified (i.e. default or local)  <a href="#a38dde9befa350a07a5ac093d13ee64e2"></a><br/></td></tr>
+<tr class="memitem:a826750f0f13ede4ac4e6ca8a84711b53 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a826750f0f13ede4ac4e6ca8a84711b53">port</a> ()</td></tr>
+<tr class="memdesc:a826750f0f13ede4ac4e6ca8a84711b53 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server port number we're connected to.  <a href="#a826750f0f13ede4ac4e6ca8a84711b53"></a><br/></td></tr>
+<tr class="memitem:a7179e32df28bd4bc81b85d99b36ad791 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a7179e32df28bd4bc81b85d99b36ad791">backendpid</a> () const   throw ()</td></tr>
+<tr class="memdesc:a7179e32df28bd4bc81b85d99b36ad791 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process ID for backend process.  <a href="#a7179e32df28bd4bc81b85d99b36ad791"></a><br/></td></tr>
+<tr class="memitem:a8ac078b1077fbe19ee1d713bb6b71e8f inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a8ac078b1077fbe19ee1d713bb6b71e8f">sock</a> () const   throw ()</td></tr>
+<tr class="memdesc:a8ac078b1077fbe19ee1d713bb6b71e8f inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Socket currently used for connection, or -1 for none. Use with care!  <a href="#a8ac078b1077fbe19ee1d713bb6b71e8f"></a><br/></td></tr>
+<tr class="memitem:aa839a066c0289a12f664e29c9dbafd38 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aa839a066c0289a12f664e29c9dbafd38">get_notifs</a> ()</td></tr>
+<tr class="memdesc:aa839a066c0289a12f664e29c9dbafd38 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for pending notifications and take appropriate action.  <a href="#aa839a066c0289a12f664e29c9dbafd38"></a><br/></td></tr>
+<tr class="memitem:ab5c24029bda3198d826d24757e49c746 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab5c24029bda3198d826d24757e49c746">await_notification</a> ()</td></tr>
+<tr class="memdesc:ab5c24029bda3198d826d24757e49c746 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a notification to come in.  <a href="#ab5c24029bda3198d826d24757e49c746"></a><br/></td></tr>
+<tr class="memitem:aa9e66faad88a94857c0749b9bbc5d352 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aa9e66faad88a94857c0749b9bbc5d352">await_notification</a> (long seconds, long microseconds)</td></tr>
+<tr class="memdesc:aa9e66faad88a94857c0749b9bbc5d352 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a notification to come in, or for given timeout to pass.  <a href="#aa9e66faad88a94857c0749b9bbc5d352"></a><br/></td></tr>
+<tr class="memitem:ad2b9e50c9ebfab7c86a091cd939e1e6c inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00033.html">prepare::declaration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ad2b9e50c9ebfab7c86a091cd939e1e6c">prepare</a> (const std::string &amp;name, const std::string &amp;definition)</td></tr>
+<tr class="memdesc:ad2b9e50c9ebfab7c86a091cd939e1e6c inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a prepared statement.  <a href="#ad2b9e50c9ebfab7c86a091cd939e1e6c"></a><br/></td></tr>
+<tr class="memitem:af2dcc39b88897fe2bc3c5742edd43645 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00033.html">prepare::declaration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af2dcc39b88897fe2bc3c5742edd43645">prepare</a> (const std::string &amp;definition)</td></tr>
+<tr class="memdesc:af2dcc39b88897fe2bc3c5742edd43645 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a nameless prepared statement.  <a href="#af2dcc39b88897fe2bc3c5742edd43645"></a><br/></td></tr>
+<tr class="memitem:a30ec51634479614b45106532e87e5dc7 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a30ec51634479614b45106532e87e5dc7">unprepare</a> (const std::string &amp;name)</td></tr>
+<tr class="memdesc:a30ec51634479614b45106532e87e5dc7 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drop prepared statement.  <a href="#a30ec51634479614b45106532e87e5dc7"></a><br/></td></tr>
+<tr class="memitem:a32efdc645566975851bfc7d6b82d214c inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a32efdc645566975851bfc7d6b82d214c">prepare_now</a> (const std::string &amp;name)</td></tr>
+<tr class="memdesc:a32efdc645566975851bfc7d6b82d214c inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request that prepared statement be registered with the server.  <a href="#a32efdc645566975851bfc7d6b82d214c"></a><br/></td></tr>
+<tr class="memitem:abf3b71372850f86e4f5e67eb4b7d56bd inherit pub_methods_a00023"><td class="memTemplParams" colspan="2">template&lt;typename TRANSACTOR &gt; </td></tr>
+<tr class="memitem:abf3b71372850f86e4f5e67eb4b7d56bd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd">perform</a> (const TRANSACTOR &amp;T, int Attempts)</td></tr>
+<tr class="memdesc:abf3b71372850f86e4f5e67eb4b7d56bd inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the transaction defined by a transactor-based object.  <a href="#abf3b71372850f86e4f5e67eb4b7d56bd"></a><br/></td></tr>
+<tr class="memitem:a5eac9840b79e7f1893d88b63f6d97b1d inherit pub_methods_a00023"><td class="memTemplParams" colspan="2">template&lt;typename TRANSACTOR &gt; </td></tr>
+<tr class="memitem:a5eac9840b79e7f1893d88b63f6d97b1d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d">perform</a> (const TRANSACTOR &amp;T)</td></tr>
+<tr class="memdesc:a5eac9840b79e7f1893d88b63f6d97b1d inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the transaction defined by a transactor-based object.  <a href="#a5eac9840b79e7f1893d88b63f6d97b1d"></a><br/></td></tr>
+<tr class="memitem:aefdde864e05f88e84d748236b93659e7 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aefdde864e05f88e84d748236b93659e7">supports</a> (<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71">capability</a> c) const   throw ()</td></tr>
+<tr class="memdesc:aefdde864e05f88e84d748236b93659e7 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does this connection seem to support the given capability?  <a href="#aefdde864e05f88e84d748236b93659e7"></a><br/></td></tr>
+<tr class="memitem:ab63e45ad783d8adb8d4a9f03e03ef6ef inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab63e45ad783d8adb8d4a9f03e03ef6ef">protocol_version</a> () const   throw ()</td></tr>
+<tr class="memdesc:ab63e45ad783d8adb8d4a9f03e03ef6ef inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">What version of the PostgreSQL protocol is this connection using?  <a href="#ab63e45ad783d8adb8d4a9f03e03ef6ef"></a><br/></td></tr>
+<tr class="memitem:acdd295f691812773133147530aa6ff21 inherit pub_methods_a00023"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#acdd295f691812773133147530aa6ff21">server_version</a> () const   throw ()</td></tr>
+<tr class="memdesc:acdd295f691812773133147530aa6ff21 inherit pub_methods_a00023"><td class="mdescLeft">&#160;</td><td class="mdescRight">What version of the PostgreSQL server are we connected to?  <a href="#acdd295f691812773133147530aa6ff21"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00023"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00023')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00023.html">pqxx::connection_base</a></td></tr>
+<tr class="memitem:a306a884246abc1051bab4fb06393ee71 inherit pub_types_a00023"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71">capability</a> { <br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71af5a4754aea608aaf5fca6caa51c44ce0">cap_prepared_statements</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71aba8a02f6bb5d2304bfbf2110c6cd791a">cap_create_table_with_oids</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a973dc9e4f56818f82b86fb13a5bbc405">cap_nested_transactions</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc">cap_cursor_scroll</a>, 
+<br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4">cap_cursor_with_hold</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb">cap_cursor_update</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a86380c8c083847ba3d16764784f5914f">cap_cursor_fetch_0</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a1f2b785abe834490c33dc4cf19c932d2">cap_table_column</a>, 
+<br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a01e68a67b6a3c92ce9b0c92fa73e90b2">cap_read_only_transactions</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71abefe533e379346c7b9644406c613eb02">cap_statement_varargs</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a6b019128f2fdcfa9d316042342846e2f">cap_prepare_unnamed_statement</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a366c98bc3385ecfb39496bf7240e5973">cap_parameterized_statements</a>, 
+<br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a4a873c5d7e7fb0a9022cdd110181a7de">cap_end</a>
+<br/>
+ }</td></tr>
+<tr class="memdesc:a306a884246abc1051bab4fb06393ee71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Session capabilities.  <a href="a00023.html#a306a884246abc1051bab4fb06393ee71">More...</a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00023"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00023')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00023.html">pqxx::connection_base</a></td></tr>
+<tr class="memitem:a33700cc6d830d28c3dbd48eb9b7276ab inherit pro_methods_a00023"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a33700cc6d830d28c3dbd48eb9b7276ab">connection_base</a> (<a class="el" href="a00024.html">connectionpolicy</a> &amp;)</td></tr>
+<tr class="memitem:a1d1c129c2c5797a82f251ee9dabec77e inherit pro_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">init</a> ()</td></tr>
+<tr class="memitem:af02016af0233bed748eb1ddab9685131 inherit pro_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af02016af0233bed748eb1ddab9685131">close</a> ()  throw ()</td></tr>
+<tr class="memitem:af860fe4c418cfa4f573f34d73327d111 inherit pro_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af860fe4c418cfa4f573f34d73327d111">wait_read</a> () const </td></tr>
+<tr class="memitem:ab8c7dd5e54493e18d5900dd70012d062 inherit pro_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab8c7dd5e54493e18d5900dd70012d062">wait_read</a> (long seconds, long microseconds) const </td></tr>
+<tr class="memitem:acfb8d53e6f105db280cd5d977c005bea inherit pro_methods_a00023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#acfb8d53e6f105db280cd5d977c005bea">wait_write</a> () const </td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt;<br>
- class pqxx::basic_lostream&lt; CHAR, TRAITS &gt;</h3>
-
-Stream that reads and writes a large object. 
-<p>
-Use this class exactly as you would a std::iostream to read data from, or write data to a large object. All formatting and streaming operations of <code>std::iostream</code> are supported. What you'll typically want to use, however, is the lostream typedef (which defines a <a class="el" href="a00006.html" title="Stream that reads and writes a large object.">basic_lostream</a> for <code>char</code>). This is similar to how e.g. <code>std::fstream</code> is related to <code>std::basic_fstream</code>.<p>
-Currently only works for <code>&lt;char, <a class="el" href="a00013.html" title="Work around missing std::char_traits&lt;char&gt;.">std::char_traits&lt;char&gt;</a> &gt;</code>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="6defd7dc017956dcda572ff9d54b394d"></a><!-- doxytag: member="pqxx::basic_lostream::char_type" ref="6defd7dc017956dcda572ff9d54b394d" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CONNECTPOLICY&gt;<br/>
+class pqxx::basic_connection&lt; CONNECTPOLICY &gt;</h3>
+
+<p>The ultimate template that defines a connection type. </p>
+<p>Combines <a class="el" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> (the highly complex class implementing essentially all connection-related functionality) with a connection policy (a simpler helper class determining the rules that govern the process of setting up the underlying connection to the backend).</p>
+<p>The pattern used to combine these classes is the same as for <a class="el" href="a00012.html">basic_transaction</a>. Through use of the template mechanism, the policy object is embedded in the <a class="el" href="a00006.html" title="The ultimate template that defines a connection type.">basic_connection</a> object so that it does not need to be allocated separately. At the same time this construct avoids the need for any virtual functions in this class, which reduces risks of bugs in construction and destruction; as well as any need to templatize the larger body of code in the <a class="el" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> class which might otherwise lead to unacceptable code duplication. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa02e7329e13fdc9809c1215f224ab5fe"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CONNECTPOLICY &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef CHAR <a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html#6defd7dc017956dcda572ff9d54b394d">char_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c41b5c92c32c7d99a86e887d8fc9f33e"></a><!-- doxytag: member="pqxx::basic_lostream::traits_type" ref="c41b5c92c32c7d99a86e887d8fc9f33e" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef TRAITS <a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html#c41b5c92c32c7d99a86e887d8fc9f33e">traits_type</a>          </td>
+          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::<a class="el" href="a00006.html">basic_connection</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">pqxx::connection_base::init()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="7d45a1d6dc270b8a793a5e3cde0fb2c3"></a><!-- doxytag: member="pqxx::basic_lostream::int_type" ref="7d45a1d6dc270b8a793a5e3cde0fb2c3" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef traits_type::int_type <a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html#7d45a1d6dc270b8a793a5e3cde0fb2c3">int_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="411cd2fbec4a9f5bfa07030d8a77b482"></a><!-- doxytag: member="pqxx::basic_lostream::pos_type" ref="411cd2fbec4a9f5bfa07030d8a77b482" args="" -->
+<a class="anchor" id="a0436a1271586987e97bdf5b59b96f607"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CONNECTPOLICY &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html#411cd2fbec4a9f5bfa07030d8a77b482">pos_type</a>          </td>
+          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::<a class="el" href="a00006.html">basic_connection</a> </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>opt</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">pqxx::connection_base::init()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="94b75418ccf0801a3f7fd62d3f0897d7"></a><!-- doxytag: member="pqxx::basic_lostream::off_type" ref="94b75418ccf0801a3f7fd62d3f0897d7" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef traits_type::off_type <a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html#94b75418ccf0801a3f7fd62d3f0897d7">off_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="82775c94f45b87a6b9e082900d2d9d2b"></a><!-- doxytag: member="pqxx::basic_lostream::basic_lostream" ref="82775c94f45b87a6b9e082900d2d9d2b" args="(dbtransaction &amp;T, largeobject O, largeobject::size_type BufSize=512)" -->
+<a class="anchor" id="aa6c74a9abcfa2b13c2334d0c38f66305"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CONNECTPOLICY &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html">basic_lostream</a>           </td>
+          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::<a class="el" href="a00006.html">basic_connection</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html">largeobject</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>opt</em>[]</td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-Create a <a class="el" href="a00006.html" title="Stream that reads and writes a large object.">basic_lostream</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which this stream is to exist </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Large object to access </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>BufSize</em>&nbsp;</td><td>Size of buffer to use internally (optional) </td></tr>
-  </table>
-</dl>
+<p>References <a class="el" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">pqxx::connection_base::init()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="60e982e6fba23c8067404af0a4f5d05a"></a><!-- doxytag: member="pqxx::basic_lostream::basic_lostream" ref="60e982e6fba23c8067404af0a4f5d05a" args="(dbtransaction &amp;T, oid O, largeobject::size_type BufSize=512)" -->
+</div>
+<a class="anchor" id="a3abaa953e318c2dda1b61b3f5861140e"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CONNECTPOLICY &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00006.html">basic_lostream</a>           </td>
+          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::~<a class="el" href="a00006.html">basic_connection</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Create a <a class="el" href="a00006.html" title="Stream that reads and writes a large object.">basic_lostream</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which this stream is to exist </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Large object to access </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>BufSize</em>&nbsp;</td><td>Size of buffer to use internally (optional) </td></tr>
-  </table>
-</dl>
+<p>References <a class="el" href="a00023.html#af02016af0233bed748eb1ddab9685131">pqxx::connection_base::close()</a>, and <a class="el" href="a00023.html#ac6b5f32ac91993b37531e96c2d14b18e">pqxx::connection_base::set_noticer()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="57d98a1321d8f5d00027810bb811025c"></a><!-- doxytag: member="pqxx::basic_lostream::~basic_lostream" ref="57d98a1321d8f5d00027810bb811025c" args="()" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="af041bd491664d3d3c81e7ad9e701d593"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CONNECTPOLICY &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00006.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::~<a class="el" href="a00006.html">basic_lostream</a>           </td>
+          <td class="memname">const std::string&amp; <a class="el" href="a00006.html">pqxx::basic_connection</a>&lt; CONNECTPOLICY &gt;::options </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00229.html">largeobject.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00117_source.html">basic_connection.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00006.html">basic_connection</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00006.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00006.js
--- 3.1-1.1/doc/html/Reference/a00006.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00006.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00006 =
+[
+    [ "basic_connection", "a00006.html#aa02e7329e13fdc9809c1215f224ab5fe", null ],
+    [ "basic_connection", "a00006.html#a0436a1271586987e97bdf5b59b96f607", null ],
+    [ "basic_connection", "a00006.html#aa6c74a9abcfa2b13c2334d0c38f66305", null ],
+    [ "~basic_connection", "a00006.html#a3abaa953e318c2dda1b61b3f5861140e", null ],
+    [ "options", "a00006.html#af041bd491664d3d3c81e7ad9e701d593", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00006.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00006.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00007.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00007.html
--- 3.1-1.1/doc/html/Reference/a00007.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00007.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,276 +1,208 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_olostream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00007.html">basic_olostream</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00007.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00277.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_olostream&lt; CHAR, TRAITS &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::basic_olostream" -->Output stream that writes data back to a large object.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00229.html">largeobject.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00586.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#5c09652a33d59854940ef5ad36522bef">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TRAITS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#fa10568556220285b8f77e6bc6a65c63">traits_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::int_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#0e9bac94644a39ea5465d9b7aeba62dd">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::pos_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#472b319febd6757f32a06541ecb5fd99">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::off_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#cd6a237e073930d1c9b52de0c4cc9ba7">off_type</a></td></tr>
 
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#627ef8d2f00596a80104f81bac097f61">basic_olostream</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00050.html">largeobject</a> O, <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<p>Input stream that gets its data from a result field.  
+ <a href="a00007.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00007.html" title="Output stream that writes data back to a large object.">basic_olostream</a>.  <a href="#627ef8d2f00596a80104f81bac097f61"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#f5a32597bd7cf509cb8593daf9e5f0f1">basic_olostream</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00007.html" title="Output stream that writes data back to a large object.">basic_olostream</a>.  <a href="#f5a32597bd7cf509cb8593daf9e5f0f1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#514945ec9aeaa6bdd455f21ccd9d3876">~basic_olostream</a> ()</td></tr>
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
 
+<p>Inherits std::istream.</p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:acb9db31f275560a165bb466555f30986"><td class="memItemLeft" align="right" valign="top">typedef CHAR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#acb9db31f275560a165bb466555f30986">char_type</a></td></tr>
+<tr class="memitem:a60c8c26735eb6e96fc915968ea13c7bc"><td class="memItemLeft" align="right" valign="top">typedef TRAITS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#a60c8c26735eb6e96fc915968ea13c7bc">traits_type</a></td></tr>
+<tr class="memitem:a8f1cd9fcb08f673ef02776beb52ceefd"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#a8f1cd9fcb08f673ef02776beb52ceefd">int_type</a></td></tr>
+<tr class="memitem:ab2bc41979cc1d0d8a349a6b82dd5077f"><td class="memItemLeft" align="right" valign="top">typedef traits_type::pos_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#ab2bc41979cc1d0d8a349a6b82dd5077f">pos_type</a></td></tr>
+<tr class="memitem:a5f11dbcdcaf2c705935e099debb68cd8"><td class="memItemLeft" align="right" valign="top">typedef traits_type::off_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#a5f11dbcdcaf2c705935e099debb68cd8">off_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab5ec9c60396c03e9b95f9ce61ff8644f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html#ab5ec9c60396c03e9b95f9ce61ff8644f">basic_fieldstream</a> (const <a class="el" href="a00041.html">result::field</a> &amp;F)</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt;<br>
- class pqxx::basic_olostream&lt; CHAR, TRAITS &gt;</h3>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CHAR = char, typename TRAITS = std::char_traits&lt;CHAR&gt;&gt;<br/>
+class pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt;</h3>
 
-Output stream that writes data back to a large object. 
-<p>
-Use this class exactly as you would any other ostream to write data to a large object. All formatting and streaming operations of <code>std::ostream</code> are supported. What you'll typically want to use, however, is the olostream typedef (which defines a <a class="el" href="a00007.html" title="Output stream that writes data back to a large object.">basic_olostream</a> for <code>char</code>). This is similar to how e.g. <code>std::ofstream</code> is related to <code>std::basic_ofstream</code>.<p>
-Currently only works for <code>&lt;char, <a class="el" href="a00013.html" title="Work around missing std::char_traits&lt;char&gt;.">std::char_traits&lt;char&gt;</a> &gt;</code>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="5c09652a33d59854940ef5ad36522bef"></a><!-- doxytag: member="pqxx::basic_olostream::char_type" ref="5c09652a33d59854940ef5ad36522bef" args="" -->
+<p>Input stream that gets its data from a result field. </p>
+<p>Use this class exactly as you would any other istream to read data from a field. All formatting and streaming operations of <code>std::istream</code> are supported. What you'll typically want to use, however, is the fieldstream typedef (which defines a <a class="el" href="a00007.html" title="Input stream that gets its data from a result field.">basic_fieldstream</a> for <code>char</code>). This is similar to how e.g. <code>std::ifstream</code> relates to <code>std::basic_ifstream</code>.</p>
+<p>This class has only been tested for the char type (and its default traits). </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="acb9db31f275560a165bb466555f30986"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef CHAR <a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#5c09652a33d59854940ef5ad36522bef">char_type</a>          </td>
+          <td class="memname">typedef CHAR <a class="el" href="a00007.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#acb9db31f275560a165bb466555f30986">char_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="fa10568556220285b8f77e6bc6a65c63"></a><!-- doxytag: member="pqxx::basic_olostream::traits_type" ref="fa10568556220285b8f77e6bc6a65c63" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef TRAITS <a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#fa10568556220285b8f77e6bc6a65c63">traits_type</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="0e9bac94644a39ea5465d9b7aeba62dd"></a><!-- doxytag: member="pqxx::basic_olostream::int_type" ref="0e9bac94644a39ea5465d9b7aeba62dd" args="" -->
+<a class="anchor" id="a8f1cd9fcb08f673ef02776beb52ceefd"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::int_type <a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#0e9bac94644a39ea5465d9b7aeba62dd">int_type</a>          </td>
+          <td class="memname">typedef traits_type::int_type <a class="el" href="a00007.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#a8f1cd9fcb08f673ef02776beb52ceefd">int_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="472b319febd6757f32a06541ecb5fd99"></a><!-- doxytag: member="pqxx::basic_olostream::pos_type" ref="472b319febd6757f32a06541ecb5fd99" args="" -->
+</div>
+<a class="anchor" id="a5f11dbcdcaf2c705935e099debb68cd8"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#472b319febd6757f32a06541ecb5fd99">pos_type</a>          </td>
+          <td class="memname">typedef traits_type::off_type <a class="el" href="a00007.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#a5f11dbcdcaf2c705935e099debb68cd8">off_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="cd6a237e073930d1c9b52de0c4cc9ba7"></a><!-- doxytag: member="pqxx::basic_olostream::off_type" ref="cd6a237e073930d1c9b52de0c4cc9ba7" args="" -->
+</div>
+<a class="anchor" id="ab2bc41979cc1d0d8a349a6b82dd5077f"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef traits_type::off_type <a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#cd6a237e073930d1c9b52de0c4cc9ba7">off_type</a>          </td>
+          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00007.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#ab2bc41979cc1d0d8a349a6b82dd5077f">pos_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="627ef8d2f00596a80104f81bac097f61"></a><!-- doxytag: member="pqxx::basic_olostream::basic_olostream" ref="627ef8d2f00596a80104f81bac097f61" args="(dbtransaction &amp;T, largeobject O, largeobject::size_type BufSize=512)" -->
+</div>
+<a class="anchor" id="a60c8c26735eb6e96fc915968ea13c7bc"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html">basic_olostream</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html">largeobject</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="memname">typedef TRAITS <a class="el" href="a00007.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html#a60c8c26735eb6e96fc915968ea13c7bc">traits_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a <a class="el" href="a00007.html" title="Output stream that writes data back to a large object.">basic_olostream</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td><a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in which this stream is to exist </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>a large object to access </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>BufSize</em>&nbsp;</td><td>size of buffer to use internally (optional) </td></tr>
-  </table>
-</dl>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f5a32597bd7cf509cb8593daf9e5f0f1"></a><!-- doxytag: member="pqxx::basic_olostream::basic_olostream" ref="f5a32597bd7cf509cb8593daf9e5f0f1" args="(dbtransaction &amp;T, oid O, largeobject::size_type BufSize=512)" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab5ec9c60396c03e9b95f9ce61ff8644f"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html">basic_olostream</a>           </td>
+          <td class="memname"><a class="el" href="a00007.html">pqxx::basic_fieldstream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00007.html">basic_fieldstream</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const <a class="el" href="a00041.html">result::field</a> &amp;&#160;</td>
+          <td class="paramname"><em>F</em></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a <a class="el" href="a00007.html" title="Output stream that writes data back to a large object.">basic_olostream</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td><a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in which this stream is to exist </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>a large object to access </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>BufSize</em>&nbsp;</td><td>size of buffer to use internally (optional) </td></tr>
-  </table>
-</dl>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="514945ec9aeaa6bdd455f21ccd9d3876"></a><!-- doxytag: member="pqxx::basic_olostream::~basic_olostream" ref="514945ec9aeaa6bdd455f21ccd9d3876" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00007.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::~<a class="el" href="a00007.html">basic_olostream</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00007.html">basic_fieldstream</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00229.html">largeobject.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00007.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00007.js
--- 3.1-1.1/doc/html/Reference/a00007.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00007.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00007 =
+[
+    [ "char_type", "a00007.html#acb9db31f275560a165bb466555f30986", null ],
+    [ "int_type", "a00007.html#a8f1cd9fcb08f673ef02776beb52ceefd", null ],
+    [ "off_type", "a00007.html#a5f11dbcdcaf2c705935e099debb68cd8", null ],
+    [ "pos_type", "a00007.html#ab2bc41979cc1d0d8a349a6b82dd5077f", null ],
+    [ "traits_type", "a00007.html#a60c8c26735eb6e96fc915968ea13c7bc", null ],
+    [ "basic_fieldstream", "a00007.html#ab5ec9c60396c03e9b95f9ce61ff8644f", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00008.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00008.html
--- 3.1-1.1/doc/html/Reference/a00008.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00008.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,144 +1,281 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_robusttransaction Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_ilostream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00008.html">basic_robusttransaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00008.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00263.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_ilostream&lt; CHAR, TRAITS &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_robusttransaction Class Reference<br>
-<small>
-[<a class="el" href="a00199.html">Transaction classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::basic_robusttransaction" --><!-- doxytag: inherits="pqxx::dbtransaction" --><code>#include &lt;<a class="el" href="a00243.html">robusttransaction.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::basic_robusttransaction:</div>
-<div class="dynsection">
-<p><center><img src="a00618.png" border="0" usemap="#a00619" alt="Inheritance graph"></center>
-<map name="a00619">
-<area shape="rect" href="a00084.html" title="Slightly slower, better&#45;fortified version of transaction." alt="" coords="5,316,312,342"><area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="85,161,232,188"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="75,84,243,110"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="63,6,255,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00620.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00048.html">isolation_traits</a><br>
-&lt; read_committed &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#ad0757a015b2ddfe476e3d83f812bbff">isolation_tag</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Isolation level is read_committed by default.  <a href="#ad0757a015b2ddfe476e3d83f812bbff"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#4fa796f8dff9f236c36f292898eaeaad">~basic_robusttransaction</a> ()=0</td></tr>
 
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#0761b12be4f64a7bccba1d2e7bf3d4a2">basic_robusttransaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C, const std::string &amp;IsolationLevel, const std::string &amp;table_name=std::string())</td></tr>
+<p>Input stream that gets its data from a large object.  
+ <a href="a00008.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00142_source.html">largeobject.hxx</a>&gt;</code></p>
 
+<p>Inherits std::istream.</p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad94ea6936b6a5ee2983bdcbacdf364a9"><td class="memItemLeft" align="right" valign="top">typedef CHAR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#ad94ea6936b6a5ee2983bdcbacdf364a9">char_type</a></td></tr>
+<tr class="memitem:af70c033d70d77ee3e4942112ad9e54c2"><td class="memItemLeft" align="right" valign="top">typedef TRAITS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#af70c033d70d77ee3e4942112ad9e54c2">traits_type</a></td></tr>
+<tr class="memitem:a1cffaceb7db5daf482bcb7f73aeaa0b0"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a1cffaceb7db5daf482bcb7f73aeaa0b0">int_type</a></td></tr>
+<tr class="memitem:a9b47ff8b4b3863983169e64b69cee6fa"><td class="memItemLeft" align="right" valign="top">typedef traits_type::pos_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a9b47ff8b4b3863983169e64b69cee6fa">pos_type</a></td></tr>
+<tr class="memitem:a8ef4183e4700b8859a1f0950e6dff8ee"><td class="memItemLeft" align="right" valign="top">typedef traits_type::off_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a8ef4183e4700b8859a1f0950e6dff8ee">off_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a53f0bc4d9eed45617ae14bf553efa429"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#a53f0bc4d9eed45617ae14bf553efa429">basic_ilostream</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00058.html">largeobject</a> O, <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<tr class="memdesc:a53f0bc4d9eed45617ae14bf553efa429"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>.  <a href="#a53f0bc4d9eed45617ae14bf553efa429"></a><br/></td></tr>
+<tr class="memitem:af46e0f2cfe62a5c75b431e56065ad883"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html#af46e0f2cfe62a5c75b431e56065ad883">basic_ilostream</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<tr class="memdesc:af46e0f2cfe62a5c75b431e56065ad883"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>.  <a href="#af46e0f2cfe62a5c75b431e56065ad883"></a><br/></td></tr>
 </table>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="ad0757a015b2ddfe476e3d83f812bbff"></a><!-- doxytag: member="pqxx::basic_robusttransaction::isolation_tag" ref="ad0757a015b2ddfe476e3d83f812bbff" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CHAR = char, typename TRAITS = std::char_traits&lt;CHAR&gt;&gt;<br/>
+class pqxx::basic_ilostream&lt; CHAR, TRAITS &gt;</h3>
+
+<p>Input stream that gets its data from a large object. </p>
+<p>Use this class exactly as you would any other istream to read data from a large object. All formatting and streaming operations of <code>std::istream</code> are supported. What you'll typically want to use, however, is the ilostream typedef (which defines a <a class="el" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a> for <code>char</code>). This is similar to how e.g. <code>std::ifstream</code> relates to <code>std::basic_ifstream</code>.</p>
+<p>Currently only works for <code>&lt;char, <a class="el" href="a00016.html" title="Work around missing std::char_traits&lt;char&gt;">std::char_traits&lt;char&gt;</a> &gt;</code>. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ad94ea6936b6a5ee2983bdcbacdf364a9"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00048.html">isolation_traits</a>&lt;read_committed&gt; <a class="el" href="a00048.html">pqxx::basic_robusttransaction::isolation_tag</a>          </td>
+          <td class="memname">typedef CHAR <a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html#ad94ea6936b6a5ee2983bdcbacdf364a9">char_type</a></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a1cffaceb7db5daf482bcb7f73aeaa0b0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::int_type <a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html#a1cffaceb7db5daf482bcb7f73aeaa0b0">int_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Isolation level is read_committed by default. 
-<p>
+</div>
+</div>
+<a class="anchor" id="a8ef4183e4700b8859a1f0950e6dff8ee"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::off_type <a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html#a8ef4183e4700b8859a1f0950e6dff8ee">off_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="a00105.html#f5e1900b64239bac292f5505f7799654">pqxx::transaction_base</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a9b47ff8b4b3863983169e64b69cee6fa"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html#a9b47ff8b4b3863983169e64b69cee6fa">pos_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Reimplemented in <a class="el" href="a00084.html#8fb228809bd42b2936ada9f9573d30d6">pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;</a>.</p>
+</div>
+</div>
+<a class="anchor" id="af70c033d70d77ee3e4942112ad9e54c2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TRAITS <a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html#af70c033d70d77ee3e4942112ad9e54c2">traits_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="4fa796f8dff9f236c36f292898eaeaad"></a><!-- doxytag: member="pqxx::basic_robusttransaction::~basic_robusttransaction" ref="4fa796f8dff9f236c36f292898eaeaad" args="()=0" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a53f0bc4d9eed45617ae14bf553efa429"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::basic_robusttransaction::~basic_robusttransaction           </td>
+          <td class="memname"><a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html">basic_ilostream</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [pure virtual]</code></td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html">largeobject</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Create a <a class="el" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which this stream is to exist </td></tr>
+    <tr><td class="paramname">O</td><td>Large object to access </td></tr>
+    <tr><td class="paramname">BufSize</td><td>Size of buffer to use internally (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<a class="anchor" name="0761b12be4f64a7bccba1d2e7bf3d4a2"></a><!-- doxytag: member="pqxx::basic_robusttransaction::basic_robusttransaction" ref="0761b12be4f64a7bccba1d2e7bf3d4a2" args="(connection_base &amp;C, const std::string &amp;IsolationLevel, const std::string &amp;table_name=std::string())" -->
+</div>
+<a class="anchor" id="af46e0f2cfe62a5c75b431e56065ad883"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::basic_robusttransaction::basic_robusttransaction           </td>
+          <td class="memname"><a class="el" href="a00008.html">pqxx::basic_ilostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00008.html">basic_ilostream</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>IsolationLevel</em>, </td>
+          <td class="paramtype"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>table_name</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected]</code></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Create a <a class="el" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which this stream is to exist </td></tr>
+    <tr><td class="paramname">O</td><td>Identifier of a large object to access </td></tr>
+    <tr><td class="paramname">BufSize</td><td>Size of buffer to use internally (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00243.html">robusttransaction.hxx</a><li><a class="el" href="a00152.html">robusttransaction.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00142_source.html">largeobject.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00008.html">basic_ilostream</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00008.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00008.js
--- 3.1-1.1/doc/html/Reference/a00008.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00008.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,10 @@
+var a00008 =
+[
+    [ "char_type", "a00008.html#ad94ea6936b6a5ee2983bdcbacdf364a9", null ],
+    [ "int_type", "a00008.html#a1cffaceb7db5daf482bcb7f73aeaa0b0", null ],
+    [ "off_type", "a00008.html#a8ef4183e4700b8859a1f0950e6dff8ee", null ],
+    [ "pos_type", "a00008.html#a9b47ff8b4b3863983169e64b69cee6fa", null ],
+    [ "traits_type", "a00008.html#af70c033d70d77ee3e4942112ad9e54c2", null ],
+    [ "basic_ilostream", "a00008.html#a53f0bc4d9eed45617ae14bf553efa429", null ],
+    [ "basic_ilostream", "a00008.html#af46e0f2cfe62a5c75b431e56065ad883", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00009.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00009.html
--- 3.1-1.1/doc/html/Reference/a00009.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00009.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,95 +1,297 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::basic_transaction Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_lostream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00009.html">basic_transaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00009.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00265.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_lostream&lt; CHAR, TRAITS &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::basic_transaction Class Reference<br>
-<small>
-[<a class="el" href="a00199.html">Transaction classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::basic_transaction" --><!-- doxytag: inherits="pqxx::dbtransaction" --><code>#include &lt;<a class="el" href="a00256.html">transaction.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::basic_transaction:</div>
-<div class="dynsection">
-<p><center><img src="a00642.png" border="0" usemap="#a00643" alt="Inheritance graph"></center>
-<map name="a00643">
-<area shape="rect" href="a00104.html" title="Standard back&#45;end transaction, templatized on isolation level." alt="" coords="5,316,352,342"><area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="105,161,252,188"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="95,84,263,110"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="83,6,275,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00644.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#c37eaf1787575f972034ddb87c496eb7">basic_transaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C, const std::string &amp;IsolationLevel, <a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>)</td></tr>
 
+<p>Stream that reads and writes a large object.  
+ <a href="a00009.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00142_source.html">largeobject.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a6defd7dc017956dcda572ff9d54b394d"><td class="memItemLeft" align="right" valign="top">typedef CHAR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a6defd7dc017956dcda572ff9d54b394d">char_type</a></td></tr>
+<tr class="memitem:ac41b5c92c32c7d99a86e887d8fc9f33e"><td class="memItemLeft" align="right" valign="top">typedef TRAITS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#ac41b5c92c32c7d99a86e887d8fc9f33e">traits_type</a></td></tr>
+<tr class="memitem:a7d45a1d6dc270b8a793a5e3cde0fb2c3"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a7d45a1d6dc270b8a793a5e3cde0fb2c3">int_type</a></td></tr>
+<tr class="memitem:a411cd2fbec4a9f5bfa07030d8a77b482"><td class="memItemLeft" align="right" valign="top">typedef traits_type::pos_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a411cd2fbec4a9f5bfa07030d8a77b482">pos_type</a></td></tr>
+<tr class="memitem:a94b75418ccf0801a3f7fd62d3f0897d7"><td class="memItemLeft" align="right" valign="top">typedef traits_type::off_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a94b75418ccf0801a3f7fd62d3f0897d7">off_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a82775c94f45b87a6b9e082900d2d9d2b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a82775c94f45b87a6b9e082900d2d9d2b">basic_lostream</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00058.html">largeobject</a> O, <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<tr class="memdesc:a82775c94f45b87a6b9e082900d2d9d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>.  <a href="#a82775c94f45b87a6b9e082900d2d9d2b"></a><br/></td></tr>
+<tr class="memitem:a60e982e6fba23c8067404af0a4f5d05a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a60e982e6fba23c8067404af0a4f5d05a">basic_lostream</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<tr class="memdesc:a60e982e6fba23c8067404af0a4f5d05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>.  <a href="#a60e982e6fba23c8067404af0a4f5d05a"></a><br/></td></tr>
+<tr class="memitem:a57d98a1321d8f5d00027810bb811025c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a57d98a1321d8f5d00027810bb811025c">~basic_lostream</a> ()</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="c37eaf1787575f972034ddb87c496eb7"></a><!-- doxytag: member="pqxx::basic_transaction::basic_transaction" ref="c37eaf1787575f972034ddb87c496eb7" args="(connection_base &amp;C, const std::string &amp;IsolationLevel, readwrite_policy)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CHAR = char, typename TRAITS = std::char_traits&lt;CHAR&gt;&gt;<br/>
+class pqxx::basic_lostream&lt; CHAR, TRAITS &gt;</h3>
+
+<p>Stream that reads and writes a large object. </p>
+<p>Use this class exactly as you would a std::iostream to read data from, or write data to a large object. All formatting and streaming operations of <code>std::iostream</code> are supported. What you'll typically want to use, however, is the lostream typedef (which defines a <a class="el" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a> for <code>char</code>). This is similar to how e.g. <code>std::fstream</code> is related to <code>std::basic_fstream</code>.</p>
+<p>Currently only works for <code>&lt;char, <a class="el" href="a00016.html" title="Work around missing std::char_traits&lt;char&gt;">std::char_traits&lt;char&gt;</a> &gt;</code>. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a6defd7dc017956dcda572ff9d54b394d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef CHAR <a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html#a6defd7dc017956dcda572ff9d54b394d">char_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7d45a1d6dc270b8a793a5e3cde0fb2c3"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::int_type <a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html#a7d45a1d6dc270b8a793a5e3cde0fb2c3">int_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a94b75418ccf0801a3f7fd62d3f0897d7"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::off_type <a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html#a94b75418ccf0801a3f7fd62d3f0897d7">off_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a411cd2fbec4a9f5bfa07030d8a77b482"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html#a411cd2fbec4a9f5bfa07030d8a77b482">pos_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac41b5c92c32c7d99a86e887d8fc9f33e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TRAITS <a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html#ac41b5c92c32c7d99a86e887d8fc9f33e">traits_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a82775c94f45b87a6b9e082900d2d9d2b"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::basic_transaction::basic_transaction           </td>
+          <td class="memname"><a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html">basic_lostream</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>IsolationLevel</em>, </td>
+          <td class="paramtype"><a class="el" href="a00058.html">largeobject</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>&nbsp;</td>
-          <td class="paramname"> <em>rw</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected]</code></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Create a <a class="el" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which this stream is to exist </td></tr>
+    <tr><td class="paramname">O</td><td>Large object to access </td></tr>
+    <tr><td class="paramname">BufSize</td><td>Size of buffer to use internally (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a60e982e6fba23c8067404af0a4f5d05a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00009.html">basic_lostream</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Create a <a class="el" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which this stream is to exist </td></tr>
+    <tr><td class="paramname">O</td><td>Large object to access </td></tr>
+    <tr><td class="paramname">BufSize</td><td>Size of buffer to use internally (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00256.html">transaction.hxx</a><li><a class="el" href="a00165.html">transaction.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="a57d98a1321d8f5d00027810bb811025c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00009.html">pqxx::basic_lostream</a>&lt; CHAR, TRAITS &gt;::~<a class="el" href="a00009.html">basic_lostream</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00142_source.html">largeobject.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00009.html">basic_lostream</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00009.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00009.js
--- 3.1-1.1/doc/html/Reference/a00009.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00009.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,11 @@
+var a00009 =
+[
+    [ "char_type", "a00009.html#a6defd7dc017956dcda572ff9d54b394d", null ],
+    [ "int_type", "a00009.html#a7d45a1d6dc270b8a793a5e3cde0fb2c3", null ],
+    [ "off_type", "a00009.html#a94b75418ccf0801a3f7fd62d3f0897d7", null ],
+    [ "pos_type", "a00009.html#a411cd2fbec4a9f5bfa07030d8a77b482", null ],
+    [ "traits_type", "a00009.html#ac41b5c92c32c7d99a86e887d8fc9f33e", null ],
+    [ "basic_lostream", "a00009.html#a82775c94f45b87a6b9e082900d2d9d2b", null ],
+    [ "basic_lostream", "a00009.html#a60e982e6fba23c8067404af0a4f5d05a", null ],
+    [ "~basic_lostream", "a00009.html#a57d98a1321d8f5d00027810bb811025c", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00010.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00010.html
--- 3.1-1.1/doc/html/Reference/a00010.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00010.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,601 +1,299 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::binarystring Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_olostream&lt; CHAR, TRAITS &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00010.html">binarystring</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00010.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00264.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_olostream&lt; CHAR, TRAITS &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::binarystring Class Reference</h1><!-- doxytag: class="pqxx::binarystring" --><!-- doxytag: inherits="pqxx::internal::PQAlloc" --><code>#include &lt;<a class="el" href="a00206.html">binarystring.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::binarystring:</div>
-<div class="dynsection">
-<p><center><img src="a00433.png" border="0" usemap="#a00434" alt="Inheritance graph"></center>
-<map name="a00434">
-<area shape="rect" href="a00067.html" title="Reference&#45;counted smart pointer to libpq&#45;allocated object." alt="" coords="5,6,288,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00435.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00067.html#7fe52ebd1d2533f298caa5ffc975be66">content_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#badf5cc14e19fc0c1f8838d1518baefa">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00012.html">std::char_traits</a><br>
-&lt; <a class="el" href="a00010.html#badf5cc14e19fc0c1f8838d1518baefa">char_type</a> &gt;::<a class="el" href="a00010.html#badf5cc14e19fc0c1f8838d1518baefa">char_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#121db85dcf088809bd4b95e617324971">difference_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef const <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef const <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#bcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00010.html#bcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#cb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#3fa7ac041cdab7f6d207d429d4620132">binarystring</a> (const <a class="el" href="a00081.html">result::field</a> &amp;F)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read and unescape bytea field.  <a href="#3fa7ac041cdab7f6d207d429d4620132"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#f10f41451b711337a25cec42598229fb">size</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of converted string in bytes.  <a href="#f10f41451b711337a25cec42598229fb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#065a1d5f2e87f640b57ce35580b11659">length</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of converted string in bytes.  <a href="#065a1d5f2e87f640b57ce35580b11659"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#dfb2644b600416cb5eaf43cea64e99ab">empty</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#cb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#8cee54a0d93f38368fd885d6ef3733a7">begin</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#cb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#bf2511857a61d4835cf6d326bb539a19">end</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#565339d41daf2278ac02ce543e715cd2">front</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#f837e6e843633027fdfcfa5e68975edb">back</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#d9042fbae551a4404e175a431139ca8c">data</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unescaped field contents.  <a href="#d9042fbae551a4404e175a431139ca8c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#47aa4553c316eeab7461c368e0ce2bac">operator[]</a> (<a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> i) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#7ed7a9968baffb67dc5d2fde25cfa4c8">operator==</a> (const <a class="el" href="a00010.html">binarystring</a> &amp;) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#56acf785f1c0a44c93d40f8b1bdc2921">operator!=</a> (const <a class="el" href="a00010.html">binarystring</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#48d3b98f62d903bc99555d6c786d334a">at</a> (<a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Index contained string, checking for valid index.  <a href="#48d3b98f62d903bc99555d6c786d334a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#d6e5000885dd6f0b7bdf1f5d7f365dd9">swap</a> (<a class="el" href="a00010.html">binarystring</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Swap contents with other <a class="el" href="a00010.html">binarystring</a>.  <a href="#d6e5000885dd6f0b7bdf1f5d7f365dd9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#37efe53d810e83dc4894cb405ba31dfa">get</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raw character buffer (no terminating zero is added).  <a href="#37efe53d810e83dc4894cb405ba31dfa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#b6642dd3f5147bc104c3cdf0c8d2cc9e">str</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read as regular C++ string (may include null characters).  <a href="#b6642dd3f5147bc104c3cdf0c8d2cc9e"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Package Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#5a5b1f2e0b2fc3ef326d57340bab452e">__pad0__</a>:PQAlloc&lt;<a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a>&gt; super</td></tr>
 
-<tr><td colspan="2"><br><h2>Related Functions</h2></td></tr>
-<tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g9c1a379cd2ba4eea395fb79df463eb98">escape_binary</a> (const std::string &amp;bin)</td></tr>
+<p>Output stream that writes data back to a large object.  
+ <a href="a00010.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g9c1a379cd2ba4eea395fb79df463eb98"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g5b230e243d4ebbe8085a8048e912601e">escape_binary</a> (const char bin[])</td></tr>
+<p><code>#include &lt;<a class="el" href="a00142_source.html">largeobject.hxx</a>&gt;</code></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g5b230e243d4ebbe8085a8048e912601e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g787364a7ae884b781b58ac248ff0925c">escape_binary</a> (const char bin[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g787364a7ae884b781b58ac248ff0925c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g1147c3174b747009783b65981d4707f0">escape_binary</a> (const unsigned char bin[])</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g1147c3174b747009783b65981d4707f0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#geb5da84878d4ea8f902f956b8240e73e">escape_binary</a> (const unsigned char bin[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#geb5da84878d4ea8f902f956b8240e73e"></a><br></td></tr>
+<p>Inherits std::ostream.</p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a5c09652a33d59854940ef5ad36522bef"><td class="memItemLeft" align="right" valign="top">typedef CHAR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a5c09652a33d59854940ef5ad36522bef">char_type</a></td></tr>
+<tr class="memitem:afa10568556220285b8f77e6bc6a65c63"><td class="memItemLeft" align="right" valign="top">typedef TRAITS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#afa10568556220285b8f77e6bc6a65c63">traits_type</a></td></tr>
+<tr class="memitem:a0e9bac94644a39ea5465d9b7aeba62dd"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a0e9bac94644a39ea5465d9b7aeba62dd">int_type</a></td></tr>
+<tr class="memitem:a472b319febd6757f32a06541ecb5fd99"><td class="memItemLeft" align="right" valign="top">typedef traits_type::pos_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a472b319febd6757f32a06541ecb5fd99">pos_type</a></td></tr>
+<tr class="memitem:acd6a237e073930d1c9b52de0c4cc9ba7"><td class="memItemLeft" align="right" valign="top">typedef traits_type::off_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#acd6a237e073930d1c9b52de0c4cc9ba7">off_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a627ef8d2f00596a80104f81bac097f61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a627ef8d2f00596a80104f81bac097f61">basic_olostream</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00058.html">largeobject</a> O, <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<tr class="memdesc:a627ef8d2f00596a80104f81bac097f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>.  <a href="#a627ef8d2f00596a80104f81bac097f61"></a><br/></td></tr>
+<tr class="memitem:af5a32597bd7cf509cb8593daf9e5f0f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#af5a32597bd7cf509cb8593daf9e5f0f1">basic_olostream</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512)</td></tr>
+<tr class="memdesc:af5a32597bd7cf509cb8593daf9e5f0f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <a class="el" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>.  <a href="#af5a32597bd7cf509cb8593daf9e5f0f1"></a><br/></td></tr>
+<tr class="memitem:a514945ec9aeaa6bdd455f21ccd9d3876"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a514945ec9aeaa6bdd455f21ccd9d3876">~basic_olostream</a> ()</td></tr>
 </table>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="badf5cc14e19fc0c1f8838d1518baefa"></a><!-- doxytag: member="pqxx::binarystring::char_type" ref="badf5cc14e19fc0c1f8838d1518baefa" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00067.html#7fe52ebd1d2533f298caa5ffc975be66">content_type</a> <a class="el" href="a00010.html#badf5cc14e19fc0c1f8838d1518baefa">pqxx::binarystring::char_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CHAR = char, typename TRAITS = std::char_traits&lt;CHAR&gt;&gt;<br/>
+class pqxx::basic_olostream&lt; CHAR, TRAITS &gt;</h3>
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c40c637a0b5c337288acde0935b494d8"></a><!-- doxytag: member="pqxx::binarystring::value_type" ref="c40c637a0b5c337288acde0935b494d8" args="" -->
+<p>Output stream that writes data back to a large object. </p>
+<p>Use this class exactly as you would any other ostream to write data to a large object. All formatting and streaming operations of <code>std::ostream</code> are supported. What you'll typically want to use, however, is the olostream typedef (which defines a <a class="el" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a> for <code>char</code>). This is similar to how e.g. <code>std::ofstream</code> is related to <code>std::basic_ofstream</code>.</p>
+<p>Currently only works for <code>&lt;char, <a class="el" href="a00016.html" title="Work around missing std::char_traits&lt;char&gt;">std::char_traits&lt;char&gt;</a> &gt;</code>. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a5c09652a33d59854940ef5ad36522bef"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef std ::char_traits&lt;<a class="el" href="a00010.html#badf5cc14e19fc0c1f8838d1518baefa">char_type</a>&gt;::<a class="el" href="a00010.html#badf5cc14e19fc0c1f8838d1518baefa">char_type</a> <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">pqxx::binarystring::value_type</a>          </td>
+          <td class="memname">typedef CHAR <a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html#a5c09652a33d59854940ef5ad36522bef">char_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f4269ef0ff7802a8bc5c5a0d54cca60d"></a><!-- doxytag: member="pqxx::binarystring::size_type" ref="f4269ef0ff7802a8bc5c5a0d54cca60d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef size_t <a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">pqxx::binarystring::size_type</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="121db85dcf088809bd4b95e617324971"></a><!-- doxytag: member="pqxx::binarystring::difference_type" ref="121db85dcf088809bd4b95e617324971" args="" -->
+<a class="anchor" id="a0e9bac94644a39ea5465d9b7aeba62dd"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef long <a class="el" href="a00010.html#121db85dcf088809bd4b95e617324971">pqxx::binarystring::difference_type</a>          </td>
+          <td class="memname">typedef traits_type::int_type <a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html#a0e9bac94644a39ea5465d9b7aeba62dd">int_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="5a3869fa04853d5ab14b6676953143be"></a><!-- doxytag: member="pqxx::binarystring::const_reference" ref="5a3869fa04853d5ab14b6676953143be" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef const <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a>&amp; <a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">pqxx::binarystring::const_reference</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="bcf73d6a9164ac4f0ffaf4012e774016"></a><!-- doxytag: member="pqxx::binarystring::const_pointer" ref="bcf73d6a9164ac4f0ffaf4012e774016" args="" -->
+<a class="anchor" id="acd6a237e073930d1c9b52de0c4cc9ba7"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef const <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a>* <a class="el" href="a00010.html#bcf73d6a9164ac4f0ffaf4012e774016">pqxx::binarystring::const_pointer</a>          </td>
+          <td class="memname">typedef traits_type::off_type <a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html#acd6a237e073930d1c9b52de0c4cc9ba7">off_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="cb7da4766d133d40e1f4b294c2dd14d9"></a><!-- doxytag: member="pqxx::binarystring::const_iterator" ref="cb7da4766d133d40e1f4b294c2dd14d9" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00010.html#bcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a> <a class="el" href="a00010.html#cb7da4766d133d40e1f4b294c2dd14d9">pqxx::binarystring::const_iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="3fa7ac041cdab7f6d207d429d4620132"></a><!-- doxytag: member="pqxx::binarystring::binarystring" ref="3fa7ac041cdab7f6d207d429d4620132" args="(const result::field &amp;F)" -->
+<a class="anchor" id="a472b319febd6757f32a06541ecb5fd99"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::binarystring::binarystring           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00081.html">result::field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>F</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">typedef traits_type::pos_type <a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html#a472b319febd6757f32a06541ecb5fd99">pos_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read and unescape bytea field. 
-<p>
-The field will be zero-terminated, even if the original bytea field isn't. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>F</em>&nbsp;</td><td>the field to read; must be a bytea field </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00241.html#l00399">pqxx::result::field::c_str()</a>, and <a class="el" href="a00241.html#l00454">pqxx::result::field::size()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="f10f41451b711337a25cec42598229fb"></a><!-- doxytag: member="pqxx::binarystring::size" ref="f10f41451b711337a25cec42598229fb" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> pqxx::binarystring::size           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Size of converted string in bytes. 
-<p>
-
-<p>Referenced by <a class="el" href="a00205.html#l00088">operator==()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="065a1d5f2e87f640b57ce35580b11659"></a><!-- doxytag: member="pqxx::binarystring::length" ref="065a1d5f2e87f640b57ce35580b11659" args="() const " -->
+<a class="anchor" id="afa10568556220285b8f77e6bc6a65c63"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> pqxx::binarystring::length           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="memname">typedef TRAITS <a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html#afa10568556220285b8f77e6bc6a65c63">traits_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Size of converted string in bytes. 
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="dfb2644b600416cb5eaf43cea64e99ab"></a><!-- doxytag: member="pqxx::binarystring::empty" ref="dfb2644b600416cb5eaf43cea64e99ab" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::binarystring::empty           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8cee54a0d93f38368fd885d6ef3733a7"></a><!-- doxytag: member="pqxx::binarystring::begin" ref="8cee54a0d93f38368fd885d6ef3733a7" args="() const " -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a627ef8d2f00596a80104f81bac097f61"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00010.html#cb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a> pqxx::binarystring::begin           </td>
+          <td class="memname"><a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html">basic_olostream</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="bf2511857a61d4835cf6d326bb539a19"></a><!-- doxytag: member="pqxx::binarystring::end" ref="bf2511857a61d4835cf6d326bb539a19" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00010.html#cb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a> pqxx::binarystring::end           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="565339d41daf2278ac02ce543e715cd2"></a><!-- doxytag: member="pqxx::binarystring::front" ref="565339d41daf2278ac02ce543e715cd2" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a> pqxx::binarystring::front           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html">largeobject</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f837e6e843633027fdfcfa5e68975edb"></a><!-- doxytag: member="pqxx::binarystring::back" ref="f837e6e843633027fdfcfa5e68975edb" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a> pqxx::binarystring::back           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d9042fbae551a4404e175a431139ca8c"></a><!-- doxytag: member="pqxx::binarystring::data" ref="d9042fbae551a4404e175a431139ca8c" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">const <a class="el" href="a00010.html#c40c637a0b5c337288acde0935b494d8">value_type</a>* pqxx::binarystring::data           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Unescaped field contents. 
-<p>
-
-<p>Referenced by <a class="el" href="a00205.html#l00096">at()</a>, and <a class="el" href="a00205.html#l00088">operator==()</a>.</p>
+<p>Create a <a class="el" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>transaction in which this stream is to exist </td></tr>
+    <tr><td class="paramname">O</td><td>a large object to access </td></tr>
+    <tr><td class="paramname">BufSize</td><td>size of buffer to use internally (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<a class="anchor" name="47aa4553c316eeab7461c368e0ce2bac"></a><!-- doxytag: member="pqxx::binarystring::operator[]" ref="47aa4553c316eeab7461c368e0ce2bac" args="(size_type i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">const_reference</a> pqxx::binarystring::operator[]           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7ed7a9968baffb67dc5d2fde25cfa4c8"></a><!-- doxytag: member="pqxx::binarystring::operator==" ref="7ed7a9968baffb67dc5d2fde25cfa4c8" args="(const binarystring &amp;) const " -->
+<a class="anchor" id="af5a32597bd7cf509cb8593daf9e5f0f1"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::binarystring::operator==           </td>
+          <td class="memname"><a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00010.html">basic_olostream</a> </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00010.html">binarystring</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00206.html#l00106">data()</a>, and <a class="el" href="a00206.html#l00087">size()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="56acf785f1c0a44c93d40f8b1bdc2921"></a><!-- doxytag: member="pqxx::binarystring::operator!=" ref="56acf785f1c0a44c93d40f8b1bdc2921" args="(const binarystring &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::binarystring::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00010.html">binarystring</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="48d3b98f62d903bc99555d6c786d334a"></a><!-- doxytag: member="pqxx::binarystring::at" ref="48d3b98f62d903bc99555d6c786d334a" args="(size_type) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00010.html#5a3869fa04853d5ab14b6676953143be">pqxx::binarystring::const_reference</a> pqxx::binarystring::at           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00010.html#f4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Index contained string, checking for valid index. 
-<p>
-
-<p>References <a class="el" href="a00206.html#l00106">data()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d6e5000885dd6f0b7bdf1f5d7f365dd9"></a><!-- doxytag: member="pqxx::binarystring::swap" ref="d6e5000885dd6f0b7bdf1f5d7f365dd9" args="(binarystring &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">void pqxx::binarystring::swap           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00010.html">binarystring</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Swap contents with other <a class="el" href="a00010.html">binarystring</a>. 
-<p>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00206.html#l00140">m_size</a>.</p>
+<p>Create a <a class="el" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>transaction in which this stream is to exist </td></tr>
+    <tr><td class="paramname">O</td><td>a large object to access </td></tr>
+    <tr><td class="paramname">BufSize</td><td>size of buffer to use internally (optional) </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<a class="anchor" name="37efe53d810e83dc4894cb405ba31dfa"></a><!-- doxytag: member="pqxx::binarystring::get" ref="37efe53d810e83dc4894cb405ba31dfa" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* pqxx::binarystring::get           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Raw character buffer (no terminating zero is added). 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>No terminating zero is added! If the binary data did not end in a null character, you will not find one here. </dd></dl>
-
-<p>Reimplemented from <a class="el" href="a00067.html#c8d570bb46f0831c42a5b3fc0f803040">pqxx::internal::PQAlloc&lt; T, DELETER &gt;</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="b6642dd3f5147bc104c3cdf0c8d2cc9e"></a><!-- doxytag: member="pqxx::binarystring::str" ref="b6642dd3f5147bc104c3cdf0c8d2cc9e" args="() const " -->
+<a class="anchor" id="a514945ec9aeaa6bdd455f21ccd9d3876"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">string pqxx::binarystring::str           </td>
+          <td class="memname"><a class="el" href="a00010.html">pqxx::basic_olostream</a>&lt; CHAR, TRAITS &gt;::~<a class="el" href="a00010.html">basic_olostream</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read as regular C++ string (may include null characters). 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>libpqxx releases before 3.1 stored the string and returned a reference to it. This is no longer the case! It now creates and returns a new string object. Avoid repeated use of this function; retrieve your string once and keep it in a local variable. Also, do not expect to be able to compare the string's address to that of an earlier invocation. </dd></dl>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="5a5b1f2e0b2fc3ef326d57340bab452e"></a><!-- doxytag: member="pqxx::binarystring::__pad0__" ref="5a5b1f2e0b2fc3ef326d57340bab452e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00010.html#5a5b1f2e0b2fc3ef326d57340bab452e">pqxx::binarystring::__pad0__</a><code> [package]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00206.html">binarystring.hxx</a><li><a class="el" href="a00115.html">binarystring.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00142_source.html">largeobject.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00010.html">basic_olostream</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00010.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00010.js
--- 3.1-1.1/doc/html/Reference/a00010.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00010.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,11 @@
+var a00010 =
+[
+    [ "char_type", "a00010.html#a5c09652a33d59854940ef5ad36522bef", null ],
+    [ "int_type", "a00010.html#a0e9bac94644a39ea5465d9b7aeba62dd", null ],
+    [ "off_type", "a00010.html#acd6a237e073930d1c9b52de0c4cc9ba7", null ],
+    [ "pos_type", "a00010.html#a472b319febd6757f32a06541ecb5fd99", null ],
+    [ "traits_type", "a00010.html#afa10568556220285b8f77e6bc6a65c63", null ],
+    [ "basic_olostream", "a00010.html#a627ef8d2f00596a80104f81bac097f61", null ],
+    [ "basic_olostream", "a00010.html#af5a32597bd7cf509cb8593daf9e5f0f1", null ],
+    [ "~basic_olostream", "a00010.html#a514945ec9aeaa6bdd455f21ccd9d3876", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00011.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00011.html
--- 3.1-1.1/doc/html/Reference/a00011.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00011.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,115 +1,276 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::broken_connection Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_robusttransaction Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00011.html">broken_connection</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00011.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00278.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_robusttransaction Class Reference<div class="ingroups"><a class="el" href="a00202.html">Transaction classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::broken_connection Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::broken_connection" --><!-- doxytag: inherits="pqxx::failure" -->Exception class for lost or failed backend connection.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::broken_connection:</div>
-<div class="dynsection">
-<p><center><img src="a00481.png" border="0" usemap="#a00482" alt="Inheritance graph"></center>
-<map name="a00482">
-<area shape="rect" href="a00103.html" title="pqxx::too_many_connections" alt="" coords="5,239,213,265"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="60,84,159,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="31,7,188,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00483.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#bead818453c7c47646f924c0b6cbff7d">broken_connection</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#003c1c85d2c6c40f6d5b985394aa34b2">broken_connection</a> (const std::string &amp;)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00156_source.html">robusttransaction.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::basic_robusttransaction:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00011.png" usemap="#pqxx::basic_robusttransaction_map" alt=""/>
+  <map id="pqxx::basic_robusttransaction_map" name="pqxx::basic_robusttransaction_map">
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="0,112,269,136"/>
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="0,56,269,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,269,24"/>
+<area href="a00086.html" title="Slightly slower, better-fortified version of transaction." alt="pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;" shape="rect" coords="0,224,269,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aad0757a015b2ddfe476e3d83f812bbff"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#aad0757a015b2ddfe476e3d83f812bbff">isolation_tag</a></td></tr>
+<tr class="memdesc:aad0757a015b2ddfe476e3d83f812bbff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Isolation level is read_committed by default.  <a href="#aad0757a015b2ddfe476e3d83f812bbff"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4fa796f8dff9f236c36f292898eaeaad"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#a4fa796f8dff9f236c36f292898eaeaad">~basic_robusttransaction</a> ()=0</td></tr>
+<tr class="inherit_header pub_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:ace1dc32cc5ab0d51481518e659675b79 inherit pub_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ace1dc32cc5ab0d51481518e659675b79">~dbtransaction</a> ()</td></tr>
+<tr class="inherit_header pub_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:ad5ddea378795d92908af4b65e59d585a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ad5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
+<tr class="memitem:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
+<tr class="memdesc:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction.  <a href="#ab2cf42c4821aff7ff1cd906af9165725"></a><br/></td></tr>
+<tr class="memitem:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
+<tr class="memdesc:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the transaction.  <a href="#a955f2497216d9eae268ac662b46d5a45"></a><br/></td></tr>
+<tr class="memitem:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga98dee516d429520627fd94f5ccb2b023">esc</a> (const char str[]) const </td></tr>
+<tr class="memdesc:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga98dee516d429520627fd94f5ccb2b023"></a><br/></td></tr>
+<tr class="memitem:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb">esc</a> (const char str[], size_t maxlen) const </td></tr>
+<tr class="memdesc:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb"></a><br/></td></tr>
+<tr class="memitem:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244">esc</a> (const std::string &amp;str) const </td></tr>
+<tr class="memdesc:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244"></a><br/></td></tr>
+<tr class="memitem:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6048218f7af70cd0423429d54203749c">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
+<tr class="memdesc:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga6048218f7af70cd0423429d54203749c"></a><br/></td></tr>
+<tr class="memitem:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
+<tr class="memdesc:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga489c7438da9241486297a451a8579dc1"></a><br/></td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff">quote</a> (const T &amp;t) const </td></tr>
+<tr class="memdesc:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff"></a><br/></td></tr>
+<tr class="memitem:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memdesc:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query.  <a href="#aed91d0b8029795b477470e854c907c4b"></a><br/></td></tr>
+<tr class="memitem:a938732e87f924fee764cddd8390de20f inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memitem:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">internal::parameterized_invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
+<tr class="memdesc:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameterize a statement.  <a href="#a6ec73bd0d2a37553c8518e0ef428dee4"></a><br/></td></tr>
+<tr class="memitem:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
+<tr class="memdesc:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection this transaction is running in.  <a href="#aed167261c4d76876241b5f615b9b8c7a"></a><br/></td></tr>
+<tr class="memitem:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
+<tr class="memdesc:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable in this connection.  <a href="#ab7510be596a5a14014064c884a10fd93"></a><br/></td></tr>
+<tr class="memitem:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#a87f5147f2dc2dfbcc3b5aef4b461be86"></a><br/></td></tr>
+<tr class="memitem:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">prepare::invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
+<tr class="memdesc:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute prepared statement.  <a href="#a1357ac4f6330284129c91882a169276d"></a><br/></td></tr>
+<tr class="memitem:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
+<tr class="memdesc:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#a99f99eb85906a7541119c9098a36d799"></a><br/></td></tr>
+<tr class="memitem:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
+<tr class="memdesc:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#aa90bc6e1219ff68ef11e1d04b76c205c"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a0761b12be4f64a7bccba1d2e7bf3d4a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#a0761b12be4f64a7bccba1d2e7bf3d4a2">basic_robusttransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;IsolationLevel, const std::string &amp;table_name=std::string())</td></tr>
+<tr class="inherit_header pro_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a49d5c0050ec02eba8440b1bdb20a1539 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a49d5c0050ec02eba8440b1bdb20a1539">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;IsolationString, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a12e833c152ed73fabe7c4c30020140e2 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a12e833c152ed73fabe7c4c30020140e2">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, bool direct=true, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a601f599d9c5cca86ce84a77bdac941db inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a601f599d9c5cca86ce84a77bdac941db">start_backend_transaction</a> ()</td></tr>
+<tr class="memdesc:a601f599d9c5cca86ce84a77bdac941db inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a transaction on the backend and set desired isolation level.  <a href="#a601f599d9c5cca86ce84a77bdac941db"></a><br/></td></tr>
+<tr class="memitem:a0b4da4b562a51ec0f03a9abf75acd14c inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a0b4da4b562a51ec0f03a9abf75acd14c">do_begin</a> ()</td></tr>
+<tr class="memdesc:a0b4da4b562a51ec0f03a9abf75acd14c inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: begin backend transaction.  <a href="#a0b4da4b562a51ec0f03a9abf75acd14c"></a><br/></td></tr>
+<tr class="memitem:a9b3e988901d4bec05d414543314a945b inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a9b3e988901d4bec05d414543314a945b">do_exec</a> (const char Query[])</td></tr>
+<tr class="memdesc:a9b3e988901d4bec05d414543314a945b inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: perform query.  <a href="#a9b3e988901d4bec05d414543314a945b"></a><br/></td></tr>
+<tr class="memitem:ae434c2ec625a55ec8c6c4f57d1cb0a54 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ae434c2ec625a55ec8c6c4f57d1cb0a54">do_commit</a> ()=0</td></tr>
+<tr class="memdesc:ae434c2ec625a55ec8c6c4f57d1cb0a54 inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived class: commit backend transaction.  <a href="#ae434c2ec625a55ec8c6c4f57d1cb0a54"></a><br/></td></tr>
+<tr class="memitem:a38c5eb7ae19ad150f89e951261873aba inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a38c5eb7ae19ad150f89e951261873aba">do_abort</a> ()</td></tr>
+<tr class="memdesc:a38c5eb7ae19ad150f89e951261873aba inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: abort backend transaction.  <a href="#a38c5eb7ae19ad150f89e951261873aba"></a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, bool direct=true)</td></tr>
+<tr class="memdesc:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transaction (to be called by implementation classes only)  <a href="#a92fc088d2f2c3e1e5992b4e14c703684"></a><br/></td></tr>
+<tr class="memitem:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">Begin</a> ()</td></tr>
+<tr class="memdesc:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin transaction (to be called by implementing class)  <a href="#a1d2a8554499cbd93ff8c2bf5c15843ff"></a><br/></td></tr>
+<tr class="memitem:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136">End</a> ()  throw ()</td></tr>
+<tr class="memdesc:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">End transaction. To be called by implementing class' destructor.  <a href="#af2ddcd7f1def9dfd3f15c0f3242b9136"></a><br/></td></tr>
+<tr class="memitem:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ac80f81e53c31f3a2052dc24fc6bbb7ee">DirectExec</a> (const char C[], int Retries=0)</td></tr>
+<tr class="memdesc:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query on connection directly.  <a href="#ac80f81e53c31f3a2052dc24fc6bbb7ee"></a><br/></td></tr>
+<tr class="memitem:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a84df458282939ef38cfddfaa07bea1d8">reactivation_avoidance_clear</a> ()  throw ()</td></tr>
+<tr class="memdesc:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget about any reactivation-blocking resources we tried to allocate.  <a href="#a84df458282939ef38cfddfaa07bea1d8"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_static_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a4e35ec39c80f088ebe239b15a16488de inherit pro_static_methods_a00032"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception class for lost or failed backend connection. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>When this happens on Unix-like systems, you may also get a SIGPIPE signal. That signal aborts the program by default, so if you wish to be able to continue after a connection breaks, be sure to disarm this signal.</dd></dl>
-If you're working on a Unix-like system, see the manual page for <code>signal</code> (2) on how to deal with SIGPIPE. The easiest way to make this signal harmless is to make your program ignore it:<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;signal.h&gt;</span>
-
- <span class="keywordtype">int</span> main()
- {
-   signal(SIGPIPE, SIG_IGN);
-   <span class="comment">// ...</span>
-</pre></div> <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="bead818453c7c47646f924c0b6cbff7d"></a><!-- doxytag: member="pqxx::broken_connection::broken_connection" ref="bead818453c7c47646f924c0b6cbff7d" args="()" -->
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="aad0757a015b2ddfe476e3d83f812bbff"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::broken_connection::broken_connection           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="memname">typedef <a class="el" href="a00056.html">isolation_traits</a>&lt;<a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a>&gt; <a class="el" href="a00011.html#aad0757a015b2ddfe476e3d83f812bbff">pqxx::basic_robusttransaction::isolation_tag</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Isolation level is read_committed by default. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="003c1c85d2c6c40f6d5b985394aa34b2"></a><!-- doxytag: member="pqxx::broken_connection::broken_connection" ref="003c1c85d2c6c40f6d5b985394aa34b2" args="(const std::string &amp;)" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4fa796f8dff9f236c36f292898eaeaad"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::broken_connection::broken_connection           </td>
+          <td class="memname">pqxx::basic_robusttransaction::~basic_robusttransaction </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a0761b12be4f64a7bccba1d2e7bf3d4a2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::basic_robusttransaction::basic_robusttransaction </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>IsolationLevel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>table_name</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00156_source.html">robusttransaction.hxx</a></li>
+<li>robusttransaction.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00011.html">basic_robusttransaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00011.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00011.js
--- 3.1-1.1/doc/html/Reference/a00011.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00011.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00011 =
+[
+    [ "isolation_tag", "a00011.html#aad0757a015b2ddfe476e3d83f812bbff", null ],
+    [ "~basic_robusttransaction", "a00011.html#a4fa796f8dff9f236c36f292898eaeaad", null ],
+    [ "basic_robusttransaction", "a00011.html#a0761b12be4f64a7bccba1d2e7bf3d4a2", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00011.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00011.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00012.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00012.html
--- 3.1-1.1/doc/html/Reference/a00012.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00012.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,51 +1,189 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: std::char_traits&lt; CHAR &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::basic_transaction Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00191.html">std</a>::<a class="el" href="a00012.html">char_traits</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00012.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00290.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::basic_transaction Class Reference<div class="ingroups"><a class="el" href="a00202.html">Transaction classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>std::char_traits&lt; CHAR &gt; Struct Template Reference</h1><!-- doxytag: class="std::char_traits" -->Work around missing <a class="el" href="a00012.html" title="Work around missing std::char_traits.">std::char_traits</a>.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00210.html">compiler-public.hxx</a>&gt;</code>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
+
+<p><code>#include &lt;<a class="el" href="a00169_source.html">transaction.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::basic_transaction:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00012.png" usemap="#pqxx::basic_transaction_map" alt=""/>
+  <map id="pqxx::basic_transaction_map" name="pqxx::basic_transaction_map">
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="0,112,314,136"/>
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="0,56,314,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,314,24"/>
+<area href="a00106.html" title="Standard back-end transaction, templatized on isolation level." alt="pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;" shape="rect" coords="0,224,314,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ac37eaf1787575f972034ddb87c496eb7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ac37eaf1787575f972034ddb87c496eb7">basic_transaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;IsolationLevel, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>)</td></tr>
+<tr class="inherit_header pro_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a49d5c0050ec02eba8440b1bdb20a1539 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a49d5c0050ec02eba8440b1bdb20a1539">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;IsolationString, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a12e833c152ed73fabe7c4c30020140e2 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a12e833c152ed73fabe7c4c30020140e2">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, bool direct=true, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a601f599d9c5cca86ce84a77bdac941db inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a601f599d9c5cca86ce84a77bdac941db">start_backend_transaction</a> ()</td></tr>
+<tr class="memdesc:a601f599d9c5cca86ce84a77bdac941db inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a transaction on the backend and set desired isolation level.  <a href="#a601f599d9c5cca86ce84a77bdac941db"></a><br/></td></tr>
+<tr class="memitem:a0b4da4b562a51ec0f03a9abf75acd14c inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a0b4da4b562a51ec0f03a9abf75acd14c">do_begin</a> ()</td></tr>
+<tr class="memdesc:a0b4da4b562a51ec0f03a9abf75acd14c inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: begin backend transaction.  <a href="#a0b4da4b562a51ec0f03a9abf75acd14c"></a><br/></td></tr>
+<tr class="memitem:a9b3e988901d4bec05d414543314a945b inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a9b3e988901d4bec05d414543314a945b">do_exec</a> (const char Query[])</td></tr>
+<tr class="memdesc:a9b3e988901d4bec05d414543314a945b inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: perform query.  <a href="#a9b3e988901d4bec05d414543314a945b"></a><br/></td></tr>
+<tr class="memitem:ae434c2ec625a55ec8c6c4f57d1cb0a54 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ae434c2ec625a55ec8c6c4f57d1cb0a54">do_commit</a> ()=0</td></tr>
+<tr class="memdesc:ae434c2ec625a55ec8c6c4f57d1cb0a54 inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived class: commit backend transaction.  <a href="#ae434c2ec625a55ec8c6c4f57d1cb0a54"></a><br/></td></tr>
+<tr class="memitem:a38c5eb7ae19ad150f89e951261873aba inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a38c5eb7ae19ad150f89e951261873aba">do_abort</a> ()</td></tr>
+<tr class="memdesc:a38c5eb7ae19ad150f89e951261873aba inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: abort backend transaction.  <a href="#a38c5eb7ae19ad150f89e951261873aba"></a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, bool direct=true)</td></tr>
+<tr class="memdesc:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transaction (to be called by implementation classes only)  <a href="#a92fc088d2f2c3e1e5992b4e14c703684"></a><br/></td></tr>
+<tr class="memitem:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">Begin</a> ()</td></tr>
+<tr class="memdesc:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin transaction (to be called by implementing class)  <a href="#a1d2a8554499cbd93ff8c2bf5c15843ff"></a><br/></td></tr>
+<tr class="memitem:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136">End</a> ()  throw ()</td></tr>
+<tr class="memdesc:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">End transaction. To be called by implementing class' destructor.  <a href="#af2ddcd7f1def9dfd3f15c0f3242b9136"></a><br/></td></tr>
+<tr class="memitem:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ac80f81e53c31f3a2052dc24fc6bbb7ee">DirectExec</a> (const char C[], int Retries=0)</td></tr>
+<tr class="memdesc:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query on connection directly.  <a href="#ac80f81e53c31f3a2052dc24fc6bbb7ee"></a><br/></td></tr>
+<tr class="memitem:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a84df458282939ef38cfddfaa07bea1d8">reactivation_avoidance_clear</a> ()  throw ()</td></tr>
+<tr class="memdesc:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget about any reactivation-blocking resources we tried to allocate.  <a href="#a84df458282939ef38cfddfaa07bea1d8"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af5e1900b64239bac292f5505f7799654">isolation_tag</a></td></tr>
+<tr class="memdesc:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#af5e1900b64239bac292f5505f7799654"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:ace1dc32cc5ab0d51481518e659675b79 inherit pub_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ace1dc32cc5ab0d51481518e659675b79">~dbtransaction</a> ()</td></tr>
+<tr class="inherit_header pro_static_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a4e35ec39c80f088ebe239b15a16488de inherit pro_static_methods_a00032"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CHAR&gt;<br>
- struct std::char_traits&lt; CHAR &gt;</h3>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac37eaf1787575f972034ddb87c496eb7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::basic_transaction::basic_transaction </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>IsolationLevel</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>&#160;</td>
+          <td class="paramname"><em>rw</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-Work around missing <a class="el" href="a00012.html" title="Work around missing std::char_traits.">std::char_traits</a>. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00210.html">compiler-public.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00169_source.html">transaction.hxx</a></li>
+<li>transaction.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00012.html">basic_transaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00012.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00012.js
--- 3.1-1.1/doc/html/Reference/a00012.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00012.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00012 =
+[
+    [ "basic_transaction", "a00012.html#ac37eaf1787575f972034ddb87c496eb7", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00012.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00012.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00013.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00013.html
--- 3.1-1.1/doc/html/Reference/a00013.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00013.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,146 +1,552 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: std::std::char_traits&lt; char &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::binarystring Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00191.html">std</a>::<a class="el" href="a00013.html">std::char_traits&lt; char &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00013.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#related">Related Functions</a> &#124;
+<a href="a00209.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::binarystring Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>std::std::char_traits&lt; char &gt; Struct Template Reference</h1><!-- doxytag: class="std::char_traits&lt; char &gt;" -->Work around missing <a class="el" href="a00013.html" title="Work around missing std::char_traits&lt;char&gt;.">std::char_traits&lt;char&gt;</a>.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00210.html">compiler-public.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00685.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#77ef9917c0ce7d6ca3b25e68539dc0cc">int_type</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#6465f697c1db2ecefe353eed2982ef19">pos_type</a></td></tr>
+<p><code>#include &lt;<a class="el" href="a00119_source.html">binarystring.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::binarystring:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00013.png" usemap="#pqxx::binarystring_map" alt=""/>
+  <map id="pqxx::binarystring_map" name="pqxx::binarystring_map">
+<area href="a00076.html" alt="pqxx::internal::PQAlloc&lt; const unsigned char &gt;" shape="rect" coords="0,0,279,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:abadf5cc14e19fc0c1f8838d1518baefa"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">char_type</a></td></tr>
+<tr class="memitem:a18e4f5fe0683c746f949db5d3c1c914c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00015.html">std::char_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">char_type</a> &gt;::<a class="el" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">char_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a></td></tr>
+<tr class="memitem:af4269ef0ff7802a8bc5c5a0d54cca60d"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a></td></tr>
+<tr class="memitem:a121db85dcf088809bd4b95e617324971"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a121db85dcf088809bd4b95e617324971">difference_type</a></td></tr>
+<tr class="memitem:a5a3869fa04853d5ab14b6676953143be"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a></td></tr>
+<tr class="memitem:abcf73d6a9164ac4f0ffaf4012e774016"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a></td></tr>
+<tr class="memitem:acb7da4766d133d40e1f4b294c2dd14d9"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3fa7ac041cdab7f6d207d429d4620132"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a3fa7ac041cdab7f6d207d429d4620132">binarystring</a> (const <a class="el" href="a00041.html">result::field</a> &amp;F)</td></tr>
+<tr class="memdesc:a3fa7ac041cdab7f6d207d429d4620132"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read and unescape bytea field.  <a href="#a3fa7ac041cdab7f6d207d429d4620132"></a><br/></td></tr>
+<tr class="memitem:af10f41451b711337a25cec42598229fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#af10f41451b711337a25cec42598229fb">size</a> () const   throw ()</td></tr>
+<tr class="memdesc:af10f41451b711337a25cec42598229fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of converted string in bytes.  <a href="#af10f41451b711337a25cec42598229fb"></a><br/></td></tr>
+<tr class="memitem:a065a1d5f2e87f640b57ce35580b11659"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a065a1d5f2e87f640b57ce35580b11659">length</a> () const   throw ()</td></tr>
+<tr class="memdesc:a065a1d5f2e87f640b57ce35580b11659"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of converted string in bytes.  <a href="#a065a1d5f2e87f640b57ce35580b11659"></a><br/></td></tr>
+<tr class="memitem:adfb2644b600416cb5eaf43cea64e99ab"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#adfb2644b600416cb5eaf43cea64e99ab">empty</a> () const   throw ()</td></tr>
+<tr class="memitem:a8cee54a0d93f38368fd885d6ef3733a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a8cee54a0d93f38368fd885d6ef3733a7">begin</a> () const   throw ()</td></tr>
+<tr class="memitem:abf2511857a61d4835cf6d326bb539a19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#abf2511857a61d4835cf6d326bb539a19">end</a> () const   throw ()</td></tr>
+<tr class="memitem:a565339d41daf2278ac02ce543e715cd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a565339d41daf2278ac02ce543e715cd2">front</a> () const   throw ()</td></tr>
+<tr class="memitem:af837e6e843633027fdfcfa5e68975edb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#af837e6e843633027fdfcfa5e68975edb">back</a> () const   throw ()</td></tr>
+<tr class="memitem:ad9042fbae551a4404e175a431139ca8c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ad9042fbae551a4404e175a431139ca8c">data</a> () const   throw ()</td></tr>
+<tr class="memdesc:ad9042fbae551a4404e175a431139ca8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unescaped field contents.  <a href="#ad9042fbae551a4404e175a431139ca8c"></a><br/></td></tr>
+<tr class="memitem:a47aa4553c316eeab7461c368e0ce2bac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a47aa4553c316eeab7461c368e0ce2bac">operator[]</a> (<a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> i) const   throw ()</td></tr>
+<tr class="memitem:a7ed7a9968baffb67dc5d2fde25cfa4c8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a7ed7a9968baffb67dc5d2fde25cfa4c8">operator==</a> (const <a class="el" href="a00013.html">binarystring</a> &amp;) const   throw ()</td></tr>
+<tr class="memitem:a56acf785f1c0a44c93d40f8b1bdc2921"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a56acf785f1c0a44c93d40f8b1bdc2921">operator!=</a> (const <a class="el" href="a00013.html">binarystring</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:a48d3b98f62d903bc99555d6c786d334a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a48d3b98f62d903bc99555d6c786d334a">at</a> (<a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>) const </td></tr>
+<tr class="memdesc:a48d3b98f62d903bc99555d6c786d334a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index contained string, checking for valid index.  <a href="#a48d3b98f62d903bc99555d6c786d334a"></a><br/></td></tr>
+<tr class="memitem:ad6e5000885dd6f0b7bdf1f5d7f365dd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ad6e5000885dd6f0b7bdf1f5d7f365dd9">swap</a> (<a class="el" href="a00013.html">binarystring</a> &amp;)</td></tr>
+<tr class="memdesc:ad6e5000885dd6f0b7bdf1f5d7f365dd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap contents with other binarystring.  <a href="#ad6e5000885dd6f0b7bdf1f5d7f365dd9"></a><br/></td></tr>
+<tr class="memitem:a37efe53d810e83dc4894cb405ba31dfa"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#a37efe53d810e83dc4894cb405ba31dfa">get</a> () const   throw ()</td></tr>
+<tr class="memdesc:a37efe53d810e83dc4894cb405ba31dfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw character buffer (no terminating zero is added)  <a href="#a37efe53d810e83dc4894cb405ba31dfa"></a><br/></td></tr>
+<tr class="memitem:ab6642dd3f5147bc104c3cdf0c8d2cc9e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ab6642dd3f5147bc104c3cdf0c8d2cc9e">str</a> () const </td></tr>
+<tr class="memdesc:ab6642dd3f5147bc104c3cdf0c8d2cc9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read as regular C++ string (may include null characters)  <a href="#ab6642dd3f5147bc104c3cdf0c8d2cc9e"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="related"></a>
+Related Functions</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
+</td></tr>
+<tr class="memitem:ga9c1a379cd2ba4eea395fb79df463eb98"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga9c1a379cd2ba4eea395fb79df463eb98">escape_binary</a> (const std::string &amp;bin)</td></tr>
+<tr class="memdesc:ga9c1a379cd2ba4eea395fb79df463eb98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00199.html#ga9c1a379cd2ba4eea395fb79df463eb98"></a><br/></td></tr>
+<tr class="memitem:ga5b230e243d4ebbe8085a8048e912601e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga5b230e243d4ebbe8085a8048e912601e">escape_binary</a> (const char bin[])</td></tr>
+<tr class="memdesc:ga5b230e243d4ebbe8085a8048e912601e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00199.html#ga5b230e243d4ebbe8085a8048e912601e"></a><br/></td></tr>
+<tr class="memitem:ga787364a7ae884b781b58ac248ff0925c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga787364a7ae884b781b58ac248ff0925c">escape_binary</a> (const char bin[], size_t len)</td></tr>
+<tr class="memdesc:ga787364a7ae884b781b58ac248ff0925c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00199.html#ga787364a7ae884b781b58ac248ff0925c"></a><br/></td></tr>
+<tr class="memitem:ga1147c3174b747009783b65981d4707f0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga1147c3174b747009783b65981d4707f0">escape_binary</a> (const unsigned char bin[])</td></tr>
+<tr class="memdesc:ga1147c3174b747009783b65981d4707f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00199.html#ga1147c3174b747009783b65981d4707f0"></a><br/></td></tr>
+<tr class="memitem:gaeb5da84878d4ea8f902f956b8240e73e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gaeb5da84878d4ea8f902f956b8240e73e">escape_binary</a> (const unsigned char bin[], size_t len)</td></tr>
+<tr class="memdesc:gaeb5da84878d4ea8f902f956b8240e73e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00199.html#gaeb5da84878d4ea8f902f956b8240e73e"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00076"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00076')"><img src="closed.png" alt="-"/>&nbsp;Private Types inherited from <a class="el" href="a00076.html">pqxx::internal::PQAlloc< const unsigned char ></a></td></tr>
+<tr class="memitem:a7fe52ebd1d2533f298caa5ffc975be66 inherit pub_types_a00076"><td class="memItemLeft" align="right" valign="top">typedef const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a></td></tr>
+<tr class="inherit_header pub_methods_a00076"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00076')"><img src="closed.png" alt="-"/>&nbsp;Private Member Functions inherited from <a class="el" href="a00076.html">pqxx::internal::PQAlloc< const unsigned char ></a></td></tr>
+<tr class="memitem:adf8536b0ab651d81247809a673f3bf42 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#adf8536b0ab651d81247809a673f3bf42">PQAlloc</a> ()  throw ()</td></tr>
+<tr class="memitem:a402105c20c0fba99659dbea44fbd36b2 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a402105c20c0fba99659dbea44fbd36b2">PQAlloc</a> (const <a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a43caacd4030a3dd949e9e44352c859dd inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a43caacd4030a3dd949e9e44352c859dd">PQAlloc</a> (const unsigned char *obj)  throw ()</td></tr>
+<tr class="memdesc:a43caacd4030a3dd949e9e44352c859dd inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assume ownership of a pointer.  <a href="#a43caacd4030a3dd949e9e44352c859dd"></a><br/></td></tr>
+<tr class="memitem:a8aded9ce9cf12f720f193ed303367bd1 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a8aded9ce9cf12f720f193ed303367bd1">~PQAlloc</a> ()  throw ()</td></tr>
+<tr class="memitem:a93b56fd3623e58c1aa6ceaaff54bbe11 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00076.html">PQAlloc</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a93b56fd3623e58c1aa6ceaaff54bbe11">operator=</a> (const <a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a681827ee20603fab0019324494e78455 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a681827ee20603fab0019324494e78455">swap</a> (<a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a4550cd53958a269ac8c2e4e7a02d2f02 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a4550cd53958a269ac8c2e4e7a02d2f02">operator bool</a> () const  throw ()</td></tr>
+<tr class="memdesc:a4550cd53958a269ac8c2e4e7a02d2f02 inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this pointer non-null?  <a href="#a4550cd53958a269ac8c2e4e7a02d2f02"></a><br/></td></tr>
+<tr class="memitem:af32cad9f63309273527e4007a7d892ef inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#af32cad9f63309273527e4007a7d892ef">operator!</a> () const  throw ()</td></tr>
+<tr class="memdesc:af32cad9f63309273527e4007a7d892ef inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this pointer null?  <a href="#af32cad9f63309273527e4007a7d892ef"></a><br/></td></tr>
+<tr class="memitem:a362f5103b150fb3913adb8923c7b1dbe inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a362f5103b150fb3913adb8923c7b1dbe">operator-&gt;</a> () const  throw (std::logic_error)</td></tr>
+<tr class="memdesc:a362f5103b150fb3913adb8923c7b1dbe inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference pointer.  <a href="#a362f5103b150fb3913adb8923c7b1dbe"></a><br/></td></tr>
+<tr class="memitem:afaa858977fa3c7df8f6497afdf4f2803 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">const unsigned char &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#afaa858977fa3c7df8f6497afdf4f2803">operator*</a> () const  throw (std::logic_error)</td></tr>
+<tr class="memdesc:afaa858977fa3c7df8f6497afdf4f2803 inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference pointer.  <a href="#afaa858977fa3c7df8f6497afdf4f2803"></a><br/></td></tr>
+<tr class="memitem:ac8d570bb46f0831c42a5b3fc0f803040 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ac8d570bb46f0831c42a5b3fc0f803040">get</a> () const  throw ()</td></tr>
+<tr class="memdesc:ac8d570bb46f0831c42a5b3fc0f803040 inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain underlying pointer.  <a href="#ac8d570bb46f0831c42a5b3fc0f803040"></a><br/></td></tr>
+<tr class="memitem:a7bb9fd9d80b38ddbed8128b33806900d inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a7bb9fd9d80b38ddbed8128b33806900d">reset</a> ()  throw ()</td></tr>
+</table>
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="abadf5cc14e19fc0c1f8838d1518baefa"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a> <a class="el" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">pqxx::binarystring::char_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#fd0e370e1f064ccac564e9b8ff3e286c">off_type</a></td></tr>
+</div>
+</div>
+<a class="anchor" id="acb7da4766d133d40e1f4b294c2dd14d9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a> <a class="el" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">pqxx::binarystring::const_iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abcf73d6a9164ac4f0ffaf4012e774016"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef const <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a>* <a class="el" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">pqxx::binarystring::const_pointer</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#06ea365f3e433b247c17367df3280404">char_type</a></td></tr>
+</div>
+</div>
+<a class="anchor" id="a5a3869fa04853d5ab14b6676953143be"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef const <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a>&amp; <a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">pqxx::binarystring::const_reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00013.html#77ef9917c0ce7d6ca3b25e68539dc0cc">int_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#b918f55f862fb0bc01d4f3b04abf58d1">eof</a> ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="a121db85dcf088809bd4b95e617324971"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef long <a class="el" href="a00013.html#a121db85dcf088809bd4b95e617324971">pqxx::binarystring::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+</div>
+</div>
+<a class="anchor" id="af4269ef0ff7802a8bc5c5a0d54cca60d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef size_t <a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">pqxx::binarystring::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a18e4f5fe0683c746f949db5d3c1c914c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00015.html">std::char_traits</a>&lt;<a class="el" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">char_type</a>&gt;::<a class="el" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">char_type</a> <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">pqxx::binarystring::value_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a3fa7ac041cdab7f6d207d429d4620132"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::binarystring::binarystring </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00041.html">result::field</a> &amp;&#160;</td>
+          <td class="paramname"><em>F</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- struct std::std::char_traits&lt; char &gt;</h3>
+</div><div class="memdoc">
+
+<p>Read and unescape bytea field. </p>
+<p>The field will be zero-terminated, even if the original bytea field isn't. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">F</td><td>the field to read; must be a bytea field </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00041.html#a8123fd1430eb4cfaa1f5095b44ceae86">pqxx::result::field::c_str()</a>, <a class="el" href="a00076.html#a93b56fd3623e58c1aa6ceaaff54bbe11">pqxx::internal::PQAlloc&lt; T, DELETER &gt;::operator=()</a>, and <a class="el" href="a00041.html#aa9c27a211efe8ddbf0bc81c0c1ec8b60">pqxx::result::field::size()</a>.</p>
 
-Work around missing <a class="el" href="a00013.html" title="Work around missing std::char_traits&lt;char&gt;.">std::char_traits&lt;char&gt;</a>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="77ef9917c0ce7d6ca3b25e68539dc0cc"></a><!-- doxytag: member="std::char_traits&lt; char &gt;::int_type" ref="77ef9917c0ce7d6ca3b25e68539dc0cc" args="" -->
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a48d3b98f62d903bc99555d6c786d334a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef int std::std::char_traits&lt; char &gt;::<a class="el" href="a00013.html#77ef9917c0ce7d6ca3b25e68539dc0cc">int_type</a>          </td>
+          <td class="memname"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">pqxx::binarystring::const_reference</a> pqxx::binarystring::at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Index contained string, checking for valid index. </p>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="af837e6e843633027fdfcfa5e68975edb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a> pqxx::binarystring::back </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a8cee54a0d93f38368fd885d6ef3733a7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a> pqxx::binarystring::begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="6465f697c1db2ecefe353eed2982ef19"></a><!-- doxytag: member="std::char_traits&lt; char &gt;::pos_type" ref="6465f697c1db2ecefe353eed2982ef19" args="" -->
+</div>
+<a class="anchor" id="ad9042fbae551a4404e175a431139ca8c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef size_t std::std::char_traits&lt; char &gt;::<a class="el" href="a00013.html#6465f697c1db2ecefe353eed2982ef19">pos_type</a>          </td>
+          <td class="memname">const <a class="el" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a>* pqxx::binarystring::data </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Unescaped field contents. </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="adfb2644b600416cb5eaf43cea64e99ab"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::binarystring::empty </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abf2511857a61d4835cf6d326bb539a19"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a> pqxx::binarystring::end </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a565339d41daf2278ac02ce543e715cd2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a> pqxx::binarystring::front </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a37efe53d810e83dc4894cb405ba31dfa"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pqxx::binarystring::get </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Raw character buffer (no terminating zero is added) </p>
+<dl class="section warning"><dt>Warning</dt><dd>No terminating zero is added! If the binary data did not end in a null character, you will not find one here. </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="fd0e370e1f064ccac564e9b8ff3e286c"></a><!-- doxytag: member="std::char_traits&lt; char &gt;::off_type" ref="fd0e370e1f064ccac564e9b8ff3e286c" args="" -->
+</div>
+<a class="anchor" id="a065a1d5f2e87f640b57ce35580b11659"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef long std::std::char_traits&lt; char &gt;::<a class="el" href="a00013.html#fd0e370e1f064ccac564e9b8ff3e286c">off_type</a>          </td>
+          <td class="memname"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> pqxx::binarystring::length </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Size of converted string in bytes. </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a56acf785f1c0a44c93d40f8b1bdc2921"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00076.html#af32cad9f63309273527e4007a7d892ef">pqxx::binarystring::operator!</a>= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00013.html">binarystring</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a7ed7a9968baffb67dc5d2fde25cfa4c8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::binarystring::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00013.html">binarystring</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="06ea365f3e433b247c17367df3280404"></a><!-- doxytag: member="std::char_traits&lt; char &gt;::char_type" ref="06ea365f3e433b247c17367df3280404" args="" -->
+</div>
+<a class="anchor" id="a47aa4553c316eeab7461c368e0ce2bac"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef char std::std::char_traits&lt; char &gt;::<a class="el" href="a00013.html#06ea365f3e433b247c17367df3280404">char_type</a>          </td>
+          <td class="memname"><a class="el" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a> pqxx::binarystring::operator[] </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="af10f41451b711337a25cec42598229fb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> pqxx::binarystring::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Size of converted string in bytes. </p>
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="b918f55f862fb0bc01d4f3b04abf58d1"></a><!-- doxytag: member="std::char_traits&lt; char &gt;::eof" ref="b918f55f862fb0bc01d4f3b04abf58d1" args="()" -->
+</div>
+<a class="anchor" id="ab6642dd3f5147bc104c3cdf0c8d2cc9e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">static <a class="el" href="a00013.html#77ef9917c0ce7d6ca3b25e68539dc0cc">int_type</a> std::std::char_traits&lt; char &gt;::eof           </td>
+          <td class="memname">string pqxx::binarystring::str </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Read as regular C++ string (may include null characters) </p>
+<dl class="section warning"><dt>Warning</dt><dd>libpqxx releases before 3.1 stored the string and returned a reference to it. This is no longer the case! It now creates and returns a new string object. Avoid repeated use of this function; retrieve your string once and keep it in a local variable. Also, do not expect to be able to compare the string's address to that of an earlier invocation. </dd></dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ad6e5000885dd6f0b7bdf1f5d7f365dd9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::binarystring::swap </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00013.html">binarystring</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Swap contents with other binarystring. </p>
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00210.html">compiler-public.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00119_source.html">binarystring.hxx</a></li>
+<li>binarystring.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00013.html">binarystring</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00013.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00013.js
--- 3.1-1.1/doc/html/Reference/a00013.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00013.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,31 @@
+var a00013 =
+[
+    [ "char_type", "a00013.html#abadf5cc14e19fc0c1f8838d1518baefa", null ],
+    [ "const_iterator", "a00013.html#acb7da4766d133d40e1f4b294c2dd14d9", null ],
+    [ "const_pointer", "a00013.html#abcf73d6a9164ac4f0ffaf4012e774016", null ],
+    [ "const_reference", "a00013.html#a5a3869fa04853d5ab14b6676953143be", null ],
+    [ "difference_type", "a00013.html#a121db85dcf088809bd4b95e617324971", null ],
+    [ "size_type", "a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d", null ],
+    [ "value_type", "a00013.html#a18e4f5fe0683c746f949db5d3c1c914c", null ],
+    [ "binarystring", "a00013.html#a3fa7ac041cdab7f6d207d429d4620132", null ],
+    [ "at", "a00013.html#a48d3b98f62d903bc99555d6c786d334a", null ],
+    [ "back", "a00013.html#af837e6e843633027fdfcfa5e68975edb", null ],
+    [ "begin", "a00013.html#a8cee54a0d93f38368fd885d6ef3733a7", null ],
+    [ "data", "a00013.html#ad9042fbae551a4404e175a431139ca8c", null ],
+    [ "empty", "a00013.html#adfb2644b600416cb5eaf43cea64e99ab", null ],
+    [ "end", "a00013.html#abf2511857a61d4835cf6d326bb539a19", null ],
+    [ "front", "a00013.html#a565339d41daf2278ac02ce543e715cd2", null ],
+    [ "get", "a00013.html#a37efe53d810e83dc4894cb405ba31dfa", null ],
+    [ "length", "a00013.html#a065a1d5f2e87f640b57ce35580b11659", null ],
+    [ "operator!=", "a00013.html#a56acf785f1c0a44c93d40f8b1bdc2921", null ],
+    [ "operator==", "a00013.html#a7ed7a9968baffb67dc5d2fde25cfa4c8", null ],
+    [ "operator[]", "a00013.html#a47aa4553c316eeab7461c368e0ce2bac", null ],
+    [ "size", "a00013.html#af10f41451b711337a25cec42598229fb", null ],
+    [ "str", "a00013.html#ab6642dd3f5147bc104c3cdf0c8d2cc9e", null ],
+    [ "swap", "a00013.html#ad6e5000885dd6f0b7bdf1f5d7f365dd9", null ],
+    [ "escape_binary", "a00199.html#ga9c1a379cd2ba4eea395fb79df463eb98", null ],
+    [ "escape_binary", "a00199.html#ga5b230e243d4ebbe8085a8048e912601e", null ],
+    [ "escape_binary", "a00199.html#ga787364a7ae884b781b58ac248ff0925c", null ],
+    [ "escape_binary", "a00199.html#ga1147c3174b747009783b65981d4707f0", null ],
+    [ "escape_binary", "a00199.html#gaeb5da84878d4ea8f902f956b8240e73e", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00013.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00013.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00014.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00014.html
--- 3.1-1.1/doc/html/Reference/a00014.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00014.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,146 +1,170 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: std::std::char_traits&lt; unsigned char &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::broken_connection Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00191.html">std</a>::<a class="el" href="a00014.html">std::char_traits&lt; unsigned char &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00014.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00227.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::broken_connection Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>std::std::char_traits&lt; unsigned char &gt; Struct Template Reference</h1><!-- doxytag: class="std::char_traits&lt; unsigned char &gt;" -->Work around missing <a class="el" href="a00014.html" title="Work around missing std::char_traits&lt;unsigned char&gt;.">std::char_traits&lt;unsigned char&gt;</a>.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00210.html">compiler-public.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00686.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#6f2641039b86c5971bf2cd76c56dd1b2">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#b288b0fe0b8817630f69aee5fd2ed692">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#68f728d51c0ac7bb1d27b4f1fd44013f">off_type</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#5d1305c91eebea10dbe610c2d1b107ca">char_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00014.html#6f2641039b86c5971bf2cd76c56dd1b2">int_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#1d4e9e080a70c87b9d6a10d6e1915912">eof</a> ()</td></tr>
+<p>Exception class for lost or failed backend connection.  
+ <a href="a00014.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::broken_connection:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00014.png" usemap="#pqxx::broken_connection_map" alt=""/>
+  <map id="pqxx::broken_connection_map" name="pqxx::broken_connection_map">
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,172,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,172,24"/>
+<area href="a00105.html" alt="pqxx::too_many_connections" shape="rect" coords="0,168,172,192"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abead818453c7c47646f924c0b6cbff7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#abead818453c7c47646f924c0b6cbff7d">broken_connection</a> ()</td></tr>
+<tr class="memitem:a003c1c85d2c6c40f6d5b985394aa34b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#a003c1c85d2c6c40f6d5b985394aa34b2">broken_connection</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- struct std::std::char_traits&lt; unsigned char &gt;</h3>
-
-Work around missing <a class="el" href="a00014.html" title="Work around missing std::char_traits&lt;unsigned char&gt;.">std::char_traits&lt;unsigned char&gt;</a>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="6f2641039b86c5971bf2cd76c56dd1b2"></a><!-- doxytag: member="std::char_traits&lt; unsigned char &gt;::int_type" ref="6f2641039b86c5971bf2cd76c56dd1b2" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Exception class for lost or failed backend connection. </p>
+<dl class="section warning"><dt>Warning</dt><dd>When this happens on Unix-like systems, you may also get a SIGPIPE signal. That signal aborts the program by default, so if you wish to be able to continue after a connection breaks, be sure to disarm this signal.</dd></dl>
+<p>If you're working on a Unix-like system, see the manual page for <code>signal</code> (2) on how to deal with SIGPIPE. The easiest way to make this signal harmless is to make your program ignore it:</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;signal.h&gt;</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">int</span> main()</div>
+<div class="line">{</div>
+<div class="line">  signal(SIGPIPE, SIG_IGN);</div>
+<div class="line">  <span class="comment">// ...</span></div>
+</div><!-- fragment --> </div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="abead818453c7c47646f924c0b6cbff7d"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef int std::std::char_traits&lt; unsigned char &gt;::<a class="el" href="a00014.html#6f2641039b86c5971bf2cd76c56dd1b2">int_type</a>          </td>
+          <td class="memname">pqxx::broken_connection::broken_connection </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="b288b0fe0b8817630f69aee5fd2ed692"></a><!-- doxytag: member="std::char_traits&lt; unsigned char &gt;::pos_type" ref="b288b0fe0b8817630f69aee5fd2ed692" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef size_t std::std::char_traits&lt; unsigned char &gt;::<a class="el" href="a00014.html#b288b0fe0b8817630f69aee5fd2ed692">pos_type</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="68f728d51c0ac7bb1d27b4f1fd44013f"></a><!-- doxytag: member="std::char_traits&lt; unsigned char &gt;::off_type" ref="68f728d51c0ac7bb1d27b4f1fd44013f" args="" -->
+<a class="anchor" id="a003c1c85d2c6c40f6d5b985394aa34b2"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">typedef long std::std::char_traits&lt; unsigned char &gt;::<a class="el" href="a00014.html#68f728d51c0ac7bb1d27b4f1fd44013f">off_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="5d1305c91eebea10dbe610c2d1b107ca"></a><!-- doxytag: member="std::char_traits&lt; unsigned char &gt;::char_type" ref="5d1305c91eebea10dbe610c2d1b107ca" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned char std::std::char_traits&lt; unsigned char &gt;::<a class="el" href="a00014.html#5d1305c91eebea10dbe610c2d1b107ca">char_type</a>          </td>
+          <td class="memname">pqxx::broken_connection::broken_connection </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="1d4e9e080a70c87b9d6a10d6e1915912"></a><!-- doxytag: member="std::char_traits&lt; unsigned char &gt;::eof" ref="1d4e9e080a70c87b9d6a10d6e1915912" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static <a class="el" href="a00014.html#6f2641039b86c5971bf2cd76c56dd1b2">int_type</a> std::std::char_traits&lt; unsigned char &gt;::eof           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00014.html">broken_connection</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00210.html">compiler-public.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00014.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00014.js
--- 3.1-1.1/doc/html/Reference/a00014.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00014.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00014 =
+[
+    [ "broken_connection", "a00014.html#abead818453c7c47646f924c0b6cbff7d", null ],
+    [ "broken_connection", "a00014.html#a003c1c85d2c6c40f6d5b985394aa34b2", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00014.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00014.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00015.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00015.html
--- 3.1-1.1/doc/html/Reference/a00015.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00015.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,111 +1,97 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::check_violation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: std::char_traits&lt; CHAR &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00015.html">check_violation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00015.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">std::char_traits&lt; CHAR &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::check_violation Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::check_violation" --><!-- doxytag: inherits="pqxx::integrity_constraint_violation" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::check_violation:</div>
-<div class="dynsection">
-<p><center><img src="a00526.png" border="0" usemap="#a00527" alt="Inheritance graph"></center>
-<map name="a00527">
-<area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="5,238,248,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="69,161,184,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="77,84,176,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="48,6,205,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00528.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html#2d18d99434781303ae1099876049d623">check_violation</a> (const std::string &amp;err)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html#33fa66dcc36972c8afa2d17987fb391d">check_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
-
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="2d18d99434781303ae1099876049d623"></a><!-- doxytag: member="pqxx::check_violation::check_violation" ref="2d18d99434781303ae1099876049d623" args="(const std::string &amp;err)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::check_violation::check_violation           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<p>Work around missing <a class="el" href="a00015.html" title="Work around missing std::char_traits.">std::char_traits</a>.  
+ <a href="a00015.html#details">More...</a></p>
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="33fa66dcc36972c8afa2d17987fb391d"></a><!-- doxytag: member="pqxx::check_violation::check_violation" ref="33fa66dcc36972c8afa2d17987fb391d" args="(const std::string &amp;err, const std::string &amp;Q)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::check_violation::check_violation           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
+<p><code>#include &lt;<a class="el" href="a00123_source.html">compiler-public.hxx</a>&gt;</code></p>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CHAR&gt;<br/>
+struct std::char_traits&lt; CHAR &gt;</h3>
+
+<p>Work around missing <a class="el" href="a00015.html" title="Work around missing std::char_traits.">std::char_traits</a>. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00123_source.html">compiler-public.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><b>std</b></li><li class="navelem"><a class="el" href="a00015.html">char_traits</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00016.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00016.html
--- 3.1-1.1/doc/html/Reference/a00016.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00016.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,192 +1,186 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::connect_async Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: std::char_traits&lt; char &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00016.html">connect_async</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00016.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00316.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::char_traits&lt; char &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::connect_async Class Reference<br>
-<small>
-[<a class="el" href="a00197.html">Connection classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::connect_async" --><!-- doxytag: inherits="pqxx::connectionpolicy" -->Asynchronous connection policy; connects "in the background".  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00217.html">connection.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::connect_async:</div>
-<div class="dynsection">
-<p><center><img src="a00442.png" border="0" usemap="#a00443" alt="Inheritance graph"></center>
-<map name="a00443">
-<area shape="rect" href="a00021.html" title="pqxx::connectionpolicy" alt="" coords="5,6,171,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00444.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#dcace783d423c5306fb72087d5171c31">connect_async</a> (const std::string &amp;opts)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#dc14fc627579522b2284af143b8ac9ea">do_startconnect</a> (handle)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a2b7f15be38163b46695c2739b59fb8b">do_completeconnect</a> (handle)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#36ed18e0528808b19df70dcf721da973">do_dropconnect</a> (handle)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#48a470b67ec1adb0459b0e009b0a60d0">is_ready</a> (handle) const   throw ()</td></tr>
+<p>Work around missing <a class="el" href="a00016.html" title="Work around missing std::char_traits&lt;char&gt;">std::char_traits&lt;char&gt;</a>  
+ <a href="a00016.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00123_source.html">compiler-public.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a905e17859fef67e93d7baeef86dee98b"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">int_type</a></td></tr>
+<tr class="memitem:ab17e48ba1fdbf06183149442e78cb1d0"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#ab17e48ba1fdbf06183149442e78cb1d0">pos_type</a></td></tr>
+<tr class="memitem:a85661c90be7df5a4f32cb40fa63c4311"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a85661c90be7df5a4f32cb40fa63c4311">off_type</a></td></tr>
+<tr class="memitem:a1a64cbf69fea84c3ac667ff3b82f0f5b"><td class="memItemLeft" align="right" valign="top">typedef char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a1a64cbf69fea84c3ac667ff3b82f0f5b">char_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:af4835e096d911543121767d0402e212a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#af4835e096d911543121767d0402e212a">eof</a> ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Asynchronous connection policy; connects "in the background". 
-<p>
-Connection is initiated immediately, but completion is deferred until the connection is actually needed.<p>
-This may help performance by allowing the client to do useful work while waiting for an answer from the server. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="dcace783d423c5306fb72087d5171c31"></a><!-- doxytag: member="pqxx::connect_async::connect_async" ref="dcace783d423c5306fb72087d5171c31" args="(const std::string &amp;opts)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;&gt;<br/>
+struct std::char_traits&lt; char &gt;</h3>
+
+<p>Work around missing <a class="el" href="a00016.html" title="Work around missing std::char_traits&lt;char&gt;">std::char_traits&lt;char&gt;</a> </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a1a64cbf69fea84c3ac667ff3b82f0f5b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connect_async::connect_async           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>opts</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">typedef char <a class="el" href="a00015.html">std::char_traits</a>&lt; char &gt;::<a class="el" href="a00016.html#a1a64cbf69fea84c3ac667ff3b82f0f5b">char_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="dc14fc627579522b2284af143b8ac9ea"></a><!-- doxytag: member="pqxx::connect_async::do_startconnect" ref="dc14fc627579522b2284af143b8ac9ea" args="(handle)" -->
+</div>
+<a class="anchor" id="a905e17859fef67e93d7baeef86dee98b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connect_async::do_startconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
+          <td class="memname">typedef int <a class="el" href="a00015.html">std::char_traits</a>&lt; char &gt;::<a class="el" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">int_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00021.html#b7c76ae54326197bcbe6d35b5bbb246f">pqxx::connectionpolicy</a>.</p>
-
-<p>References <a class="el" href="a00216.html#l00174">do_dropconnect()</a>, and <a class="el" href="a00220.html#l00047">pqxx::connectionpolicy::options()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00216.html#l00135">do_completeconnect()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="a2b7f15be38163b46695c2739b59fb8b"></a><!-- doxytag: member="pqxx::connect_async::do_completeconnect" ref="a2b7f15be38163b46695c2739b59fb8b" args="(handle)" -->
+</div>
+<a class="anchor" id="a85661c90be7df5a4f32cb40fa63c4311"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connect_async::do_completeconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
+          <td class="memname">typedef long <a class="el" href="a00015.html">std::char_traits</a>&lt; char &gt;::<a class="el" href="a00016.html#a85661c90be7df5a4f32cb40fa63c4311">off_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00021.html#0bbbedd08b7f579e5a2577e97b7e09b7">pqxx::connectionpolicy</a>.</p>
-
-<p>References <a class="el" href="a00216.html#l00075">pqxx::connectionpolicy::do_disconnect()</a>, <a class="el" href="a00216.html#l00118">do_startconnect()</a>, <a class="el" href="a00218.html#l01547">pqxx::internal::wait_read()</a>, and <a class="el" href="a00218.html#l01556">pqxx::internal::wait_write()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="36ed18e0528808b19df70dcf721da973"></a><!-- doxytag: member="pqxx::connect_async::do_dropconnect" ref="36ed18e0528808b19df70dcf721da973" args="(handle)" -->
+</div>
+<a class="anchor" id="ab17e48ba1fdbf06183149442e78cb1d0"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connect_async::do_dropconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
+          <td class="memname">typedef size_t <a class="el" href="a00015.html">std::char_traits</a>&lt; char &gt;::<a class="el" href="a00016.html#ab17e48ba1fdbf06183149442e78cb1d0">pos_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00021.html#3358c5c2ab741a6fd798db538516a349">pqxx::connectionpolicy</a>.</p>
-
-<p>Referenced by <a class="el" href="a00216.html#l00118">do_startconnect()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="48a470b67ec1adb0459b0e009b0a60d0"></a><!-- doxytag: member="pqxx::connect_async::is_ready" ref="48a470b67ec1adb0459b0e009b0a60d0" args="(handle) const " -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="af4835e096d911543121767d0402e212a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::connect_async::is_ready           </td>
+          <td class="memname">static <a class="el" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">int_type</a> <a class="el" href="a00015.html">std::char_traits</a>&lt; char &gt;::eof </td>
           <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>h</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [virtual]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00021.html#e6c506b9822a94dffd7e58a917d5509e">pqxx::connectionpolicy</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00217.html">connection.hxx</a><li><a class="el" href="a00126.html">connection.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00123_source.html">compiler-public.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><b>std</b></li><li class="navelem"><a class="el" href="a00016.html">char_traits< char ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00016.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00016.js
--- 3.1-1.1/doc/html/Reference/a00016.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00016.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00016 =
+[
+    [ "char_type", "a00016.html#a1a64cbf69fea84c3ac667ff3b82f0f5b", null ],
+    [ "int_type", "a00016.html#a905e17859fef67e93d7baeef86dee98b", null ],
+    [ "off_type", "a00016.html#a85661c90be7df5a4f32cb40fa63c4311", null ],
+    [ "pos_type", "a00016.html#ab17e48ba1fdbf06183149442e78cb1d0", null ],
+    [ "eof", "a00016.html#af4835e096d911543121767d0402e212a", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00017.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00017.html
--- 3.1-1.1/doc/html/Reference/a00017.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00017.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,114 +1,186 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::connect_direct Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: std::char_traits&lt; unsigned char &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00017.html">connect_direct</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00017.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00317.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::char_traits&lt; unsigned char &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::connect_direct Class Reference<br>
-<small>
-[<a class="el" href="a00197.html">Connection classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::connect_direct" --><!-- doxytag: inherits="pqxx::connectionpolicy" -->Connection policy; creates an immediate connection to a database.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00217.html">connection.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::connect_direct:</div>
-<div class="dynsection">
-<p><center><img src="a00436.png" border="0" usemap="#a00437" alt="Inheritance graph"></center>
-<map name="a00437">
-<area shape="rect" href="a00021.html" title="pqxx::connectionpolicy" alt="" coords="5,6,171,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00438.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#3ae8ab240a1f152c64cd40493d92f846">connect_direct</a> (const std::string &amp;opts)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#2b3538872ddbadb1e1a4aadc7724afb6">do_startconnect</a> (handle)</td></tr>
+<p>Work around missing <a class="el" href="a00017.html" title="Work around missing std::char_traits&lt;unsigned char&gt;">std::char_traits&lt;unsigned char&gt;</a>  
+ <a href="a00017.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00123_source.html">compiler-public.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ae800195a00697cc19af347efb85911ae"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#ae800195a00697cc19af347efb85911ae">int_type</a></td></tr>
+<tr class="memitem:a4878de00d941c62fc466ef18b8327e95"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#a4878de00d941c62fc466ef18b8327e95">pos_type</a></td></tr>
+<tr class="memitem:a8f7c4801c946a458c3b909375e934e76"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#a8f7c4801c946a458c3b909375e934e76">off_type</a></td></tr>
+<tr class="memitem:a36f5165a10ea513315f12ed9f31c573b"><td class="memItemLeft" align="right" valign="top">typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#a36f5165a10ea513315f12ed9f31c573b">char_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aef731d39bc5048c2a417b6822fd125f6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00017.html#ae800195a00697cc19af347efb85911ae">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#aef731d39bc5048c2a417b6822fd125f6">eof</a> ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Connection policy; creates an immediate connection to a database. 
-<p>
-This is the policy you typically need when you work with a database through libpqxx. It connects to the database immediately. Another option is to defer setting up the underlying connection to the database until it's actually needed; the <a class="el" href="a00018.html" title="Lazy connection policy; causes connection to be deferred until first use.">connect_lazy</a> policy implements such "lazy" * behaviour.<p>
-The advantage of having an "immediate" connection (as this policy gives you) is that any errors in setting up the connection will occur during construction of the connection object, rather than at some later point further down your program. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="3ae8ab240a1f152c64cd40493d92f846"></a><!-- doxytag: member="pqxx::connect_direct::connect_direct" ref="3ae8ab240a1f152c64cd40493d92f846" args="(const std::string &amp;opts)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;&gt;<br/>
+struct std::char_traits&lt; unsigned char &gt;</h3>
+
+<p>Work around missing <a class="el" href="a00017.html" title="Work around missing std::char_traits&lt;unsigned char&gt;">std::char_traits&lt;unsigned char&gt;</a> </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a36f5165a10ea513315f12ed9f31c573b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connect_direct::connect_direct           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>opts</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">typedef unsigned char <a class="el" href="a00015.html">std::char_traits</a>&lt; unsigned char &gt;::<a class="el" href="a00017.html#a36f5165a10ea513315f12ed9f31c573b">char_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="2b3538872ddbadb1e1a4aadc7724afb6"></a><!-- doxytag: member="pqxx::connect_direct::do_startconnect" ref="2b3538872ddbadb1e1a4aadc7724afb6" args="(handle)" -->
+</div>
+<a class="anchor" id="ae800195a00697cc19af347efb85911ae"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connect_direct::do_startconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
+          <td class="memname">typedef int <a class="el" href="a00015.html">std::char_traits</a>&lt; unsigned char &gt;::<a class="el" href="a00017.html#ae800195a00697cc19af347efb85911ae">int_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a8f7c4801c946a458c3b909375e934e76"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef long <a class="el" href="a00015.html">std::char_traits</a>&lt; unsigned char &gt;::<a class="el" href="a00017.html#a8f7c4801c946a458c3b909375e934e76">off_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="a00021.html#b7c76ae54326197bcbe6d35b5bbb246f">pqxx::connectionpolicy</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a4878de00d941c62fc466ef18b8327e95"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef size_t <a class="el" href="a00015.html">std::char_traits</a>&lt; unsigned char &gt;::<a class="el" href="a00017.html#a4878de00d941c62fc466ef18b8327e95">pos_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00216.html#l00075">pqxx::connectionpolicy::do_disconnect()</a>, and <a class="el" href="a00216.html#l00041">pqxx::connectionpolicy::normalconnect()</a>.</p>
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="aef731d39bc5048c2a417b6822fd125f6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="a00017.html#ae800195a00697cc19af347efb85911ae">int_type</a> <a class="el" href="a00015.html">std::char_traits</a>&lt; unsigned char &gt;::eof </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00217.html">connection.hxx</a><li><a class="el" href="a00126.html">connection.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00123_source.html">compiler-public.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><b>std</b></li><li class="navelem"><a class="el" href="a00017.html">char_traits< unsigned char ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00017.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00017.js
--- 3.1-1.1/doc/html/Reference/a00017.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00017.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00017 =
+[
+    [ "char_type", "a00017.html#a36f5165a10ea513315f12ed9f31c573b", null ],
+    [ "int_type", "a00017.html#ae800195a00697cc19af347efb85911ae", null ],
+    [ "off_type", "a00017.html#a8f7c4801c946a458c3b909375e934e76", null ],
+    [ "pos_type", "a00017.html#a4878de00d941c62fc466ef18b8327e95", null ],
+    [ "eof", "a00017.html#aef731d39bc5048c2a417b6822fd125f6", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00018.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00018.html
--- 3.1-1.1/doc/html/Reference/a00018.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00018.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,113 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::connect_lazy Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::check_violation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00018.html">connect_lazy</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00018.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00242.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::check_violation Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::connect_lazy Class Reference<br>
-<small>
-[<a class="el" href="a00197.html">Connection classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::connect_lazy" --><!-- doxytag: inherits="pqxx::connectionpolicy" -->Lazy connection policy; causes connection to be deferred until first use.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00217.html">connection.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::connect_lazy:</div>
-<div class="dynsection">
-<p><center><img src="a00439.png" border="0" usemap="#a00440" alt="Inheritance graph"></center>
-<map name="a00440">
-<area shape="rect" href="a00021.html" title="pqxx::connectionpolicy" alt="" coords="5,6,171,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00441.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html#9d93b15b0681f3b4e25e9fab79adb8cd">connect_lazy</a> (const std::string &amp;opts)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html#d5c2b3b6043ff998ad67cddc89e2669b">do_completeconnect</a> (handle)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::check_violation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00018.png" usemap="#pqxx::check_violation_map" alt=""/>
+  <map id="pqxx::check_violation_map" name="pqxx::check_violation_map">
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="0,168,204,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,204,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,204,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,204,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2d18d99434781303ae1099876049d623"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html#a2d18d99434781303ae1099876049d623">check_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a33fa66dcc36972c8afa2d17987fb391d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html#a33fa66dcc36972c8afa2d17987fb391d">check_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00050"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00050')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00050.html">pqxx::integrity_constraint_violation</a></td></tr>
+<tr class="memitem:a9fa871a08c23b2722a42fa545cecd2ab inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a505ae8d71add1a4c19e69f5cf96cea9d inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Lazy connection policy; causes connection to be deferred until first use. 
-<p>
-This is connect_direct's lazy younger brother. It does not open a connection right away; the connection is only created when it is actually used. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="9d93b15b0681f3b4e25e9fab79adb8cd"></a><!-- doxytag: member="pqxx::connect_lazy::connect_lazy" ref="9d93b15b0681f3b4e25e9fab79adb8cd" args="(const std::string &amp;opts)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a2d18d99434781303ae1099876049d623"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connect_lazy::connect_lazy           </td>
+          <td class="memname">pqxx::check_violation::check_violation </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>opts</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d5c2b3b6043ff998ad67cddc89e2669b"></a><!-- doxytag: member="pqxx::connect_lazy::do_completeconnect" ref="d5c2b3b6043ff998ad67cddc89e2669b" args="(handle)" -->
+</div>
+<a class="anchor" id="a33fa66dcc36972c8afa2d17987fb391d"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connect_lazy::do_completeconnect           </td>
+          <td class="memname">pqxx::check_violation::check_violation </td>
           <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00021.html#0bbbedd08b7f579e5a2577e97b7e09b7">pqxx::connectionpolicy</a>.</p>
-
-<p>References <a class="el" href="a00216.html#l00041">pqxx::connectionpolicy::normalconnect()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00217.html">connection.hxx</a><li><a class="el" href="a00126.html">connection.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00018.html">check_violation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00018.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00018.js
--- 3.1-1.1/doc/html/Reference/a00018.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00018.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00018 =
+[
+    [ "check_violation", "a00018.html#a2d18d99434781303ae1099876049d623", null ],
+    [ "check_violation", "a00018.html#a33fa66dcc36972c8afa2d17987fb391d", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00018.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00018.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00019.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00019.html
--- 3.1-1.1/doc/html/Reference/a00019.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00019.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,87 +1,262 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::connect_null Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::connect_async Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00019.html">connect_null</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00019.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00212.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::connect_async Class Reference<div class="ingroups"><a class="el" href="a00200.html">Connection classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::connect_null Class Reference<br>
-<small>
-[<a class="el" href="a00197.html">Connection classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::connect_null" --><!-- doxytag: inherits="pqxx::connectionpolicy" -->Nonfunctional, always-down connection policy for testing/debugging purposes.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00217.html">connection.hxx</a>&gt;</code>
-<p>
+
+<p>Asynchronous connection policy; connects "in the background".  
+ <a href="a00019.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00130_source.html">connection.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::connect_null:</div>
-<div class="dynsection">
-<p><center><img src="a00445.png" border="0" usemap="#a00446" alt="Inheritance graph"></center>
-<map name="a00446">
-<area shape="rect" href="a00021.html" title="pqxx::connectionpolicy" alt="" coords="5,6,171,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00447.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#0f3aae5285574af29d06abdcb7f2560c">connect_null</a> (const std::string &amp;opts)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Nonfunctional, always-down connection policy for testing/debugging purposes. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>You don't want to use this policy in normal code. Written for debugging and testing, this "connection policy" always fails to connect, and the <a class="el" href="a00186.html" title="Private namespace for libpqxx&#39;s internal use; do not access.">internal</a> connection pointer always remains null. </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="0f3aae5285574af29d06abdcb7f2560c"></a><!-- doxytag: member="pqxx::connect_null::connect_null" ref="0f3aae5285574af29d06abdcb7f2560c" args="(const std::string &amp;opts)" -->
+Inheritance diagram for pqxx::connect_async:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00019.png" usemap="#pqxx::connect_async_map" alt=""/>
+  <map id="pqxx::connect_async_map" name="pqxx::connect_async_map">
+<area href="a00024.html" alt="pqxx::connectionpolicy" shape="rect" coords="0,0,139,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adcace783d423c5306fb72087d5171c31"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#adcace783d423c5306fb72087d5171c31">connect_async</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:adc14fc627579522b2284af143b8ac9ea"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#adc14fc627579522b2284af143b8ac9ea">do_startconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
+<tr class="memitem:aa2b7f15be38163b46695c2739b59fb8b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#aa2b7f15be38163b46695c2739b59fb8b">do_completeconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
+<tr class="memitem:a36ed18e0528808b19df70dcf721da973"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#a36ed18e0528808b19df70dcf721da973">do_dropconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)  throw ()</td></tr>
+<tr class="memitem:a48a470b67ec1adb0459b0e009b0a60d0"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#a48a470b67ec1adb0459b0e009b0a60d0">is_ready</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) const   throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:ab46be4bfe19a8a022f441d120b6b2f09 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab46be4bfe19a8a022f441d120b6b2f09">connectionpolicy</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:a69870c553a2ea10b2f1fbd6073c2fb25 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a69870c553a2ea10b2f1fbd6073c2fb25">~connectionpolicy</a> ()  throw ()</td></tr>
+<tr class="memitem:ae3164a06f63e76709e17065bea2bf938 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae3164a06f63e76709e17065bea2bf938">options</a> () const   throw ()</td></tr>
+<tr class="memitem:ae74d43f05d575eb142e18ed0939de151 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae74d43f05d575eb142e18ed0939de151">do_disconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a15bb552a890c0fb28fab2413200dee18 inherit pub_types_a00024"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a></td></tr>
+<tr class="inherit_header pro_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a5b4be97db7a8739e9f4fc7e1b7ab587c inherit pro_methods_a00024"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a5b4be97db7a8739e9f4fc7e1b7ab587c">normalconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Asynchronous connection policy; connects "in the background". </p>
+<p>Connection is initiated immediately, but completion is deferred until the connection is actually needed.</p>
+<p>This may help performance by allowing the client to do useful work while waiting for an answer from the server. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="adcace783d423c5306fb72087d5171c31"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connect_null::connect_null           </td>
+          <td class="memname">pqxx::connect_async::connect_async </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>opts</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>opts</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="aa2b7f15be38163b46695c2739b59fb8b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connect_async::do_completeconnect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="a00024.html#a0bbbedd08b7f579e5a2577e97b7e09b7">pqxx::connectionpolicy</a>.</p>
 
-<p>
+<p>References <a class="el" href="a00189.html#aab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read()</a>, and <a class="el" href="a00189.html#a578ac9f03e48ac2c6489456b6843ecb7">pqxx::internal::wait_write()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00217.html">connection.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="a36ed18e0528808b19df70dcf721da973"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connect_async::do_dropconnect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="a00024.html#a3358c5c2ab741a6fd798db538516a349">pqxx::connectionpolicy</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adc14fc627579522b2284af143b8ac9ea"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connect_async::do_startconnect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="a00024.html#ab7c76ae54326197bcbe6d35b5bbb246f">pqxx::connectionpolicy</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a48a470b67ec1adb0459b0e009b0a60d0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::connect_async::is_ready </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>h</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented from <a class="el" href="a00024.html#ae6c506b9822a94dffd7e58a917d5509e">pqxx::connectionpolicy</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00130_source.html">connection.hxx</a></li>
+<li>connection.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00019.html">connect_async</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00019.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00019.js
--- 3.1-1.1/doc/html/Reference/a00019.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00019.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00019 =
+[
+    [ "connect_async", "a00019.html#adcace783d423c5306fb72087d5171c31", null ],
+    [ "do_completeconnect", "a00019.html#aa2b7f15be38163b46695c2739b59fb8b", null ],
+    [ "do_dropconnect", "a00019.html#a36ed18e0528808b19df70dcf721da973", null ],
+    [ "do_startconnect", "a00019.html#adc14fc627579522b2284af143b8ac9ea", null ],
+    [ "is_ready", "a00019.html#a48a470b67ec1adb0459b0e009b0a60d0", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00019.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00019.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00020.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00020.html
--- 3.1-1.1/doc/html/Reference/a00020.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00020.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,1514 +1,182 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::connection_base Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::connect_direct Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00020.html">connection_base</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00020.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00210.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::connect_direct Class Reference<div class="ingroups"><a class="el" href="a00200.html">Connection classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::connection_base Class Reference</h1><!-- doxytag: class="pqxx::connection_base" --><a class="el" href="a00020.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> abstract base class; represents a connection to a database.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::connection_base:</div>
-<div class="dynsection">
-<p><center><img src="a00454.png" border="0" usemap="#a00455" alt="Inheritance graph"></center>
-<map name="a00455">
-<area shape="rect" href="a00003.html" title="The ultimate template that defines a connection type." alt="" coords="5,84,312,110"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00456.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Capabilities</h2></td></tr>
-<tr><td colspan="2">Some functionality is only available in certain versions of the backend, or only when speaking certain versions of the communications protocol that connects us to the backend. This includes clauses for SQL statements that were not accepted in older database versions, but are required in newer versions to get the same behaviour. <br><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71">capability</a> { <br>
-&nbsp;&nbsp;<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71f5a4754aea608aaf5fca6caa51c44ce0">cap_prepared_statements</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71ba8a02f6bb5d2304bfbf2110c6cd791a">cap_create_table_with_oids</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71973dc9e4f56818f82b86fb13a5bbc405">cap_nested_transactions</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee718034abdbcd193f25d9d93cf79156e1fc">cap_cursor_scroll</a>, 
-<br>
-&nbsp;&nbsp;<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71d97556afc36aff4a62c61b67437c20c4">cap_cursor_with_hold</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee718ab47c10b60d6bd6664f6e88f300edcb">cap_cursor_update</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee7186380c8c083847ba3d16764784f5914f">cap_cursor_fetch_0</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee711f2b785abe834490c33dc4cf19c932d2">cap_table_column</a>, 
-<br>
-&nbsp;&nbsp;<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee7101e68a67b6a3c92ce9b0c92fa73e90b2">cap_read_only_transactions</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71befe533e379346c7b9644406c613eb02">cap_statement_varargs</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee716b019128f2fdcfa9d316042342846e2f">cap_prepare_unnamed_statement</a>, 
-<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71366c98bc3385ecfb39496bf7240e5973">cap_parameterized_statements</a>, 
-<br>
-&nbsp;&nbsp;<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee714a873c5d7e7fb0a9022cdd110181a7de">cap_end</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Session capabilities.  <a href="a00020.html#306a884246abc1051bab4fb06393ee71">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#efdde864e05f88e84d748236b93659e7">supports</a> (<a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71">capability</a> c) const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does this connection seem to support the given capability?  <a href="#efdde864e05f88e84d748236b93659e7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#b63e45ad783d8adb8d4a9f03e03ef6ef">protocol_version</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What version of the PostgreSQL protocol is this connection using?  <a href="#b63e45ad783d8adb8d4a9f03e03ef6ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#cdd295f691812773133147530aa6ff21">server_version</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What version of the PostgreSQL server are we connected to?  <a href="#cdd295f691812773133147530aa6ff21"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#9bd21013745b4454e248e637cdae1287">disconnect</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Explicitly close connection.  <a href="#9bd21013745b4454e248e637cdae1287"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#36a26cf7e13f612749d49faf4f1654f8">is_open</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this connection open at the moment?  <a href="#36a26cf7e13f612749d49faf4f1654f8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#f53d2c135aa27cdb1a66ff550a26e555">trace</a> (FILE *)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable tracing to a given output stream, or NULL to disable.  <a href="#f53d2c135aa27cdb1a66ff550a26e555"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#04895c06c5ae1d8b0863a32a28beff51">set_client_encoding</a> (const std::string &amp;Encoding)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set client-side character encoding.  <a href="#04895c06c5ae1d8b0863a32a28beff51"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#120b9e03dcaa9b0c3ef7026afa64d954">set_variable</a> (const std::string &amp;Var, const std::string &amp;Value)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set session variable.  <a href="#120b9e03dcaa9b0c3ef7026afa64d954"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#908a2ffdf56d8259492e9f3894e24f65">get_variable</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read session variable.  <a href="#908a2ffdf56d8259492e9f3894e24f65"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#4963aaba6da521d480c21c7ec01835cf">adorn_name</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suffix unique number to name to make it unique within session context.  <a href="#4963aaba6da521d480c21c7ec01835cf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g8978ff727c03a1aaaa3a9d3fd3268abf">esc</a> (const char str[])</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00196.html#g8978ff727c03a1aaaa3a9d3fd3268abf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#ge711f65dd793a70629f97a2e0e54d8db">esc</a> (const char str[], size_t maxlen)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00196.html#ge711f65dd793a70629f97a2e0e54d8db"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gca9ba750fd096cfd652a4323dab3a653">esc</a> (const std::string &amp;str)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00196.html#gca9ba750fd096cfd652a4323dab3a653"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g6a8c83d3dcea7114a00c188fe6a92779">esc_raw</a> (const unsigned char str[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for use as SQL string literal on this connection.  <a href="a00196.html#g6a8c83d3dcea7114a00c188fe6a92779"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00196.html#g504d44b2b133a3d606d08c6b829680b2">quote</a> (const T &amp;t)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00196.html#g504d44b2b133a3d606d08c6b829680b2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#9709e4738b1bfb1dba547381749908cb">cancel_query</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempt to cancel the ongoing query, if any.  <a href="#9709e4738b1bfb1dba547381749908cb"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Activation</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Connections can be temporarily deactivated, or they can break because of overly impatient firewalls dropping TCP connections. Where possible, libpqxx will try to re-activate these when resume using them, or you can wake them up explicitly. You probably won't need this feature, but you should be aware of it. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#1aa330287775aa1ff83f94714f772673">activate</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Explicitly activate deferred or deactivated connection.  <a href="#1aa330287775aa1ff83f94714f772673"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#10b275082e18dbcb177a8871f92c7523">deactivate</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Explicitly deactivate connection.  <a href="#10b275082e18dbcb177a8871f92c7523"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#edf7ac72658efa92e702a06b1964747a">inhibit_reactivation</a> (bool inhibit)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disallow (or permit) connection recovery.  <a href="#edf7ac72658efa92e702a06b1964747a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#335ca1d83e65a9e57b907c431c3afbe1">simulate_failure</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the connection fail.  <a href="#335ca1d83e65a9e57b907c431c3afbe1"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Error/warning output</div></td></tr>
-<tr><td colspan="2"><div class="groupText">Whenever the database has a warning or error to report, it will call a <em>noticer</em> to process the associated message. The default noticer sends the text of the message to standard error output, but you may choose to select a different noticer for the connection. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::auto_ptr&lt; <a class="el" href="a00057.html">noticer</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#c6b5f32ac91993b37531e96c2d14b18e">set_noticer</a> (std::auto_ptr&lt; <a class="el" href="a00057.html">noticer</a> &gt; N)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set handler for postgresql errors or warning messages.  <a href="#c6b5f32ac91993b37531e96c2d14b18e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00057.html">noticer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#edf4e61e94ea58058e4bc592d98f8dc2">get_noticer</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#140578ed1e1c65c61deb0407ff25959f">process_notice</a> (const char[])  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invoke notice processor function. The message should end in newline.  <a href="#140578ed1e1c65c61deb0407ff25959f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#9d64420154827b3572dcdb955a93bfff">process_notice</a> (const std::string &amp;)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invoke notice processor function. Newline at end is recommended.  <a href="#9d64420154827b3572dcdb955a93bfff"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Connection properties</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These are probably not of great interest, since most are derived from information supplied by the client program itself, but they are included for completeness. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#043e536c1923594c246f2ca8db31dffa">dbname</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of database we're connected to, if any.  <a href="#043e536c1923594c246f2ca8db31dffa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#e02522000400fc2782e892ac0387d85b">username</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Database user ID we're connected under, if any.  <a href="#e02522000400fc2782e892ac0387d85b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#38dde9befa350a07a5ac093d13ee64e2">hostname</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Address of server, or NULL if none specified (i.e. default or local).  <a href="#38dde9befa350a07a5ac093d13ee64e2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#826750f0f13ede4ac4e6ca8a84711b53">port</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Server port number we're connected to.  <a href="#826750f0f13ede4ac4e6ca8a84711b53"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#7179e32df28bd4bc81b85d99b36ad791">backendpid</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process ID for backend process.  <a href="#7179e32df28bd4bc81b85d99b36ad791"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#8ac078b1077fbe19ee1d713bb6b71e8f">sock</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Socket currently used for connection, or -1 for none. Use with care!  <a href="#8ac078b1077fbe19ee1d713bb6b71e8f"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Notifications and Listeners</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#a839a066c0289a12f664e29c9dbafd38">get_notifs</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check for pending notifications and take appropriate action.  <a href="#a839a066c0289a12f664e29c9dbafd38"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#b5c24029bda3198d826d24757e49c746">await_notification</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for a notification to come in.  <a href="#b5c24029bda3198d826d24757e49c746"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#a9e66faad88a94857c0749b9bbc5d352">await_notification</a> (long seconds, long microseconds)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for a notification to come in, or for given timeout to pass.  <a href="#a9e66faad88a94857c0749b9bbc5d352"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Prepared statements</div></td></tr>
-<tr><td colspan="2"><div class="groupText">PostgreSQL supports prepared SQL statements, i.e. statements that can be registered under a client-provided name, optimized once by the backend, and executed any number of times under the given name.<p>
-Prepared statement definitions are not sensitive to transaction boundaries; a statement defined inside a transaction will remain defined outside that transaction, even if the transaction itself is subsequently aborted. Once a statement has been prepared, only closing the connection or explicitly "unpreparing" it can make it go away.<p>
-Use the transaction classes' <code>prepared()</code>.exec() function to execute a prepared statement. Use <code>prepared()</code>.exists() to find out whether a statement has been prepared under a given name.<p>
-A special case is the nameless prepared statement. You may prepare a statement without a name. The unnamed statement can be redefined at any time, without un-preparing it first.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Prepared statements are not necessarily defined on the backend right away; libpqxx generally does that lazily. This means that you can prepare statements before the connection is fully established, and that it's relatively cheap to pre-prepare lots of statements that you may or may not use during the session. On the other hand, it also means that errors in a prepared statement may not show up until you first try to invoke it. Such an error may then break the transaction it occurs in.<p>
-Never try to prepare, execute, or unprepare a prepared statement manually using direct SQL queries. Always use the functions provided by libpqxx. </dd></dl>
-<br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00026.html">prepare::declaration</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#d2b9e50c9ebfab7c86a091cd939e1e6c">prepare</a> (const std::string &amp;name, const std::string &amp;definition)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define a prepared statement.  <a href="#d2b9e50c9ebfab7c86a091cd939e1e6c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00026.html">prepare::declaration</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#f2dcc39b88897fe2bc3c5742edd43645">prepare</a> (const std::string &amp;definition)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define a nameless prepared statement.  <a href="#f2dcc39b88897fe2bc3c5742edd43645"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#30ec51634479614b45106532e87e5dc7">unprepare</a> (const std::string &amp;name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Drop prepared statement.  <a href="#30ec51634479614b45106532e87e5dc7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#32efdc645566975851bfc7d6b82d214c">prepare_now</a> (const std::string &amp;name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request that prepared statement be registered with the server.  <a href="#32efdc645566975851bfc7d6b82d214c"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Transactor framework</div></td></tr>
-<tr><td colspan="2"><div class="groupText">See the transactor class template for more about transactors. To use the transactor framework, encapsulate your transaction code in a class derived from an instantiation of the <a class="el" href="a00107.html">pqxx::transactor</a> template. Then, to execute it, create an object of your transactor class and pass it to one of the perform() functions here.<p>
-The perform() functions may create and execute several copies of the transactor before succeeding or ultimately giving up. If there is any doubt over whether execution succeeded (this can happen if the connection to the server is lost just before the backend can confirm success), it is no longer retried and an in_doubt_error is thrown.<p>
-Take care: no member functions will ever be invoked on the transactor object you pass into perform(). The object you pass in only serves as a "prototype" for the job to be done. The perform() function will copy-construct transactors from the original you passed in, executing the copies only. The original object remains "clean" in its original state. <br><br></div></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TRANSACTOR&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#53881917fd565daf7e66496fa74f397d">perform</a> (const TRANSACTOR &amp;T, int Attempts)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> defined by a transactor-based object.  <a href="#53881917fd565daf7e66496fa74f397d"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TRANSACTOR&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00020.html#858d1cb7c11c365faf203935a48c5f1b">perform</a> (const TRANSACTOR &amp;T)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> defined by a transactor-based object.  <a href="#858d1cb7c11c365faf203935a48c5f1b"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#33700cc6d830d28c3dbd48eb9b7276ab">connection_base</a> (<a class="el" href="a00021.html">connectionpolicy</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#1d1c129c2c5797a82f251ee9dabec77e">init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#f02016af0233bed748eb1ddab9685131">close</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#f860fe4c418cfa4f573f34d73327d111">wait_read</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#b8c7dd5e54493e18d5900dd70012d062">wait_read</a> (long seconds, long microseconds) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#cfb8d53e6f105db280cd5d977c005bea">wait_write</a> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#1407974cc9c548bee6d31834625c3d45">internal::gate::connection_prepare_declaration</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#c2eff365ba0aa25ebbf5f903ac3c7a54">internal::gate::connection_prepare_invocation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#3c60c76e32687adce1e8c0dba0919773">internal::gate::connection_transaction</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#b15ff67d81467d271dc713b2584f1328">internal::gate::connection_largeobject</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#518f718405d80def662f248b427f0e60">internal::gate::connection_notify_listener</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#3b9c5dc16f04600aa5415e06f6ff8fa6">internal::gate::connection_pipeline</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#f3dfec559fe2305e57aba653abe4c8ad">internal::gate::connection_dbtransaction</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#84c1a28176815ab9103c7febec450755">internal::gate::connection_sql_cursor</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#2247d8690958f634898bbf014a7d418c">internal::gate::connection_reactivation_avoidance_exemption</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#0e64dc314f291c6f81a948c59d94aa8a">internal::gate::connection_parameterized_invocation</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<a class="el" href="a00020.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> abstract base class; represents a connection to a database. 
-<p>
-This is the first class to look at when you wish to work with a database through libpqxx. Depending on the implementing concrete child class, a connection can be automatically opened when it is constructed, or when it is first used, or somewhere inbetween. The connection is automatically closed upon destruction (if it hasn't been closed already).<p>
-To query or manipulate the database once connected, use one of the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> classes (see <a class="el" href="a00168.html">pqxx/transaction_base.hxx</a>) or preferably the <a class="el" href="a00107.html">transactor</a> framework (see <a class="el" href="a00169.html">pqxx/transactor.hxx</a>).<p>
-If a network connection to the database server fails, the connection will be restored automatically (although any <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> going on at the time will have to be aborted). This also means that any information set in previous transactions that is not stored in the database, such as temp tables or connection-local variables defined with PostgreSQL's SET command, will be lost. Whenever you create such state, either keept it local to one <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, where possible, or inhibit automatic reactivation of the connection using the <a class="el" href="a00020.html#edf7ac72658efa92e702a06b1964747a" title="Disallow (or permit) connection recovery.">inhibit_reactivation()</a> method.<p>
-When a connection breaks, you will typically get a <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. This can happen at almost any point, and the details may depend on which connection class (all derived from this one) you use.<p>
-As a general rule, always avoid raw queries if libpqxx offers a dedicated function for the same purpose. There may be hidden logic to hide certain complications from you, such as reinstating session variables when a broken or disabled connection is reactivated.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>On Unix-like systems, including GNU and BSD systems, your program may receive the SIGPIPE signal when the connection to the backend breaks. By default this signal will abort your program. Use "signal(SIGPIPE, SIG_IGN)" if you want your program to continue running after a connection fails. </dd></dl>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="306a884246abc1051bab4fb06393ee71"></a><!-- doxytag: member="pqxx::connection_base::capability" ref="306a884246abc1051bab4fb06393ee71" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71">pqxx::connection_base::capability</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<p>Connection policy; creates an immediate connection to a database.  
+ <a href="a00020.html#details">More...</a></p>
 
-<p>
-Session capabilities. 
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee71f5a4754aea608aaf5fca6caa51c44ce0"></a><!-- doxytag: member="cap_prepared_statements" ref="306a884246abc1051bab4fb06393ee71f5a4754aea608aaf5fca6caa51c44ce0" args="" -->cap_prepared_statements</em>&nbsp;</td><td>
-Does the backend support prepared statements? (If not, we emulate them). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee71ba8a02f6bb5d2304bfbf2110c6cd791a"></a><!-- doxytag: member="cap_create_table_with_oids" ref="306a884246abc1051bab4fb06393ee71ba8a02f6bb5d2304bfbf2110c6cd791a" args="" -->cap_create_table_with_oids</em>&nbsp;</td><td>
-Can we specify WITH OIDS with CREATE TABLE? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee71973dc9e4f56818f82b86fb13a5bbc405"></a><!-- doxytag: member="cap_nested_transactions" ref="306a884246abc1051bab4fb06393ee71973dc9e4f56818f82b86fb13a5bbc405" args="" -->cap_nested_transactions</em>&nbsp;</td><td>
-Can transactions be nested in other transactions? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee718034abdbcd193f25d9d93cf79156e1fc"></a><!-- doxytag: member="cap_cursor_scroll" ref="306a884246abc1051bab4fb06393ee718034abdbcd193f25d9d93cf79156e1fc" args="" -->cap_cursor_scroll</em>&nbsp;</td><td>
-Can cursors be declared SCROLL? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee71d97556afc36aff4a62c61b67437c20c4"></a><!-- doxytag: member="cap_cursor_with_hold" ref="306a884246abc1051bab4fb06393ee71d97556afc36aff4a62c61b67437c20c4" args="" -->cap_cursor_with_hold</em>&nbsp;</td><td>
-Can cursors be declared WITH HOLD? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee718ab47c10b60d6bd6664f6e88f300edcb"></a><!-- doxytag: member="cap_cursor_update" ref="306a884246abc1051bab4fb06393ee718ab47c10b60d6bd6664f6e88f300edcb" args="" -->cap_cursor_update</em>&nbsp;</td><td>
-Can cursors be updateable? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee7186380c8c083847ba3d16764784f5914f"></a><!-- doxytag: member="cap_cursor_fetch_0" ref="306a884246abc1051bab4fb06393ee7186380c8c083847ba3d16764784f5914f" args="" -->cap_cursor_fetch_0</em>&nbsp;</td><td>
-Can cursors fetch zero elements? (Used to trigger a "fetch all"). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee711f2b785abe834490c33dc4cf19c932d2"></a><!-- doxytag: member="cap_table_column" ref="306a884246abc1051bab4fb06393ee711f2b785abe834490c33dc4cf19c932d2" args="" -->cap_table_column</em>&nbsp;</td><td>
-Can we ask what table column a <a class="el" href="a00076.html" title="Query or command result set.">result</a> column came from? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee7101e68a67b6a3c92ce9b0c92fa73e90b2"></a><!-- doxytag: member="cap_read_only_transactions" ref="306a884246abc1051bab4fb06393ee7101e68a67b6a3c92ce9b0c92fa73e90b2" args="" -->cap_read_only_transactions</em>&nbsp;</td><td>
-Can transactions be READ ONLY? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee71befe533e379346c7b9644406c613eb02"></a><!-- doxytag: member="cap_statement_varargs" ref="306a884246abc1051bab4fb06393ee71befe533e379346c7b9644406c613eb02" args="" -->cap_statement_varargs</em>&nbsp;</td><td>
-Do prepared statements support varargs? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee716b019128f2fdcfa9d316042342846e2f"></a><!-- doxytag: member="cap_prepare_unnamed_statement" ref="306a884246abc1051bab4fb06393ee716b019128f2fdcfa9d316042342846e2f" args="" -->cap_prepare_unnamed_statement</em>&nbsp;</td><td>
-Is the unnamed prepared statement supported? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee71366c98bc3385ecfb39496bf7240e5973"></a><!-- doxytag: member="cap_parameterized_statements" ref="306a884246abc1051bab4fb06393ee71366c98bc3385ecfb39496bf7240e5973" args="" -->cap_parameterized_statements</em>&nbsp;</td><td>
-Can this connection execute parameterized statements? </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="306a884246abc1051bab4fb06393ee714a873c5d7e7fb0a9022cdd110181a7de"></a><!-- doxytag: member="cap_end" ref="306a884246abc1051bab4fb06393ee714a873c5d7e7fb0a9022cdd110181a7de" args="" -->cap_end</em>&nbsp;</td><td>
-Not a capability value; end-of-enumeration marker. </td></tr>
+<p><code>#include &lt;<a class="el" href="a00130_source.html">connection.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::connect_direct:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00020.png" usemap="#pqxx::connect_direct_map" alt=""/>
+  <map id="pqxx::connect_direct_map" name="pqxx::connect_direct_map">
+<area href="a00024.html" alt="pqxx::connectionpolicy" shape="rect" coords="0,0,139,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3ae8ab240a1f152c64cd40493d92f846"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#a3ae8ab240a1f152c64cd40493d92f846">connect_direct</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:a2b3538872ddbadb1e1a4aadc7724afb6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#a2b3538872ddbadb1e1a4aadc7724afb6">do_startconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
+<tr class="inherit_header pub_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:ab46be4bfe19a8a022f441d120b6b2f09 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab46be4bfe19a8a022f441d120b6b2f09">connectionpolicy</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:a69870c553a2ea10b2f1fbd6073c2fb25 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a69870c553a2ea10b2f1fbd6073c2fb25">~connectionpolicy</a> ()  throw ()</td></tr>
+<tr class="memitem:ae3164a06f63e76709e17065bea2bf938 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae3164a06f63e76709e17065bea2bf938">options</a> () const   throw ()</td></tr>
+<tr class="memitem:a0bbbedd08b7f579e5a2577e97b7e09b7 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a0bbbedd08b7f579e5a2577e97b7e09b7">do_completeconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)</td></tr>
+<tr class="memitem:a3358c5c2ab741a6fd798db538516a349 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a3358c5c2ab741a6fd798db538516a349">do_dropconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae74d43f05d575eb142e18ed0939de151 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae74d43f05d575eb142e18ed0939de151">do_disconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae6c506b9822a94dffd7e58a917d5509e inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae6c506b9822a94dffd7e58a917d5509e">is_ready</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a15bb552a890c0fb28fab2413200dee18 inherit pub_types_a00024"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a></td></tr>
+<tr class="inherit_header pro_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a5b4be97db7a8739e9f4fc7e1b7ab587c inherit pro_methods_a00024"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a5b4be97db7a8739e9f4fc7e1b7ab587c">normalconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
 </table>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="33700cc6d830d28c3dbd48eb9b7276ab"></a><!-- doxytag: member="pqxx::connection_base::connection_base" ref="33700cc6d830d28c3dbd48eb9b7276ab" args="(connectionpolicy &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::connection_base::connection_base           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00021.html">connectionpolicy</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>pol</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit, protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="9bd21013745b4454e248e637cdae1287"></a><!-- doxytag: member="pqxx::connection_base::disconnect" ref="9bd21013745b4454e248e637cdae1287" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::disconnect           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Explicitly close connection. 
-<p>
-
-<p>References <a class="el" href="a00216.html#l00075">pqxx::connectionpolicy::do_disconnect()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l00182">activate()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="36a26cf7e13f612749d49faf4f1654f8"></a><!-- doxytag: member="pqxx::connection_base::is_open" ref="36a26cf7e13f612749d49faf4f1654f8" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::connection_base::is_open           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is this connection open at the moment? 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This function is <b>not</b> needed in most code. Resist the temptation to check it after opening a connection; instead, rely on the <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception that will be thrown on connection <a class="el" href="a00032.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a>. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00218.html#l00182">activate()</a>, <a class="el" href="a00257.html#l00111">pqxx::transaction_base::commit()</a>, <a class="el" href="a00218.html#l00731">get_notifs()</a>, and <a class="el" href="a00218.html#l00265">set_variable()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1aa330287775aa1ff83f94714f772673"></a><!-- doxytag: member="pqxx::connection_base::activate" ref="1aa330287775aa1ff83f94714f772673" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::activate           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Explicitly activate deferred or deactivated connection. 
-<p>
-Use of this method is entirely optional. Whenever a connection is used while in a deferred or deactivated state, it will transparently try to bring itself into an activated state. This function is best viewed as an explicit hint to the connection that "if you're not in an active state, now would be a good time to get into one." Whether a connection is currently in an active state or not makes no real difference to its functionality. There is also no particular need to match calls to <a class="el" href="a00020.html#1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a> with calls to <a class="el" href="a00020.html#10b275082e18dbcb177a8871f92c7523" title="Explicitly deactivate connection.">deactivate()</a>. A good time to call <a class="el" href="a00020.html#1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a> might be just before you first open a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> on a lazy connection. 
-<p>References <a class="el" href="a00218.html#l00462">disconnect()</a>, <a class="el" href="a00216.html#l00063">pqxx::connectionpolicy::do_completeconnect()</a>, <a class="el" href="a00216.html#l00057">pqxx::connectionpolicy::do_startconnect()</a>, <a class="el" href="a00219.html#l00063">pqxx::internal::reactivation_avoidance_counter::get()</a>, and <a class="el" href="a00218.html#l00471">is_open()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01580">await_notification()</a>, <a class="el" href="a00218.html#l00785">dbname()</a>, <a class="el" href="a00218.html#l01404">esc()</a>, <a class="el" href="a00218.html#l01477">esc_raw()</a>, <a class="el" href="a00218.html#l00799">hostname()</a>, <a class="el" href="a00218.html#l00142">init()</a>, <a class="el" href="a00218.html#l00806">port()</a>, and <a class="el" href="a00218.html#l00792">username()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="10b275082e18dbcb177a8871f92c7523"></a><!-- doxytag: member="pqxx::connection_base::deactivate" ref="10b275082e18dbcb177a8871f92c7523" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::deactivate           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Explicitly deactivate connection. 
-<p>
-Like its counterpart <a class="el" href="a00020.html#1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a>, this method is entirely optional. Calling this function really only makes sense if you won't be using this connection for a while and want to reduce the number of open connections on the database server. There is no particular need to match or pair calls to <a class="el" href="a00020.html#10b275082e18dbcb177a8871f92c7523" title="Explicitly deactivate connection.">deactivate()</a> with calls to <a class="el" href="a00020.html#1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a>, but calling <a class="el" href="a00020.html#10b275082e18dbcb177a8871f92c7523" title="Explicitly deactivate connection.">deactivate()</a> during a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is an error. 
-<p>References <a class="el" href="a00216.html#l00075">pqxx::connectionpolicy::do_disconnect()</a>, <a class="el" href="a00219.html#l00063">pqxx::internal::reactivation_avoidance_counter::get()</a>, and <a class="el" href="a00218.html#l00514">process_notice()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01513">pqxx::internal::reactivation_avoidance_exemption::~reactivation_avoidance_exemption()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="edf7ac72658efa92e702a06b1964747a"></a><!-- doxytag: member="pqxx::connection_base::inhibit_reactivation" ref="edf7ac72658efa92e702a06b1964747a" args="(bool inhibit)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::inhibit_reactivation           </td>
-          <td>(</td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>inhibit</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Disallow (or permit) connection recovery. 
-<p>
-A connection whose underlying socket is not currently connected to the server will normally (re-)establish communication with the server whenever needed, or when the client program requests it (although for reasons of integrity, never inside a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>; but retrying the whole <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> may implicitly cause the connection to be restored). In normal use this is quite a convenient thing to have and presents a simple, safe, predictable interface.<p>
-There is at least one situation where this feature is not desirable, however. Although most session state (prepared statements, session variables) is automatically restored to its working state upon connection reactivation, temporary tables and so-called WITH HOLD cursors (which can live outside transactions) are not.<p>
-Cursors that live outside transactions are automatically handled, and the library will quietly ignore requests to deactivate or reactivate connections while they exist; it does not want to give you the illusion of being back in your <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> when in reality you just dropped a cursor. With temporary tables this is not so easy: there is no easy way for the library to detect their creation or track their lifetimes.<p>
-So if your program uses temporary tables, and any part of this use happens outside of any database <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> (or spans multiple transactions), some of the work you have done on these tables may unexpectedly be undone if the connection is broken or deactivated while any of these tables exists, and then reactivated or implicitly restored before you are finished with it.<p>
-If this describes any part of your program, guard it against unexpected reconnections by inhibiting reconnection at the beginning. And if you want to continue doing work on the connection afterwards that no longer requires the temp tables, you can permit it again to get the benefits of connection reactivation for the remainder of the program.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>inhibit</em>&nbsp;</td><td>should reactivation be inhibited from here on?</td></tr>
-  </table>
-</dl>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Some connection types (the lazy and asynchronous types) defer completion of the socket-level connection until it is actually needed by the client program. Inhibiting reactivation before this connection is really established will prevent these connection types from doing their work. For those connection types, if you are sure that reactivation needs to be inhibited before any query goes across the connection, <a class="el" href="a00020.html#1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a> the connection first. This will ensure that definite activation happens before you inhibit it. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00218.html#l01162">close()</a>, and <a class="el" href="a00218.html#l00239">simulate_failure()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="335ca1d83e65a9e57b907c431c3afbe1"></a><!-- doxytag: member="pqxx::connection_base::simulate_failure" ref="335ca1d83e65a9e57b907c431c3afbe1" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::simulate_failure           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Make the connection fail. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Do not use this except for testing! Breaks the connection in some unspecified, horrible, dirty way to enable <a class="el" href="a00032.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a> testing.</dd></dl>
-Do not use this in normal programs. This is only meant for testing. 
-<p>References <a class="el" href="a00216.html#l00075">pqxx::connectionpolicy::do_disconnect()</a>, and <a class="el" href="a00219.html#l00270">inhibit_reactivation()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c6b5f32ac91993b37531e96c2d14b18e"></a><!-- doxytag: member="pqxx::connection_base::set_noticer" ref="c6b5f32ac91993b37531e96c2d14b18e" args="(std::auto_ptr&lt; noticer &gt; N)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">auto_ptr&lt; <a class="el" href="a00057.html">pqxx::noticer</a> &gt; pqxx::connection_base::set_noticer           </td>
-          <td>(</td>
-          <td class="paramtype">std::auto_ptr&lt; <a class="el" href="a00057.html">noticer</a> &gt;&nbsp;</td>
-          <td class="paramname"> <em>N</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set handler for postgresql errors or warning messages. 
-<p>
-The use of auto_ptr implies ownership, so unless the returned value is copied to another auto_ptr, it will be deleted directly after the call. This may be important when running under Windows, where a DLL cannot free memory allocated by the main program. The auto_ptr will delete the object from your code context, rather than from inside the library.<p>
-If a <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> exists when the <a class="el" href="a00020.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> is destructed, it will also be deleted.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>New message handler; must not be null or equal to the old one </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Previous handler </dd></dl>
-
-<p>Referenced by <a class="el" href="a00218.html#l01162">close()</a>, <a class="el" href="a00203.html#l00068">pqxx::basic_connection&lt; CONNECTPOLICY &gt;::~basic_connection()</a>, and <a class="el" href="a00219.html#l00984">pqxx::scoped_noticer::~scoped_noticer()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="edf4e61e94ea58058e4bc592d98f8dc2"></a><!-- doxytag: member="pqxx::connection_base::get_noticer" ref="edf4e61e94ea58058e4bc592d98f8dc2" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00057.html">noticer</a>* pqxx::connection_base::get_noticer           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="140578ed1e1c65c61deb0407ff25959f"></a><!-- doxytag: member="pqxx::connection_base::process_notice" ref="140578ed1e1c65c61deb0407ff25959f" args="(const char[])" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::process_notice           </td>
-          <td>(</td>
-          <td class="paramtype">const &nbsp;</td>
-          <td class="paramname"> <em>char</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Invoke notice processor function. The message should end in newline. 
-<p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00187">pqxx::transaction_base::abort()</a>, <a class="el" href="a00218.html#l01162">close()</a>, <a class="el" href="a00257.html#l00111">pqxx::transaction_base::commit()</a>, <a class="el" href="a00218.html#l00219">deactivate()</a>, <a class="el" href="a00257.html#l00348">pqxx::transaction_base::End()</a>, <a class="el" href="a00218.html#l00731">get_notifs()</a>, and <a class="el" href="a00257.html#l00079">pqxx::transaction_base::~transaction_base()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9d64420154827b3572dcdb955a93bfff"></a><!-- doxytag: member="pqxx::connection_base::process_notice" ref="9d64420154827b3572dcdb955a93bfff" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::process_notice           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>msg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Invoke notice processor function. Newline at end is recommended. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f53d2c135aa27cdb1a66ff550a26e555"></a><!-- doxytag: member="pqxx::connection_base::trace" ref="f53d2c135aa27cdb1a66ff550a26e555" args="(FILE *)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::trace           </td>
-          <td>(</td>
-          <td class="paramtype">FILE *&nbsp;</td>
-          <td class="paramname"> <em>Out</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enable tracing to a given output stream, or NULL to disable. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="043e536c1923594c246f2ca8db31dffa"></a><!-- doxytag: member="pqxx::connection_base::dbname" ref="043e536c1923594c246f2ca8db31dffa" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * pqxx::connection_base::dbname           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Name of database we're connected to, if any. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This activates the connection, which may fail with a <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e02522000400fc2782e892ac0387d85b"></a><!-- doxytag: member="pqxx::connection_base::username" ref="e02522000400fc2782e892ac0387d85b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * pqxx::connection_base::username           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Database user ID we're connected under, if any. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This activates the connection, which may fail with a <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="38dde9befa350a07a5ac093d13ee64e2"></a><!-- doxytag: member="pqxx::connection_base::hostname" ref="38dde9befa350a07a5ac093d13ee64e2" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Connection policy; creates an immediate connection to a database. </p>
+<p>This is the policy you typically need when you work with a database through libpqxx. It connects to the database immediately. Another option is to defer setting up the underlying connection to the database until it's actually needed; the <a class="el" href="a00021.html" title="Lazy connection policy; causes connection to be deferred until first use.">connect_lazy</a> policy implements such "lazy" * behaviour.</p>
+<p>The advantage of having an "immediate" connection (as this policy gives you) is that any errors in setting up the connection will occur during construction of the connection object, rather than at some later point further down your program. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a3ae8ab240a1f152c64cd40493d92f846"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">const char * pqxx::connection_base::hostname           </td>
+          <td class="memname">pqxx::connect_direct::connect_direct </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>opts</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Address of server, or NULL if none specified (i.e. default or local). 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This activates the connection, which may fail with a <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="826750f0f13ede4ac4e6ca8a84711b53"></a><!-- doxytag: member="pqxx::connection_base::port" ref="826750f0f13ede4ac4e6ca8a84711b53" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * pqxx::connection_base::port           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Server port number we're connected to. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This activates the connection, which may fail with a <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="7179e32df28bd4bc81b85d99b36ad791"></a><!-- doxytag: member="pqxx::connection_base::backendpid" ref="7179e32df28bd4bc81b85d99b36ad791" args="() const " -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a2b3538872ddbadb1e1a4aadc7724afb6"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">int pqxx::connection_base::backendpid           </td>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connect_direct::do_startconnect </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-Process ID for backend process. 
-<p>
-Use with care: connections may be lost and automatically re-established without your knowledge, in which case this process ID may no longer be correct. You may, however, assume that this number remains constant and reliable within the span of a successful backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. If the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> fails, which may be due to a lost connection, then this number will have become invalid at some point within the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Process identifier, or 0 if not currently connected. </dd></dl>
+<p>Reimplemented from <a class="el" href="a00024.html#ab7c76ae54326197bcbe6d35b5bbb246f">pqxx::connectionpolicy</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="8ac078b1077fbe19ee1d713bb6b71e8f"></a><!-- doxytag: member="pqxx::connection_base::sock" ref="8ac078b1077fbe19ee1d713bb6b71e8f" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::connection_base::sock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Socket currently used for connection, or -1 for none. Use with care! 
-<p>
-Query the current socket number. This is intended for event loops based on functions such as select() or poll(), where multiple file descriptors are watched.<p>
-Please try to stay away from this function. It is really only meant for event loops that need to wait on more than one file descriptor. If all you need is to block until a notification arrives, for instance, use <a class="el" href="a00020.html#b5c24029bda3198d826d24757e49c746" title="Wait for a notification to come in.">await_notification()</a>. If you want to issue queries and retrieve results in nonblocking fashion, check out the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> class.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Don't store this value anywhere, and always be prepared for the possibility that there is no socket. The socket may change or even go away during any invocation of libpqxx code, no matter how trivial. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="efdde864e05f88e84d748236b93659e7"></a><!-- doxytag: member="pqxx::connection_base::supports" ref="efdde864e05f88e84d748236b93659e7" args="(capability c) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::connection_base::supports           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html#306a884246abc1051bab4fb06393ee71">capability</a>&nbsp;</td>
-          <td class="paramname"> <em>c</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Does this connection seem to support the given capability? 
-<p>
-Don't try to be smart by caching this information anywhere. Obtaining it is quite fast (especially after the first time) and what's more, a capability may "suddenly" appear or disappear if the connection is broken or deactivated, and then restored. This may happen silently any time no backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is active; if it turns out that the server was upgraded or restored from an older backup, or the new connection goes to a different backend, then the restored session may have different capabilities than were available previously.<p>
-Some guesswork is involved in establishing the presence of any capability; try not to rely on this function being exactly right.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Make sure your connection is active before calling this function, or the answer will always be "no." In particular, if you are using this function on a newly-created lazyconnection, activate the connection first. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00218.html#l00839">prepare()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b63e45ad783d8adb8d4a9f03e03ef6ef"></a><!-- doxytag: member="pqxx::connection_base::protocol_version" ref="b63e45ad783d8adb8d4a9f03e03ef6ef" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::connection_base::protocol_version           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What version of the PostgreSQL protocol is this connection using? 
-<p>
-The answer can be 0 (when there is no connection, or the libpq version being used is too old to obtain the information); 2 for protocol 2.0; 3 for protocol 3.0; and possibly higher values as newer protocol versions are taken into use.<p>
-If the connection is broken and restored, the restored connection could possibly a different server and protocol version. This would normally happen if the server is upgraded without shutting down the client program, for example.<p>
-Requires libpq version from PostgreSQL 7.4 or better. 
-</div>
-</div><p>
-<a class="anchor" name="cdd295f691812773133147530aa6ff21"></a><!-- doxytag: member="pqxx::connection_base::server_version" ref="cdd295f691812773133147530aa6ff21" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::connection_base::server_version           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What version of the PostgreSQL server are we connected to? 
-<p>
-The <a class="el" href="a00076.html" title="Query or command result set.">result</a> is a bit complicated: each of the major, medium, and minor release numbers is written as a two-digit decimal number, and the three are then concatenated. Thus server version 7.4.2 will be returned as the decimal number 70402. If there is no connection to the server, of if the libpq version is too old to obtain the information, zero is returned.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>When writing version numbers in your code, don't add zero at the beginning! Numbers beginning with zero are interpreted as octal (base-8) in C++. Thus, 070402 is not the same as 70402, and 080000 is not a number at all because there is no digit "8" in octal notation. Use strictly decimal notation when it comes to these version numbers. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="04895c06c5ae1d8b0863a32a28beff51"></a><!-- doxytag: member="pqxx::connection_base::set_client_encoding" ref="04895c06c5ae1d8b0863a32a28beff51" args="(const std::string &amp;Encoding)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::set_client_encoding           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Encoding</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set client-side character encoding. 
-<p>
-Search the PostgreSQL documentation for "multibyte" or "character set encodings" to find out more about the available encodings, how to extend them, and how to use them. Not all server-side encodings are compatible with all client-side encodings or vice versa. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Encoding</em>&nbsp;</td><td>Name of the character set encoding to use </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="120b9e03dcaa9b0c3ef7026afa64d954"></a><!-- doxytag: member="pqxx::connection_base::set_variable" ref="120b9e03dcaa9b0c3ef7026afa64d954" args="(const std::string &amp;Var, const std::string &amp;Value)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::set_variable           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Value</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set session variable. 
-<p>
-Set a session variable for this connection, using the SET command. If the connection to the database is lost and recovered, the last-set value will be restored automatically. See the PostgreSQL documentation for a list of variables that can be set and their permissible values. If a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is currently in progress, aborting that <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> will normally discard the newly set value. Known exceptions are <a class="el" href="a00055.html">nontransaction</a> (which doesn't start a real backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>) and PostgreSQL versions prior to 7.3. <dl class="warning" compact><dt><b>Warning:</b></dt><dd>Do not mix the set_variable interface with manual setting of variables by executing the corresponding SQL commands, and do not get or set variables while a <a class="el" href="a00100.html" title="Base class for streaming data to/from database tables.">tablestream</a> or <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> is active on the same connection. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Var</em>&nbsp;</td><td>Variable to set </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Value</em>&nbsp;</td><td>Value vor Var to assume: an identifier, a quoted string, or a number. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00218.html#l00471">is_open()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="908a2ffdf56d8259492e9f3894e24f65"></a><!-- doxytag: member="pqxx::connection_base::get_variable" ref="908a2ffdf56d8259492e9f3894e24f65" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">string pqxx::connection_base::get_variable           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Var</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read session variable. 
-<p>
-Will try to read the value locally, from the list of variables set with the set_variable function. If that fails, the database is queried. <dl class="warning" compact><dt><b>Warning:</b></dt><dd>Do not mix the set_variable interface with manual setting of variables by executing the corresponding SQL commands, and do not get or set variables while a <a class="el" href="a00100.html" title="Base class for streaming data to/from database tables.">tablestream</a> or <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> is active on the same connection. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="a839a066c0289a12f664e29c9dbafd38"></a><!-- doxytag: member="pqxx::connection_base::get_notifs" ref="a839a066c0289a12f664e29c9dbafd38" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::connection_base::get_notifs           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Check for pending notifications and take appropriate action. 
-<p>
-All notifications found pending at call time are processed by finding any matching listeners and invoking those. If no listeners matched the notification string, none are invoked but the notification is considered processed.<p>
-Exceptions thrown by client-registered listeners handlers are reported using the connection's message <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a>, but the exceptions themselves are not passed on outside this function.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of notifications processed </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00471">is_open()</a>, and <a class="el" href="a00218.html#l00514">process_notice()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01580">await_notification()</a>, and <a class="el" href="a00257.html#l00325">pqxx::transaction_base::Begin()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b5c24029bda3198d826d24757e49c746"></a><!-- doxytag: member="pqxx::connection_base::await_notification" ref="b5c24029bda3198d826d24757e49c746" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::connection_base::await_notification           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait for a notification to come in. 
-<p>
-The wait may also be terminated by other events, such as the connection to the backend failing. Any pending or received notifications are processed as part of the call.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of notifications processed </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>, <a class="el" href="a00218.html#l00731">get_notifs()</a>, and <a class="el" href="a00218.html#l01562">wait_read()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9e66faad88a94857c0749b9bbc5d352"></a><!-- doxytag: member="pqxx::connection_base::await_notification" ref="a9e66faad88a94857c0749b9bbc5d352" args="(long seconds, long microseconds)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::connection_base::await_notification           </td>
-          <td>(</td>
-          <td class="paramtype">long&nbsp;</td>
-          <td class="paramname"> <em>seconds</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">long&nbsp;</td>
-          <td class="paramname"> <em>microseconds</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait for a notification to come in, or for given timeout to pass. 
-<p>
-The wait may also be terminated by other events, such as the connection to the backend failing. Any pending or received notifications are processed as part of the call.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of notifications processed </dd></dl>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>, <a class="el" href="a00218.html#l00731">get_notifs()</a>, and <a class="el" href="a00218.html#l01562">wait_read()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d2b9e50c9ebfab7c86a091cd939e1e6c"></a><!-- doxytag: member="pqxx::connection_base::prepare" ref="d2b9e50c9ebfab7c86a091cd939e1e6c" args="(const std::string &amp;name, const std::string &amp;definition)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00026.html">pqxx::prepare::declaration</a> pqxx::connection_base::prepare           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>definition</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Define a prepared statement. 
-<p>
-To declare parameters to this statement, add them by calling the function invocation operator (<code>operator()</code>) on the returned object. See prepare::param_declaration and <a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">prepare::param_treatment</a> for more about how to do this.<p>
-The statement's definition can refer to a parameter using the parameter's positional number n in the definition. For example, the first parameter can be used as a variable "$1", the second as "$2" and so on.<p>
-One might use a prepared statement as in the following example. Note the unusual syntax associated with parameter definitions and parameter passing: every new parameter is just a parenthesized expression that is simply tacked onto the end of the statement!<p>
-<div class="fragment"><pre class="fragment"> <span class="keyword">using namespace </span>pqxx;
- <span class="keywordtype">void</span> foo(<a class="code" href="a00020.html#33700cc6d830d28c3dbd48eb9b7276ab">connection_base</a> &amp;C)
- {
-   C.prepare(<span class="stringliteral">"findtable"</span>,
-             <span class="stringliteral">"select * from pg_tables where name=$1"</span>)
-             (<span class="stringliteral">"varchar"</span>, <a class="code" href="a00189.html#c17c76a56c23b370ce055beef0a1eef30b9178cb2051d7f786e6fc811cb970f1" title="Escape special characters and add quotes.">treat_string</a>);
-   <a class="code" href="a00199.html#g82685329d6fd91f5ab30772d266fe5f0" title="Bog-standard, default transaction type.">work</a> W(C);
-   result R = W.prepared(<span class="stringliteral">"findtable"</span>)(<span class="stringliteral">"mytable"</span>).exec();
-   <span class="keywordflow">if</span> (R.empty()) <span class="keywordflow">throw</span> runtime_error(<span class="stringliteral">"mytable not found!"</span>);
- }
-</pre></div><p>
-For better performance, prepared statements aren't really registered with the backend until they are first used. If this is not what you want, e.g. because you have very specific realtime requirements, you can use the <code><a class="el" href="a00020.html#32efdc645566975851bfc7d6b82d214c" title="Request that prepared statement be registered with the server.">prepare_now()</a></code> function to force immediate preparation.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>The statement may not be registered with the backend until it is actually used. So if the statement is syntactically incorrect, for example, a <a class="el" href="a00098.html">syntax_error</a> may be thrown either from here, or when you try to call the statement later, or somewhere inbetween if <a class="el" href="a00020.html#32efdc645566975851bfc7d6b82d214c" title="Request that prepared statement be registered with the server.">prepare_now()</a> is called. This is not guaranteed, and it's still possible to get a <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a> or <a class="el" href="a00088.html" title="Exception class for failed queries.">sql_error</a> here, for example.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>unique identifier to associate with new prepared statement </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>definition</em>&nbsp;</td><td>SQL statement to <a class="el" href="a00189.html" title="Dedicated namespace for helper types related to prepared statements.">prepare</a> </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00219.html#l00422">cap_prepare_unnamed_statement</a>, and <a class="el" href="a00219.html#l00449">supports()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l00875">prepare()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f2dcc39b88897fe2bc3c5742edd43645"></a><!-- doxytag: member="pqxx::connection_base::prepare" ref="f2dcc39b88897fe2bc3c5742edd43645" args="(const std::string &amp;definition)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00026.html">pqxx::prepare::declaration</a> pqxx::connection_base::prepare           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>definition</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Define a nameless prepared statement. 
-<p>
-This can be useful if you merely want to pass large binary parameters to a statement without otherwise wishing to <a class="el" href="a00189.html" title="Dedicated namespace for helper types related to prepared statements.">prepare</a> it. If you use this feature, always keep the definition and the use close together to avoid the nameless statement being redefined unexpectedly by code somewhere else. 
-<p>References <a class="el" href="a00218.html#l00839">prepare()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="30ec51634479614b45106532e87e5dc7"></a><!-- doxytag: member="pqxx::connection_base::unprepare" ref="30ec51634479614b45106532e87e5dc7" args="(const std::string &amp;name)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::unprepare           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>name</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Drop prepared statement. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="32efdc645566975851bfc7d6b82d214c"></a><!-- doxytag: member="pqxx::connection_base::prepare_now" ref="32efdc645566975851bfc7d6b82d214c" args="(const std::string &amp;name)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::prepare_now           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>name</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Request that prepared statement be registered with the server. 
-<p>
-If the statement had already been fully prepared, this will do nothing.<p>
-If the connection should break and be transparently restored, then the new connection will again defer registering the statement with the server. Since connections are never restored inside backend transactions, doing this once at the beginning of your <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> ensures that the statement will not be re-registered during that <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. In most cases, however, it's probably better not to use this and let the connection decide when and whether to register prepared statements that you've defined. 
-</div>
-</div><p>
-<a class="anchor" name="53881917fd565daf7e66496fa74f397d"></a><!-- doxytag: member="pqxx::connection_base::perform" ref="53881917fd565daf7e66496fa74f397d" args="(const TRANSACTOR &amp;T, int Attempts)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTOR&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::perform           </td>
-          <td>(</td>
-          <td class="paramtype">const TRANSACTOR &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>Attempts</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Perform the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> defined by a transactor-based object. 
-<p>
-Invokes the given <a class="el" href="a00107.html">transactor</a>, making at most Attempts attempts to perform the encapsulated code. If the code throws any exception other than <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a>, it will be aborted right away.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The <a class="el" href="a00107.html">transactor</a> to be executed. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Attempts</em>&nbsp;</td><td>Maximum number of attempts to be made to execute T. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="858d1cb7c11c365faf203935a48c5f1b"></a><!-- doxytag: member="pqxx::connection_base::perform" ref="858d1cb7c11c365faf203935a48c5f1b" args="(const TRANSACTOR &amp;T)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTOR&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::perform           </td>
-          <td>(</td>
-          <td class="paramtype">const TRANSACTOR &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Perform the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> defined by a transactor-based object. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The <a class="el" href="a00107.html">transactor</a> to be executed. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="4963aaba6da521d480c21c7ec01835cf"></a><!-- doxytag: member="pqxx::connection_base::adorn_name" ref="4963aaba6da521d480c21c7ec01835cf" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">string pqxx::connection_base::adorn_name           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Suffix unique number to name to make it unique within session context. 
-<p>
-Used internally to generate identifiers for SQL objects (such as cursors and nested transactions) based on a given human-readable base name. 
-<p>References <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9709e4738b1bfb1dba547381749908cb"></a><!-- doxytag: member="pqxx::connection_base::cancel_query" ref="9709e4738b1bfb1dba547381749908cb" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::cancel_query           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Attempt to cancel the ongoing query, if any. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1d1c129c2c5797a82f251ee9dabec77e"></a><!-- doxytag: member="pqxx::connection_base::init" ref="1d1c129c2c5797a82f251ee9dabec77e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::init           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l00182">activate()</a>, <a class="el" href="a00216.html#l00057">pqxx::connectionpolicy::do_startconnect()</a>, and <a class="el" href="a00216.html#l00083">pqxx::connectionpolicy::is_ready()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00203.html#l00053">pqxx::basic_connection&lt; CONNECTPOLICY &gt;::basic_connection()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f02016af0233bed748eb1ddab9685131"></a><!-- doxytag: member="pqxx::connection_base::close" ref="f02016af0233bed748eb1ddab9685131" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::close           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00219.html#l00062">pqxx::internal::reactivation_avoidance_counter::clear()</a>, <a class="el" href="a00216.html#l00075">pqxx::connectionpolicy::do_disconnect()</a>, <a class="el" href="a00219.html#l00270">inhibit_reactivation()</a>, <a class="el" href="a00218.html#l00514">process_notice()</a>, and <a class="el" href="a00218.html#l00488">set_noticer()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00203.html#l00068">pqxx::basic_connection&lt; CONNECTPOLICY &gt;::~basic_connection()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f860fe4c418cfa4f573f34d73327d111"></a><!-- doxytag: member="pqxx::connection_base::wait_read" ref="f860fe4c418cfa4f573f34d73327d111" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::wait_read           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l01547">pqxx::internal::wait_read()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01580">await_notification()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b8c7dd5e54493e18d5900dd70012d062"></a><!-- doxytag: member="pqxx::connection_base::wait_read" ref="b8c7dd5e54493e18d5900dd70012d062" args="(long seconds, long microseconds) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::wait_read           </td>
-          <td>(</td>
-          <td class="paramtype">long&nbsp;</td>
-          <td class="paramname"> <em>seconds</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">long&nbsp;</td>
-          <td class="paramname"> <em>microseconds</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"> const<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l01547">pqxx::internal::wait_read()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cfb8d53e6f105db280cd5d977c005bea"></a><!-- doxytag: member="pqxx::connection_base::wait_write" ref="cfb8d53e6f105db280cd5d977c005bea" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::connection_base::wait_write           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l01556">pqxx::internal::wait_write()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="1407974cc9c548bee6d31834625c3d45"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_prepare_declaration" ref="1407974cc9c548bee6d31834625c3d45" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_prepare_declaration<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c2eff365ba0aa25ebbf5f903ac3c7a54"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_prepare_invocation" ref="c2eff365ba0aa25ebbf5f903ac3c7a54" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_prepare_invocation<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3c60c76e32687adce1e8c0dba0919773"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_transaction" ref="3c60c76e32687adce1e8c0dba0919773" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_transaction<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b15ff67d81467d271dc713b2584f1328"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_largeobject" ref="b15ff67d81467d271dc713b2584f1328" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_largeobject<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="518f718405d80def662f248b427f0e60"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_notify_listener" ref="518f718405d80def662f248b427f0e60" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_notify_listener<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3b9c5dc16f04600aa5415e06f6ff8fa6"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_pipeline" ref="3b9c5dc16f04600aa5415e06f6ff8fa6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_pipeline<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f3dfec559fe2305e57aba653abe4c8ad"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_dbtransaction" ref="f3dfec559fe2305e57aba653abe4c8ad" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_dbtransaction<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="84c1a28176815ab9103c7febec450755"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_sql_cursor" ref="84c1a28176815ab9103c7febec450755" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_sql_cursor<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2247d8690958f634898bbf014a7d418c"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_reactivation_avoidance_exemption" ref="2247d8690958f634898bbf014a7d418c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_reactivation_avoidance_exemption<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0e64dc314f291c6f81a948c59d94aa8a"></a><!-- doxytag: member="pqxx::connection_base::internal::gate::connection_parameterized_invocation" ref="0e64dc314f291c6f81a948c59d94aa8a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::connection_parameterized_invocation<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a><li><a class="el" href="a00259.html">transactor.hxx</a><li><a class="el" href="a00128.html">connection_base.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00130_source.html">connection.hxx</a></li>
+<li>connection.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00020.html">connect_direct</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00020.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00020.js
--- 3.1-1.1/doc/html/Reference/a00020.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00020.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00020 =
+[
+    [ "connect_direct", "a00020.html#a3ae8ab240a1f152c64cd40493d92f846", null ],
+    [ "do_startconnect", "a00020.html#a2b3538872ddbadb1e1a4aadc7724afb6", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00020.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00020.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00021.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00021.html
--- 3.1-1.1/doc/html/Reference/a00021.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00021.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,301 +1,181 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::connectionpolicy Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::connect_lazy Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00021.html">connectionpolicy</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00021.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00211.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::connect_lazy Class Reference<div class="ingroups"><a class="el" href="a00200.html">Connection classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::connectionpolicy Class Reference<br>
-<small>
-[<a class="el" href="a00197.html">Connection classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::connectionpolicy" --><code>#include &lt;<a class="el" href="a00220.html">connectionpolicy.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::connectionpolicy:</div>
-<div class="dynsection">
-<p><center><img src="a00463.png" border="0" usemap="#a00464" alt="Inheritance graph"></center>
-<map name="a00464">
-<area shape="rect" href="a00016.html" title="Asynchronous connection policy; connects &quot;in the background&quot;." alt="" coords="5,84,160,110"><area shape="rect" href="a00017.html" title="Connection policy; creates an immediate connection to a database." alt="" coords="184,84,336,110"><area shape="rect" href="a00018.html" title="Lazy connection policy; causes connection to be deferred until first use." alt="" coords="360,84,501,110"><area shape="rect" href="a00019.html" title="Nonfunctional, always&#45;down connection policy for testing/debugging purposes." alt="" coords="525,84,664,110"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00465.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#5b4be97db7a8739e9f4fc7e1b7ab587c">normalconnect</a> (handle)</td></tr>
-
-<tr><td colspan="2"><br><h2>Package Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#b46be4bfe19a8a022f441d120b6b2f09">connectionpolicy</a> (const std::string &amp;opts)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#69870c553a2ea10b2f1fbd6073c2fb25">~connectionpolicy</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#0c4487d6ea9cdfbd76948ad0f6b1d3c1">options</a> () const   throw ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#b7c76ae54326197bcbe6d35b5bbb246f">do_startconnect</a> (handle orig)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#0bbbedd08b7f579e5a2577e97b7e09b7">do_completeconnect</a> (handle orig)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#3358c5c2ab741a6fd798db538516a349">do_dropconnect</a> (handle orig)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual handle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#e74d43f05d575eb142e18ed0939de151">do_disconnect</a> (handle orig)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#e6c506b9822a94dffd7e58a917d5509e">is_ready</a> (handle) const   throw ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Package Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#f12878b224dd60f29150eb8ce623d5df">__pad0__</a>:pq::PGconn *handle</td></tr>
+<p>Lazy connection policy; causes connection to be deferred until first use.  
+ <a href="a00021.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00130_source.html">connection.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::connect_lazy:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00021.png" usemap="#pqxx::connect_lazy_map" alt=""/>
+  <map id="pqxx::connect_lazy_map" name="pqxx::connect_lazy_map">
+<area href="a00024.html" alt="pqxx::connectionpolicy" shape="rect" coords="0,0,139,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9d93b15b0681f3b4e25e9fab79adb8cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a9d93b15b0681f3b4e25e9fab79adb8cd">connect_lazy</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:ad5c2b3b6043ff998ad67cddc89e2669b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ad5c2b3b6043ff998ad67cddc89e2669b">do_completeconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
+<tr class="inherit_header pub_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:ab46be4bfe19a8a022f441d120b6b2f09 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab46be4bfe19a8a022f441d120b6b2f09">connectionpolicy</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:a69870c553a2ea10b2f1fbd6073c2fb25 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a69870c553a2ea10b2f1fbd6073c2fb25">~connectionpolicy</a> ()  throw ()</td></tr>
+<tr class="memitem:ae3164a06f63e76709e17065bea2bf938 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae3164a06f63e76709e17065bea2bf938">options</a> () const   throw ()</td></tr>
+<tr class="memitem:ab7c76ae54326197bcbe6d35b5bbb246f inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab7c76ae54326197bcbe6d35b5bbb246f">do_startconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)</td></tr>
+<tr class="memitem:a3358c5c2ab741a6fd798db538516a349 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a3358c5c2ab741a6fd798db538516a349">do_dropconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae74d43f05d575eb142e18ed0939de151 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae74d43f05d575eb142e18ed0939de151">do_disconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae6c506b9822a94dffd7e58a917d5509e inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae6c506b9822a94dffd7e58a917d5509e">is_ready</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a15bb552a890c0fb28fab2413200dee18 inherit pub_types_a00024"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a></td></tr>
+<tr class="inherit_header pro_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a5b4be97db7a8739e9f4fc7e1b7ab587c inherit pro_methods_a00024"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a5b4be97db7a8739e9f4fc7e1b7ab587c">normalconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="b46be4bfe19a8a022f441d120b6b2f09"></a><!-- doxytag: member="pqxx::connectionpolicy::connectionpolicy" ref="b46be4bfe19a8a022f441d120b6b2f09" args="(const std::string &amp;opts)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::connectionpolicy::connectionpolicy           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>opts</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit, package]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="69870c553a2ea10b2f1fbd6073c2fb25"></a><!-- doxytag: member="pqxx::connectionpolicy::~connectionpolicy" ref="69870c553a2ea10b2f1fbd6073c2fb25" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Lazy connection policy; causes connection to be deferred until first use. </p>
+<p>This is <a class="el" href="a00020.html" title="Connection policy; creates an immediate connection to a database.">connect_direct</a>'s lazy younger brother. It does not open a connection right away; the connection is only created when it is actually used. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a9d93b15b0681f3b4e25e9fab79adb8cd"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::~connectionpolicy           </td>
+          <td class="memname">pqxx::connect_lazy::connect_lazy </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [package, virtual]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>opts</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0c4487d6ea9cdfbd76948ad0f6b1d3c1"></a><!-- doxytag: member="pqxx::connectionpolicy::options" ref="0c4487d6ea9cdfbd76948ad0f6b1d3c1" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const std ::string&amp; pqxx::connectionpolicy::options           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [package]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00216.html#l00118">pqxx::connect_async::do_startconnect()</a>, and <a class="el" href="a00216.html#l00041">normalconnect()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b7c76ae54326197bcbe6d35b5bbb246f"></a><!-- doxytag: member="pqxx::connectionpolicy::do_startconnect" ref="b7c76ae54326197bcbe6d35b5bbb246f" args="(handle orig)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connectionpolicy::do_startconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [package, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00017.html#2b3538872ddbadb1e1a4aadc7724afb6">pqxx::connect_direct</a>, and <a class="el" href="a00016.html#dc14fc627579522b2284af143b8ac9ea">pqxx::connect_async</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l00182">pqxx::connection_base::activate()</a>, and <a class="el" href="a00218.html#l00142">pqxx::connection_base::init()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0bbbedd08b7f579e5a2577e97b7e09b7"></a><!-- doxytag: member="pqxx::connectionpolicy::do_completeconnect" ref="0bbbedd08b7f579e5a2577e97b7e09b7" args="(handle orig)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connectionpolicy::do_completeconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [package, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00018.html#d5c2b3b6043ff998ad67cddc89e2669b">pqxx::connect_lazy</a>, and <a class="el" href="a00016.html#a2b7f15be38163b46695c2739b59fb8b">pqxx::connect_async</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l00182">pqxx::connection_base::activate()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3358c5c2ab741a6fd798db538516a349"></a><!-- doxytag: member="pqxx::connectionpolicy::do_dropconnect" ref="3358c5c2ab741a6fd798db538516a349" args="(handle orig)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connectionpolicy::do_dropconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [package, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00016.html#36ed18e0528808b19df70dcf721da973">pqxx::connect_async</a>.</p>
-
-<p>Referenced by <a class="el" href="a00216.html#l00075">do_disconnect()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e74d43f05d575eb142e18ed0939de151"></a><!-- doxytag: member="pqxx::connectionpolicy::do_disconnect" ref="e74d43f05d575eb142e18ed0939de151" args="(handle orig)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connectionpolicy::do_disconnect           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [package, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00216.html#l00069">do_dropconnect()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01162">pqxx::connection_base::close()</a>, <a class="el" href="a00218.html#l00219">pqxx::connection_base::deactivate()</a>, <a class="el" href="a00218.html#l00462">pqxx::connection_base::disconnect()</a>, <a class="el" href="a00216.html#l00135">pqxx::connect_async::do_completeconnect()</a>, <a class="el" href="a00216.html#l00090">pqxx::connect_direct::do_startconnect()</a>, and <a class="el" href="a00218.html#l00239">pqxx::connection_base::simulate_failure()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="e6c506b9822a94dffd7e58a917d5509e"></a><!-- doxytag: member="pqxx::connectionpolicy::is_ready" ref="e6c506b9822a94dffd7e58a917d5509e" args="(handle) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::connectionpolicy::is_ready           </td>
-          <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>h</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [package, virtual]</code></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00016.html#48a470b67ec1adb0459b0e009b0a60d0">pqxx::connect_async</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l00142">pqxx::connection_base::init()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="5b4be97db7a8739e9f4fc7e1b7ab587c"></a><!-- doxytag: member="pqxx::connectionpolicy::normalconnect" ref="5b4be97db7a8739e9f4fc7e1b7ab587c" args="(handle)" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ad5c2b3b6043ff998ad67cddc89e2669b"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::connectionpolicy::handle pqxx::connectionpolicy::normalconnect           </td>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connect_lazy::do_completeconnect </td>
           <td>(</td>
-          <td class="paramtype">handle&nbsp;</td>
-          <td class="paramname"> <em>orig</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected]</code></td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00220.html#l00047">options()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00216.html#l00105">pqxx::connect_lazy::do_completeconnect()</a>, and <a class="el" href="a00216.html#l00090">pqxx::connect_direct::do_startconnect()</a>.</p>
+<p>Reimplemented from <a class="el" href="a00024.html#a0bbbedd08b7f579e5a2577e97b7e09b7">pqxx::connectionpolicy</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="f12878b224dd60f29150eb8ce623d5df"></a><!-- doxytag: member="pqxx::connectionpolicy::__pad0__" ref="f12878b224dd60f29150eb8ce623d5df" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00021.html#f12878b224dd60f29150eb8ce623d5df">pqxx::connectionpolicy::__pad0__</a><code> [package]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00220.html">connectionpolicy.hxx</a><li><a class="el" href="a00126.html">connection.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00130_source.html">connection.hxx</a></li>
+<li>connection.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00021.html">connect_lazy</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00021.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00021.js
--- 3.1-1.1/doc/html/Reference/a00021.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00021.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00021 =
+[
+    [ "connect_lazy", "a00021.html#a9d93b15b0681f3b4e25e9fab79adb8cd", null ],
+    [ "do_completeconnect", "a00021.html#ad5c2b3b6043ff998ad67cddc89e2669b", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00021.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00021.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00022.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00022.html
--- 3.1-1.1/doc/html/Reference/a00022.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00022.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,80 +1,153 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::conversion_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::connect_null Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00022.html">conversion_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00022.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00213.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::connect_null Class Reference<div class="ingroups"><a class="el" href="a00200.html">Connection classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::conversion_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::conversion_error" --><!-- doxytag: inherits="pqxx::pqxx_exception" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::conversion_error:</div>
-<div class="dynsection">
-<p><center><img src="a00499.png" border="0" usemap="#a00500" alt="Inheritance graph"></center>
-<map name="a00500">
-<area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="9,6,167,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
-<p>
-<a href="a00501.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#a26b38ec0b49d925597fb0924d34e5a2">conversion_error</a> (const std::string &amp;)</td></tr>
+<p>Nonfunctional, always-down connection policy for testing/debugging purposes.  
+ <a href="a00022.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00130_source.html">connection.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::connect_null:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00022.png" usemap="#pqxx::connect_null_map" alt=""/>
+  <map id="pqxx::connect_null_map" name="pqxx::connect_null_map">
+<area href="a00024.html" alt="pqxx::connectionpolicy" shape="rect" coords="0,0,139,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0f3aae5285574af29d06abdcb7f2560c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#a0f3aae5285574af29d06abdcb7f2560c">connect_null</a> (const std::string &amp;opts)</td></tr>
+<tr class="inherit_header pub_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:ab46be4bfe19a8a022f441d120b6b2f09 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab46be4bfe19a8a022f441d120b6b2f09">connectionpolicy</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:a69870c553a2ea10b2f1fbd6073c2fb25 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a69870c553a2ea10b2f1fbd6073c2fb25">~connectionpolicy</a> ()  throw ()</td></tr>
+<tr class="memitem:ae3164a06f63e76709e17065bea2bf938 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae3164a06f63e76709e17065bea2bf938">options</a> () const   throw ()</td></tr>
+<tr class="memitem:ab7c76ae54326197bcbe6d35b5bbb246f inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab7c76ae54326197bcbe6d35b5bbb246f">do_startconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)</td></tr>
+<tr class="memitem:a0bbbedd08b7f579e5a2577e97b7e09b7 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a0bbbedd08b7f579e5a2577e97b7e09b7">do_completeconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)</td></tr>
+<tr class="memitem:a3358c5c2ab741a6fd798db538516a349 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a3358c5c2ab741a6fd798db538516a349">do_dropconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae74d43f05d575eb142e18ed0939de151 inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae74d43f05d575eb142e18ed0939de151">do_disconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae6c506b9822a94dffd7e58a917d5509e inherit pub_methods_a00024"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae6c506b9822a94dffd7e58a917d5509e">is_ready</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00024"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00024')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a15bb552a890c0fb28fab2413200dee18 inherit pub_types_a00024"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a></td></tr>
+<tr class="inherit_header pro_methods_a00024"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00024')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00024.html">pqxx::connectionpolicy</a></td></tr>
+<tr class="memitem:a5b4be97db7a8739e9f4fc7e1b7ab587c inherit pro_methods_a00024"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a5b4be97db7a8739e9f4fc7e1b7ab587c">normalconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a26b38ec0b49d925597fb0924d34e5a2"></a><!-- doxytag: member="pqxx::conversion_error::conversion_error" ref="a26b38ec0b49d925597fb0924d34e5a2" args="(const std::string &amp;)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Nonfunctional, always-down connection policy for testing/debugging purposes. </p>
+<dl class="section warning"><dt>Warning</dt><dd>You don't want to use this policy in normal code. Written for debugging and testing, this "connection policy" always fails to connect, and the internal connection pointer always remains null. </dd></dl>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a0f3aae5285574af29d06abdcb7f2560c"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::conversion_error::conversion_error           </td>
+          <td class="memname">pqxx::connect_null::connect_null </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>opts</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00130_source.html">connection.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00022.html">connect_null</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00022.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00022.js
--- 3.1-1.1/doc/html/Reference/a00022.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00022.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00022 =
+[
+    [ "connect_null", "a00022.html#a0f3aae5285574af29d06abdcb7f2560c", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00022.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00022.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00023.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00023.html
--- 3.1-1.1/doc/html/Reference/a00023.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00023.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,390 +1,1455 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::cursor_base Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::connection_base Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00023.html">cursor_base</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00023.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00216.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::connection_base Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::cursor_base Class Reference</h1><!-- doxytag: class="pqxx::cursor_base" -->Common definitions for cursor types.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00222.html">cursor.hxx</a>&gt;</code>
-<p>
+
+<p><a class="el" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> abstract base class; represents a connection to a database.  
+ <a href="a00023.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::cursor_base:</div>
-<div class="dynsection">
-<p><center><img src="a00466.png" border="0" usemap="#a00467" alt="Inheritance graph"></center>
-<map name="a00467">
-<area shape="rect" href="a00087.html" title="Cursor with SQL positioning semantics." alt="" coords="5,84,184,110"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00468.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#591ac7d2302288890c04e6159eb6d30e">accesspolicy</a> { <a class="el" href="a00023.html#591ac7d2302288890c04e6159eb6d30ef440221f717464c87f043899cc117cbf">forward_only</a>, 
-<a class="el" href="a00023.html#591ac7d2302288890c04e6159eb6d30e7f6c1ed7719885433353a78946b2c5f3">random_access</a>
+Inheritance diagram for pqxx::connection_base:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00023.png" usemap="#pqxx::connection_base_map" alt=""/>
+  <map id="pqxx::connection_base_map" name="pqxx::connection_base_map">
+<area href="a00006.html" title="The ultimate template that defines a connection type." alt="pqxx::basic_connection&lt; CONNECTPOLICY &gt;" shape="rect" coords="0,56,273,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9bd21013745b4454e248e637cdae1287"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a9bd21013745b4454e248e637cdae1287">disconnect</a> ()  throw ()</td></tr>
+<tr class="memdesc:a9bd21013745b4454e248e637cdae1287"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly close connection.  <a href="#a9bd21013745b4454e248e637cdae1287"></a><br/></td></tr>
+<tr class="memitem:a36a26cf7e13f612749d49faf4f1654f8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a36a26cf7e13f612749d49faf4f1654f8">is_open</a> () const   throw ()</td></tr>
+<tr class="memdesc:a36a26cf7e13f612749d49faf4f1654f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this connection open at the moment?  <a href="#a36a26cf7e13f612749d49faf4f1654f8"></a><br/></td></tr>
+<tr class="memitem:af53d2c135aa27cdb1a66ff550a26e555"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af53d2c135aa27cdb1a66ff550a26e555">trace</a> (FILE *)  throw ()</td></tr>
+<tr class="memdesc:af53d2c135aa27cdb1a66ff550a26e555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable tracing to a given output stream, or NULL to disable.  <a href="#af53d2c135aa27cdb1a66ff550a26e555"></a><br/></td></tr>
+<tr class="memitem:a04895c06c5ae1d8b0863a32a28beff51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a04895c06c5ae1d8b0863a32a28beff51">set_client_encoding</a> (const std::string &amp;Encoding)</td></tr>
+<tr class="memdesc:a04895c06c5ae1d8b0863a32a28beff51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set client-side character encoding.  <a href="#a04895c06c5ae1d8b0863a32a28beff51"></a><br/></td></tr>
+<tr class="memitem:a120b9e03dcaa9b0c3ef7026afa64d954"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a120b9e03dcaa9b0c3ef7026afa64d954">set_variable</a> (const std::string &amp;Var, const std::string &amp;Value)</td></tr>
+<tr class="memdesc:a120b9e03dcaa9b0c3ef7026afa64d954"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable.  <a href="#a120b9e03dcaa9b0c3ef7026afa64d954"></a><br/></td></tr>
+<tr class="memitem:a908a2ffdf56d8259492e9f3894e24f65"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a908a2ffdf56d8259492e9f3894e24f65">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a908a2ffdf56d8259492e9f3894e24f65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read session variable.  <a href="#a908a2ffdf56d8259492e9f3894e24f65"></a><br/></td></tr>
+<tr class="memitem:a4963aaba6da521d480c21c7ec01835cf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a4963aaba6da521d480c21c7ec01835cf">adorn_name</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a4963aaba6da521d480c21c7ec01835cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suffix unique number to name to make it unique within session context.  <a href="#a4963aaba6da521d480c21c7ec01835cf"></a><br/></td></tr>
+<tr class="memitem:ga8978ff727c03a1aaaa3a9d3fd3268abf"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga8978ff727c03a1aaaa3a9d3fd3268abf">esc</a> (const char str[])</td></tr>
+<tr class="memdesc:ga8978ff727c03a1aaaa3a9d3fd3268abf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00199.html#ga8978ff727c03a1aaaa3a9d3fd3268abf"></a><br/></td></tr>
+<tr class="memitem:gae711f65dd793a70629f97a2e0e54d8db"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gae711f65dd793a70629f97a2e0e54d8db">esc</a> (const char str[], size_t maxlen)</td></tr>
+<tr class="memdesc:gae711f65dd793a70629f97a2e0e54d8db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00199.html#gae711f65dd793a70629f97a2e0e54d8db"></a><br/></td></tr>
+<tr class="memitem:gaca9ba750fd096cfd652a4323dab3a653"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#gaca9ba750fd096cfd652a4323dab3a653">esc</a> (const std::string &amp;str)</td></tr>
+<tr class="memdesc:gaca9ba750fd096cfd652a4323dab3a653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal on this connection.  <a href="a00199.html#gaca9ba750fd096cfd652a4323dab3a653"></a><br/></td></tr>
+<tr class="memitem:ga6a8c83d3dcea7114a00c188fe6a92779"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6a8c83d3dcea7114a00c188fe6a92779">esc_raw</a> (const unsigned char str[], size_t len)</td></tr>
+<tr class="memdesc:ga6a8c83d3dcea7114a00c188fe6a92779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary string for use as SQL string literal on this connection.  <a href="a00199.html#ga6a8c83d3dcea7114a00c188fe6a92779"></a><br/></td></tr>
+<tr class="memitem:ga81fe65fbb9561af7c5f0b33a9fe27e5a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga81fe65fbb9561af7c5f0b33a9fe27e5a"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga81fe65fbb9561af7c5f0b33a9fe27e5a">quote</a> (const T &amp;t)</td></tr>
+<tr class="memdesc:ga81fe65fbb9561af7c5f0b33a9fe27e5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga81fe65fbb9561af7c5f0b33a9fe27e5a"></a><br/></td></tr>
+<tr class="memitem:a9709e4738b1bfb1dba547381749908cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a9709e4738b1bfb1dba547381749908cb">cancel_query</a> ()</td></tr>
+<tr class="memdesc:a9709e4738b1bfb1dba547381749908cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to cancel the ongoing query, if any.  <a href="#a9709e4738b1bfb1dba547381749908cb"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Activation</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>Connections can be temporarily deactivated, or they can break because of overly impatient firewalls dropping TCP connections. Where possible, libpqxx will try to re-activate these when resume using them, or you can wake them up explicitly. You probably won't need this feature, but you should be aware of it. </p>
+</div></td></tr>
+<tr class="memitem:a1aa330287775aa1ff83f94714f772673"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673">activate</a> ()</td></tr>
+<tr class="memdesc:a1aa330287775aa1ff83f94714f772673"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly activate deferred or deactivated connection.  <a href="#a1aa330287775aa1ff83f94714f772673"></a><br/></td></tr>
+<tr class="memitem:a10b275082e18dbcb177a8871f92c7523"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a10b275082e18dbcb177a8871f92c7523">deactivate</a> ()</td></tr>
+<tr class="memdesc:a10b275082e18dbcb177a8871f92c7523"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explicitly deactivate connection.  <a href="#a10b275082e18dbcb177a8871f92c7523"></a><br/></td></tr>
+<tr class="memitem:aedf7ac72658efa92e702a06b1964747a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aedf7ac72658efa92e702a06b1964747a">inhibit_reactivation</a> (bool inhibit)</td></tr>
+<tr class="memdesc:aedf7ac72658efa92e702a06b1964747a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disallow (or permit) connection recovery.  <a href="#aedf7ac72658efa92e702a06b1964747a"></a><br/></td></tr>
+<tr class="memitem:a335ca1d83e65a9e57b907c431c3afbe1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a335ca1d83e65a9e57b907c431c3afbe1">simulate_failure</a> ()</td></tr>
+<tr class="memdesc:a335ca1d83e65a9e57b907c431c3afbe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make the connection fail.  <a href="#a335ca1d83e65a9e57b907c431c3afbe1"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Error/warning output</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>Whenever the database has a warning or error to report, it will call a <em>noticer</em> to process the associated message. The default noticer sends the text of the message to standard error output, but you may choose to select a different noticer for the connection. </p>
+</div></td></tr>
+<tr class="memitem:ac6b5f32ac91993b37531e96c2d14b18e"><td class="memItemLeft" align="right" valign="top">std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ac6b5f32ac91993b37531e96c2d14b18e">set_noticer</a> (std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt; N)  throw ()</td></tr>
+<tr class="memdesc:ac6b5f32ac91993b37531e96c2d14b18e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set handler for postgresql errors or warning messages.  <a href="#ac6b5f32ac91993b37531e96c2d14b18e"></a><br/></td></tr>
+<tr class="memitem:aedf4e61e94ea58058e4bc592d98f8dc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00065.html">noticer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aedf4e61e94ea58058e4bc592d98f8dc2">get_noticer</a> () const   throw ()</td></tr>
+<tr class="memitem:a140578ed1e1c65c61deb0407ff25959f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a140578ed1e1c65c61deb0407ff25959f">process_notice</a> (const char[])  throw ()</td></tr>
+<tr class="memdesc:a140578ed1e1c65c61deb0407ff25959f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke notice processor function. The message should end in newline.  <a href="#a140578ed1e1c65c61deb0407ff25959f"></a><br/></td></tr>
+<tr class="memitem:a9d64420154827b3572dcdb955a93bfff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a9d64420154827b3572dcdb955a93bfff">process_notice</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memdesc:a9d64420154827b3572dcdb955a93bfff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke notice processor function. Newline at end is recommended.  <a href="#a9d64420154827b3572dcdb955a93bfff"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Connection properties</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>These are probably not of great interest, since most are derived from information supplied by the client program itself, but they are included for completeness. </p>
+</div></td></tr>
+<tr class="memitem:a043e536c1923594c246f2ca8db31dffa"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a043e536c1923594c246f2ca8db31dffa">dbname</a> ()</td></tr>
+<tr class="memdesc:a043e536c1923594c246f2ca8db31dffa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of database we're connected to, if any.  <a href="#a043e536c1923594c246f2ca8db31dffa"></a><br/></td></tr>
+<tr class="memitem:ae02522000400fc2782e892ac0387d85b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ae02522000400fc2782e892ac0387d85b">username</a> ()</td></tr>
+<tr class="memdesc:ae02522000400fc2782e892ac0387d85b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Database user ID we're connected under, if any.  <a href="#ae02522000400fc2782e892ac0387d85b"></a><br/></td></tr>
+<tr class="memitem:a38dde9befa350a07a5ac093d13ee64e2"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a38dde9befa350a07a5ac093d13ee64e2">hostname</a> ()</td></tr>
+<tr class="memdesc:a38dde9befa350a07a5ac093d13ee64e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of server, or NULL if none specified (i.e. default or local)  <a href="#a38dde9befa350a07a5ac093d13ee64e2"></a><br/></td></tr>
+<tr class="memitem:a826750f0f13ede4ac4e6ca8a84711b53"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a826750f0f13ede4ac4e6ca8a84711b53">port</a> ()</td></tr>
+<tr class="memdesc:a826750f0f13ede4ac4e6ca8a84711b53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server port number we're connected to.  <a href="#a826750f0f13ede4ac4e6ca8a84711b53"></a><br/></td></tr>
+<tr class="memitem:a7179e32df28bd4bc81b85d99b36ad791"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a7179e32df28bd4bc81b85d99b36ad791">backendpid</a> () const   throw ()</td></tr>
+<tr class="memdesc:a7179e32df28bd4bc81b85d99b36ad791"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process ID for backend process.  <a href="#a7179e32df28bd4bc81b85d99b36ad791"></a><br/></td></tr>
+<tr class="memitem:a8ac078b1077fbe19ee1d713bb6b71e8f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a8ac078b1077fbe19ee1d713bb6b71e8f">sock</a> () const   throw ()</td></tr>
+<tr class="memdesc:a8ac078b1077fbe19ee1d713bb6b71e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Socket currently used for connection, or -1 for none. Use with care!  <a href="#a8ac078b1077fbe19ee1d713bb6b71e8f"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Notifications and Listeners</div></td></tr>
+<tr class="memitem:aa839a066c0289a12f664e29c9dbafd38"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aa839a066c0289a12f664e29c9dbafd38">get_notifs</a> ()</td></tr>
+<tr class="memdesc:aa839a066c0289a12f664e29c9dbafd38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for pending notifications and take appropriate action.  <a href="#aa839a066c0289a12f664e29c9dbafd38"></a><br/></td></tr>
+<tr class="memitem:ab5c24029bda3198d826d24757e49c746"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab5c24029bda3198d826d24757e49c746">await_notification</a> ()</td></tr>
+<tr class="memdesc:ab5c24029bda3198d826d24757e49c746"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a notification to come in.  <a href="#ab5c24029bda3198d826d24757e49c746"></a><br/></td></tr>
+<tr class="memitem:aa9e66faad88a94857c0749b9bbc5d352"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aa9e66faad88a94857c0749b9bbc5d352">await_notification</a> (long seconds, long microseconds)</td></tr>
+<tr class="memdesc:aa9e66faad88a94857c0749b9bbc5d352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for a notification to come in, or for given timeout to pass.  <a href="#aa9e66faad88a94857c0749b9bbc5d352"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Prepared statements</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>PostgreSQL supports prepared SQL statements, i.e. statements that can be registered under a client-provided name, optimized once by the backend, and executed any number of times under the given name.</p>
+<p>Prepared statement definitions are not sensitive to transaction boundaries; a statement defined inside a transaction will remain defined outside that transaction, even if the transaction itself is subsequently aborted. Once a statement has been prepared, only closing the connection or explicitly "unpreparing" it can make it go away.</p>
+<p>Use the transaction classes' <code>prepared()</code>.exec() function to execute a prepared statement. Use <code>prepared()</code>.exists() to find out whether a statement has been prepared under a given name.</p>
+<p>A special case is the nameless prepared statement. You may prepare a statement without a name. The unnamed statement can be redefined at any time, without un-preparing it first.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Prepared statements are not necessarily defined on the backend right away; libpqxx generally does that lazily. This means that you can prepare statements before the connection is fully established, and that it's relatively cheap to pre-prepare lots of statements that you may or may not use during the session. On the other hand, it also means that errors in a prepared statement may not show up until you first try to invoke it. Such an error may then break the transaction it occurs in.</dd>
+<dd>
+Never try to prepare, execute, or unprepare a prepared statement manually using direct SQL queries. Always use the functions provided by libpqxx. </dd></dl>
+</div></td></tr>
+<tr class="memitem:ad2b9e50c9ebfab7c86a091cd939e1e6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00033.html">prepare::declaration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ad2b9e50c9ebfab7c86a091cd939e1e6c">prepare</a> (const std::string &amp;name, const std::string &amp;definition)</td></tr>
+<tr class="memdesc:ad2b9e50c9ebfab7c86a091cd939e1e6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a prepared statement.  <a href="#ad2b9e50c9ebfab7c86a091cd939e1e6c"></a><br/></td></tr>
+<tr class="memitem:af2dcc39b88897fe2bc3c5742edd43645"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00033.html">prepare::declaration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af2dcc39b88897fe2bc3c5742edd43645">prepare</a> (const std::string &amp;definition)</td></tr>
+<tr class="memdesc:af2dcc39b88897fe2bc3c5742edd43645"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a nameless prepared statement.  <a href="#af2dcc39b88897fe2bc3c5742edd43645"></a><br/></td></tr>
+<tr class="memitem:a30ec51634479614b45106532e87e5dc7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a30ec51634479614b45106532e87e5dc7">unprepare</a> (const std::string &amp;name)</td></tr>
+<tr class="memdesc:a30ec51634479614b45106532e87e5dc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drop prepared statement.  <a href="#a30ec51634479614b45106532e87e5dc7"></a><br/></td></tr>
+<tr class="memitem:a32efdc645566975851bfc7d6b82d214c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a32efdc645566975851bfc7d6b82d214c">prepare_now</a> (const std::string &amp;name)</td></tr>
+<tr class="memdesc:a32efdc645566975851bfc7d6b82d214c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request that prepared statement be registered with the server.  <a href="#a32efdc645566975851bfc7d6b82d214c"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Transactor framework</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>See the transactor class template for more about transactors. To use the transactor framework, encapsulate your transaction code in a class derived from an instantiation of the <a class="el" href="a00109.html">pqxx::transactor</a> template. Then, to execute it, create an object of your transactor class and pass it to one of the <a class="el" href="a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd" title="Perform the transaction defined by a transactor-based object.">perform()</a> functions here.</p>
+<p>The <a class="el" href="a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd" title="Perform the transaction defined by a transactor-based object.">perform()</a> functions may create and execute several copies of the transactor before succeeding or ultimately giving up. If there is any doubt over whether execution succeeded (this can happen if the connection to the server is lost just before the backend can confirm success), it is no longer retried and an <a class="el" href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;">in_doubt_error</a> is thrown.</p>
+<p>Take care: no member functions will ever be invoked on the transactor object you pass into <a class="el" href="a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd" title="Perform the transaction defined by a transactor-based object.">perform()</a>. The object you pass in only serves as a "prototype" for the job to be done. The <a class="el" href="a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd" title="Perform the transaction defined by a transactor-based object.">perform()</a> function will copy-construct transactors from the original you passed in, executing the copies only. The original object remains "clean" in its original state. </p>
+</div></td></tr>
+<tr class="memitem:abf3b71372850f86e4f5e67eb4b7d56bd"><td class="memTemplParams" colspan="2">template&lt;typename TRANSACTOR &gt; </td></tr>
+<tr class="memitem:abf3b71372850f86e4f5e67eb4b7d56bd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd">perform</a> (const TRANSACTOR &amp;T, int Attempts)</td></tr>
+<tr class="memdesc:abf3b71372850f86e4f5e67eb4b7d56bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the transaction defined by a transactor-based object.  <a href="#abf3b71372850f86e4f5e67eb4b7d56bd"></a><br/></td></tr>
+<tr class="memitem:a5eac9840b79e7f1893d88b63f6d97b1d"><td class="memTemplParams" colspan="2">template&lt;typename TRANSACTOR &gt; </td></tr>
+<tr class="memitem:a5eac9840b79e7f1893d88b63f6d97b1d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d">perform</a> (const TRANSACTOR &amp;T)</td></tr>
+<tr class="memdesc:a5eac9840b79e7f1893d88b63f6d97b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the transaction defined by a transactor-based object.  <a href="#a5eac9840b79e7f1893d88b63f6d97b1d"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a33700cc6d830d28c3dbd48eb9b7276ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a33700cc6d830d28c3dbd48eb9b7276ab">connection_base</a> (<a class="el" href="a00024.html">connectionpolicy</a> &amp;)</td></tr>
+<tr class="memitem:a1d1c129c2c5797a82f251ee9dabec77e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">init</a> ()</td></tr>
+<tr class="memitem:af02016af0233bed748eb1ddab9685131"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af02016af0233bed748eb1ddab9685131">close</a> ()  throw ()</td></tr>
+<tr class="memitem:af860fe4c418cfa4f573f34d73327d111"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af860fe4c418cfa4f573f34d73327d111">wait_read</a> () const </td></tr>
+<tr class="memitem:ab8c7dd5e54493e18d5900dd70012d062"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab8c7dd5e54493e18d5900dd70012d062">wait_read</a> (long seconds, long microseconds) const </td></tr>
+<tr class="memitem:acfb8d53e6f105db280cd5d977c005bea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#acfb8d53e6f105db280cd5d977c005bea">wait_write</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a1407974cc9c548bee6d31834625c3d45"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a1407974cc9c548bee6d31834625c3d45">internal::gate::connection_prepare_declaration</a></td></tr>
+<tr class="memitem:ac2eff365ba0aa25ebbf5f903ac3c7a54"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ac2eff365ba0aa25ebbf5f903ac3c7a54">internal::gate::connection_prepare_invocation</a></td></tr>
+<tr class="memitem:a3c60c76e32687adce1e8c0dba0919773"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a3c60c76e32687adce1e8c0dba0919773">internal::gate::connection_transaction</a></td></tr>
+<tr class="memitem:ab15ff67d81467d271dc713b2584f1328"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab15ff67d81467d271dc713b2584f1328">internal::gate::connection_largeobject</a></td></tr>
+<tr class="memitem:a518f718405d80def662f248b427f0e60"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a518f718405d80def662f248b427f0e60">internal::gate::connection_notify_listener</a></td></tr>
+<tr class="memitem:a3b9c5dc16f04600aa5415e06f6ff8fa6"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a3b9c5dc16f04600aa5415e06f6ff8fa6">internal::gate::connection_pipeline</a></td></tr>
+<tr class="memitem:af3dfec559fe2305e57aba653abe4c8ad"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#af3dfec559fe2305e57aba653abe4c8ad">internal::gate::connection_dbtransaction</a></td></tr>
+<tr class="memitem:a84c1a28176815ab9103c7febec450755"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a84c1a28176815ab9103c7febec450755">internal::gate::connection_sql_cursor</a></td></tr>
+<tr class="memitem:a2247d8690958f634898bbf014a7d418c"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a2247d8690958f634898bbf014a7d418c">internal::gate::connection_reactivation_avoidance_exemption</a></td></tr>
+<tr class="memitem:a0e64dc314f291c6f81a948c59d94aa8a"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a0e64dc314f291c6f81a948c59d94aa8a">internal::gate::connection_parameterized_invocation</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="member-group"></a>
+Capabilities</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp82ec2cd6fda87713f588da75c3b1d0ed"></a>Some functionality is only available in certain versions of the backend, or only when speaking certain versions of the communications protocol that connects us to the backend. This includes clauses for SQL statements that were not accepted in older database versions, but are required in newer versions to get the same behaviour. </p>
+</td></tr>
+<tr class="memitem:a306a884246abc1051bab4fb06393ee71"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71">capability</a> { <br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71af5a4754aea608aaf5fca6caa51c44ce0">cap_prepared_statements</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71aba8a02f6bb5d2304bfbf2110c6cd791a">cap_create_table_with_oids</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a973dc9e4f56818f82b86fb13a5bbc405">cap_nested_transactions</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc">cap_cursor_scroll</a>, 
+<br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4">cap_cursor_with_hold</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb">cap_cursor_update</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a86380c8c083847ba3d16764784f5914f">cap_cursor_fetch_0</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a1f2b785abe834490c33dc4cf19c932d2">cap_table_column</a>, 
+<br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a01e68a67b6a3c92ce9b0c92fa73e90b2">cap_read_only_transactions</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71abefe533e379346c7b9644406c613eb02">cap_statement_varargs</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a6b019128f2fdcfa9d316042342846e2f">cap_prepare_unnamed_statement</a>, 
+<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a366c98bc3385ecfb39496bf7240e5973">cap_parameterized_statements</a>, 
+<br/>
+&#160;&#160;<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a4a873c5d7e7fb0a9022cdd110181a7de">cap_end</a>
+<br/>
  }</td></tr>
+<tr class="memdesc:a306a884246abc1051bab4fb06393ee71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Session capabilities.  <a href="a00023.html#a306a884246abc1051bab4fb06393ee71">More...</a><br/></td></tr>
+<tr class="memitem:aefdde864e05f88e84d748236b93659e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aefdde864e05f88e84d748236b93659e7">supports</a> (<a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71">capability</a> c) const   throw ()</td></tr>
+<tr class="memdesc:aefdde864e05f88e84d748236b93659e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does this connection seem to support the given capability?  <a href="#aefdde864e05f88e84d748236b93659e7"></a><br/></td></tr>
+<tr class="memitem:ab63e45ad783d8adb8d4a9f03e03ef6ef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ab63e45ad783d8adb8d4a9f03e03ef6ef">protocol_version</a> () const   throw ()</td></tr>
+<tr class="memdesc:ab63e45ad783d8adb8d4a9f03e03ef6ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">What version of the PostgreSQL protocol is this connection using?  <a href="#ab63e45ad783d8adb8d4a9f03e03ef6ef"></a><br/></td></tr>
+<tr class="memitem:acdd295f691812773133147530aa6ff21"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#acdd295f691812773133147530aa6ff21">server_version</a> () const   throw ()</td></tr>
+<tr class="memdesc:acdd295f691812773133147530aa6ff21"><td class="mdescLeft">&#160;</td><td class="mdescRight">What version of the PostgreSQL server are we connected to?  <a href="#acdd295f691812773133147530aa6ff21"></a><br/></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> abstract base class; represents a connection to a database. </p>
+<p>This is the first class to look at when you wish to work with a database through libpqxx. Depending on the implementing concrete child class, a connection can be automatically opened when it is constructed, or when it is first used, or somewhere inbetween. The connection is automatically closed upon destruction (if it hasn't been closed already).</p>
+<p>To query or manipulate the database once connected, use one of the transaction classes (see <a class="el" href="a00171_source.html">pqxx/transaction_base.hxx</a>) or preferably the transactor framework (see <a class="el" href="a00172_source.html">pqxx/transactor.hxx</a>).</p>
+<p>If a network connection to the database server fails, the connection will be restored automatically (although any transaction going on at the time will have to be aborted). This also means that any information set in previous transactions that is not stored in the database, such as temp tables or connection-local variables defined with PostgreSQL's SET command, will be lost. Whenever you create such state, either keept it local to one transaction, where possible, or inhibit automatic reactivation of the connection using the <a class="el" href="a00023.html#aedf7ac72658efa92e702a06b1964747a" title="Disallow (or permit) connection recovery.">inhibit_reactivation()</a> method.</p>
+<p>When a connection breaks, you will typically get a <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. This can happen at almost any point, and the details may depend on which connection class (all derived from this one) you use.</p>
+<p>As a general rule, always avoid raw queries if libpqxx offers a dedicated function for the same purpose. There may be hidden logic to hide certain complications from you, such as reinstating session variables when a broken or disabled connection is reactivated.</p>
+<dl class="section warning"><dt>Warning</dt><dd>On Unix-like systems, including GNU and BSD systems, your program may receive the SIGPIPE signal when the connection to the backend breaks. By default this signal will abort your program. Use "signal(SIGPIPE, SIG_IGN)" if you want your program to continue running after a connection fails. </dd></dl>
+</div><h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="a306a884246abc1051bab4fb06393ee71"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71">pqxx::connection_base::capability</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cursor access-pattern policy.  <a href="a00023.html#591ac7d2302288890c04e6159eb6d30e">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c212">updatepolicy</a> { <a class="el" href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c2128122c0c4a5eb9c9dbf27ab40a2686eb0">read_only</a>, 
-<a class="el" href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c21212fa229ee3e760f1ca86d66304554b63">update</a>
- }</td></tr>
+<p>Session capabilities. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71af5a4754aea608aaf5fca6caa51c44ce0"></a>cap_prepared_statements</em>&nbsp;</td><td>
+<p>Does the backend support prepared statements? (If not, we emulate them) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71aba8a02f6bb5d2304bfbf2110c6cd791a"></a>cap_create_table_with_oids</em>&nbsp;</td><td>
+<p>Can we specify WITH OIDS with CREATE TABLE? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a973dc9e4f56818f82b86fb13a5bbc405"></a>cap_nested_transactions</em>&nbsp;</td><td>
+<p>Can transactions be nested in other transactions? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc"></a>cap_cursor_scroll</em>&nbsp;</td><td>
+<p>Can cursors be declared SCROLL? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4"></a>cap_cursor_with_hold</em>&nbsp;</td><td>
+<p>Can cursors be declared WITH HOLD? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb"></a>cap_cursor_update</em>&nbsp;</td><td>
+<p>Can cursors be updateable? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a86380c8c083847ba3d16764784f5914f"></a>cap_cursor_fetch_0</em>&nbsp;</td><td>
+<p>Can cursors fetch zero elements? (Used to trigger a "fetch all") </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a1f2b785abe834490c33dc4cf19c932d2"></a>cap_table_column</em>&nbsp;</td><td>
+<p>Can we ask what table column a result column came from? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a01e68a67b6a3c92ce9b0c92fa73e90b2"></a>cap_read_only_transactions</em>&nbsp;</td><td>
+<p>Can transactions be READ ONLY? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71abefe533e379346c7b9644406c613eb02"></a>cap_statement_varargs</em>&nbsp;</td><td>
+<p>Do prepared statements support varargs? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a6b019128f2fdcfa9d316042342846e2f"></a>cap_prepare_unnamed_statement</em>&nbsp;</td><td>
+<p>Is the unnamed prepared statement supported? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a366c98bc3385ecfb39496bf7240e5973"></a>cap_parameterized_statements</em>&nbsp;</td><td>
+<p>Can this connection execute parameterized statements? </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a306a884246abc1051bab4fb06393ee71a4a873c5d7e7fb0a9022cdd110181a7de"></a>cap_end</em>&nbsp;</td><td>
+<p>Not a capability value; end-of-enumeration marker. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cursor update policy.  <a href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c212">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">ownershippolicy</a> { <a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc28473303ace6a7a5ca4ec3b486f2f35fd2420b0">owned</a>, 
-<a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc28473304c37408c49492bfe9f012812226dd1fd">loose</a>
- }</td></tr>
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a33700cc6d830d28c3dbd48eb9b7276ab"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::connection_base::connection_base </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html">connectionpolicy</a> &amp;&#160;</td>
+          <td class="paramname"><em>pol</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cursor destruction policy.  <a href="a00023.html#8d5f8214ede2ab27dd588defc2847330">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#732bb16c01dc3266d424267252d4f1b0">size_type</a></td></tr>
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a1aa330287775aa1ff83f94714f772673"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::activate </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a></td></tr>
+<p>Explicitly activate deferred or deactivated connection. </p>
+<p>Use of this method is entirely optional. Whenever a connection is used while in a deferred or deactivated state, it will transparently try to bring itself into an activated state. This function is best viewed as an explicit hint to the connection that "if you're not in an active state, now
+would be a good time to get into one." Whether a connection is currently in an active state or not makes no real difference to its functionality. There is also no particular need to match calls to <a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a> with calls to <a class="el" href="a00023.html#a10b275082e18dbcb177a8871f92c7523" title="Explicitly deactivate connection.">deactivate()</a>. A good time to call <a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a> might be just before you first open a transaction on a lazy connection. </p>
 
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#df7c9ac70e8ee99dffe7c62fd2e12edd">name</a> () const   throw ()</td></tr>
+<p>Referenced by <a class="el" href="a00089.html#a78ee80852828a1221357352ce77b9597">pqxx::internal::sql_cursor::sql_cursor()</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of underlying SQL cursor.  <a href="#df7c9ac70e8ee99dffe7c62fd2e12edd"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Special movement distances</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#56b530ba6b18f3fcdb5b93a0087922c9">all</a> ()  throw ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="a4963aaba6da521d480c21c7ec01835cf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">string pqxx::connection_base::adorn_name </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special value: read until end.  <a href="#56b530ba6b18f3fcdb5b93a0087922c9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#2a10af042c1ece1f5faf55479ada0319">next</a> ()  throw ()</td></tr>
+<p>Suffix unique number to name to make it unique within session context. </p>
+<p>Used internally to generate identifiers for SQL objects (such as cursors and nested transactions) based on a given human-readable base name. </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special value: read one row only.  <a href="#2a10af042c1ece1f5faf55479ada0319"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ed642c9d80cddf181853d36c6e8ccb93">prior</a> ()  throw ()</td></tr>
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special value: read backwards, one row only.  <a href="#ed642c9d80cddf181853d36c6e8ccb93"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#e1e1a28e596a78fa8ed8c4eeccbe6369">backward_all</a> ()  throw ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="ab5c24029bda3198d826d24757e49c746"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pqxx::connection_base::await_notification </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special value: read backwards from current position back to origin.  <a href="#e1e1a28e596a78fa8ed8c4eeccbe6369"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#92ebe0bfff015fc1d85ab30d1ac97ef4">cursor_base</a> (<a class="el" href="a00020.html">connection_base</a> &amp;, const std::string &amp;Name, bool embellish_name=true)</td></tr>
+<p>Wait for a notification to come in. </p>
+<p>The wait may also be terminated by other events, such as the connection to the backend failing. Any pending or received notifications are processed as part of the call.</p>
+<dl class="section return"><dt>Returns</dt><dd>Number of notifications processed </dd></dl>
 
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#ebf66d30e36bdc0c58696fd38a10c73e">m_name</a></td></tr>
+<p>References <a class="el" href="a00189.html#aab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read()</a>.</p>
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Common definitions for cursor types. 
-<p>
-In C++ terms, fetches are always done in pre-increment or pre-decrement fashion--i.e. the <a class="el" href="a00076.html" title="Query or command result set.">result</a> does not include the row the cursor is on at the beginning of the fetch, and the cursor ends up being positioned on the last row in the <a class="el" href="a00076.html" title="Query or command result set.">result</a>.<p>
-There are singular positions akin to <code>end()</code> at both the beginning and the end of the cursor's range of movement, although these fit in so naturally with the semantics that one rarely notices them. The cursor begins at the first of these, but any fetch in the forward direction will move the cursor off this position and onto the first row before returning anything. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="732bb16c01dc3266d424267252d4f1b0"></a><!-- doxytag: member="pqxx::cursor_base::size_type" ref="732bb16c01dc3266d424267252d4f1b0" args="" -->
+</div>
+</div>
+<a class="anchor" id="aa9e66faad88a94857c0749b9bbc5d352"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00023.html#732bb16c01dc3266d424267252d4f1b0">pqxx::cursor_base::size_type</a>          </td>
+          <td class="memname">int pqxx::connection_base::await_notification </td>
+          <td>(</td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>seconds</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>microseconds</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Wait for a notification to come in, or for given timeout to pass. </p>
+<p>The wait may also be terminated by other events, such as the connection to the backend failing. Any pending or received notifications are processed as part of the call.</p>
+<dl class="section return"><dt>Returns</dt><dd>Number of notifications processed </dd></dl>
+
+<p>References <a class="el" href="a00189.html#aab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a7179e32df28bd4bc81b85d99b36ad791"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pqxx::connection_base::backendpid </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Process ID for backend process. </p>
+<p>Use with care: connections may be lost and automatically re-established without your knowledge, in which case this process ID may no longer be correct. You may, however, assume that this number remains constant and reliable within the span of a successful backend transaction. If the transaction fails, which may be due to a lost connection, then this number will have become invalid at some point within the transaction.</p>
+<dl class="section return"><dt>Returns</dt><dd>Process identifier, or 0 if not currently connected. </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="746c725327e1dfd598708bfeb8834992"></a><!-- doxytag: member="pqxx::cursor_base::difference_type" ref="746c725327e1dfd598708bfeb8834992" args="" -->
+</div>
+<a class="anchor" id="a9709e4738b1bfb1dba547381749908cb"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">pqxx::cursor_base::difference_type</a>          </td>
+          <td class="memname">void pqxx::connection_base::cancel_query </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Attempt to cancel the ongoing query, if any. </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="af02016af0233bed748eb1ddab9685131"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Referenced by <a class="el" href="a00006.html#a3abaa953e318c2dda1b61b3f5861140e">pqxx::basic_connection&lt; CONNECTPOLICY &gt;::~basic_connection()</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="591ac7d2302288890c04e6159eb6d30e"></a><!-- doxytag: member="pqxx::cursor_base::accesspolicy" ref="591ac7d2302288890c04e6159eb6d30e" args="" -->
+</div>
+<a class="anchor" id="a043e536c1923594c246f2ca8db31dffa"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">enum <a class="el" href="a00023.html#591ac7d2302288890c04e6159eb6d30e">pqxx::cursor_base::accesspolicy</a>          </td>
+          <td class="memname">const char * pqxx::connection_base::dbname </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Name of database we're connected to, if any. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This activates the connection, which may fail with a <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a10b275082e18dbcb177a8871f92c7523"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::deactivate </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Cursor access-pattern policy. 
-<p>
-Allowing a cursor to move forward only can <a class="el" href="a00076.html" title="Query or command result set.">result</a> in better performance, so use this access policy whenever possible. <dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="591ac7d2302288890c04e6159eb6d30ef440221f717464c87f043899cc117cbf"></a><!-- doxytag: member="forward_only" ref="591ac7d2302288890c04e6159eb6d30ef440221f717464c87f043899cc117cbf" args="" -->forward_only</em>&nbsp;</td><td>
-Cursor can move forward only. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="591ac7d2302288890c04e6159eb6d30e7f6c1ed7719885433353a78946b2c5f3"></a><!-- doxytag: member="random_access" ref="591ac7d2302288890c04e6159eb6d30e7f6c1ed7719885433353a78946b2c5f3" args="" -->random_access</em>&nbsp;</td><td>
-Cursor can move back and forth. </td></tr>
-</table>
-</dl>
+<p>Explicitly deactivate connection. </p>
+<p>Like its counterpart <a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a>, this method is entirely optional. Calling this function really only makes sense if you won't be using this connection for a while and want to reduce the number of open connections on the database server. There is no particular need to match or pair calls to <a class="el" href="a00023.html#a10b275082e18dbcb177a8871f92c7523" title="Explicitly deactivate connection.">deactivate()</a> with calls to <a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a>, but calling <a class="el" href="a00023.html#a10b275082e18dbcb177a8871f92c7523" title="Explicitly deactivate connection.">deactivate()</a> during a transaction is an error. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="ba6fa56f1ef2d25c3c73240de6b9c212"></a><!-- doxytag: member="pqxx::cursor_base::updatepolicy" ref="ba6fa56f1ef2d25c3c73240de6b9c212" args="" -->
+</div>
+<a class="anchor" id="a9bd21013745b4454e248e637cdae1287"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">enum <a class="el" href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c212">pqxx::cursor_base::updatepolicy</a>          </td>
+          <td class="memname">void pqxx::connection_base::disconnect </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Explicitly close connection. </p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aedf4e61e94ea58058e4bc592d98f8dc2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00065.html">noticer</a>* pqxx::connection_base::get_noticer </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Cursor update policy. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Not all PostgreSQL versions support updatable cursors. </dd></dl>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="ba6fa56f1ef2d25c3c73240de6b9c2128122c0c4a5eb9c9dbf27ab40a2686eb0"></a><!-- doxytag: member="read_only" ref="ba6fa56f1ef2d25c3c73240de6b9c2128122c0c4a5eb9c9dbf27ab40a2686eb0" args="" -->read_only</em>&nbsp;</td><td>
-Cursor can be used to read data but not to write. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ba6fa56f1ef2d25c3c73240de6b9c21212fa229ee3e760f1ca86d66304554b63"></a><!-- doxytag: member="update" ref="ba6fa56f1ef2d25c3c73240de6b9c21212fa229ee3e760f1ca86d66304554b63" args="" -->update</em>&nbsp;</td><td>
-Cursor can be used to update data as well as read it. </td></tr>
-</table>
-</dl>
+</div>
+</div>
+<a class="anchor" id="aa839a066c0289a12f664e29c9dbafd38"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pqxx::connection_base::get_notifs </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Check for pending notifications and take appropriate action. </p>
+<p>All notifications found pending at call time are processed by finding any matching listeners and invoking those. If no listeners matched the notification string, none are invoked but the notification is considered processed.</p>
+<p>Exceptions thrown by client-registered listeners handlers are reported using the connection's message noticer, but the exceptions themselves are not passed on outside this function.</p>
+<dl class="section return"><dt>Returns</dt><dd>Number of notifications processed </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="8d5f8214ede2ab27dd588defc2847330"></a><!-- doxytag: member="pqxx::cursor_base::ownershippolicy" ref="8d5f8214ede2ab27dd588defc2847330" args="" -->
+</div>
+<a class="anchor" id="a908a2ffdf56d8259492e9f3894e24f65"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">enum <a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">pqxx::cursor_base::ownershippolicy</a>          </td>
+          <td class="memname">string pqxx::connection_base::get_variable </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Var</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Read session variable. </p>
+<p>Will try to read the value locally, from the list of variables set with the set_variable function. If that fails, the database is queried. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not mix the set_variable interface with manual setting of variables by executing the corresponding SQL commands, and do not get or set variables while a tablestream or pipeline is active on the same connection. </dd></dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a38dde9befa350a07a5ac093d13ee64e2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char * pqxx::connection_base::hostname </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Cursor destruction policy. 
-<p>
-The normal thing to do is to make a cursor object the owner of the SQL cursor it represents. There may be cases, however, where a cursor needs to persist beyond the end of the current <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> (and thus also beyond the lifetime of the cursor object that created it!), where it can be "adopted" into a new cursor object. See the basic_cursor documentation for an explanation of cursor adoption.<p>
-If a cursor is created with "loose" ownership policy, the object representing the underlying SQL cursor will not take the latter with it when its own lifetime ends, nor will its originating <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Use this feature with care and moderation. Only one cursor object should be responsible for any one underlying SQL cursor at any given time.<p>
-Don't "leak" cursors! As long as any "loose" cursor exists, any attempts to deactivate or reactivate the connection, implicitly or explicitly, are quietly ignored. </dd></dl>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="8d5f8214ede2ab27dd588defc28473303ace6a7a5ca4ec3b486f2f35fd2420b0"></a><!-- doxytag: member="owned" ref="8d5f8214ede2ab27dd588defc28473303ace6a7a5ca4ec3b486f2f35fd2420b0" args="" -->owned</em>&nbsp;</td><td>
-Destroy SQL cursor when cursor object is closed at end of <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="8d5f8214ede2ab27dd588defc28473304c37408c49492bfe9f012812226dd1fd"></a><!-- doxytag: member="loose" ref="8d5f8214ede2ab27dd588defc28473304c37408c49492bfe9f012812226dd1fd" args="" -->loose</em>&nbsp;</td><td>
-Leave SQL cursor in existence after close of object and <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. </td></tr>
-</table>
+<p>Address of server, or NULL if none specified (i.e. default or local) </p>
+<dl class="section warning"><dt>Warning</dt><dd>This activates the connection, which may fail with a <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aedf7ac72658efa92e702a06b1964747a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::inhibit_reactivation </td>
+          <td>(</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>inhibit</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Disallow (or permit) connection recovery. </p>
+<p>A connection whose underlying socket is not currently connected to the server will normally (re-)establish communication with the server whenever needed, or when the client program requests it (although for reasons of integrity, never inside a transaction; but retrying the whole transaction may implicitly cause the connection to be restored). In normal use this is quite a convenient thing to have and presents a simple, safe, predictable interface.</p>
+<p>There is at least one situation where this feature is not desirable, however. Although most session state (prepared statements, session variables) is automatically restored to its working state upon connection reactivation, temporary tables and so-called WITH HOLD cursors (which can live outside transactions) are not.</p>
+<p>Cursors that live outside transactions are automatically handled, and the library will quietly ignore requests to deactivate or reactivate connections while they exist; it does not want to give you the illusion of being back in your transaction when in reality you just dropped a cursor. With temporary tables this is not so easy: there is no easy way for the library to detect their creation or track their lifetimes.</p>
+<p>So if your program uses temporary tables, and any part of this use happens outside of any database transaction (or spans multiple transactions), some of the work you have done on these tables may unexpectedly be undone if the connection is broken or deactivated while any of these tables exists, and then reactivated or implicitly restored before you are finished with it.</p>
+<p>If this describes any part of your program, guard it against unexpected reconnections by inhibiting reconnection at the beginning. And if you want to continue doing work on the connection afterwards that no longer requires the temp tables, you can permit it again to get the benefits of connection reactivation for the remainder of the program.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">inhibit</td><td>should reactivation be inhibited from here on?</td></tr>
+  </table>
+  </dd>
 </dl>
+<dl class="section warning"><dt>Warning</dt><dd>Some connection types (the lazy and asynchronous types) defer completion of the socket-level connection until it is actually needed by the client program. Inhibiting reactivation before this connection is really established will prevent these connection types from doing their work. For those connection types, if you are sure that reactivation needs to be inhibited before any query goes across the connection, <a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673" title="Explicitly activate deferred or deactivated connection.">activate()</a> the connection first. This will ensure that definite activation happens before you inhibit it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1d1c129c2c5797a82f251ee9dabec77e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::init </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00006.html#aa02e7329e13fdc9809c1215f224ab5fe">pqxx::basic_connection&lt; CONNECTPOLICY &gt;::basic_connection()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a36a26cf7e13f612749d49faf4f1654f8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::connection_base::is_open </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Is this connection open at the moment? </p>
+<dl class="section warning"><dt>Warning</dt><dd>This function is <b>not</b> needed in most code. Resist the temptation to check it after opening a connection; instead, rely on the <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception that will be thrown on connection failure. </dd></dl>
 
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="92ebe0bfff015fc1d85ab30d1ac97ef4"></a><!-- doxytag: member="pqxx::cursor_base::cursor_base" ref="92ebe0bfff015fc1d85ab30d1ac97ef4" args="(connection_base &amp;, const std::string &amp;Name, bool embellish_name=true)" -->
+</div>
+<a class="anchor" id="abf3b71372850f86e4f5e67eb4b7d56bd"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTOR &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::cursor_base::cursor_base           </td>
+          <td class="memname">void pqxx::connection_base::perform </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>context</em>, </td>
+          <td class="paramtype">const TRANSACTOR &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em>, </td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>Attempts</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Perform the transaction defined by a transactor-based object. </p>
+<p>Invokes the given transactor, making at most Attempts attempts to perform the encapsulated code. If the code throws any exception other than <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a>, it will be aborted right away.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>The transactor to be executed. </td></tr>
+    <tr><td class="paramname">Attempts</td><td>Maximum number of attempts to be made to execute T. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a5eac9840b79e7f1893d88b63f6d97b1d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTOR &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::perform </td>
+          <td>(</td>
+          <td class="paramtype">const TRANSACTOR &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Perform the transaction defined by a transactor-based object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>The transactor to be executed. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d">perform()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d">perform()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a826750f0f13ede4ac4e6ca8a84711b53"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char * pqxx::connection_base::port </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Server port number we're connected to. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This activates the connection, which may fail with a <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad2b9e50c9ebfab7c86a091cd939e1e6c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00033.html">pqxx::prepare::declaration</a> pqxx::connection_base::prepare </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>embellish_name</em> = <code>true</code></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>definition</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected]</code></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Define a prepared statement. </p>
+<p>To declare parameters to this statement, add them by calling the function invocation operator (<code>operator()</code>) on the returned object. See prepare::param_declaration and <a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">prepare::param_treatment</a> for more about how to do this.</p>
+<p>The statement's definition can refer to a parameter using the parameter's positional number n in the definition. For example, the first parameter can be used as a variable "$1", the second as "$2" and so on.</p>
+<p>One might use a prepared statement as in the following example. Note the unusual syntax associated with parameter definitions and parameter passing: every new parameter is just a parenthesized expression that is simply tacked onto the end of the statement!</p>
+<div class="fragment"><div class="line"><span class="keyword">using namespace </span>pqxx;</div>
+<div class="line"><span class="keywordtype">void</span> foo(<a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;C)</div>
+<div class="line">{</div>
+<div class="line">  C.<a class="code" href="a00023.html#ad2b9e50c9ebfab7c86a091cd939e1e6c" title="Define a prepared statement.">prepare</a>(<span class="stringliteral">&quot;findtable&quot;</span>,</div>
+<div class="line">            <span class="stringliteral">&quot;select * from pg_tables where name=$1&quot;</span>)</div>
+<div class="line">            (<span class="stringliteral">&quot;varchar&quot;</span>, <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3a0b9178cb2051d7f786e6fc811cb970f1" title="Escape special characters and add quotes.">treat_string</a>);</div>
+<div class="line">  <a class="code" href="a00106.html" title="Standard back-end transaction, templatized on isolation level.">work</a> W(C);</div>
+<div class="line">  <a class="code" href="a00084.html" title="Query or command result set.">result</a> R = W.prepared(<span class="stringliteral">&quot;findtable&quot;</span>)(<span class="stringliteral">&quot;mytable&quot;</span>).exec();</div>
+<div class="line">  <span class="keywordflow">if</span> (R.<a class="code" href="a00084.html#a7ee3d9e31a9f81b366cf04f1f73b5df2">empty</a>()) <span class="keywordflow">throw</span> runtime_error(<span class="stringliteral">&quot;mytable not found!&quot;</span>);</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>For better performance, prepared statements aren't really registered with the backend until they are first used. If this is not what you want, e.g. because you have very specific realtime requirements, you can use the <code><a class="el" href="a00023.html#a32efdc645566975851bfc7d6b82d214c" title="Request that prepared statement be registered with the server.">prepare_now()</a></code> function to force immediate preparation.</p>
+<dl class="section warning"><dt>Warning</dt><dd>The statement may not be registered with the backend until it is actually used. So if the statement is syntactically incorrect, for example, a <a class="el" href="a00100.html">syntax_error</a> may be thrown either from here, or when you try to call the statement later, or somewhere inbetween if <a class="el" href="a00023.html#a32efdc645566975851bfc7d6b82d214c" title="Request that prepared statement be registered with the server.">prepare_now()</a> is called. This is not guaranteed, and it's still possible to get a <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> or <a class="el" href="a00090.html" title="Exception class for failed queries.">sql_error</a> here, for example.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">name</td><td>unique identifier to associate with new prepared statement </td></tr>
+    <tr><td class="paramname">definition</td><td>SQL statement to prepare </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="af2dcc39b88897fe2bc3c5742edd43645"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00033.html">pqxx::prepare::declaration</a> pqxx::connection_base::prepare </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>definition</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Define a nameless prepared statement. </p>
+<p>This can be useful if you merely want to pass large binary parameters to a statement without otherwise wishing to prepare it. If you use this feature, always keep the definition and the use close together to avoid the nameless statement being redefined unexpectedly by code somewhere else. </p>
 
-<p>References <a class="el" href="a00221.html#l00304">cursor_base()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a32efdc645566975851bfc7d6b82d214c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::prepare_now </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Request that prepared statement be registered with the server. </p>
+<p>If the statement had already been fully prepared, this will do nothing.</p>
+<p>If the connection should break and be transparently restored, then the new connection will again defer registering the statement with the server. Since connections are never restored inside backend transactions, doing this once at the beginning of your transaction ensures that the statement will not be re-registered during that transaction. In most cases, however, it's probably better not to use this and let the connection decide when and whether to register prepared statements that you've defined. </p>
+
+</div>
+</div>
+<a class="anchor" id="a140578ed1e1c65c61deb0407ff25959f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::process_notice </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>msg</em>[]</td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Invoke notice processor function. The message should end in newline. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9d64420154827b3572dcdb955a93bfff"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::process_notice </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Invoke notice processor function. Newline at end is recommended. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab63e45ad783d8adb8d4a9f03e03ef6ef"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pqxx::connection_base::protocol_version </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What version of the PostgreSQL protocol is this connection using? </p>
+<p>The answer can be 0 (when there is no connection, or the libpq version being used is too old to obtain the information); 2 for protocol 2.0; 3 for protocol 3.0; and possibly higher values as newer protocol versions are taken into use.</p>
+<p>If the connection is broken and restored, the restored connection could possibly a different server and protocol version. This would normally happen if the server is upgraded without shutting down the client program, for example.</p>
+<p>Requires libpq version from PostgreSQL 7.4 or better. </p>
+
+</div>
+</div>
+<a class="anchor" id="acdd295f691812773133147530aa6ff21"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pqxx::connection_base::server_version </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What version of the PostgreSQL server are we connected to? </p>
+<p>The result is a bit complicated: each of the major, medium, and minor release numbers is written as a two-digit decimal number, and the three are then concatenated. Thus server version 7.4.2 will be returned as the decimal number 70402. If there is no connection to the server, of if the libpq version is too old to obtain the information, zero is returned.</p>
+<dl class="section warning"><dt>Warning</dt><dd>When writing version numbers in your code, don't add zero at the beginning! Numbers beginning with zero are interpreted as octal (base-8) in C++. Thus, 070402 is not the same as 70402, and 080000 is not a number at all because there is no digit "8" in octal notation. Use strictly decimal notation when it comes to these version numbers. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a04895c06c5ae1d8b0863a32a28beff51"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::set_client_encoding </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Encoding</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00221.html#l00304">cursor_base()</a>.</p>
+<p>Set client-side character encoding. </p>
+<p>Search the PostgreSQL documentation for "multibyte" or "character set
+encodings" to find out more about the available encodings, how to extend them, and how to use them. Not all server-side encodings are compatible with all client-side encodings or vice versa. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Encoding</td><td>Name of the character set encoding to use </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="56b530ba6b18f3fcdb5b93a0087922c9"></a><!-- doxytag: member="pqxx::cursor_base::all" ref="56b530ba6b18f3fcdb5b93a0087922c9" args="()" -->
+</div>
+<a class="anchor" id="ac6b5f32ac91993b37531e96c2d14b18e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> pqxx::cursor_base::all           </td>
+          <td class="memname">auto_ptr&lt; <a class="el" href="a00065.html">pqxx::noticer</a> &gt; pqxx::connection_base::set_noticer </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramtype">std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt;&#160;</td>
+          <td class="paramname"><em>N</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Set handler for postgresql errors or warning messages. </p>
+<p>The use of auto_ptr implies ownership, so unless the returned value is copied to another auto_ptr, it will be deleted directly after the call. This may be important when running under Windows, where a DLL cannot free memory allocated by the main program. The auto_ptr will delete the object from your code context, rather than from inside the library.</p>
+<p>If a noticer exists when the <a class="el" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> is destructed, it will also be deleted.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">N</td><td>New message handler; must not be null or equal to the old one </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Previous handler </dd></dl>
+
+<p>Referenced by <a class="el" href="a00006.html#a3abaa953e318c2dda1b61b3f5861140e">pqxx::basic_connection&lt; CONNECTPOLICY &gt;::~basic_connection()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a120b9e03dcaa9b0c3ef7026afa64d954"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::set_variable </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Special value: read until end. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Maximum value for <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>, so the cursor will attempt to read the largest possible <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. </dd></dl>
+<p>Set session variable. </p>
+<p>Set a session variable for this connection, using the SET command. If the connection to the database is lost and recovered, the last-set value will be restored automatically. See the PostgreSQL documentation for a list of variables that can be set and their permissible values. If a transaction is currently in progress, aborting that transaction will normally discard the newly set value. Known exceptions are nontransaction (which doesn't start a real backend transaction) and PostgreSQL versions prior to 7.3. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not mix the set_variable interface with manual setting of variables by executing the corresponding SQL commands, and do not get or set variables while a tablestream or pipeline is active on the same connection. </dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Var</td><td>Variable to set </td></tr>
+    <tr><td class="paramname">Value</td><td>Value vor Var to assume: an identifier, a quoted string, or a number. </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<p>Referenced by <a class="el" href="a00221.html#l00312">pqxx::internal::obtain_stateless_cursor_size()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a335ca1d83e65a9e57b907c431c3afbe1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::simulate_failure </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+<p>Make the connection fail. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not use this except for testing! Breaks the connection in some unspecified, horrible, dirty way to enable failure testing.</dd></dl>
+<p>Do not use this in normal programs. This is only meant for testing. </p>
+
+</div>
 </div>
-</div><p>
-<a class="anchor" name="2a10af042c1ece1f5faf55479ada0319"></a><!-- doxytag: member="pqxx::cursor_base::next" ref="2a10af042c1ece1f5faf55479ada0319" args="()" -->
+<a class="anchor" id="a8ac078b1077fbe19ee1d713bb6b71e8f"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">static <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::cursor_base::next           </td>
+          <td class="memname">int pqxx::connection_base::sock </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Socket currently used for connection, or -1 for none. Use with care! </p>
+<p>Query the current socket number. This is intended for event loops based on functions such as select() or poll(), where multiple file descriptors are watched.</p>
+<p>Please try to stay away from this function. It is really only meant for event loops that need to wait on more than one file descriptor. If all you need is to block until a notification arrives, for instance, use <a class="el" href="a00023.html#ab5c24029bda3198d826d24757e49c746" title="Wait for a notification to come in.">await_notification()</a>. If you want to issue queries and retrieve results in nonblocking fashion, check out the pipeline class.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Don't store this value anywhere, and always be prepared for the possibility that there is no socket. The socket may change or even go away during any invocation of libpqxx code, no matter how trivial. </dd></dl>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aefdde864e05f88e84d748236b93659e7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::connection_base::supports </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71">capability</a>&#160;</td>
+          <td class="paramname"><em>c</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Does this connection seem to support the given capability? </p>
+<p>Don't try to be smart by caching this information anywhere. Obtaining it is quite fast (especially after the first time) and what's more, a capability may "suddenly" appear or disappear if the connection is broken or deactivated, and then restored. This may happen silently any time no backend transaction is active; if it turns out that the server was upgraded or restored from an older backup, or the new connection goes to a different backend, then the restored session may have different capabilities than were available previously.</p>
+<p>Some guesswork is involved in establishing the presence of any capability; try not to rely on this function being exactly right.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Make sure your connection is active before calling this function, or the answer will always be "no." In particular, if you are using this function on a newly-created lazyconnection, activate the connection first. </dd></dl>
 
-<p>
-Special value: read one row only. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Unsurprisingly, 1 </dd></dl>
+<p>Referenced by <a class="el" href="a00089.html#a78ee80852828a1221357352ce77b9597">pqxx::internal::sql_cursor::sql_cursor()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="ed642c9d80cddf181853d36c6e8ccb93"></a><!-- doxytag: member="pqxx::cursor_base::prior" ref="ed642c9d80cddf181853d36c6e8ccb93" args="()" -->
+</div>
+<a class="anchor" id="af53d2c135aa27cdb1a66ff550a26e555"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">static <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::cursor_base::prior           </td>
+          <td class="memname">void pqxx::connection_base::trace </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramtype">FILE *&#160;</td>
+          <td class="paramname"><em>Out</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Enable tracing to a given output stream, or NULL to disable. </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a30ec51634479614b45106532e87e5dc7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::unprepare </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>name</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Special value: read backwards, one row only. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Unsurprisingly, -1 </dd></dl>
+<p>Drop prepared statement. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="e1e1a28e596a78fa8ed8c4eeccbe6369"></a><!-- doxytag: member="pqxx::cursor_base::backward_all" ref="e1e1a28e596a78fa8ed8c4eeccbe6369" args="()" -->
+</div>
+<a class="anchor" id="ae02522000400fc2782e892ac0387d85b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> pqxx::cursor_base::backward_all           </td>
+          <td class="memname">const char * pqxx::connection_base::username </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Database user ID we're connected under, if any. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This activates the connection, which may fail with a <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> exception. </dd></dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="af860fe4c418cfa4f573f34d73327d111"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::wait_read </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-Special value: read backwards from current position back to origin. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Minimum value for <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> </dd></dl>
+<p>References <a class="el" href="a00189.html#aab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab8c7dd5e54493e18d5900dd70012d062"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::connection_base::wait_read </td>
+          <td>(</td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>seconds</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">long&#160;</td>
+          <td class="paramname"><em>microseconds</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00222.html#l00307">pqxx::stateless_cursor&lt; up, op &gt;::stateless_cursor()</a>.</p>
+<p>References <a class="el" href="a00189.html#aab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="df7c9ac70e8ee99dffe7c62fd2e12edd"></a><!-- doxytag: member="pqxx::cursor_base::name" ref="df7c9ac70e8ee99dffe7c62fd2e12edd" args="() const " -->
+</div>
+<a class="anchor" id="acfb8d53e6f105db280cd5d977c005bea"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">const std ::string&amp; pqxx::cursor_base::name           </td>
+          <td class="memname">void pqxx::connection_base::wait_write </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00189.html#a578ac9f03e48ac2c6489456b6843ecb7">pqxx::internal::wait_write()</a>.</p>
+
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="af3dfec559fe2305e57aba653abe4c8ad"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_dbtransaction</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab15ff67d81467d271dc713b2584f1328"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_largeobject</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a518f718405d80def662f248b427f0e60"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_notify_listener</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a0e64dc314f291c6f81a948c59d94aa8a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_parameterized_invocation</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-Name of underlying SQL cursor. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Name of SQL cursor, which may differ from original given name. </dd></dl>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Don't use this to access the SQL cursor directly without going through the provided wrapper classes! </dd></dl>
+</div>
+</div>
+<a class="anchor" id="a3b9c5dc16f04600aa5415e06f6ff8fa6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_pipeline</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00221.html#l00152">pqxx::internal::sql_cursor::close()</a>, <a class="el" href="a00221.html#l00236">pqxx::internal::sql_cursor::fetch()</a>, and <a class="el" href="a00221.html#l00251">pqxx::internal::sql_cursor::move()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a1407974cc9c548bee6d31834625c3d45"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_prepare_declaration</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="ebf66d30e36bdc0c58696fd38a10c73e"></a><!-- doxytag: member="pqxx::cursor_base::m_name" ref="ebf66d30e36bdc0c58696fd38a10c73e" args="" -->
+</div>
+<a class="anchor" id="ac2eff365ba0aa25ebbf5f903ac3c7a54"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">const std ::string <a class="el" href="a00023.html#ebf66d30e36bdc0c58696fd38a10c73e">pqxx::cursor_base::m_name</a><code> [protected]</code>          </td>
+          <td class="memname">friend class internal::gate::connection_prepare_invocation</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a2247d8690958f634898bbf014a7d418c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_reactivation_avoidance_exemption</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a84c1a28176815ab9103c7febec450755"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_sql_cursor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a3c60c76e32687adce1e8c0dba0919773"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::connection_transaction</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00222.html">cursor.hxx</a><li><a class="el" href="a00131.html">cursor.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+<li><a class="el" href="a00172_source.html">transactor.hxx</a></li>
+<li>connection_base.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00023.html">connection_base</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00023.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00023.js
--- 3.1-1.1/doc/html/Reference/a00023.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00023.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,73 @@
+var a00023 =
+[
+    [ "capability", "a00023.html#a306a884246abc1051bab4fb06393ee71", [
+      [ "cap_prepared_statements", "a00023.html#a306a884246abc1051bab4fb06393ee71af5a4754aea608aaf5fca6caa51c44ce0", null ],
+      [ "cap_create_table_with_oids", "a00023.html#a306a884246abc1051bab4fb06393ee71aba8a02f6bb5d2304bfbf2110c6cd791a", null ],
+      [ "cap_nested_transactions", "a00023.html#a306a884246abc1051bab4fb06393ee71a973dc9e4f56818f82b86fb13a5bbc405", null ],
+      [ "cap_cursor_scroll", "a00023.html#a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc", null ],
+      [ "cap_cursor_with_hold", "a00023.html#a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4", null ],
+      [ "cap_cursor_update", "a00023.html#a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb", null ],
+      [ "cap_cursor_fetch_0", "a00023.html#a306a884246abc1051bab4fb06393ee71a86380c8c083847ba3d16764784f5914f", null ],
+      [ "cap_table_column", "a00023.html#a306a884246abc1051bab4fb06393ee71a1f2b785abe834490c33dc4cf19c932d2", null ],
+      [ "cap_read_only_transactions", "a00023.html#a306a884246abc1051bab4fb06393ee71a01e68a67b6a3c92ce9b0c92fa73e90b2", null ],
+      [ "cap_statement_varargs", "a00023.html#a306a884246abc1051bab4fb06393ee71abefe533e379346c7b9644406c613eb02", null ],
+      [ "cap_prepare_unnamed_statement", "a00023.html#a306a884246abc1051bab4fb06393ee71a6b019128f2fdcfa9d316042342846e2f", null ],
+      [ "cap_parameterized_statements", "a00023.html#a306a884246abc1051bab4fb06393ee71a366c98bc3385ecfb39496bf7240e5973", null ],
+      [ "cap_end", "a00023.html#a306a884246abc1051bab4fb06393ee71a4a873c5d7e7fb0a9022cdd110181a7de", null ]
+    ] ],
+    [ "connection_base", "a00023.html#a33700cc6d830d28c3dbd48eb9b7276ab", null ],
+    [ "activate", "a00023.html#a1aa330287775aa1ff83f94714f772673", null ],
+    [ "adorn_name", "a00023.html#a4963aaba6da521d480c21c7ec01835cf", null ],
+    [ "await_notification", "a00023.html#ab5c24029bda3198d826d24757e49c746", null ],
+    [ "await_notification", "a00023.html#aa9e66faad88a94857c0749b9bbc5d352", null ],
+    [ "backendpid", "a00023.html#a7179e32df28bd4bc81b85d99b36ad791", null ],
+    [ "cancel_query", "a00023.html#a9709e4738b1bfb1dba547381749908cb", null ],
+    [ "close", "a00023.html#af02016af0233bed748eb1ddab9685131", null ],
+    [ "dbname", "a00023.html#a043e536c1923594c246f2ca8db31dffa", null ],
+    [ "deactivate", "a00023.html#a10b275082e18dbcb177a8871f92c7523", null ],
+    [ "disconnect", "a00023.html#a9bd21013745b4454e248e637cdae1287", null ],
+    [ "esc", "a00199.html#ga8978ff727c03a1aaaa3a9d3fd3268abf", null ],
+    [ "esc", "a00199.html#gae711f65dd793a70629f97a2e0e54d8db", null ],
+    [ "esc", "a00199.html#gaca9ba750fd096cfd652a4323dab3a653", null ],
+    [ "esc_raw", "a00199.html#ga6a8c83d3dcea7114a00c188fe6a92779", null ],
+    [ "get_noticer", "a00023.html#aedf4e61e94ea58058e4bc592d98f8dc2", null ],
+    [ "get_notifs", "a00023.html#aa839a066c0289a12f664e29c9dbafd38", null ],
+    [ "get_variable", "a00023.html#a908a2ffdf56d8259492e9f3894e24f65", null ],
+    [ "hostname", "a00023.html#a38dde9befa350a07a5ac093d13ee64e2", null ],
+    [ "inhibit_reactivation", "a00023.html#aedf7ac72658efa92e702a06b1964747a", null ],
+    [ "init", "a00023.html#a1d1c129c2c5797a82f251ee9dabec77e", null ],
+    [ "is_open", "a00023.html#a36a26cf7e13f612749d49faf4f1654f8", null ],
+    [ "perform", "a00023.html#abf3b71372850f86e4f5e67eb4b7d56bd", null ],
+    [ "perform", "a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d", null ],
+    [ "port", "a00023.html#a826750f0f13ede4ac4e6ca8a84711b53", null ],
+    [ "prepare", "a00023.html#ad2b9e50c9ebfab7c86a091cd939e1e6c", null ],
+    [ "prepare", "a00023.html#af2dcc39b88897fe2bc3c5742edd43645", null ],
+    [ "prepare_now", "a00023.html#a32efdc645566975851bfc7d6b82d214c", null ],
+    [ "process_notice", "a00023.html#a140578ed1e1c65c61deb0407ff25959f", null ],
+    [ "process_notice", "a00023.html#a9d64420154827b3572dcdb955a93bfff", null ],
+    [ "protocol_version", "a00023.html#ab63e45ad783d8adb8d4a9f03e03ef6ef", null ],
+    [ "quote", "a00199.html#ga81fe65fbb9561af7c5f0b33a9fe27e5a", null ],
+    [ "server_version", "a00023.html#acdd295f691812773133147530aa6ff21", null ],
+    [ "set_client_encoding", "a00023.html#a04895c06c5ae1d8b0863a32a28beff51", null ],
+    [ "set_noticer", "a00023.html#ac6b5f32ac91993b37531e96c2d14b18e", null ],
+    [ "set_variable", "a00023.html#a120b9e03dcaa9b0c3ef7026afa64d954", null ],
+    [ "simulate_failure", "a00023.html#a335ca1d83e65a9e57b907c431c3afbe1", null ],
+    [ "sock", "a00023.html#a8ac078b1077fbe19ee1d713bb6b71e8f", null ],
+    [ "supports", "a00023.html#aefdde864e05f88e84d748236b93659e7", null ],
+    [ "trace", "a00023.html#af53d2c135aa27cdb1a66ff550a26e555", null ],
+    [ "unprepare", "a00023.html#a30ec51634479614b45106532e87e5dc7", null ],
+    [ "username", "a00023.html#ae02522000400fc2782e892ac0387d85b", null ],
+    [ "wait_read", "a00023.html#af860fe4c418cfa4f573f34d73327d111", null ],
+    [ "wait_read", "a00023.html#ab8c7dd5e54493e18d5900dd70012d062", null ],
+    [ "wait_write", "a00023.html#acfb8d53e6f105db280cd5d977c005bea", null ],
+    [ "internal::gate::connection_dbtransaction", "a00023.html#af3dfec559fe2305e57aba653abe4c8ad", null ],
+    [ "internal::gate::connection_largeobject", "a00023.html#ab15ff67d81467d271dc713b2584f1328", null ],
+    [ "internal::gate::connection_notify_listener", "a00023.html#a518f718405d80def662f248b427f0e60", null ],
+    [ "internal::gate::connection_parameterized_invocation", "a00023.html#a0e64dc314f291c6f81a948c59d94aa8a", null ],
+    [ "internal::gate::connection_pipeline", "a00023.html#a3b9c5dc16f04600aa5415e06f6ff8fa6", null ],
+    [ "internal::gate::connection_prepare_declaration", "a00023.html#a1407974cc9c548bee6d31834625c3d45", null ],
+    [ "internal::gate::connection_prepare_invocation", "a00023.html#ac2eff365ba0aa25ebbf5f903ac3c7a54", null ],
+    [ "internal::gate::connection_reactivation_avoidance_exemption", "a00023.html#a2247d8690958f634898bbf014a7d418c", null ],
+    [ "internal::gate::connection_sql_cursor", "a00023.html#a84c1a28176815ab9103c7febec450755", null ],
+    [ "internal::gate::connection_transaction", "a00023.html#a3c60c76e32687adce1e8c0dba0919773", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00023.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00023.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00024.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00024.html
--- 3.1-1.1/doc/html/Reference/a00024.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00024.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,115 +1,356 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::data_exception Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::connectionpolicy Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00024.html">data_exception</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00024.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00219.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::connectionpolicy Class Reference<div class="ingroups"><a class="el" href="a00200.html">Connection classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::data_exception Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::data_exception" --><!-- doxytag: inherits="pqxx::sql_error" -->Error in data provided to SQL statement.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p><code>#include &lt;<a class="el" href="a00133_source.html">connectionpolicy.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::data_exception:</div>
-<div class="dynsection">
-<p><center><img src="a00508.png" border="0" usemap="#a00509" alt="Inheritance graph"></center>
-<map name="a00509">
-<area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="27,161,141,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="35,84,133,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="5,7,163,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
+Inheritance diagram for pqxx::connectionpolicy:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00024.png" usemap="#pqxx::connectionpolicy_map" alt=""/>
+  <map id="pqxx::connectionpolicy_map" name="pqxx::connectionpolicy_map">
+<area href="a00019.html" title="Asynchronous connection policy; connects &quot;in the background&quot;." alt="pqxx::connect_async" shape="rect" coords="0,56,139,80"/>
+<area href="a00020.html" title="Connection policy; creates an immediate connection to a database." alt="pqxx::connect_direct" shape="rect" coords="149,56,288,80"/>
+<area href="a00021.html" title="Lazy connection policy; causes connection to be deferred until first use." alt="pqxx::connect_lazy" shape="rect" coords="298,56,437,80"/>
+<area href="a00022.html" title="Nonfunctional, always-down connection policy for testing/debugging purposes." alt="pqxx::connect_null" shape="rect" coords="447,56,586,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a15bb552a890c0fb28fab2413200dee18"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab46be4bfe19a8a022f441d120b6b2f09"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab46be4bfe19a8a022f441d120b6b2f09">connectionpolicy</a> (const std::string &amp;opts)</td></tr>
+<tr class="memitem:a69870c553a2ea10b2f1fbd6073c2fb25"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a69870c553a2ea10b2f1fbd6073c2fb25">~connectionpolicy</a> ()  throw ()</td></tr>
+<tr class="memitem:ae3164a06f63e76709e17065bea2bf938"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae3164a06f63e76709e17065bea2bf938">options</a> () const   throw ()</td></tr>
+<tr class="memitem:ab7c76ae54326197bcbe6d35b5bbb246f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ab7c76ae54326197bcbe6d35b5bbb246f">do_startconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)</td></tr>
+<tr class="memitem:a0bbbedd08b7f579e5a2577e97b7e09b7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a0bbbedd08b7f579e5a2577e97b7e09b7">do_completeconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)</td></tr>
+<tr class="memitem:a3358c5c2ab741a6fd798db538516a349"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a3358c5c2ab741a6fd798db538516a349">do_dropconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae74d43f05d575eb142e18ed0939de151"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae74d43f05d575eb142e18ed0939de151">do_disconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> orig)  throw ()</td></tr>
+<tr class="memitem:ae6c506b9822a94dffd7e58a917d5509e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#ae6c506b9822a94dffd7e58a917d5509e">is_ready</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a5b4be97db7a8739e9f4fc7e1b7ab587c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#a5b4be97db7a8739e9f4fc7e1b7ab587c">normalconnect</a> (<a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>)</td></tr>
+</table>
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a15bb552a890c0fb28fab2413200dee18"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a>* <a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-<a href="a00510.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#0e28cd5da6e6cd6fba5ade32b353e51a">data_exception</a> (const std::string &amp;err)</td></tr>
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab46be4bfe19a8a022f441d120b6b2f09"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::connectionpolicy::connectionpolicy </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>opts</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html#987ace354d0497c66d468ce18dc48487">data_exception</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a69870c553a2ea10b2f1fbd6073c2fb25"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::connectionpolicy::~connectionpolicy </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a0bbbedd08b7f579e5a2577e97b7e09b7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connectionpolicy::do_completeconnect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Error in data provided to SQL statement. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="0e28cd5da6e6cd6fba5ade32b353e51a"></a><!-- doxytag: member="pqxx::data_exception::data_exception" ref="0e28cd5da6e6cd6fba5ade32b353e51a" args="(const std::string &amp;err)" -->
+</div><div class="memdoc">
+
+<p>Reimplemented in <a class="el" href="a00019.html#aa2b7f15be38163b46695c2739b59fb8b">pqxx::connect_async</a>, and <a class="el" href="a00021.html#ad5c2b3b6043ff998ad67cddc89e2669b">pqxx::connect_lazy</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae74d43f05d575eb142e18ed0939de151"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::data_exception::data_exception           </td>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connectionpolicy::do_disconnect </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a3358c5c2ab741a6fd798db538516a349"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connectionpolicy::do_dropconnect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Reimplemented in <a class="el" href="a00019.html#a36ed18e0528808b19df70dcf721da973">pqxx::connect_async</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="987ace354d0497c66d468ce18dc48487"></a><!-- doxytag: member="pqxx::data_exception::data_exception" ref="987ace354d0497c66d468ce18dc48487" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="ab7c76ae54326197bcbe6d35b5bbb246f"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::data_exception::data_exception           </td>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connectionpolicy::do_startconnect </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
+          <td></td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented in <a class="el" href="a00019.html#adc14fc627579522b2284af143b8ac9ea">pqxx::connect_async</a>, and <a class="el" href="a00020.html#a2b3538872ddbadb1e1a4aadc7724afb6">pqxx::connect_direct</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae6c506b9822a94dffd7e58a917d5509e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="memname">bool pqxx::connectionpolicy::is_ready </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>h</em></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reimplemented in <a class="el" href="a00019.html#a48a470b67ec1adb0459b0e009b0a60d0">pqxx::connect_async</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5b4be97db7a8739e9f4fc7e1b7ab587c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
+          <td class="memname"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">pqxx::connectionpolicy::handle</a> pqxx::connectionpolicy::normalconnect </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>&#160;</td>
+          <td class="paramname"><em>orig</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ae3164a06f63e76709e17065bea2bf938"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; pqxx::connectionpolicy::options </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00133_source.html">connectionpolicy.hxx</a></li>
+<li>connection.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00024.html">connectionpolicy</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00024.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00024.js
--- 3.1-1.1/doc/html/Reference/a00024.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00024.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,13 @@
+var a00024 =
+[
+    [ "handle", "a00024.html#a15bb552a890c0fb28fab2413200dee18", null ],
+    [ "connectionpolicy", "a00024.html#ab46be4bfe19a8a022f441d120b6b2f09", null ],
+    [ "~connectionpolicy", "a00024.html#a69870c553a2ea10b2f1fbd6073c2fb25", null ],
+    [ "do_completeconnect", "a00024.html#a0bbbedd08b7f579e5a2577e97b7e09b7", null ],
+    [ "do_disconnect", "a00024.html#ae74d43f05d575eb142e18ed0939de151", null ],
+    [ "do_dropconnect", "a00024.html#a3358c5c2ab741a6fd798db538516a349", null ],
+    [ "do_startconnect", "a00024.html#ab7c76ae54326197bcbe6d35b5bbb246f", null ],
+    [ "is_ready", "a00024.html#ae6c506b9822a94dffd7e58a917d5509e", null ],
+    [ "normalconnect", "a00024.html#a5b4be97db7a8739e9f4fc7e1b7ab587c", null ],
+    [ "options", "a00024.html#ae3164a06f63e76709e17065bea2bf938", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00024.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00024.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00025.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00025.html
--- 3.1-1.1/doc/html/Reference/a00025.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00025.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,325 +1,574 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::dbtransaction Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result::const_fielditerator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00025.html">dbtransaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00025.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00270.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result::const_fielditerator Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::dbtransaction Class Reference</h1><!-- doxytag: class="pqxx::dbtransaction" --><!-- doxytag: inherits="pqxx::transaction_base" --><code>#include &lt;<a class="el" href="a00224.html">dbtransaction.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::dbtransaction:</div>
-<div class="dynsection">
-<p><center><img src="a00472.png" border="0" usemap="#a00473" alt="Inheritance graph"></center>
-<map name="a00473">
-<area shape="rect" href="a00008.html" title="pqxx::basic_robusttransaction" alt="" coords="663,6,873,32"><area shape="rect" href="a00009.html" title="pqxx::basic_transaction" alt="" coords="683,56,853,83"><area shape="rect" href="a00097.html" title="&quot;Transaction&quot; nested within another transaction" alt="" coords="691,107,845,134"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="247,56,415,83"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="5,56,197,83"><area shape="rect" href="a00084.html" title="Slightly slower, better&#45;fortified version of transaction." alt="" coords="944,6,1251,32"><area shape="rect" href="a00104.html" title="Standard back&#45;end transaction, templatized on isolation level." alt="" coords="924,56,1271,83"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00474.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ce1dc32cc5ab0d51481518e659675b79">~dbtransaction</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#49d5c0050ec02eba8440b1bdb20a1539">dbtransaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;, const std::string &amp;IsolationString, <a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=read_write)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#12e833c152ed73fabe7c4c30020140e2">dbtransaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;, bool direct=true, <a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=read_write)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#601f599d9c5cca86ce84a77bdac941db">start_backend_transaction</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> on the backend and set desired isolation level.  <a href="#601f599d9c5cca86ce84a77bdac941db"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#0b4da4b562a51ec0f03a9abf75acd14c">do_begin</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sensible default implemented here: begin backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#0b4da4b562a51ec0f03a9abf75acd14c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#9b3e988901d4bec05d414543314a945b">do_exec</a> (const char Query[])</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sensible default implemented here: perform query.  <a href="#9b3e988901d4bec05d414543314a945b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#e434c2ec625a55ec8c6c4f57d1cb0a54">do_commit</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be implemented by derived class: commit backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#e434c2ec625a55ec8c6c4f57d1cb0a54"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#38c5eb7ae19ad150f89e951261873aba">do_abort</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sensible default implemented here: abort backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#38c5eb7ae19ad150f89e951261873aba"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::result::const_fielditerator:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00025.png" usemap="#pqxx::result::const_fielditerator_map" alt=""/>
+  <map id="pqxx::result::const_fielditerator_map" name="pqxx::result::const_fielditerator_map">
+<area href="a00041.html" title="Reference to a field in a result set." alt="pqxx::result::field" shape="rect" coords="0,0,232,24"/>
+<area href="a00027.html" alt="pqxx::result::const_reverse_fielditerator" shape="rect" coords="0,112,232,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ae36e7966b97f179cc4c7aefdb380b871"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ae36e7966b97f179cc4c7aefdb380b871">size_type</a></td></tr>
+<tr class="memitem:a17ba5e3a754d359042dfa48e5264ddf1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a></td></tr>
+<tr class="memitem:aba4cd98f3fa431fd209e2472d2451e70"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00041.html">field</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">reference</a></td></tr>
+<tr class="inherit_header pub_types_a00041"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00041')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00041.html">pqxx::result::field</a></td></tr>
+<tr class="memitem:a0ab6de6dd220f68122b41c71758ebe09 inherit pub_types_a00041"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a0ab6de6dd220f68122b41c71758ebe09">size_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad0bd9ced4070befef193fd8d5833b108"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad0bd9ced4070befef193fd8d5833b108">const_fielditerator</a> (const <a class="el" href="a00110.html">tuple</a> &amp;T, <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> C)  throw ()</td></tr>
+<tr class="memitem:a906281ba2490a25fb8f6aa07d628d864"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a906281ba2490a25fb8f6aa07d628d864">const_fielditerator</a> (const <a class="el" href="a00041.html">field</a> &amp;F)  throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Dereferencing operators</div></td></tr>
+<tr class="memitem:abc1be98d7b3677258fe94371dafffb51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a16732cbff5bf11cefd68471577344551">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#abc1be98d7b3677258fe94371dafffb51">operator-&gt;</a> () const </td></tr>
+<tr class="memitem:ad6ec720a271e8c8ef55d788a4ef4310e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad6ec720a271e8c8ef55d788a4ef4310e">operator*</a> () const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
+<tr class="memitem:ac16edeb1eb2cf093da17f50bbfca1d28"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ac16edeb1eb2cf093da17f50bbfca1d28">operator++</a> (int)</td></tr>
+<tr class="memitem:ac9fb1887ce58a5a7e54f4f07f03e7cb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ac9fb1887ce58a5a7e54f4f07f03e7cb8">operator++</a> ()</td></tr>
+<tr class="memitem:a8f1bc52746ef28585dec38b5c2aa3c38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a8f1bc52746ef28585dec38b5c2aa3c38">operator--</a> (int)</td></tr>
+<tr class="memitem:af35b104d96b2539298f555f8d203c274"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af35b104d96b2539298f555f8d203c274">operator--</a> ()</td></tr>
+<tr class="memitem:afff9ad42b2ee875271986e286eafb3e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#afff9ad42b2ee875271986e286eafb3e5">operator+=</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr class="memitem:a97aff58264d121f88dad67b0af297934"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a97aff58264d121f88dad67b0af297934">operator-=</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
+<tr class="memitem:a3ea200dc9d6c842992fac6051894c0d8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a3ea200dc9d6c842992fac6051894c0d8">operator==</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:accdf860872a8f8afc2f09962584a18da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#accdf860872a8f8afc2f09962584a18da">operator!=</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:ad55b1f8087acb90293ac5b755fa7559a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad55b1f8087acb90293ac5b755fa7559a">operator&lt;</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a50dbe2edddd9e19c30c0f759f99fd96c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a50dbe2edddd9e19c30c0f759f99fd96c">operator&lt;=</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a790cbb59aead02667d6b9d0ceb1a9403"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a790cbb59aead02667d6b9d0ceb1a9403">operator&gt;</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a15cc57f0a024f75b589c691bc365c718"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a15cc57f0a024f75b589c691bc365c718">operator&gt;=</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="inherit_header pub_methods_a00041"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00041')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00041.html">pqxx::result::field</a></td></tr>
+<tr class="memitem:a401e3e92abfa6bff1279037cb9fed43a inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a401e3e92abfa6bff1279037cb9fed43a">field</a> (const <a class="el" href="a00110.html">tuple</a> &amp;T, <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> C)  throw ()</td></tr>
+<tr class="memdesc:a401e3e92abfa6bff1279037cb9fed43a inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a401e3e92abfa6bff1279037cb9fed43a"></a><br/></td></tr>
+<tr class="memitem:ae9c125fc1dd8a1de2c8a519079cae211 inherit pub_methods_a00041"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:ae9c125fc1dd8a1de2c8a519079cae211"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#ae9c125fc1dd8a1de2c8a519079cae211">to</a> (const char *&amp;Obj) const </td></tr>
+<tr class="memdesc:ae9c125fc1dd8a1de2c8a519079cae211 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization: <code>to(const char *&amp;)</code>.  <a href="#ae9c125fc1dd8a1de2c8a519079cae211"></a><br/></td></tr>
+<tr class="memitem:aa7adcdf554e68ecea7b4e502c4952a03 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#aa7adcdf554e68ecea7b4e502c4952a03">operator==</a> (const <a class="el" href="a00041.html">field</a> &amp;) const </td></tr>
+<tr class="memdesc:aa7adcdf554e68ecea7b4e502c4952a03 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte-by-byte comparison of two fields (all nulls are considered equal)  <a href="#aa7adcdf554e68ecea7b4e502c4952a03"></a><br/></td></tr>
+<tr class="memitem:a203d1875ccf5d841e3b41f8ae12ec1c3 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a203d1875ccf5d841e3b41f8ae12ec1c3">operator!=</a> (const <a class="el" href="a00041.html">field</a> &amp;rhs) const </td></tr>
+<tr class="memdesc:a203d1875ccf5d841e3b41f8ae12ec1c3 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte-by-byte comparison (all nulls are considered equal)  <a href="#a203d1875ccf5d841e3b41f8ae12ec1c3"></a><br/></td></tr>
+<tr class="memitem:acd43a9ead6e74a68fb816f0bb5ce8385 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#acd43a9ead6e74a68fb816f0bb5ce8385">name</a> () const </td></tr>
+<tr class="memdesc:acd43a9ead6e74a68fb816f0bb5ce8385 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column name.  <a href="#acd43a9ead6e74a68fb816f0bb5ce8385"></a><br/></td></tr>
+<tr class="memitem:abb87d607c6f7094dd22a2c48a620f4c0 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#abb87d607c6f7094dd22a2c48a620f4c0">type</a> () const </td></tr>
+<tr class="memdesc:abb87d607c6f7094dd22a2c48a620f4c0 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column type.  <a href="#abb87d607c6f7094dd22a2c48a620f4c0"></a><br/></td></tr>
+<tr class="memitem:aa7e23b2225e1f7e49ab71aa4cee62aab inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#aa7e23b2225e1f7e49ab71aa4cee62aab">table</a> () const </td></tr>
+<tr class="memdesc:aa7e23b2225e1f7e49ab71aa4cee62aab inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#aa7e23b2225e1f7e49ab71aa4cee62aab"></a><br/></td></tr>
+<tr class="memitem:a67b0e518d0e5aabd78e14487c4edfd5a inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a67b0e518d0e5aabd78e14487c4edfd5a">num</a> () const </td></tr>
+<tr class="memitem:a989bfa84c3b053422a01e8d4fd3c7461 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a989bfa84c3b053422a01e8d4fd3c7461">table_column</a> () const </td></tr>
+<tr class="memdesc:a989bfa84c3b053422a01e8d4fd3c7461 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its originating table did this column come from?  <a href="#a989bfa84c3b053422a01e8d4fd3c7461"></a><br/></td></tr>
+<tr class="memitem:a8123fd1430eb4cfaa1f5095b44ceae86 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a8123fd1430eb4cfaa1f5095b44ceae86">c_str</a> () const </td></tr>
+<tr class="memdesc:a8123fd1430eb4cfaa1f5095b44ceae86 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read as plain C string.  <a href="#a8123fd1430eb4cfaa1f5095b44ceae86"></a><br/></td></tr>
+<tr class="memitem:add3416dcfda5f03ccb20e79adbedff4e inherit pub_methods_a00041"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:add3416dcfda5f03ccb20e79adbedff4e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#add3416dcfda5f03ccb20e79adbedff4e">to</a> (T &amp;Obj) const </td></tr>
+<tr class="memdesc:add3416dcfda5f03ccb20e79adbedff4e inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read value into Obj; or leave Obj untouched and return <code>false</code> if null.  <a href="#add3416dcfda5f03ccb20e79adbedff4e"></a><br/></td></tr>
+<tr class="memitem:a65b971460e3177fca71a32865dcd2c72 inherit pub_methods_a00041"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a65b971460e3177fca71a32865dcd2c72"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a65b971460e3177fca71a32865dcd2c72">operator&gt;&gt;</a> (T &amp;Obj) const </td></tr>
+<tr class="memdesc:a65b971460e3177fca71a32865dcd2c72 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read value into Obj; or leave Obj untouched and return <code>false</code> if null.  <a href="#a65b971460e3177fca71a32865dcd2c72"></a><br/></td></tr>
+<tr class="memitem:a708c83bffcf67de435857869087a9d48 inherit pub_methods_a00041"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a708c83bffcf67de435857869087a9d48"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a708c83bffcf67de435857869087a9d48">to</a> (T &amp;Obj, const T &amp;Default) const </td></tr>
+<tr class="memdesc:a708c83bffcf67de435857869087a9d48 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read value into Obj; or use Default &amp; return <code>false</code> if null.  <a href="#a708c83bffcf67de435857869087a9d48"></a><br/></td></tr>
+<tr class="memitem:a79e4cf8ac1f351e1d61183ba1829537d inherit pub_methods_a00041"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a79e4cf8ac1f351e1d61183ba1829537d"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a79e4cf8ac1f351e1d61183ba1829537d">as</a> (const T &amp;Default) const </td></tr>
+<tr class="memdesc:a79e4cf8ac1f351e1d61183ba1829537d inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return value as object of given type, or Default if null.  <a href="#a79e4cf8ac1f351e1d61183ba1829537d"></a><br/></td></tr>
+<tr class="memitem:a08b6151cf5a97625c9cb50a84e3737b0 inherit pub_methods_a00041"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a08b6151cf5a97625c9cb50a84e3737b0"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a08b6151cf5a97625c9cb50a84e3737b0">as</a> () const </td></tr>
+<tr class="memdesc:a08b6151cf5a97625c9cb50a84e3737b0 inherit pub_methods_a00041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return value as object of given type, or throw exception if null.  <a href="#a08b6151cf5a97625c9cb50a84e3737b0"></a><br/></td></tr>
+<tr class="memitem:af22093669fdc6efa525f3935770bdea1 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#af22093669fdc6efa525f3935770bdea1">is_null</a> () const </td></tr>
+<tr class="memitem:aa9c27a211efe8ddbf0bc81c0c1ec8b60 inherit pub_methods_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00041.html#a0ab6de6dd220f68122b41c71758ebe09">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#aa9c27a211efe8ddbf0bc81c0c1ec8b60">size</a> () const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="member-group"></a>
+Arithmetic operators</h2></td></tr>
+<tr class="memitem:a497b63192e5a9a4710ca4293e9c320d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a497b63192e5a9a4710ca4293e9c320d8">operator+</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>) const </td></tr>
+<tr class="memitem:abda1ecb40831ed4143b14a71f375ab03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#abda1ecb40831ed4143b14a71f375ab03">operator-</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>) const </td></tr>
+<tr class="memitem:a5e304e228897af96ffdc3029eb0e5170"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5e304e228897af96ffdc3029eb0e5170">operator-</a> (<a class="el" href="a00025.html">const_fielditerator</a>) const </td></tr>
+<tr class="memitem:a8de1143b9efd7d43a058320137ea82ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a8de1143b9efd7d43a058320137ea82ce">operator+</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>, <a class="el" href="a00025.html">const_fielditerator</a>)</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00041"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00041')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00041.html">pqxx::result::field</a></td></tr>
+<tr class="memitem:a7f88d75fd03f8052243dbe1051b91864 inherit pro_methods_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a7f88d75fd03f8052243dbe1051b91864">col</a> () const   throw ()</td></tr>
+<tr class="inherit_header pro_attribs_a00041"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00041')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00041.html">pqxx::result::field</a></td></tr>
+<tr class="memitem:acc7ac2f9767f0f5ca87ecefaf21e37e8 inherit pro_attribs_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#acc7ac2f9767f0f5ca87ecefaf21e37e8">m_tup</a></td></tr>
+<tr class="memitem:adfa23ee248042a7a0cde53b3737387cf inherit pro_attribs_a00041"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#adfa23ee248042a7a0cde53b3737387cf">m_col</a></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ce1dc32cc5ab0d51481518e659675b79"></a><!-- doxytag: member="pqxx::dbtransaction::~dbtransaction" ref="ce1dc32cc5ab0d51481518e659675b79" args="()" -->
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a17ba5e3a754d359042dfa48e5264ddf1"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::dbtransaction::~dbtransaction           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
+          <td class="memname">typedef <a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a> <a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">pqxx::result::const_fielditerator::difference_type</a></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="aba4cd98f3fa431fd209e2472d2451e70"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00041.html">field</a> <a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">pqxx::result::const_fielditerator::reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ae36e7966b97f179cc4c7aefdb380b871"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> <a class="el" href="a00025.html#ae36e7966b97f179cc4c7aefdb380b871">pqxx::result::const_fielditerator::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="49d5c0050ec02eba8440b1bdb20a1539"></a><!-- doxytag: member="pqxx::dbtransaction::dbtransaction" ref="49d5c0050ec02eba8440b1bdb20a1539" args="(connection_base &amp;, const std::string &amp;IsolationString, readwrite_policy rw=read_write)" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad0bd9ced4070befef193fd8d5833b108"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::dbtransaction::dbtransaction           </td>
+          <td class="memname">pqxx::result::const_fielditerator::const_fielditerator </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype">const <a class="el" href="a00110.html">tuple</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>IsolationString</em>, </td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td>
+          <td class="paramname"><em>C</em>&#160;</td>
         </tr>
         <tr>
-          <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>&nbsp;</td>
-          <td class="paramname"> <em>rw</em> = <code>read_write</code></td><td>&nbsp;</td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a906281ba2490a25fb8f6aa07d628d864"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected]</code></td>
+          <td class="memname">pqxx::result::const_fielditerator::const_fielditerator </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00041.html">field</a> &amp;&#160;</td>
+          <td class="paramname"><em>F</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="accdf860872a8f8afc2f09962584a18da"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_fielditerator::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ad6ec720a271e8c8ef55d788a4ef4310e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">reference</a> pqxx::result::const_fielditerator::operator* </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="12e833c152ed73fabe7c4c30020140e2"></a><!-- doxytag: member="pqxx::dbtransaction::dbtransaction" ref="12e833c152ed73fabe7c4c30020140e2" args="(connection_base &amp;, bool direct=true, readwrite_policy rw=read_write)" -->
+</div>
+<a class="anchor" id="a497b63192e5a9a4710ca4293e9c320d8"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::dbtransaction::dbtransaction           </td>
+          <td class="memname"><a class="el" href="a00025.html">result::const_fielditerator</a> pqxx::result::const_fielditerator::operator+ </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>o</em></td><td>)</td>
+          <td> const</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac16edeb1eb2cf093da17f50bbfca1d28"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="a00025.html">pqxx::result::const_fielditerator</a> pqxx::result::const_fielditerator::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>direct</em> = <code>true</code>, </td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac9fb1887ce58a5a7e54f4f07f03e7cb8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="a00025.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator++ </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>&nbsp;</td>
-          <td class="paramname"> <em>rw</em> = <code>read_write</code></td><td>&nbsp;</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afff9ad42b2ee875271986e286eafb3e5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
+          <td class="memname"><a class="el" href="a00025.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator+= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit, protected]</code></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="601f599d9c5cca86ce84a77bdac941db"></a><!-- doxytag: member="pqxx::dbtransaction::start_backend_transaction" ref="601f599d9c5cca86ce84a77bdac941db" args="()" -->
+</div>
+<a class="anchor" id="abda1ecb40831ed4143b14a71f375ab03"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::dbtransaction::start_backend_transaction           </td>
+          <td class="memname"><a class="el" href="a00025.html">result::const_fielditerator</a> pqxx::result::const_fielditerator::operator- </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected]</code></td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>o</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Start a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> on the backend and set desired isolation level. 
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="0b4da4b562a51ec0f03a9abf75acd14c"></a><!-- doxytag: member="pqxx::dbtransaction::do_begin" ref="0b4da4b562a51ec0f03a9abf75acd14c" args="()" -->
+</div>
+<a class="anchor" id="a5e304e228897af96ffdc3029eb0e5170"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::dbtransaction::do_begin           </td>
+          <td class="memname"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">result::const_fielditerator::difference_type</a> pqxx::result::const_fielditerator::operator- </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
+          <td class="paramtype"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sensible default implemented here: begin backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-
-<p>Implements <a class="el" href="a00105.html#a80a7816f63c425c28cd4037aaa8cf8f">pqxx::transaction_base</a>.</p>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00257.html#l00404">pqxx::transaction_base::DirectExec()</a>.</p>
+<p>References <a class="el" href="a00041.html#a67b0e518d0e5aabd78e14487c4edfd5a">pqxx::result::field::num()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="9b3e988901d4bec05d414543314a945b"></a><!-- doxytag: member="pqxx::dbtransaction::do_exec" ref="9b3e988901d4bec05d414543314a945b" args="(const char Query[])" -->
+</div>
+<a class="anchor" id="a8f1bc52746ef28585dec38b5c2aa3c38"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html">pqxx::result</a> pqxx::dbtransaction::do_exec           </td>
+          <td class="memname"><a class="el" href="a00025.html">pqxx::result::const_fielditerator</a> pqxx::result::const_fielditerator::operator-- </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Query</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sensible default implemented here: perform query. 
-<p>
-
-<p>Implements <a class="el" href="a00105.html#6f587ae3bda7a32c8828984e7c4aa16e">pqxx::transaction_base</a>.</p>
-
-<p>References <a class="el" href="a00257.html#l00187">pqxx::transaction_base::abort()</a>, and <a class="el" href="a00257.html#l00404">pqxx::transaction_base::DirectExec()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="e434c2ec625a55ec8c6c4f57d1cb0a54"></a><!-- doxytag: member="pqxx::dbtransaction::do_commit" ref="e434c2ec625a55ec8c6c4f57d1cb0a54" args="()=0" -->
+</div>
+<a class="anchor" id="af35b104d96b2539298f555f8d203c274"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">virtual void pqxx::dbtransaction::do_commit           </td>
+          <td class="memname"><a class="el" href="a00025.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator-- </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, pure virtual]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-To be implemented by derived class: commit backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
+</div>
+</div>
+<a class="anchor" id="a97aff58264d121f88dad67b0af297934"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00025.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator-= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Implements <a class="el" href="a00105.html#475695c55439007cd2438fb184ed8be3">pqxx::transaction_base</a>.</p>
+</div>
+</div>
+<a class="anchor" id="abc1be98d7b3677258fe94371dafffb51"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a16732cbff5bf11cefd68471577344551">pointer</a> pqxx::result::const_fielditerator::operator-&gt; </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="38c5eb7ae19ad150f89e951261873aba"></a><!-- doxytag: member="pqxx::dbtransaction::do_abort" ref="38c5eb7ae19ad150f89e951261873aba" args="()" -->
+</div>
+<a class="anchor" id="ad55b1f8087acb90293ac5b755fa7559a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::dbtransaction::do_abort           </td>
+          <td class="memname">bool pqxx::result::const_fielditerator::operator&lt; </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
+          <td class="paramtype">const <a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a50dbe2edddd9e19c30c0f759f99fd96c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_fielditerator::operator&lt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Sensible default implemented here: abort backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-Default implementation does two things: <ol>
-<li>
-Clears the "connection reactivation avoidance counter" </li>
-<li>
-Executes a ROLLBACK statement </li>
-</ol>
+</div>
+</div>
+<a class="anchor" id="a3ea200dc9d6c842992fac6051894c0d8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_fielditerator::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Implements <a class="el" href="a00105.html#8fc9a363bcf7defb3c829a633c04ae6c">pqxx::transaction_base</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a790cbb59aead02667d6b9d0ceb1a9403"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_fielditerator::operator&gt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00257.html#l00404">pqxx::transaction_base::DirectExec()</a>, <a class="el" href="a00258.html#l00360">pqxx::transaction_base::reactivation_avoidance_clear()</a>, and <a class="el" href="a00261.html#l00054">pqxx::internal::sql_rollback_work</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a15cc57f0a024f75b589c691bc365c718"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_fielditerator::operator&gt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="4e35ec39c80f088ebe239b15a16488de"></a><!-- doxytag: member="pqxx::dbtransaction::fullname" ref="4e35ec39c80f088ebe239b15a16488de" args="(const std::string &amp;ttype, const std::string &amp;isolation)" -->
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a8de1143b9efd7d43a058320137ea82ce"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">string pqxx::dbtransaction::fullname           </td>
+          <td class="memname"><a class="el" href="a00025.html">const_fielditerator</a> operator+ </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ttype</em>, </td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname">, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>isolation</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td>
+          <td class="paramname">&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [static, protected]</code></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00224.html">dbtransaction.hxx</a><li><a class="el" href="a00133.html">dbtransaction.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li><li class="navelem"><a class="el" href="a00025.html">const_fielditerator</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00025.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00025.js
--- 3.1-1.1/doc/html/Reference/a00025.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00025.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,26 @@
+var a00025 =
+[
+    [ "difference_type", "a00025.html#a17ba5e3a754d359042dfa48e5264ddf1", null ],
+    [ "reference", "a00025.html#aba4cd98f3fa431fd209e2472d2451e70", null ],
+    [ "size_type", "a00025.html#ae36e7966b97f179cc4c7aefdb380b871", null ],
+    [ "const_fielditerator", "a00025.html#ad0bd9ced4070befef193fd8d5833b108", null ],
+    [ "const_fielditerator", "a00025.html#a906281ba2490a25fb8f6aa07d628d864", null ],
+    [ "operator!=", "a00025.html#accdf860872a8f8afc2f09962584a18da", null ],
+    [ "operator*", "a00025.html#ad6ec720a271e8c8ef55d788a4ef4310e", null ],
+    [ "operator+", "a00025.html#a497b63192e5a9a4710ca4293e9c320d8", null ],
+    [ "operator++", "a00025.html#ac16edeb1eb2cf093da17f50bbfca1d28", null ],
+    [ "operator++", "a00025.html#ac9fb1887ce58a5a7e54f4f07f03e7cb8", null ],
+    [ "operator+=", "a00025.html#afff9ad42b2ee875271986e286eafb3e5", null ],
+    [ "operator-", "a00025.html#abda1ecb40831ed4143b14a71f375ab03", null ],
+    [ "operator-", "a00025.html#a5e304e228897af96ffdc3029eb0e5170", null ],
+    [ "operator--", "a00025.html#a8f1bc52746ef28585dec38b5c2aa3c38", null ],
+    [ "operator--", "a00025.html#af35b104d96b2539298f555f8d203c274", null ],
+    [ "operator-=", "a00025.html#a97aff58264d121f88dad67b0af297934", null ],
+    [ "operator->", "a00025.html#abc1be98d7b3677258fe94371dafffb51", null ],
+    [ "operator<", "a00025.html#ad55b1f8087acb90293ac5b755fa7559a", null ],
+    [ "operator<=", "a00025.html#a50dbe2edddd9e19c30c0f759f99fd96c", null ],
+    [ "operator==", "a00025.html#a3ea200dc9d6c842992fac6051894c0d8", null ],
+    [ "operator>", "a00025.html#a790cbb59aead02667d6b9d0ceb1a9403", null ],
+    [ "operator>=", "a00025.html#a15cc57f0a024f75b589c691bc365c718", null ],
+    [ "operator+", "a00025.html#a8de1143b9efd7d43a058320137ea82ce", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00025.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00025.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00026.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00026.html
--- 3.1-1.1/doc/html/Reference/a00026.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00026.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,148 +1,627 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::prepare::declaration Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result::const_iterator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00189.html">prepare</a>::<a class="el" href="a00026.html">declaration</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00026.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00271.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result::const_iterator Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::prepare::declaration Class Reference</h1><!-- doxytag: class="pqxx::prepare::declaration" -->Helper class for declaring parameters to prepared statements.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00239.html">prepared_statement.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00678.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#439009e307daa0cf96396ad09d6e4e90">declaration</a> (<a class="el" href="a00020.html">connection_base</a> &amp;, const std::string &amp;statement)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00026.html">declaration</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#e9151d0abd9eebd52644072657a3ad03">operator()</a> (const std::string &amp;sqltype, <a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>=treat_direct) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a parameter specification to prepared statement <a class="el" href="a00026.html" title="Helper class for declaring parameters to prepared statements.">declaration</a>.  <a href="#e9151d0abd9eebd52644072657a3ad03"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00026.html">declaration</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#51eebe85b4a375c81fda42c4d3a3ac5f">etc</a> (<a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>=treat_direct) const </td></tr>
+<p>Iterator for rows (tuples) in a query result set.  
+ <a href="a00026.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Permit arbitrary parameters after the last declared one.  <a href="#51eebe85b4a375c81fda42c4d3a3ac5f"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::result::const_iterator:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00026.png" usemap="#pqxx::result::const_iterator_map" alt=""/>
+  <map id="pqxx::result::const_iterator_map" name="pqxx::result::const_iterator_map">
+<area href="a00110.html" title="Reference to one row in a result." alt="pqxx::result::tuple" shape="rect" coords="0,0,208,24"/>
+<area href="a00028.html" alt="pqxx::result::const_reverse_iterator" shape="rect" coords="0,112,208,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a5ff9feab497260cb8c0149a617d67d87"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="a00110.html">tuple</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a5ff9feab497260cb8c0149a617d67d87">pointer</a></td></tr>
+<tr class="memitem:ad8f4dfb14796dbca4a2ea11cd3b94abf"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ad8f4dfb14796dbca4a2ea11cd3b94abf">reference</a></td></tr>
+<tr class="memitem:a997e5c6c5280b00c6e0044b5802add69"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a997e5c6c5280b00c6e0044b5802add69">size_type</a></td></tr>
+<tr class="memitem:a26d3352521f982371892fcd3f7887385"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a></td></tr>
+<tr class="inherit_header pub_types_a00110"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00110')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00110.html">pqxx::result::tuple</a></td></tr>
+<tr class="memitem:a04ab738e7b02c3e4c0abc3b36b05b105 inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a></td></tr>
+<tr class="memitem:ae8abaddcc9a8eeea270407617a0575ca inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a></td></tr>
+<tr class="memitem:acd1cad6b3eb306521f7284bb53e86382 inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a></td></tr>
+<tr class="memitem:ad37cf4380d4b70d7f2e4ad64a7bae40d inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad37cf4380d4b70d7f2e4ad64a7bae40d">iterator</a></td></tr>
+<tr class="memitem:a3d6b3ef88e36e1122d48d47c533d2282 inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00041.html">field</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a></td></tr>
+<tr class="memitem:a7f004c2ae584e59e06c4f94064ac2b4a inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pointer</a></td></tr>
+<tr class="memitem:ad9505721c6c5e0ef30f4219acb984c32 inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a></td></tr>
+<tr class="memitem:a30192c24c9670837b9fd0c2aa9c258ce inherit pub_types_a00110"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a30192c24c9670837b9fd0c2aa9c258ce">reverse_iterator</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adb70d4f1b65017f0636f0f0d071c59d8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#adb70d4f1b65017f0636f0f0d071c59d8">const_iterator</a> ()  throw ()</td></tr>
+<tr class="memitem:aaa20e76817214772829e678fb69f1867"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aaa20e76817214772829e678fb69f1867">const_iterator</a> (const <a class="el" href="a00110.html">tuple</a> &amp;t)  throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Dereferencing operators</div></td></tr>
+<tr class="memitem:ae3c7c25edc9892ee1dabf477aab9e395"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ae3c7c25edc9892ee1dabf477aab9e395">operator-&gt;</a> () const </td></tr>
+<tr class="memitem:aaab7d3d96fecdb956ac2a99de48cc6ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aaab7d3d96fecdb956ac2a99de48cc6ad">operator*</a> () const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
+<tr class="memitem:aec42218111ecb316b02ff92360ef9850"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aec42218111ecb316b02ff92360ef9850">operator++</a> (int)</td></tr>
+<tr class="memitem:a502b4f48c95468df45e1171105e7c7ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a502b4f48c95468df45e1171105e7c7ca">operator++</a> ()</td></tr>
+<tr class="memitem:a6dc388d260689833950a5e58965835e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a6dc388d260689833950a5e58965835e6">operator--</a> (int)</td></tr>
+<tr class="memitem:a4b73b10bbd225e66fecb0f973bc7f646"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a4b73b10bbd225e66fecb0f973bc7f646">operator--</a> ()</td></tr>
+<tr class="memitem:aae4cfef8b752a742ea9309211a3e2cbb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aae4cfef8b752a742ea9309211a3e2cbb">operator+=</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
+<tr class="memitem:af90bb146374a2379b945408a11512826"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#af90bb146374a2379b945408a11512826">operator-=</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
+<tr class="memitem:aee74d24ee0519333b2670832bc982ade"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aee74d24ee0519333b2670832bc982ade">operator==</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:a9fa2c69ffd5abdcbe2ffe06e958bf0b0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a9fa2c69ffd5abdcbe2ffe06e958bf0b0">operator!=</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:ad7d0e545c07afd1494ba108013017db4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ad7d0e545c07afd1494ba108013017db4">operator&lt;</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:abf44ad8f6cbe4151aa4f604346c3a798"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#abf44ad8f6cbe4151aa4f604346c3a798">operator&lt;=</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:abcd73f13916b63ca0f58226743f08ad2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#abcd73f13916b63ca0f58226743f08ad2">operator&gt;</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:aac3ac92ff097a00fc3e4db4c492df39d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aac3ac92ff097a00fc3e4db4c492df39d">operator&gt;=</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="inherit_header pub_methods_a00110"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00110')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00110.html">pqxx::result::tuple</a></td></tr>
+<tr class="memitem:ae69c446f9084d6ff0f1a3cc7f321435b inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae69c446f9084d6ff0f1a3cc7f321435b">tuple</a> (const <a class="el" href="a00084.html">result</a> *r, <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> i)  throw ()</td></tr>
+<tr class="memitem:a14121b235049af873ec0b96e9fd44519 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a14121b235049af873ec0b96e9fd44519">~tuple</a> ()  throw ()</td></tr>
+<tr class="memitem:a2ef9928b68fa88d62b1e15d273520633 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2ef9928b68fa88d62b1e15d273520633">begin</a> () const   throw ()</td></tr>
+<tr class="memitem:ac19dba7f5f671c45686919d0ec060099 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac19dba7f5f671c45686919d0ec060099">end</a> () const   throw ()</td></tr>
+<tr class="memitem:a10d7c4b02ec63fa480fe547f44cd845e inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a10d7c4b02ec63fa480fe547f44cd845e">size</a> () const   throw ()</td></tr>
+<tr class="memitem:a2d8ee3f102ab8bb06cfd51cde9587352 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2d8ee3f102ab8bb06cfd51cde9587352">swap</a> (<a class="el" href="a00110.html">tuple</a> &amp;)  throw ()</td></tr>
+<tr class="memitem:a5f40a7299b25840dd77ee1ff4c493b0e inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a5f40a7299b25840dd77ee1ff4c493b0e">rownumber</a> () const   throw ()</td></tr>
+<tr class="memitem:a6b3a9a0f47c46941b03dd46ce5e911d1 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a6b3a9a0f47c46941b03dd46ce5e911d1">num</a> () const </td></tr>
+<tr class="memitem:a181ac1fa489005e938e238631d570e8a inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a181ac1fa489005e938e238631d570e8a">slice</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> Begin, <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> End) const </td></tr>
+<tr class="memitem:a2c3af72b2c5a4e13a5e17029b5393403 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2c3af72b2c5a4e13a5e17029b5393403">empty</a> () const   throw ()</td></tr>
+<tr class="memitem:a918a77515e1d23f490633694e63a7536 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a918a77515e1d23f490633694e63a7536">operator==</a> (const <a class="el" href="a00110.html">tuple</a> &amp;) const   throw ()</td></tr>
+<tr class="memitem:a4a00ef94885ee35c1f2ff3a2e1af5813 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4a00ef94885ee35c1f2ff3a2e1af5813">operator!=</a> (const <a class="el" href="a00110.html">tuple</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:a2c014bad6e66d46cbbc73ec6e733d36b inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2c014bad6e66d46cbbc73ec6e733d36b">front</a> () const   throw ()</td></tr>
+<tr class="memitem:a740b56442337e243a4f180cb162e36df inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a740b56442337e243a4f180cb162e36df">back</a> () const   throw ()</td></tr>
+<tr class="memitem:ab481120e759b2cd379442dea2b5807d4 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab481120e759b2cd379442dea2b5807d4">rbegin</a> () const </td></tr>
+<tr class="memitem:aafbe3642f659bbe799d0c958ca5b3288 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aafbe3642f659bbe799d0c958ca5b3288">rend</a> () const </td></tr>
+<tr class="memitem:aebbd4074b7aac3fe7938016e8467ad4e inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aebbd4074b7aac3fe7938016e8467ad4e">operator[]</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> i) const   throw ()</td></tr>
+<tr class="memitem:aa968f484cb595521a21984c19d782ec7 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa968f484cb595521a21984c19d782ec7">operator[]</a> (int i) const   throw ()</td></tr>
+<tr class="memitem:a7fd25fa711d53bccf273f5ea02b1e804 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7fd25fa711d53bccf273f5ea02b1e804">operator[]</a> (const char f[]) const </td></tr>
+<tr class="memitem:a7d965761726e0aed78c742bef8a8367b inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7d965761726e0aed78c742bef8a8367b">operator[]</a> (const std::string &amp;s) const </td></tr>
+<tr class="memitem:a51a3e775aae505045237751cb77f168f inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a51a3e775aae505045237751cb77f168f">at</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>) const   throw (range_error)</td></tr>
+<tr class="memitem:a04d71d6aec9e22aceff66b3130963957 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a04d71d6aec9e22aceff66b3130963957">at</a> (int i) const   throw (range_error)</td></tr>
+<tr class="memitem:aa89da2b140c6755410e6649d67a24eaa inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa89da2b140c6755410e6649d67a24eaa">at</a> (const char[]) const </td></tr>
+<tr class="memitem:a04d2cc7ce46dee38809cd08e19874d53 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a04d2cc7ce46dee38809cd08e19874d53">at</a> (const std::string &amp;s) const </td></tr>
+<tr class="memitem:a61cd4c1568c6b4e0aa4544def1a504c1 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a61cd4c1568c6b4e0aa4544def1a504c1">column_number</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a61cd4c1568c6b4e0aa4544def1a504c1 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist)  <a href="#a61cd4c1568c6b4e0aa4544def1a504c1"></a><br/></td></tr>
+<tr class="memitem:a896d28adf75ea017058f0af63a9be544 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a896d28adf75ea017058f0af63a9be544">column_number</a> (const char[]) const </td></tr>
+<tr class="memdesc:a896d28adf75ea017058f0af63a9be544 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist)  <a href="#a896d28adf75ea017058f0af63a9be544"></a><br/></td></tr>
+<tr class="memitem:a79754e74ff65d23d9cdc3fc0f1010b10 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a79754e74ff65d23d9cdc3fc0f1010b10">column_type</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a79754e74ff65d23d9cdc3fc0f1010b10 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a79754e74ff65d23d9cdc3fc0f1010b10"></a><br/></td></tr>
+<tr class="memitem:a55037e72efbabdb2689e4f24bfb7ffcb inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a55037e72efbabdb2689e4f24bfb7ffcb">column_type</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a55037e72efbabdb2689e4f24bfb7ffcb inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a55037e72efbabdb2689e4f24bfb7ffcb"></a><br/></td></tr>
+<tr class="memitem:a77516aedd94a1b2f71cd223b8b8e158f inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a77516aedd94a1b2f71cd223b8b8e158f">column_type</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a77516aedd94a1b2f71cd223b8b8e158f inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a77516aedd94a1b2f71cd223b8b8e158f"></a><br/></td></tr>
+<tr class="memitem:a4ba6d8d10f3aa492131db8091a601dd3 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4ba6d8d10f3aa492131db8091a601dd3">column_type</a> (const char ColName[]) const </td></tr>
+<tr class="memdesc:a4ba6d8d10f3aa492131db8091a601dd3 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a4ba6d8d10f3aa492131db8091a601dd3"></a><br/></td></tr>
+<tr class="memitem:aa9c99b23b1b7b6bffee470efa8cf51d2 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa9c99b23b1b7b6bffee470efa8cf51d2">column_table</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:aa9c99b23b1b7b6bffee470efa8cf51d2 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#aa9c99b23b1b7b6bffee470efa8cf51d2"></a><br/></td></tr>
+<tr class="memitem:a570a5885d199ebc832db445b2cbb3bd3 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a570a5885d199ebc832db445b2cbb3bd3">column_table</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a570a5885d199ebc832db445b2cbb3bd3 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a570a5885d199ebc832db445b2cbb3bd3"></a><br/></td></tr>
+<tr class="memitem:a4be9f6a472a8ab323808e2ade47f8b32 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4be9f6a472a8ab323808e2ade47f8b32">column_table</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a4be9f6a472a8ab323808e2ade47f8b32 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a4be9f6a472a8ab323808e2ade47f8b32"></a><br/></td></tr>
+<tr class="memitem:a9436305528c77c8d517e1d298a7d19fc inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9436305528c77c8d517e1d298a7d19fc">table_column</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a9436305528c77c8d517e1d298a7d19fc inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its table did this result column come from?  <a href="#a9436305528c77c8d517e1d298a7d19fc"></a><br/></td></tr>
+<tr class="memitem:a97b1294872efcae20c69ddff5c5e8934 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a97b1294872efcae20c69ddff5c5e8934">table_column</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a97b1294872efcae20c69ddff5c5e8934 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its table did this result column come from?  <a href="#a97b1294872efcae20c69ddff5c5e8934"></a><br/></td></tr>
+<tr class="memitem:a0ba4830dc294d66b8158984ea901f338 inherit pub_methods_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a0ba4830dc294d66b8158984ea901f338">table_column</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a0ba4830dc294d66b8158984ea901f338 inherit pub_methods_a00110"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its table did this result column come from?  <a href="#a0ba4830dc294d66b8158984ea901f338"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ac9149722b80a911706d9ad204417a69a"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ac9149722b80a911706d9ad204417a69a">pqxx::result</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="member-group"></a>
+Arithmetic operators</h2></td></tr>
+<tr class="memitem:a6258eae13dd108996bd5aa271364d083"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a6258eae13dd108996bd5aa271364d083">operator+</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>, <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>)</td></tr>
+<tr class="memitem:a3c180ae98bdbb8c91c99ec240699214e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a3c180ae98bdbb8c91c99ec240699214e">operator+</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>) const </td></tr>
+<tr class="memitem:ae6c405d28fce372695d7fb2417542dae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ae6c405d28fce372695d7fb2417542dae">operator-</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>) const </td></tr>
+<tr class="memitem:ac4d7e6a31016fa6ef151ed733f3981bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ac4d7e6a31016fa6ef151ed733f3981bf">operator-</a> (<a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>) const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00110"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00110')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00110.html">pqxx::result::tuple</a></td></tr>
+<tr class="memitem:a7586f8621d9e99b45b3e2b6cfd1b7d01 inherit pro_attribs_a00110"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00084.html">result</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7586f8621d9e99b45b3e2b6cfd1b7d01">m_Home</a></td></tr>
+<tr class="memitem:ac2f37dead6d71a6d32a4212765c90f50 inherit pro_attribs_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac2f37dead6d71a6d32a4212765c90f50">m_Index</a></td></tr>
+<tr class="memitem:afc1068d9087d9f9e86869aed6449d3eb inherit pro_attribs_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#afc1068d9087d9f9e86869aed6449d3eb">m_Begin</a></td></tr>
+<tr class="memitem:a131c33c09c3ceb166096685664507121 inherit pro_attribs_a00110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a131c33c09c3ceb166096685664507121">m_End</a></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Helper class for declaring parameters to prepared statements. 
-<p>
-You probably won't want to use this class. It's here just so you can declare parameters by adding parenthesized declarations directly after the statement <a class="el" href="a00026.html" title="Helper class for declaring parameters to prepared statements.">declaration</a> itself:<p>
-<div class="fragment"><pre class="fragment"> C.prepare(name, query)(paramtype1)(paramtype2, treatment)(paramtype3);
-</pre></div> <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="439009e307daa0cf96396ad09d6e4e90"></a><!-- doxytag: member="pqxx::prepare::declaration::declaration" ref="439009e307daa0cf96396ad09d6e4e90" args="(connection_base &amp;, const std::string &amp;statement)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Iterator for rows (tuples) in a query result set. </p>
+<p>A result, once obtained, cannot be modified. Therefore there is no plain iterator type for result. However its <a class="el" href="a00026.html" title="Iterator for rows (tuples) in a query result set.">const_iterator</a> type can be used to inspect its tuples without changing them. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a26d3352521f982371892fcd3f7887385"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::prepare::declaration::declaration           </td>
+          <td class="memname">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">pqxx::result::const_iterator::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ff9feab497260cb8c0149a617d67d87"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef const <a class="el" href="a00110.html">tuple</a>* <a class="el" href="a00026.html#a5ff9feab497260cb8c0149a617d67d87">pqxx::result::const_iterator::pointer</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad8f4dfb14796dbca4a2ea11cd3b94abf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html">tuple</a> <a class="el" href="a00026.html#ad8f4dfb14796dbca4a2ea11cd3b94abf">pqxx::result::const_iterator::reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a997e5c6c5280b00c6e0044b5802add69"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00026.html#a997e5c6c5280b00c6e0044b5802add69">pqxx::result::const_iterator::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="adb70d4f1b65017f0636f0f0d071c59d8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">pqxx::result::const_iterator::const_iterator</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>home</em>, </td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aaa20e76817214772829e678fb69f1867"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">pqxx::result::const_iterator::const_iterator</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html">tuple</a> &amp;&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a9fa2c69ffd5abdcbe2ffe06e958bf0b0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_iterator::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aaab7d3d96fecdb956ac2a99de48cc6ad"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::const_iterator::operator* </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3c180ae98bdbb8c91c99ec240699214e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html">result::const_iterator</a> pqxx::result::const_iterator::operator+ </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td>
+          <td class="paramname"><em>o</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aec42218111ecb316b02ff92360ef9850"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html">pqxx::result::const_iterator</a> pqxx::result::const_iterator::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>statement</em></td><td>&nbsp;</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a502b4f48c95468df45e1171105e7c7ca"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&amp; pqxx::result::const_iterator::operator++ </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aae4cfef8b752a742ea9309211a3e2cbb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&amp; pqxx::result::const_iterator::operator+= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae6c405d28fce372695d7fb2417542dae"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html">result::const_iterator</a> pqxx::result::const_iterator::operator- </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td>
+          <td class="paramname"><em>o</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ac4d7e6a31016fa6ef151ed733f3981bf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">result::const_iterator::difference_type</a> pqxx::result::const_iterator::operator- </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00041.html#a67b0e518d0e5aabd78e14487c4edfd5a">pqxx::result::field::num()</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="e9151d0abd9eebd52644072657a3ad03"></a><!-- doxytag: member="pqxx::prepare::declaration::operator()" ref="e9151d0abd9eebd52644072657a3ad03" args="(const std::string &amp;sqltype, param_treatment=treat_direct) const " -->
+</div>
+<a class="anchor" id="a6dc388d260689833950a5e58965835e6"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const <a class="el" href="a00026.html">pqxx::prepare::declaration</a> &amp; pqxx::prepare::declaration::operator()           </td>
+          <td class="memname"><a class="el" href="a00026.html">pqxx::result::const_iterator</a> pqxx::result::const_iterator::operator-- </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>sqltype</em>, </td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4b73b10bbd225e66fecb0f973bc7f646"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&amp; pqxx::result::const_iterator::operator-- </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&nbsp;</td>
-          <td class="paramname"> <em>treatment</em> = <code>treat_direct</code></td><td>&nbsp;</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af90bb146374a2379b945408a11512826"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&amp; pqxx::result::const_iterator::operator-= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="ae3c7c25edc9892ee1dabf477aab9e395"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pointer</a> pqxx::result::const_iterator::operator-&gt; </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The iterator "points to" its own tuple, which is also itself. This allows a result to be addressed as a two-dimensional container without going through the intermediate step of dereferencing the iterator. I hope this works out to be similar to C pointer/array semantics in useful cases.</p>
+<p>IIRC Alex Stepanov, the inventor of the STL, once remarked that having this as standard behaviour for pointers would be useful in some algorithms. So even if this makes me look foolish, I would seem to be in distinguished company. </p>
 
-<p>
-Add a parameter specification to prepared statement <a class="el" href="a00026.html" title="Helper class for declaring parameters to prepared statements.">declaration</a>. 
-<p>
+</div>
+</div>
+<a class="anchor" id="ad7d0e545c07afd1494ba108013017db4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_iterator::operator&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="51eebe85b4a375c81fda42c4d3a3ac5f"></a><!-- doxytag: member="pqxx::prepare::declaration::etc" ref="51eebe85b4a375c81fda42c4d3a3ac5f" args="(param_treatment=treat_direct) const " -->
+</div>
+<a class="anchor" id="abf44ad8f6cbe4151aa4f604346c3a798"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const <a class="el" href="a00026.html">pqxx::prepare::declaration</a> &amp; pqxx::prepare::declaration::etc           </td>
+          <td class="memname">bool pqxx::result::const_iterator::operator&lt;= </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&nbsp;</td>
-          <td class="paramname"> <em>treatment</em> = <code>treat_direct</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="aee74d24ee0519333b2670832bc982ade"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_iterator::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abcd73f13916b63ca0f58226743f08ad2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_iterator::operator&gt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aac3ac92ff097a00fc3e4db4c492df39d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_iterator::operator&gt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a6258eae13dd108996bd5aa271364d083"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> operator+ </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td>
+          <td class="paramname"><em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00026.html">result::const_iterator</a>&#160;</td>
+          <td class="paramname"><em>i</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac9149722b80a911706d9ad204417a69a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class <a class="el" href="a00084.html">pqxx::result</a></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-Permit arbitrary parameters after the last declared one. 
-<p>
-When used, this allows an arbitrary number of parameters to be passed after the last declared one. This is similar to the C language's varargs.<p>
-Calling this completes the <a class="el" href="a00026.html" title="Helper class for declaring parameters to prepared statements.">declaration</a>; no parameters can be declared after <a class="el" href="a00026.html#51eebe85b4a375c81fda42c4d3a3ac5f" title="Permit arbitrary parameters after the last declared one.">etc()</a>. 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00239.html">prepared_statement.hxx</a><li><a class="el" href="a00148.html">prepared_statement.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li><li class="navelem"><a class="el" href="a00026.html">const_iterator</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00026.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00026.js
--- 3.1-1.1/doc/html/Reference/a00026.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00026.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,28 @@
+var a00026 =
+[
+    [ "difference_type", "a00026.html#a26d3352521f982371892fcd3f7887385", null ],
+    [ "pointer", "a00026.html#a5ff9feab497260cb8c0149a617d67d87", null ],
+    [ "reference", "a00026.html#ad8f4dfb14796dbca4a2ea11cd3b94abf", null ],
+    [ "size_type", "a00026.html#a997e5c6c5280b00c6e0044b5802add69", null ],
+    [ "const_iterator", "a00026.html#adb70d4f1b65017f0636f0f0d071c59d8", null ],
+    [ "const_iterator", "a00026.html#aaa20e76817214772829e678fb69f1867", null ],
+    [ "operator!=", "a00026.html#a9fa2c69ffd5abdcbe2ffe06e958bf0b0", null ],
+    [ "operator*", "a00026.html#aaab7d3d96fecdb956ac2a99de48cc6ad", null ],
+    [ "operator+", "a00026.html#a3c180ae98bdbb8c91c99ec240699214e", null ],
+    [ "operator++", "a00026.html#aec42218111ecb316b02ff92360ef9850", null ],
+    [ "operator++", "a00026.html#a502b4f48c95468df45e1171105e7c7ca", null ],
+    [ "operator+=", "a00026.html#aae4cfef8b752a742ea9309211a3e2cbb", null ],
+    [ "operator-", "a00026.html#ae6c405d28fce372695d7fb2417542dae", null ],
+    [ "operator-", "a00026.html#ac4d7e6a31016fa6ef151ed733f3981bf", null ],
+    [ "operator--", "a00026.html#a6dc388d260689833950a5e58965835e6", null ],
+    [ "operator--", "a00026.html#a4b73b10bbd225e66fecb0f973bc7f646", null ],
+    [ "operator-=", "a00026.html#af90bb146374a2379b945408a11512826", null ],
+    [ "operator->", "a00026.html#ae3c7c25edc9892ee1dabf477aab9e395", null ],
+    [ "operator<", "a00026.html#ad7d0e545c07afd1494ba108013017db4", null ],
+    [ "operator<=", "a00026.html#abf44ad8f6cbe4151aa4f604346c3a798", null ],
+    [ "operator==", "a00026.html#aee74d24ee0519333b2670832bc982ade", null ],
+    [ "operator>", "a00026.html#abcd73f13916b63ca0f58226743f08ad2", null ],
+    [ "operator>=", "a00026.html#aac3ac92ff097a00fc3e4db4c492df39d", null ],
+    [ "operator+", "a00026.html#a6258eae13dd108996bd5aa271364d083", null ],
+    [ "pqxx::result", "a00026.html#ac9149722b80a911706d9ad204417a69a", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00026.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00026.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00027.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00027.html
--- 3.1-1.1/doc/html/Reference/a00027.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00027.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,75 +1,524 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::deref_ptr&lt; T &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result::const_reverse_fielditerator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00027.html">deref_ptr</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00027.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00272.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result::const_reverse_fielditerator Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::deref_ptr&lt; T &gt; Struct Template Reference</h1><!-- doxytag: class="pqxx::internal::deref_ptr" --><code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
 
-<p>
-<a href="a00666.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#9709f1dbe1bc7599e96dd16b22e776bd">operator()</a> (T *i) const </td></tr>
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::result::const_reverse_fielditerator:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00027.png" usemap="#pqxx::result::const_reverse_fielditerator_map" alt=""/>
+  <map id="pqxx::result::const_reverse_fielditerator_map" name="pqxx::result::const_reverse_fielditerator_map">
+<area href="a00025.html" alt="pqxx::result::const_fielditerator" shape="rect" coords="0,0,232,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:af6abd41616a8de8c16605fc4f84b4772"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#af6abd41616a8de8c16605fc4f84b4772">super</a></td></tr>
+<tr class="memitem:aba12ec37128048b166810bac273cf799"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aba12ec37128048b166810bac273cf799">iterator_type</a></td></tr>
+<tr class="memitem:a17ba5e3a754d359042dfa48e5264ddf1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a></td></tr>
+<tr class="memitem:aba4cd98f3fa431fd209e2472d2451e70"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00041.html">field</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aba4cd98f3fa431fd209e2472d2451e70">reference</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a376a59da3f6fffd6627a1873ea3b5228"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a376a59da3f6fffd6627a1873ea3b5228">const_reverse_fielditerator</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;r)</td></tr>
+<tr class="memitem:af0ef775d7c883132b7a6f8aeb3df2df3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#af0ef775d7c883132b7a6f8aeb3df2df3">const_reverse_fielditerator</a> (const <a class="el" href="a00027.html#af6abd41616a8de8c16605fc4f84b4772">super</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a5e1afd5bf1dbcee3972e83bb866aa98f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html#aba12ec37128048b166810bac273cf799">iterator_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a5e1afd5bf1dbcee3972e83bb866aa98f">base</a> () const   throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
+<tr class="memitem:a9fdd6003a88bc85a36c6dc046240b63d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a9fdd6003a88bc85a36c6dc046240b63d">operator=</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;r)</td></tr>
+<tr class="memitem:aa5365b5264c106eee2c276007e4765d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa5365b5264c106eee2c276007e4765d4">operator++</a> ()</td></tr>
+<tr class="memitem:a51c35bad2747cbd6c90a267d59aa31ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a51c35bad2747cbd6c90a267d59aa31ef">operator++</a> (int)</td></tr>
+<tr class="memitem:a346cdf18a3340f2503555f19f71f21a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a346cdf18a3340f2503555f19f71f21a0">operator--</a> ()</td></tr>
+<tr class="memitem:aa9bd8e32cf5caac0ec911d9518bf8410"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa9bd8e32cf5caac0ec911d9518bf8410">operator--</a> (int)</td></tr>
+<tr class="memitem:ab3b5c56b1d6b15f64d064dfbd26d8cff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab3b5c56b1d6b15f64d064dfbd26d8cff">operator+=</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr class="memitem:aa8e73b46b5e8b33d8c74bce11148632c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa8e73b46b5e8b33d8c74bce11148632c">operator-=</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Arithmetic operators</div></td></tr>
+<tr class="memitem:abcb961f2b6c90f6036806f40ad46ab56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#abcb961f2b6c90f6036806f40ad46ab56">operator+</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i) const </td></tr>
+<tr class="memitem:a2dc27dbf36c0b966ebc25a87450d5c0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a2dc27dbf36c0b966ebc25a87450d5c0b">operator-</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr class="memitem:a12f99190037d4b490500936a83092a74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a12f99190037d4b490500936a83092a74">operator-</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
+<tr class="memitem:a4ba542847467824cde9db977878646a2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a4ba542847467824cde9db977878646a2">operator==</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:a8d094c558482896eb9a5c292723eba7c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a8d094c558482896eb9a5c292723eba7c">operator!=</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:af98fa99fc9c5358382b6fa47dda74e40"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#af98fa99fc9c5358382b6fa47dda74e40">operator&lt;</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a62749ee41bfe939115ca79e4746b1299"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a62749ee41bfe939115ca79e4746b1299">operator&lt;=</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:ab9264f0b9381e92d953a882de9f3ebb3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab9264f0b9381e92d953a882de9f3ebb3">operator&gt;</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a5743ed64cc92b0fc704e0ba44441000b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a5743ed64cc92b0fc704e0ba44441000b">operator&gt;=</a> (const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00025"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00025')"><img src="closed.png" alt="-"/>&nbsp;Private Types inherited from <a class="el" href="a00025.html">pqxx::result::const_fielditerator</a></td></tr>
+<tr class="memitem:ae36e7966b97f179cc4c7aefdb380b871 inherit pub_types_a00025"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ae36e7966b97f179cc4c7aefdb380b871">size_type</a></td></tr>
+<tr class="memitem:a17ba5e3a754d359042dfa48e5264ddf1 inherit pub_types_a00025"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a></td></tr>
+<tr class="memitem:aba4cd98f3fa431fd209e2472d2451e70 inherit pub_types_a00025"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00041.html">field</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">reference</a></td></tr>
+<tr class="inherit_header pub_methods_a00025"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00025')"><img src="closed.png" alt="-"/>&nbsp;Private Member Functions inherited from <a class="el" href="a00025.html">pqxx::result::const_fielditerator</a></td></tr>
+<tr class="memitem:ad0bd9ced4070befef193fd8d5833b108 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad0bd9ced4070befef193fd8d5833b108">const_fielditerator</a> (const <a class="el" href="a00110.html">tuple</a> &amp;T, <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> C)  throw ()</td></tr>
+<tr class="memitem:a906281ba2490a25fb8f6aa07d628d864 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a906281ba2490a25fb8f6aa07d628d864">const_fielditerator</a> (const <a class="el" href="a00041.html">field</a> &amp;F)  throw ()</td></tr>
+<tr class="memitem:abc1be98d7b3677258fe94371dafffb51 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a16732cbff5bf11cefd68471577344551">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#abc1be98d7b3677258fe94371dafffb51">operator-&gt;</a> () const </td></tr>
+<tr class="memitem:ad6ec720a271e8c8ef55d788a4ef4310e inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad6ec720a271e8c8ef55d788a4ef4310e">operator*</a> () const </td></tr>
+<tr class="memitem:ac16edeb1eb2cf093da17f50bbfca1d28 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ac16edeb1eb2cf093da17f50bbfca1d28">operator++</a> (int)</td></tr>
+<tr class="memitem:ac9fb1887ce58a5a7e54f4f07f03e7cb8 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ac9fb1887ce58a5a7e54f4f07f03e7cb8">operator++</a> ()</td></tr>
+<tr class="memitem:a8f1bc52746ef28585dec38b5c2aa3c38 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a8f1bc52746ef28585dec38b5c2aa3c38">operator--</a> (int)</td></tr>
+<tr class="memitem:af35b104d96b2539298f555f8d203c274 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#af35b104d96b2539298f555f8d203c274">operator--</a> ()</td></tr>
+<tr class="memitem:afff9ad42b2ee875271986e286eafb3e5 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#afff9ad42b2ee875271986e286eafb3e5">operator+=</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr class="memitem:a97aff58264d121f88dad67b0af297934 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a97aff58264d121f88dad67b0af297934">operator-=</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
+<tr class="memitem:a3ea200dc9d6c842992fac6051894c0d8 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a3ea200dc9d6c842992fac6051894c0d8">operator==</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:accdf860872a8f8afc2f09962584a18da inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#accdf860872a8f8afc2f09962584a18da">operator!=</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:ad55b1f8087acb90293ac5b755fa7559a inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad55b1f8087acb90293ac5b755fa7559a">operator&lt;</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a50dbe2edddd9e19c30c0f759f99fd96c inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a50dbe2edddd9e19c30c0f759f99fd96c">operator&lt;=</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a790cbb59aead02667d6b9d0ceb1a9403 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a790cbb59aead02667d6b9d0ceb1a9403">operator&gt;</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a15cc57f0a024f75b589c691bc365c718 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a15cc57f0a024f75b589c691bc365c718">operator&gt;=</a> (const <a class="el" href="a00025.html">const_fielditerator</a> &amp;i) const </td></tr>
+<tr class="memitem:a497b63192e5a9a4710ca4293e9c320d8 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a497b63192e5a9a4710ca4293e9c320d8">operator+</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>) const </td></tr>
+<tr class="memitem:abda1ecb40831ed4143b14a71f375ab03 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#abda1ecb40831ed4143b14a71f375ab03">operator-</a> (<a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>) const </td></tr>
+<tr class="memitem:a5e304e228897af96ffdc3029eb0e5170 inherit pub_methods_a00025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a5e304e228897af96ffdc3029eb0e5170">operator-</a> (<a class="el" href="a00025.html">const_fielditerator</a>) const </td></tr>
+<tr class="inherit_header friends_a00025"><td colspan="2" onclick="javascript:toggleInherit('friends_a00025')"><img src="closed.png" alt="-"/>&nbsp;Friends inherited from <a class="el" href="a00025.html">pqxx::result::const_fielditerator</a></td></tr>
+</table>
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a17ba5e3a754d359042dfa48e5264ddf1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a> <a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">pqxx::result::const_fielditerator::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aba12ec37128048b166810bac273cf799"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00025.html">const_fielditerator</a> <a class="el" href="a00027.html#aba12ec37128048b166810bac273cf799">pqxx::result::const_reverse_fielditerator::iterator_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aba4cd98f3fa431fd209e2472d2451e70"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00041.html">field</a> <a class="el" href="a00025.html#aba4cd98f3fa431fd209e2472d2451e70">pqxx::result::const_fielditerator::reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+</div>
+</div>
+<a class="anchor" id="af6abd41616a8de8c16605fc4f84b4772"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00025.html">const_fielditerator</a> <a class="el" href="a00027.html#af6abd41616a8de8c16605fc4f84b4772">pqxx::result::const_reverse_fielditerator::super</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a376a59da3f6fffd6627a1873ea3b5228"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::const_reverse_fielditerator::const_reverse_fielditerator </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>r</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af0ef775d7c883132b7a6f8aeb3df2df3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::const_reverse_fielditerator::const_reverse_fielditerator </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html#af6abd41616a8de8c16605fc4f84b4772">super</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
 </table>
-<h3>template&lt;typename T&gt;<br>
- struct pqxx::internal::deref_ptr&lt; T &gt;</h3>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a5e1afd5bf1dbcee3972e83bb866aa98f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00025.html">pqxx::result::const_fielditerator</a> pqxx::result::const_reverse_fielditerator::base </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8d094c558482896eb9a5c292723eba7c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abcb961f2b6c90f6036806f40ad46ab56"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator+ </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="9709f1dbe1bc7599e96dd16b22e776bd"></a><!-- doxytag: member="pqxx::internal::deref_ptr::operator()" ref="9709f1dbe1bc7599e96dd16b22e776bd" args="(T *i) const " -->
+</div>
+</div>
+<a class="anchor" id="aa5365b5264c106eee2c276007e4765d4"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">T <a class="el" href="a00027.html">pqxx::internal::deref_ptr</a>&lt; T &gt;::operator()           </td>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator++ </td>
           <td>(</td>
-          <td class="paramtype">T *&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a51c35bad2747cbd6c90a267d59aa31ef"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">pqxx::result::const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ab3b5c56b1d6b15f64d064dfbd26d8cff"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator+= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="a2dc27dbf36c0b966ebc25a87450d5c0b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator- </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a12f99190037d4b490500936a83092a74"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> pqxx::result::const_reverse_fielditerator::operator- </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a346cdf18a3340f2503555f19f71f21a0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator-- </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa9bd8e32cf5caac0ec911d9518bf8410"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">pqxx::result::const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator-- </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa8e73b46b5e8b33d8c74bce11148632c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator-= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00025.html#a17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af98fa99fc9c5358382b6fa47dda74e40"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a62749ee41bfe939115ca79e4746b1299"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&lt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9fdd6003a88bc85a36c6dc046240b63d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>r</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4ba542847467824cde9db977878646a2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab9264f0b9381e92d953a882de9f3ebb3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&gt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5743ed64cc92b0fc704e0ba44441000b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&gt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00027.html">const_reverse_fielditerator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li><li class="navelem"><a class="el" href="a00027.html">const_reverse_fielditerator</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00027.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00027.js
--- 3.1-1.1/doc/html/Reference/a00027.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00027.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,26 @@
+var a00027 =
+[
+    [ "difference_type", "a00027.html#a17ba5e3a754d359042dfa48e5264ddf1", null ],
+    [ "iterator_type", "a00027.html#aba12ec37128048b166810bac273cf799", null ],
+    [ "reference", "a00027.html#aba4cd98f3fa431fd209e2472d2451e70", null ],
+    [ "super", "a00027.html#af6abd41616a8de8c16605fc4f84b4772", null ],
+    [ "const_reverse_fielditerator", "a00027.html#a376a59da3f6fffd6627a1873ea3b5228", null ],
+    [ "const_reverse_fielditerator", "a00027.html#af0ef775d7c883132b7a6f8aeb3df2df3", null ],
+    [ "base", "a00027.html#a5e1afd5bf1dbcee3972e83bb866aa98f", null ],
+    [ "operator!=", "a00027.html#a8d094c558482896eb9a5c292723eba7c", null ],
+    [ "operator+", "a00027.html#abcb961f2b6c90f6036806f40ad46ab56", null ],
+    [ "operator++", "a00027.html#aa5365b5264c106eee2c276007e4765d4", null ],
+    [ "operator++", "a00027.html#a51c35bad2747cbd6c90a267d59aa31ef", null ],
+    [ "operator+=", "a00027.html#ab3b5c56b1d6b15f64d064dfbd26d8cff", null ],
+    [ "operator-", "a00027.html#a2dc27dbf36c0b966ebc25a87450d5c0b", null ],
+    [ "operator-", "a00027.html#a12f99190037d4b490500936a83092a74", null ],
+    [ "operator--", "a00027.html#a346cdf18a3340f2503555f19f71f21a0", null ],
+    [ "operator--", "a00027.html#aa9bd8e32cf5caac0ec911d9518bf8410", null ],
+    [ "operator-=", "a00027.html#aa8e73b46b5e8b33d8c74bce11148632c", null ],
+    [ "operator<", "a00027.html#af98fa99fc9c5358382b6fa47dda74e40", null ],
+    [ "operator<=", "a00027.html#a62749ee41bfe939115ca79e4746b1299", null ],
+    [ "operator=", "a00027.html#a9fdd6003a88bc85a36c6dc046240b63d", null ],
+    [ "operator==", "a00027.html#a4ba542847467824cde9db977878646a2", null ],
+    [ "operator>", "a00027.html#ab9264f0b9381e92d953a882de9f3ebb3", null ],
+    [ "operator>=", "a00027.html#a5743ed64cc92b0fc704e0ba44441000b", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00027.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00027.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00028.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00028.html
--- 3.1-1.1/doc/html/Reference/a00028.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00028.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,79 +1,542 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::dereference&lt; ITER &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result::const_reverse_iterator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00028.html">dereference</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00028.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00273.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result::const_reverse_iterator Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::dereference&lt; ITER &gt; Struct Template Reference</h1><!-- doxytag: class="pqxx::internal::dereference" -->Functor: <a class="el" href="a00028.html" title="Functor: dereference iterator.">dereference</a> iterator.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00665.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">ITER::value_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#4eb51db87ff14a4edf9787b5117ddd24">operator()</a> (ITER i) const </td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::result::const_reverse_iterator:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00028.png" usemap="#pqxx::result::const_reverse_iterator_map" alt=""/>
+  <map id="pqxx::result::const_reverse_iterator_map" name="pqxx::result::const_reverse_iterator_map">
+<area href="a00026.html" title="Iterator for rows (tuples) in a query result set." alt="pqxx::result::const_iterator" shape="rect" coords="0,0,208,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a65a4d5295da3083b1a95ee5816c17cca"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+<a class="el" href="a00026.html">pqxx::result::const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a65a4d5295da3083b1a95ee5816c17cca">super</a></td></tr>
+<tr class="memitem:a14f41e462253b5111dae817e330d7161"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+<a class="el" href="a00026.html">pqxx::result::const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a14f41e462253b5111dae817e330d7161">iterator_type</a></td></tr>
+<tr class="memitem:a26d3352521f982371892fcd3f7887385"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a26d3352521f982371892fcd3f7887385">difference_type</a></td></tr>
+<tr class="memitem:a5ff9feab497260cb8c0149a617d67d87"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="a00110.html">tuple</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a5ff9feab497260cb8c0149a617d67d87">pointer</a></td></tr>
+<tr class="memitem:ad8f4dfb14796dbca4a2ea11cd3b94abf"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#ad8f4dfb14796dbca4a2ea11cd3b94abf">reference</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1abc4bcb318cbd3511a55c30dbb4cb4f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a1abc4bcb318cbd3511a55c30dbb4cb4f">const_reverse_iterator</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs)</td></tr>
+<tr class="memitem:ab1890406612d0e1775ae541d6495115a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#ab1890406612d0e1775ae541d6495115a">const_reverse_iterator</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;rhs)</td></tr>
+<tr class="memitem:af0afdb9600704e015047eefae139bd27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00028.html#a14f41e462253b5111dae817e330d7161">iterator_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#af0afdb9600704e015047eefae139bd27">base</a> () const   throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
+<tr class="memitem:aa1be073ae8f92550c8daeded9592feff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#aa1be073ae8f92550c8daeded9592feff">operator=</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;r)</td></tr>
+<tr class="memitem:a0c77b9c7c36fe68f437112776d98cc13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a0c77b9c7c36fe68f437112776d98cc13">operator++</a> ()</td></tr>
+<tr class="memitem:aea1b45c7e444e211ab2e8f632e9427a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#aea1b45c7e444e211ab2e8f632e9427a4">operator++</a> (int)</td></tr>
+<tr class="memitem:a80827d55cfa457eacd912edb7e031800"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a80827d55cfa457eacd912edb7e031800">operator--</a> ()</td></tr>
+<tr class="memitem:a48f104290f9daa59ce313ba935defe5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a48f104290f9daa59ce313ba935defe5c">operator--</a> (int)</td></tr>
+<tr class="memitem:ab6a1ff51608be2f3bc57b39b95b6982e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#ab6a1ff51608be2f3bc57b39b95b6982e">operator+=</a> (<a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a> i)</td></tr>
+<tr class="memitem:aeaaba54980854dfa844f5624d2488c3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#aeaaba54980854dfa844f5624d2488c3a">operator-=</a> (<a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a> i)</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Arithmetic operators</div></td></tr>
+<tr class="memitem:ab592907b1ae0c5d4ae4757f452ff4cd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#ab592907b1ae0c5d4ae4757f452ff4cd1">operator+</a> (<a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a> i) const </td></tr>
+<tr class="memitem:ad4107cee0d8c155632906d35170a8ba1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#ad4107cee0d8c155632906d35170a8ba1">operator-</a> (<a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a> i)</td></tr>
+<tr class="memitem:a1b943f674b441b3e57f69848538ef028"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a1b943f674b441b3e57f69848538ef028">operator-</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
+<tr class="memitem:a035719ef6920117a682d37cd3be589d1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a035719ef6920117a682d37cd3be589d1">operator==</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:a9e869d43055bad39f53d19b8ecab40c5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a9e869d43055bad39f53d19b8ecab40c5">operator!=</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:ab4bb7b0527f65d596d9b8b8e1f3be5bf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#ab4bb7b0527f65d596d9b8b8e1f3be5bf">operator&lt;</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:adeb2392f2bd5ceca40e6dc8664580518"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#adeb2392f2bd5ceca40e6dc8664580518">operator&lt;=</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a1bf17fc72dd2c01644ca8add3a5e13ad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a1bf17fc72dd2c01644ca8add3a5e13ad">operator&gt;</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a4efaf6aa4e3b50b28de6e8a0455cfe27"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html#a4efaf6aa4e3b50b28de6e8a0455cfe27">operator&gt;=</a> (const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;rhs) const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00026"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00026')"><img src="closed.png" alt="-"/>&nbsp;Private Types inherited from <a class="el" href="a00026.html">pqxx::result::const_iterator</a></td></tr>
+<tr class="memitem:a5ff9feab497260cb8c0149a617d67d87 inherit pub_types_a00026"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="a00110.html">tuple</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a5ff9feab497260cb8c0149a617d67d87">pointer</a></td></tr>
+<tr class="memitem:ad8f4dfb14796dbca4a2ea11cd3b94abf inherit pub_types_a00026"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ad8f4dfb14796dbca4a2ea11cd3b94abf">reference</a></td></tr>
+<tr class="memitem:a997e5c6c5280b00c6e0044b5802add69 inherit pub_types_a00026"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a997e5c6c5280b00c6e0044b5802add69">size_type</a></td></tr>
+<tr class="memitem:a26d3352521f982371892fcd3f7887385 inherit pub_types_a00026"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a></td></tr>
+<tr class="inherit_header pub_methods_a00026"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00026')"><img src="closed.png" alt="-"/>&nbsp;Private Member Functions inherited from <a class="el" href="a00026.html">pqxx::result::const_iterator</a></td></tr>
+<tr class="memitem:adb70d4f1b65017f0636f0f0d071c59d8 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#adb70d4f1b65017f0636f0f0d071c59d8">const_iterator</a> ()  throw ()</td></tr>
+<tr class="memitem:aaa20e76817214772829e678fb69f1867 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aaa20e76817214772829e678fb69f1867">const_iterator</a> (const <a class="el" href="a00110.html">tuple</a> &amp;t)  throw ()</td></tr>
+<tr class="memitem:ae3c7c25edc9892ee1dabf477aab9e395 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ae3c7c25edc9892ee1dabf477aab9e395">operator-&gt;</a> () const </td></tr>
+<tr class="memitem:aaab7d3d96fecdb956ac2a99de48cc6ad inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aaab7d3d96fecdb956ac2a99de48cc6ad">operator*</a> () const </td></tr>
+<tr class="memitem:aec42218111ecb316b02ff92360ef9850 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aec42218111ecb316b02ff92360ef9850">operator++</a> (int)</td></tr>
+<tr class="memitem:a502b4f48c95468df45e1171105e7c7ca inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a502b4f48c95468df45e1171105e7c7ca">operator++</a> ()</td></tr>
+<tr class="memitem:a6dc388d260689833950a5e58965835e6 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a6dc388d260689833950a5e58965835e6">operator--</a> (int)</td></tr>
+<tr class="memitem:a4b73b10bbd225e66fecb0f973bc7f646 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a4b73b10bbd225e66fecb0f973bc7f646">operator--</a> ()</td></tr>
+<tr class="memitem:aae4cfef8b752a742ea9309211a3e2cbb inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aae4cfef8b752a742ea9309211a3e2cbb">operator+=</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
+<tr class="memitem:af90bb146374a2379b945408a11512826 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#af90bb146374a2379b945408a11512826">operator-=</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
+<tr class="memitem:aee74d24ee0519333b2670832bc982ade inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aee74d24ee0519333b2670832bc982ade">operator==</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:a9fa2c69ffd5abdcbe2ffe06e958bf0b0 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a9fa2c69ffd5abdcbe2ffe06e958bf0b0">operator!=</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:ad7d0e545c07afd1494ba108013017db4 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ad7d0e545c07afd1494ba108013017db4">operator&lt;</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:abf44ad8f6cbe4151aa4f604346c3a798 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#abf44ad8f6cbe4151aa4f604346c3a798">operator&lt;=</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:abcd73f13916b63ca0f58226743f08ad2 inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#abcd73f13916b63ca0f58226743f08ad2">operator&gt;</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:aac3ac92ff097a00fc3e4db4c492df39d inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aac3ac92ff097a00fc3e4db4c492df39d">operator&gt;=</a> (const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;i) const </td></tr>
+<tr class="memitem:a3c180ae98bdbb8c91c99ec240699214e inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a3c180ae98bdbb8c91c99ec240699214e">operator+</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>) const </td></tr>
+<tr class="memitem:ae6c405d28fce372695d7fb2417542dae inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ae6c405d28fce372695d7fb2417542dae">operator-</a> (<a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>) const </td></tr>
+<tr class="memitem:ac4d7e6a31016fa6ef151ed733f3981bf inherit pub_methods_a00026"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#ac4d7e6a31016fa6ef151ed733f3981bf">operator-</a> (<a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>) const </td></tr>
+<tr class="inherit_header friends_a00026"><td colspan="2" onclick="javascript:toggleInherit('friends_a00026')"><img src="closed.png" alt="-"/>&nbsp;Friends inherited from <a class="el" href="a00026.html">pqxx::result::const_iterator</a></td></tr>
+</table>
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a26d3352521f982371892fcd3f7887385"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00026.html#a26d3352521f982371892fcd3f7887385">pqxx::result::const_iterator::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a14f41e462253b5111dae817e330d7161"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00026.html">pqxx::result::const_iterator</a> <a class="el" href="a00028.html#a14f41e462253b5111dae817e330d7161">pqxx::result::const_reverse_iterator::iterator_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ff9feab497260cb8c0149a617d67d87"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef const <a class="el" href="a00110.html">tuple</a>* <a class="el" href="a00026.html#a5ff9feab497260cb8c0149a617d67d87">pqxx::result::const_iterator::pointer</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad8f4dfb14796dbca4a2ea11cd3b94abf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html">tuple</a> <a class="el" href="a00026.html#ad8f4dfb14796dbca4a2ea11cd3b94abf">pqxx::result::const_iterator::reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a65a4d5295da3083b1a95ee5816c17cca"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00026.html">pqxx::result::const_iterator</a> <a class="el" href="a00028.html#a65a4d5295da3083b1a95ee5816c17cca">pqxx::result::const_reverse_iterator::super</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1abc4bcb318cbd3511a55c30dbb4cb4f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">pqxx::result::const_reverse_iterator::const_reverse_iterator</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab1890406612d0e1775ae541d6495115a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">pqxx::result::const_reverse_iterator::const_reverse_iterator</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename ITER&gt;<br>
- struct pqxx::internal::dereference&lt; ITER &gt;</h3>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="af0afdb9600704e015047eefae139bd27"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html">pqxx::result::const_iterator</a> pqxx::result::const_reverse_iterator::base </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00174.html#ae1befc9c1082b5135ebfa9138ca700c9">pqxx::operator+()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9e869d43055bad39f53d19b8ecab40c5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_iterator::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab592907b1ae0c5d4ae4757f452ff4cd1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator+ </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0c77b9c7c36fe68f437112776d98cc13"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator++ </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aea1b45c7e444e211ab2e8f632e9427a4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00028.html">pqxx::result::const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab6a1ff51608be2f3bc57b39b95b6982e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator+= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad4107cee0d8c155632906d35170a8ba1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator- </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1b943f674b441b3e57f69848538ef028"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a> pqxx::result::const_reverse_iterator::operator- </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a80827d55cfa457eacd912edb7e031800"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator-- </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a48f104290f9daa59ce313ba935defe5c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00028.html">pqxx::result::const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator-- </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aeaaba54980854dfa844f5624d2488c3a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator-= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-Functor: <a class="el" href="a00028.html" title="Functor: dereference iterator.">dereference</a> iterator. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4eb51db87ff14a4edf9787b5117ddd24"></a><!-- doxytag: member="pqxx::internal::dereference::operator()" ref="4eb51db87ff14a4edf9787b5117ddd24" args="(ITER i) const " -->
+</div>
+</div>
+<a class="anchor" id="ab4bb7b0527f65d596d9b8b8e1f3be5bf"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename ITER&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">ITER::value_type <a class="el" href="a00028.html">pqxx::internal::dereference</a>&lt; ITER &gt;::operator()           </td>
+          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&lt; </td>
           <td>(</td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="adeb2392f2bd5ceca40e6dc8664580518"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&lt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="aa1be073ae8f92550c8daeded9592feff"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>r</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="a035719ef6920117a682d37cd3be589d1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_iterator::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1bf17fc72dd2c01644ca8add3a5e13ad"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&gt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4efaf6aa4e3b50b28de6e8a0455cfe27"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&gt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li><li class="navelem"><a class="el" href="a00028.html">const_reverse_iterator</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00028.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00028.js
--- 3.1-1.1/doc/html/Reference/a00028.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00028.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,27 @@
+var a00028 =
+[
+    [ "difference_type", "a00028.html#a26d3352521f982371892fcd3f7887385", null ],
+    [ "iterator_type", "a00028.html#a14f41e462253b5111dae817e330d7161", null ],
+    [ "pointer", "a00028.html#a5ff9feab497260cb8c0149a617d67d87", null ],
+    [ "reference", "a00028.html#ad8f4dfb14796dbca4a2ea11cd3b94abf", null ],
+    [ "super", "a00028.html#a65a4d5295da3083b1a95ee5816c17cca", null ],
+    [ "const_reverse_iterator", "a00028.html#a1abc4bcb318cbd3511a55c30dbb4cb4f", null ],
+    [ "const_reverse_iterator", "a00028.html#ab1890406612d0e1775ae541d6495115a", null ],
+    [ "base", "a00028.html#af0afdb9600704e015047eefae139bd27", null ],
+    [ "operator!=", "a00028.html#a9e869d43055bad39f53d19b8ecab40c5", null ],
+    [ "operator+", "a00028.html#ab592907b1ae0c5d4ae4757f452ff4cd1", null ],
+    [ "operator++", "a00028.html#a0c77b9c7c36fe68f437112776d98cc13", null ],
+    [ "operator++", "a00028.html#aea1b45c7e444e211ab2e8f632e9427a4", null ],
+    [ "operator+=", "a00028.html#ab6a1ff51608be2f3bc57b39b95b6982e", null ],
+    [ "operator-", "a00028.html#ad4107cee0d8c155632906d35170a8ba1", null ],
+    [ "operator-", "a00028.html#a1b943f674b441b3e57f69848538ef028", null ],
+    [ "operator--", "a00028.html#a80827d55cfa457eacd912edb7e031800", null ],
+    [ "operator--", "a00028.html#a48f104290f9daa59ce313ba935defe5c", null ],
+    [ "operator-=", "a00028.html#aeaaba54980854dfa844f5624d2488c3a", null ],
+    [ "operator<", "a00028.html#ab4bb7b0527f65d596d9b8b8e1f3be5bf", null ],
+    [ "operator<=", "a00028.html#adeb2392f2bd5ceca40e6dc8664580518", null ],
+    [ "operator=", "a00028.html#aa1be073ae8f92550c8daeded9592feff", null ],
+    [ "operator==", "a00028.html#a035719ef6920117a682d37cd3be589d1", null ],
+    [ "operator>", "a00028.html#a1bf17fc72dd2c01644ca8add3a5e13ad", null ],
+    [ "operator>=", "a00028.html#a4efaf6aa4e3b50b28de6e8a0455cfe27", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00028.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00028.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00029.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00029.html
--- 3.1-1.1/doc/html/Reference/a00029.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00029.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,81 +1,137 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::disable_noticer Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::conversion_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00029.html">disable_noticer</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00029.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00233.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::conversion_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::disable_noticer Class Reference</h1><!-- doxytag: class="pqxx::disable_noticer" --><!-- doxytag: inherits="pqxx::scoped_noticer" -->Temporarily disable the notice processor.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::disable_noticer:</div>
-<div class="dynsection">
-<p><center><img src="a00460.png" border="0" usemap="#a00461" alt="Inheritance graph"></center>
-<map name="a00461">
-<area shape="rect" href="a00086.html" title="Temporarily set different noticer for connection, then restore old one." alt="" coords="5,6,160,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00462.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#dc6490b8a280f32d283f6a0a6dd8e2f4">disable_noticer</a> (<a class="el" href="a00020.html">connection_base</a> &amp;c)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::conversion_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00029.png" usemap="#pqxx::conversion_error_map" alt=""/>
+  <map id="pqxx::conversion_error_map" name="pqxx::conversion_error_map">
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,142,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa26b38ec0b49d925597fb0924d34e5a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#aa26b38ec0b49d925597fb0924d34e5a2">conversion_error</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Temporarily disable the notice processor. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="dc6490b8a280f32d283f6a0a6dd8e2f4"></a><!-- doxytag: member="pqxx::disable_noticer::disable_noticer" ref="dc6490b8a280f32d283f6a0a6dd8e2f4" args="(connection_base &amp;c)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa26b38ec0b49d925597fb0924d34e5a2"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::disable_noticer::disable_noticer           </td>
+          <td class="memname">pqxx::conversion_error::conversion_error </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>c</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00029.html">conversion_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00029.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00029.js
--- 3.1-1.1/doc/html/Reference/a00029.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00029.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00029 =
+[
+    [ "conversion_error", "a00029.html#aa26b38ec0b49d925597fb0924d34e5a2", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00029.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00029.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00030.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00030.html
--- 3.1-1.1/doc/html/Reference/a00030.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00030.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,456 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::disk_full Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::cursor_base Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00030.html">disk_full</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00030.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="a00220.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::cursor_base Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::disk_full Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::disk_full" --><!-- doxytag: inherits="pqxx::insufficient_resources" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p>Common definitions for cursor types.  
+ <a href="a00030.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00135_source.html">cursor.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::disk_full:</div>
-<div class="dynsection">
-<p><center><img src="a00556.png" border="0" usemap="#a00557" alt="Inheritance graph"></center>
-<map name="a00557">
-<area shape="rect" href="a00041.html" title="Resource shortage on the server." alt="" coords="5,238,203,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="47,161,161,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="55,84,153,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="25,6,183,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
+Inheritance diagram for pqxx::cursor_base:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00030.png" usemap="#pqxx::cursor_base_map" alt=""/>
+  <map id="pqxx::cursor_base_map" name="pqxx::cursor_base_map">
+<area href="a00089.html" title="Cursor with SQL positioning semantics." alt="pqxx::internal::sql_cursor" shape="rect" coords="0,56,150,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a591ac7d2302288890c04e6159eb6d30e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">accesspolicy</a> { <a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf">forward_only</a>, 
+<a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30ea7f6c1ed7719885433353a78946b2c5f3">random_access</a>
+ }</td></tr>
+<tr class="memdesc:a591ac7d2302288890c04e6159eb6d30e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor access-pattern policy.  <a href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">More...</a><br/></td></tr>
+<tr class="memitem:aba6fa56f1ef2d25c3c73240de6b9c212"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">updatepolicy</a> { <a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a8122c0c4a5eb9c9dbf27ab40a2686eb0">read_only</a>, 
+<a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a12fa229ee3e760f1ca86d66304554b63">update</a>
+ }</td></tr>
+<tr class="memdesc:aba6fa56f1ef2d25c3c73240de6b9c212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor update policy.  <a href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">More...</a><br/></td></tr>
+<tr class="memitem:a8d5f8214ede2ab27dd588defc2847330"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">ownershippolicy</a> { <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">owned</a>, 
+<a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a4c37408c49492bfe9f012812226dd1fd">loose</a>
+ }</td></tr>
+<tr class="memdesc:a8d5f8214ede2ab27dd588defc2847330"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor destruction policy.  <a href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">More...</a><br/></td></tr>
+<tr class="memitem:a732bb16c01dc3266d424267252d4f1b0"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">size_type</a></td></tr>
+<tr class="memitem:a746c725327e1dfd598708bfeb8834992"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab46d430e0ecfa545ff3764f867654caf"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#ab46d430e0ecfa545ff3764f867654caf">name</a> () const   throw ()</td></tr>
+<tr class="memdesc:ab46d430e0ecfa545ff3764f867654caf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of underlying SQL cursor.  <a href="#ab46d430e0ecfa545ff3764f867654caf"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Special movement distances</div></td></tr>
+<tr class="memitem:a56b530ba6b18f3fcdb5b93a0087922c9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a56b530ba6b18f3fcdb5b93a0087922c9">all</a> ()  throw ()</td></tr>
+<tr class="memdesc:a56b530ba6b18f3fcdb5b93a0087922c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read until end.  <a href="#a56b530ba6b18f3fcdb5b93a0087922c9"></a><br/></td></tr>
+<tr class="memitem:a2a10af042c1ece1f5faf55479ada0319"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a2a10af042c1ece1f5faf55479ada0319">next</a> ()  throw ()</td></tr>
+<tr class="memdesc:a2a10af042c1ece1f5faf55479ada0319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read one row only.  <a href="#a2a10af042c1ece1f5faf55479ada0319"></a><br/></td></tr>
+<tr class="memitem:aed642c9d80cddf181853d36c6e8ccb93"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#aed642c9d80cddf181853d36c6e8ccb93">prior</a> ()  throw ()</td></tr>
+<tr class="memdesc:aed642c9d80cddf181853d36c6e8ccb93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read backwards, one row only.  <a href="#aed642c9d80cddf181853d36c6e8ccb93"></a><br/></td></tr>
+<tr class="memitem:ae1e1a28e596a78fa8ed8c4eeccbe6369"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369">backward_all</a> ()  throw ()</td></tr>
+<tr class="memdesc:ae1e1a28e596a78fa8ed8c4eeccbe6369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read backwards from current position back to origin.  <a href="#ae1e1a28e596a78fa8ed8c4eeccbe6369"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a92ebe0bfff015fc1d85ab30d1ac97ef4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a92ebe0bfff015fc1d85ab30d1ac97ef4">cursor_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;Name, bool embellish_name=true)</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a947b286d508fad4a1823f8b13a5ccef3"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a947b286d508fad4a1823f8b13a5ccef3">m_name</a></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Common definitions for cursor types. </p>
+<p>In C++ terms, fetches are always done in pre-increment or pre-decrement fashion&ndash;i.e. the result does not include the row the cursor is on at the beginning of the fetch, and the cursor ends up being positioned on the last row in the result.</p>
+<p>There are singular positions akin to <code>end()</code> at both the beginning and the end of the cursor's range of movement, although these fit in so naturally with the semantics that one rarely notices them. The cursor begins at the first of these, but any fetch in the forward direction will move the cursor off this position and onto the first row before returning anything. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a746c725327e1dfd598708bfeb8834992"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">pqxx::cursor_base::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-<a href="a00558.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#b76e2e34539d0dec43ab1479a4847a86">disk_full</a> (const std::string &amp;err)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a732bb16c01dc3266d424267252d4f1b0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">pqxx::cursor_base::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#d5b1a57e3e37bb6df5d7605f14e4c9be">disk_full</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+</div>
+</div>
+<h2>Member Enumeration Documentation</h2>
+<a class="anchor" id="a591ac7d2302288890c04e6159eb6d30e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">pqxx::cursor_base::accesspolicy</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+<p>Cursor access-pattern policy. </p>
+<p>Allowing a cursor to move forward only can result in better performance, so use this access policy whenever possible. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf"></a>forward_only</em>&nbsp;</td><td>
+<p>Cursor can move forward only. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a591ac7d2302288890c04e6159eb6d30ea7f6c1ed7719885433353a78946b2c5f3"></a>random_access</em>&nbsp;</td><td>
+<p>Cursor can move back and forth. </p>
+</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="b76e2e34539d0dec43ab1479a4847a86"></a><!-- doxytag: member="pqxx::disk_full::disk_full" ref="b76e2e34539d0dec43ab1479a4847a86" args="(const std::string &amp;err)" -->
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8d5f8214ede2ab27dd588defc2847330"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::disk_full::disk_full           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">enum <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">pqxx::cursor_base::ownershippolicy</a></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Cursor destruction policy. </p>
+<p>The normal thing to do is to make a cursor object the owner of the SQL cursor it represents. There may be cases, however, where a cursor needs to persist beyond the end of the current transaction (and thus also beyond the lifetime of the cursor object that created it!), where it can be "adopted" into a new cursor object. See the basic_cursor documentation for an explanation of cursor adoption.</p>
+<p>If a cursor is created with "loose" ownership policy, the object representing the underlying SQL cursor will not take the latter with it when its own lifetime ends, nor will its originating transaction.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Use this feature with care and moderation. Only one cursor object should be responsible for any one underlying SQL cursor at any given time.</dd>
+<dd>
+Don't "leak" cursors! As long as any "loose" cursor exists, any attempts to deactivate or reactivate the connection, implicitly or explicitly, are quietly ignored. </dd></dl>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0"></a>owned</em>&nbsp;</td><td>
+<p>Destroy SQL cursor when cursor object is closed at end of transaction. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a8d5f8214ede2ab27dd588defc2847330a4c37408c49492bfe9f012812226dd1fd"></a>loose</em>&nbsp;</td><td>
+<p>Leave SQL cursor in existence after close of object and transaction. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aba6fa56f1ef2d25c3c73240de6b9c212"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">pqxx::cursor_base::updatepolicy</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Cursor update policy. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Not all PostgreSQL versions support updatable cursors. </dd></dl>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="aba6fa56f1ef2d25c3c73240de6b9c212a8122c0c4a5eb9c9dbf27ab40a2686eb0"></a>read_only</em>&nbsp;</td><td>
+<p>Cursor can be used to read data but not to write. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="aba6fa56f1ef2d25c3c73240de6b9c212a12fa229ee3e760f1ca86d66304554b63"></a>update</em>&nbsp;</td><td>
+<p>Cursor can be used to update data as well as read it. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
 
 </div>
-</div><p>
-<a class="anchor" name="d5b1a57e3e37bb6df5d7605f14e4c9be"></a><!-- doxytag: member="pqxx::disk_full::disk_full" ref="d5b1a57e3e37bb6df5d7605f14e4c9be" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a92ebe0bfff015fc1d85ab30d1ac97ef4"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::disk_full::disk_full           </td>
+          <td class="memname">pqxx::cursor_base::cursor_base </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>context</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>embellish_name</em> = <code>true</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00030.html#a92ebe0bfff015fc1d85ab30d1ac97ef4">cursor_base()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00030.html#a92ebe0bfff015fc1d85ab30d1ac97ef4">cursor_base()</a>.</p>
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a56b530ba6b18f3fcdb5b93a0087922c9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> pqxx::cursor_base::all </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special value: read until end. </p>
+<dl class="section return"><dt>Returns</dt><dd>Maximum value for <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>, so the cursor will attempt to read the largest possible result set. </dd></dl>
+
+<p>Referenced by <a class="el" href="a00189.html#a1d4ccde33cf0aa77b96d2dd358235f25">pqxx::internal::obtain_stateless_cursor_size()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="ae1e1a28e596a78fa8ed8c4eeccbe6369"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> pqxx::cursor_base::backward_all </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special value: read backwards from current position back to origin. </p>
+<dl class="section return"><dt>Returns</dt><dd>Minimum value for <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> </dd></dl>
 
-<p>
+<p>Referenced by <a class="el" href="a00091.html#a8231490bf29aa7686c4daa3b1fc97ed1">pqxx::stateless_cursor&lt; up, op &gt;::stateless_cursor()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="ab46d430e0ecfa545ff3764f867654caf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; pqxx::cursor_base::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Name of underlying SQL cursor. </p>
+<dl class="section return"><dt>Returns</dt><dd>Name of SQL cursor, which may differ from original given name. </dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>Don't use this to access the SQL cursor directly without going through the provided wrapper classes! </dd></dl>
+
+<p>Referenced by <a class="el" href="a00089.html#a78ee80852828a1221357352ce77b9597">pqxx::internal::sql_cursor::sql_cursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2a10af042c1ece1f5faf55479ada0319"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::cursor_base::next </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special value: read one row only. </p>
+<dl class="section return"><dt>Returns</dt><dd>Unsurprisingly, 1 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aed642c9d80cddf181853d36c6e8ccb93"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::cursor_base::prior </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Special value: read backwards, one row only. </p>
+<dl class="section return"><dt>Returns</dt><dd>Unsurprisingly, -1 </dd></dl>
+
+</div>
+</div>
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="a947b286d508fad4a1823f8b13a5ccef3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string pqxx::cursor_base::m_name</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00135_source.html">cursor.hxx</a></li>
+<li>cursor.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00030.html">cursor_base</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00030.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00030.js
--- 3.1-1.1/doc/html/Reference/a00030.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00030.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,24 @@
+var a00030 =
+[
+    [ "difference_type", "a00030.html#a746c725327e1dfd598708bfeb8834992", null ],
+    [ "size_type", "a00030.html#a732bb16c01dc3266d424267252d4f1b0", null ],
+    [ "accesspolicy", "a00030.html#a591ac7d2302288890c04e6159eb6d30e", [
+      [ "forward_only", "a00030.html#a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf", null ],
+      [ "random_access", "a00030.html#a591ac7d2302288890c04e6159eb6d30ea7f6c1ed7719885433353a78946b2c5f3", null ]
+    ] ],
+    [ "ownershippolicy", "a00030.html#a8d5f8214ede2ab27dd588defc2847330", [
+      [ "owned", "a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0", null ],
+      [ "loose", "a00030.html#a8d5f8214ede2ab27dd588defc2847330a4c37408c49492bfe9f012812226dd1fd", null ]
+    ] ],
+    [ "updatepolicy", "a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212", [
+      [ "read_only", "a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a8122c0c4a5eb9c9dbf27ab40a2686eb0", null ],
+      [ "update", "a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a12fa229ee3e760f1ca86d66304554b63", null ]
+    ] ],
+    [ "cursor_base", "a00030.html#a92ebe0bfff015fc1d85ab30d1ac97ef4", null ],
+    [ "all", "a00030.html#a56b530ba6b18f3fcdb5b93a0087922c9", null ],
+    [ "backward_all", "a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369", null ],
+    [ "name", "a00030.html#ab46d430e0ecfa545ff3764f867654caf", null ],
+    [ "next", "a00030.html#a2a10af042c1ece1f5faf55479ada0319", null ],
+    [ "prior", "a00030.html#aed642c9d80cddf181853d36c6e8ccb93", null ],
+    [ "m_name", "a00030.html#a947b286d508fad4a1823f8b13a5ccef3", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00030.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00030.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00031.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00031.html
--- 3.1-1.1/doc/html/Reference/a00031.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00031.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,102 +1,179 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::Escaper&lt; IT &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::data_exception Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00031.html">Escaper</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00031.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00236.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::data_exception Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::Escaper&lt; IT &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::internal::Escaper" --><code>#include &lt;<a class="el" href="a00254.html">tablewriter.hxx</a>&gt;</code>
-<p>
 
-<p>
-<a href="a00660.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#e038cf7f50b925680be254201b2cdeaa">Escaper</a> (const std::string &amp;null)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#ee82dc5d8b2430810467c559c03a1951">operator()</a> (IT i) const </td></tr>
+<p>Error in data provided to SQL statement.  
+ <a href="a00031.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::data_exception:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00031.png" usemap="#pqxx::data_exception_map" alt=""/>
+  <map id="pqxx::data_exception_map" name="pqxx::data_exception_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,129,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,129,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,129,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0e28cd5da6e6cd6fba5ade32b353e51a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#a0e28cd5da6e6cd6fba5ade32b353e51a">data_exception</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a987ace354d0497c66d468ce18dc48487"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#a987ace354d0497c66d468ce18dc48487">data_exception</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<h3>template&lt;typename IT&gt;<br>
- class pqxx::internal::Escaper&lt; IT &gt;</h3>
-
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="e038cf7f50b925680be254201b2cdeaa"></a><!-- doxytag: member="pqxx::internal::Escaper::Escaper" ref="e038cf7f50b925680be254201b2cdeaa" args="(const std::string &amp;null)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Error in data provided to SQL statement. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a0e28cd5da6e6cd6fba5ade32b353e51a"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename IT&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00031.html">pqxx::internal::Escaper</a>&lt; IT &gt;::<a class="el" href="a00031.html">Escaper</a>           </td>
+          <td class="memname">pqxx::data_exception::data_exception </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>null</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="ee82dc5d8b2430810467c559c03a1951"></a><!-- doxytag: member="pqxx::internal::Escaper::operator()" ref="ee82dc5d8b2430810467c559c03a1951" args="(IT i) const " -->
+</div>
+<a class="anchor" id="a987ace354d0497c66d468ce18dc48487"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename IT&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">std ::string <a class="el" href="a00031.html">pqxx::internal::Escaper</a>&lt; IT &gt;::operator()           </td>
+          <td class="memname">pqxx::data_exception::data_exception </td>
           <td>(</td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00254.html#l00203">pqxx::internal::EscapeAny()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00254.html">tablewriter.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00031.html">data_exception</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00031.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00031.js
--- 3.1-1.1/doc/html/Reference/a00031.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00031.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00031 =
+[
+    [ "data_exception", "a00031.html#a0e28cd5da6e6cd6fba5ade32b353e51a", null ],
+    [ "data_exception", "a00031.html#a987ace354d0497c66d468ce18dc48487", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00031.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00031.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00032.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00032.html
--- 3.1-1.1/doc/html/Reference/a00032.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00032.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,84 +1,478 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::failure Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::dbtransaction Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00032.html">failure</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00032.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="a00224.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::dbtransaction Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::failure Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::failure" --><!-- doxytag: inherits="pqxx::pqxx_exception" -->Run-time <a class="el" href="a00032.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a> encountered by libpqxx, similar to std::runtime_error.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p><code>#include &lt;<a class="el" href="a00137_source.html">dbtransaction.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::failure:</div>
-<div class="dynsection">
-<p><center><img src="a00478.png" border="0" usemap="#a00479" alt="Inheritance graph"></center>
-<map name="a00479">
-<area shape="rect" href="a00011.html" title="Exception class for lost or failed backend connection." alt="" coords="361,44,540,71"><area shape="rect" href="a00039.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;..." alt="" coords="375,132,527,159"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="393,259,508,285"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="7,132,164,159"><area shape="rect" href="a00103.html" title="pqxx::too_many_connections" alt="" coords="607,5,815,32"><area shape="rect" href="a00024.html" title="Error in data provided to SQL statement." alt="" coords="632,56,789,83"><area shape="rect" href="a00033.html" title="Database feature not supported in current setup." alt="" coords="608,107,813,133"><area shape="rect" href="a00040.html" title="pqxx::insufficient_privilege" alt="" coords="617,157,804,184"><area shape="rect" href="a00041.html" title="Resource shortage on the server." alt="" coords="612,208,809,235"><area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="589,259,832,285"><area shape="rect" href="a00044.html" title="pqxx::invalid_cursor_name" alt="" coords="616,309,805,336"><area shape="rect" href="a00045.html" title="pqxx::invalid_cursor_state" alt="" coords="617,360,804,387"><area shape="rect" href="a00046.html" title="pqxx::invalid_sql_statement_name" alt="" coords="589,411,832,437"><area shape="rect" href="a00063.html" title="PL/pgSQL error." alt="" coords="640,461,781,488"><area shape="rect" href="a00098.html" title="pqxx::syntax_error" alt="" coords="641,588,780,615"><area shape="rect" href="a00030.html" title="pqxx::disk_full" alt="" coords="932,56,1041,83"><area shape="rect" href="a00060.html" title="pqxx::out_of_memory" alt="" coords="907,107,1067,133"><area shape="rect" href="a00015.html" title="pqxx::check_violation" alt="" coords="909,157,1064,184"><area shape="rect" href="a00035.html" title="pqxx::foreign_key_violation" alt="" coords="891,208,1083,235"><area shape="rect" href="a00056.html" title="pqxx::not_null_violation" alt="" coords="903,259,1071,285"><area shape="rect" href="a00075.html" title="pqxx::restrict_violation" alt="" coords="905,309,1068,336"><area shape="rect" href="a00112.html" title="pqxx::unique_violation" alt="" coords="905,360,1068,387"><area shape="rect" href="a00064.html" title="pqxx::plpgsql_no_data_found" alt="" coords="884,411,1089,437"><area shape="rect" href="a00065.html" title="Exception raised in PL/pgSQL procedure." alt="" coords="916,461,1057,488"><area shape="rect" href="a00066.html" title="pqxx::plpgsql_too_many_rows" alt="" coords="881,512,1092,539"><area shape="rect" href="a00108.html" title="pqxx::undefined_column" alt="" coords="899,563,1075,589"><area shape="rect" href="a00109.html" title="pqxx::undefined_function" alt="" coords="897,613,1076,640"><area shape="rect" href="a00110.html" title="pqxx::undefined_table" alt="" coords="907,664,1067,691"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
+Inheritance diagram for pqxx::dbtransaction:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00032.png" usemap="#pqxx::dbtransaction_map" alt=""/>
+  <map id="pqxx::dbtransaction_map" name="pqxx::dbtransaction_map">
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="324,56,638,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="324,0,638,24"/>
+<area href="a00011.html" alt="pqxx::basic_robusttransaction" shape="rect" coords="0,168,314,192"/>
+<area href="a00012.html" alt="pqxx::basic_transaction" shape="rect" coords="324,168,638,192"/>
+<area href="a00099.html" title="&quot;Transaction&quot; nested within another transaction" alt="pqxx::subtransaction" shape="rect" coords="648,168,962,192"/>
+<area href="a00086.html" title="Slightly slower, better-fortified version of transaction." alt="pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;" shape="rect" coords="0,224,314,248"/>
+<area href="a00106.html" title="Standard back-end transaction, templatized on isolation level." alt="pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;" shape="rect" coords="324,224,638,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ace1dc32cc5ab0d51481518e659675b79"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ace1dc32cc5ab0d51481518e659675b79">~dbtransaction</a> ()</td></tr>
+<tr class="inherit_header pub_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:ad5ddea378795d92908af4b65e59d585a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ad5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
+<tr class="memitem:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
+<tr class="memdesc:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction.  <a href="#ab2cf42c4821aff7ff1cd906af9165725"></a><br/></td></tr>
+<tr class="memitem:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
+<tr class="memdesc:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the transaction.  <a href="#a955f2497216d9eae268ac662b46d5a45"></a><br/></td></tr>
+<tr class="memitem:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga98dee516d429520627fd94f5ccb2b023">esc</a> (const char str[]) const </td></tr>
+<tr class="memdesc:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga98dee516d429520627fd94f5ccb2b023"></a><br/></td></tr>
+<tr class="memitem:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb">esc</a> (const char str[], size_t maxlen) const </td></tr>
+<tr class="memdesc:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb"></a><br/></td></tr>
+<tr class="memitem:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244">esc</a> (const std::string &amp;str) const </td></tr>
+<tr class="memdesc:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244"></a><br/></td></tr>
+<tr class="memitem:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6048218f7af70cd0423429d54203749c">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
+<tr class="memdesc:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga6048218f7af70cd0423429d54203749c"></a><br/></td></tr>
+<tr class="memitem:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
+<tr class="memdesc:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga489c7438da9241486297a451a8579dc1"></a><br/></td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff">quote</a> (const T &amp;t) const </td></tr>
+<tr class="memdesc:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff"></a><br/></td></tr>
+<tr class="memitem:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memdesc:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query.  <a href="#aed91d0b8029795b477470e854c907c4b"></a><br/></td></tr>
+<tr class="memitem:a938732e87f924fee764cddd8390de20f inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memitem:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">internal::parameterized_invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
+<tr class="memdesc:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameterize a statement.  <a href="#a6ec73bd0d2a37553c8518e0ef428dee4"></a><br/></td></tr>
+<tr class="memitem:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
+<tr class="memdesc:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection this transaction is running in.  <a href="#aed167261c4d76876241b5f615b9b8c7a"></a><br/></td></tr>
+<tr class="memitem:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
+<tr class="memdesc:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable in this connection.  <a href="#ab7510be596a5a14014064c884a10fd93"></a><br/></td></tr>
+<tr class="memitem:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#a87f5147f2dc2dfbcc3b5aef4b461be86"></a><br/></td></tr>
+<tr class="memitem:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">prepare::invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
+<tr class="memdesc:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute prepared statement.  <a href="#a1357ac4f6330284129c91882a169276d"></a><br/></td></tr>
+<tr class="memitem:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
+<tr class="memdesc:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#a99f99eb85906a7541119c9098a36d799"></a><br/></td></tr>
+<tr class="memitem:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
+<tr class="memdesc:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#aa90bc6e1219ff68ef11e1d04b76c205c"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a49d5c0050ec02eba8440b1bdb20a1539"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a49d5c0050ec02eba8440b1bdb20a1539">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;IsolationString, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a12e833c152ed73fabe7c4c30020140e2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a12e833c152ed73fabe7c4c30020140e2">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, bool direct=true, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a601f599d9c5cca86ce84a77bdac941db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a601f599d9c5cca86ce84a77bdac941db">start_backend_transaction</a> ()</td></tr>
+<tr class="memdesc:a601f599d9c5cca86ce84a77bdac941db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a transaction on the backend and set desired isolation level.  <a href="#a601f599d9c5cca86ce84a77bdac941db"></a><br/></td></tr>
+<tr class="memitem:a0b4da4b562a51ec0f03a9abf75acd14c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a0b4da4b562a51ec0f03a9abf75acd14c">do_begin</a> ()</td></tr>
+<tr class="memdesc:a0b4da4b562a51ec0f03a9abf75acd14c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: begin backend transaction.  <a href="#a0b4da4b562a51ec0f03a9abf75acd14c"></a><br/></td></tr>
+<tr class="memitem:a9b3e988901d4bec05d414543314a945b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a9b3e988901d4bec05d414543314a945b">do_exec</a> (const char Query[])</td></tr>
+<tr class="memdesc:a9b3e988901d4bec05d414543314a945b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: perform query.  <a href="#a9b3e988901d4bec05d414543314a945b"></a><br/></td></tr>
+<tr class="memitem:ae434c2ec625a55ec8c6c4f57d1cb0a54"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ae434c2ec625a55ec8c6c4f57d1cb0a54">do_commit</a> ()=0</td></tr>
+<tr class="memdesc:ae434c2ec625a55ec8c6c4f57d1cb0a54"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived class: commit backend transaction.  <a href="#ae434c2ec625a55ec8c6c4f57d1cb0a54"></a><br/></td></tr>
+<tr class="memitem:a38c5eb7ae19ad150f89e951261873aba"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a38c5eb7ae19ad150f89e951261873aba">do_abort</a> ()</td></tr>
+<tr class="memdesc:a38c5eb7ae19ad150f89e951261873aba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: abort backend transaction.  <a href="#a38c5eb7ae19ad150f89e951261873aba"></a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, bool direct=true)</td></tr>
+<tr class="memdesc:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transaction (to be called by implementation classes only)  <a href="#a92fc088d2f2c3e1e5992b4e14c703684"></a><br/></td></tr>
+<tr class="memitem:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">Begin</a> ()</td></tr>
+<tr class="memdesc:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin transaction (to be called by implementing class)  <a href="#a1d2a8554499cbd93ff8c2bf5c15843ff"></a><br/></td></tr>
+<tr class="memitem:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136">End</a> ()  throw ()</td></tr>
+<tr class="memdesc:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">End transaction. To be called by implementing class' destructor.  <a href="#af2ddcd7f1def9dfd3f15c0f3242b9136"></a><br/></td></tr>
+<tr class="memitem:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ac80f81e53c31f3a2052dc24fc6bbb7ee">DirectExec</a> (const char C[], int Retries=0)</td></tr>
+<tr class="memdesc:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query on connection directly.  <a href="#ac80f81e53c31f3a2052dc24fc6bbb7ee"></a><br/></td></tr>
+<tr class="memitem:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a84df458282939ef38cfddfaa07bea1d8">reactivation_avoidance_clear</a> ()  throw ()</td></tr>
+<tr class="memdesc:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget about any reactivation-blocking resources we tried to allocate.  <a href="#a84df458282939ef38cfddfaa07bea1d8"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a4e35ec39c80f088ebe239b15a16488de"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af5e1900b64239bac292f5505f7799654">isolation_tag</a></td></tr>
+<tr class="memdesc:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#af5e1900b64239bac292f5505f7799654"></a><br/></td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
+</table>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ace1dc32cc5ab0d51481518e659675b79"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::dbtransaction::~dbtransaction </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a49d5c0050ec02eba8440b1bdb20a1539"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::dbtransaction::dbtransaction </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>IsolationString</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>&#160;</td>
+          <td class="paramname"><em>rw</em> = <code><a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a></code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a12e833c152ed73fabe7c4c30020140e2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::dbtransaction::dbtransaction </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>direct</em> = <code>true</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>&#160;</td>
+          <td class="paramname"><em>rw</em> = <code><a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a></code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a38c5eb7ae19ad150f89e951261873aba"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::dbtransaction::do_abort </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-<a href="a00480.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<p>Sensible default implemented here: abort backend transaction. </p>
+<p>Default implementation does two things: </p>
+<ol>
+<li>
+Clears the "connection reactivation avoidance counter" </li>
+<li>
+Executes a ROLLBACK statement </li>
+</ol>
 
+<p>Implements <a class="el" href="a00107.html#a8fc9a363bcf7defb3c829a633c04ae6c">pqxx::transaction_base</a>.</p>
+
+<p>References <a class="el" href="a00189.html#aeeb006fd802ba13c08db2de7dc38830a">pqxx::internal::sql_rollback_work</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0b4da4b562a51ec0f03a9abf75acd14c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::dbtransaction::do_begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sensible default implemented here: begin backend transaction. </p>
+
+<p>Implements <a class="el" href="a00107.html#aa80a7816f63c425c28cd4037aaa8cf8f">pqxx::transaction_base</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae434c2ec625a55ec8c6c4f57d1cb0a54"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void pqxx::dbtransaction::do_commit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>To be implemented by derived class: commit backend transaction. </p>
+
+<p>Implements <a class="el" href="a00107.html#a475695c55439007cd2438fb184ed8be3">pqxx::transaction_base</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9b3e988901d4bec05d414543314a945b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">pqxx::result</a> pqxx::dbtransaction::do_exec </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Query</em>[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Run-time <a class="el" href="a00032.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a> encountered by libpqxx, similar to std::runtime_error. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="0e7e8831fed026375c499ee03f501f50"></a><!-- doxytag: member="pqxx::failure::failure" ref="0e7e8831fed026375c499ee03f501f50" args="(const std::string &amp;)" -->
+</div><div class="memdoc">
+
+<p>Sensible default implemented here: perform query. </p>
+
+<p>Implements <a class="el" href="a00107.html#a6f587ae3bda7a32c8828984e7c4aa16e">pqxx::transaction_base</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4e35ec39c80f088ebe239b15a16488de"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::failure::failure           </td>
+          <td class="memname">string pqxx::dbtransaction::fullname </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ttype</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>isolation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a601f599d9c5cca86ce84a77bdac941db"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::dbtransaction::start_backend_transaction </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Start a transaction on the backend and set desired isolation level. </p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00137_source.html">dbtransaction.hxx</a></li>
+<li>dbtransaction.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00032.html">dbtransaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00032.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00032.js
--- 3.1-1.1/doc/html/Reference/a00032.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00032.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,12 @@
+var a00032 =
+[
+    [ "~dbtransaction", "a00032.html#ace1dc32cc5ab0d51481518e659675b79", null ],
+    [ "dbtransaction", "a00032.html#a49d5c0050ec02eba8440b1bdb20a1539", null ],
+    [ "dbtransaction", "a00032.html#a12e833c152ed73fabe7c4c30020140e2", null ],
+    [ "do_abort", "a00032.html#a38c5eb7ae19ad150f89e951261873aba", null ],
+    [ "do_begin", "a00032.html#a0b4da4b562a51ec0f03a9abf75acd14c", null ],
+    [ "do_commit", "a00032.html#ae434c2ec625a55ec8c6c4f57d1cb0a54", null ],
+    [ "do_exec", "a00032.html#a9b3e988901d4bec05d414543314a945b", null ],
+    [ "fullname", "a00032.html#a4e35ec39c80f088ebe239b15a16488de", null ],
+    [ "start_backend_transaction", "a00032.html#a601f599d9c5cca86ce84a77bdac941db", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00032.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00032.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00033.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00033.html
--- 3.1-1.1/doc/html/Reference/a00033.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00033.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,115 +1,185 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::feature_not_supported Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::prepare::declaration Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00033.html">feature_not_supported</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00033.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00310.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::prepare::declaration Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::feature_not_supported Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::feature_not_supported" --><!-- doxytag: inherits="pqxx::sql_error" -->Database feature not supported in current setup.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::feature_not_supported:</div>
-<div class="dynsection">
-<p><center><img src="a00505.png" border="0" usemap="#a00506" alt="Inheritance graph"></center>
-<map name="a00506">
-<area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="51,161,165,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="59,84,157,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="29,7,187,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00507.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html#499c62eac013b090a96ea3b402f48f0c">feature_not_supported</a> (const std::string &amp;err)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html#72654b9a8eff8c728eae1d5fae9a0890">feature_not_supported</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Helper class for declaring parameters to prepared statements.  
+ <a href="a00033.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00152_source.html">prepared_statement.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a439009e307daa0cf96396ad09d6e4e90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html#a439009e307daa0cf96396ad09d6e4e90">declaration</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;statement)</td></tr>
+<tr class="memitem:ae9151d0abd9eebd52644072657a3ad03"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00033.html">declaration</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html#ae9151d0abd9eebd52644072657a3ad03">operator()</a> (const std::string &amp;sqltype, <a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>=<a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a">treat_direct</a>) const </td></tr>
+<tr class="memdesc:ae9151d0abd9eebd52644072657a3ad03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a parameter specification to prepared statement declaration.  <a href="#ae9151d0abd9eebd52644072657a3ad03"></a><br/></td></tr>
+<tr class="memitem:a51eebe85b4a375c81fda42c4d3a3ac5f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00033.html">declaration</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html#a51eebe85b4a375c81fda42c4d3a3ac5f">etc</a> (<a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>=<a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a">treat_direct</a>) const </td></tr>
+<tr class="memdesc:a51eebe85b4a375c81fda42c4d3a3ac5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permit arbitrary parameters after the last declared one.  <a href="#a51eebe85b4a375c81fda42c4d3a3ac5f"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Database feature not supported in current setup. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="499c62eac013b090a96ea3b402f48f0c"></a><!-- doxytag: member="pqxx::feature_not_supported::feature_not_supported" ref="499c62eac013b090a96ea3b402f48f0c" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Helper class for declaring parameters to prepared statements. </p>
+<p>You probably won't want to use this class. It's here just so you can declare parameters by adding parenthesized declarations directly after the statement declaration itself:</p>
+<div class="fragment"><div class="line">C.prepare(name, query)(paramtype1)(paramtype2, treatment)(paramtype3);</div>
+</div><!-- fragment --> </div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a439009e307daa0cf96396ad09d6e4e90"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::feature_not_supported::feature_not_supported           </td>
+          <td class="memname">pqxx::prepare::declaration::declaration </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>home</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>statement</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a51eebe85b4a375c81fda42c4d3a3ac5f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="a00033.html">pqxx::prepare::declaration</a> &amp; pqxx::prepare::declaration::etc </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&#160;</td>
+          <td class="paramname"><em>treatment</em> = <code><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a">treat_direct</a></code></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Permit arbitrary parameters after the last declared one. </p>
+<p>When used, this allows an arbitrary number of parameters to be passed after the last declared one. This is similar to the C language's varargs.</p>
+<p>Calling this completes the declaration; no parameters can be declared after <a class="el" href="a00033.html#a51eebe85b4a375c81fda42c4d3a3ac5f" title="Permit arbitrary parameters after the last declared one.">etc()</a>. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="72654b9a8eff8c728eae1d5fae9a0890"></a><!-- doxytag: member="pqxx::feature_not_supported::feature_not_supported" ref="72654b9a8eff8c728eae1d5fae9a0890" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="ae9151d0abd9eebd52644072657a3ad03"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::feature_not_supported::feature_not_supported           </td>
+          <td class="memname">const <a class="el" href="a00033.html">pqxx::prepare::declaration</a> &amp; pqxx::prepare::declaration::operator() </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>sqltype</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&#160;</td>
+          <td class="paramname"><em>treatment</em> = <code><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a">treat_direct</a></code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Add a parameter specification to prepared statement declaration. </p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00152_source.html">prepared_statement.hxx</a></li>
+<li>prepared_statement.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00192.html">prepare</a></li><li class="navelem"><a class="el" href="a00033.html">declaration</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00033.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00033.js
--- 3.1-1.1/doc/html/Reference/a00033.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00033.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00033 =
+[
+    [ "declaration", "a00033.html#a439009e307daa0cf96396ad09d6e4e90", null ],
+    [ "etc", "a00033.html#a51eebe85b4a375c81fda42c4d3a3ac5f", null ],
+    [ "operator()", "a00033.html#ae9151d0abd9eebd52644072657a3ad03", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00034.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00034.html
--- 3.1-1.1/doc/html/Reference/a00034.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00034.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,354 +1,120 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::field_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::deref_ptr&lt; T &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00034.html">field_streambuf</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00034.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00304.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::deref_ptr&lt; T &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::field_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::field_streambuf" --><code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00616.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#b1b72785be292cde0fa9ac2cf2b3f6a4">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TRAITS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#434a97e522097934a05be09ddddcf86a">traits_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::int_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef streamoff&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#594d90685e6d986b1f2200792bd74b03">off_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef streampos&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::ios::openmode&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#0c9689f4fab661726b085fdddd29b15e">openmode</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::ios::seekdir&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#aa5d62fbdb2f4480f5e2cb61ea24154f">seekdir</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#d66342592807bc4614e0ac87ccd06266">field_streambuf</a> (const <a class="el" href="a00081.html">result::field</a> &amp;F)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#e94ab8fb0c94bf4b100f85f80ff8a2b4">sync</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#11be4abe1a7a982fa05d2ca80630c62c">seekoff</a> (<a class="el" href="a00034.html#594d90685e6d986b1f2200792bd74b03">off_type</a>, <a class="el" href="a00034.html#aa5d62fbdb2f4480f5e2cb61ea24154f">seekdir</a>, <a class="el" href="a00034.html#0c9689f4fab661726b085fdddd29b15e">openmode</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#8c7796f89ed8ea72203359ef1aeaa042">seekpos</a> (<a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a>, <a class="el" href="a00034.html#0c9689f4fab661726b085fdddd29b15e">openmode</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a10890370d62085bde7c01e4e7ddcd92">overflow</a> (<a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#c96fb117de93933fd4dd667cbe88a0b6">underflow</a> ()</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9709f1dbe1bc7599e96dd16b22e776bd"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a9709f1dbe1bc7599e96dd16b22e776bd">operator()</a> (T *i) const </td></tr>
 </table>
-<h3>template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt;<br>
- class pqxx::field_streambuf&lt; CHAR, TRAITS &gt;</h3>
-
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="b1b72785be292cde0fa9ac2cf2b3f6a4"></a><!-- doxytag: member="pqxx::field_streambuf::char_type" ref="b1b72785be292cde0fa9ac2cf2b3f6a4" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef CHAR <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#b1b72785be292cde0fa9ac2cf2b3f6a4">char_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="434a97e522097934a05be09ddddcf86a"></a><!-- doxytag: member="pqxx::field_streambuf::traits_type" ref="434a97e522097934a05be09ddddcf86a" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef TRAITS <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#434a97e522097934a05be09ddddcf86a">traits_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="55e0069841487074956aa376a6e1d72c"></a><!-- doxytag: member="pqxx::field_streambuf::int_type" ref="55e0069841487074956aa376a6e1d72c" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef traits_type::int_type <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="594d90685e6d986b1f2200792bd74b03"></a><!-- doxytag: member="pqxx::field_streambuf::off_type" ref="594d90685e6d986b1f2200792bd74b03" args="" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a9709f1dbe1bc7599e96dd16b22e776bd"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef streamoff <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#594d90685e6d986b1f2200792bd74b03">off_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="40a3219faec0d4870a24060bf66c1673"></a><!-- doxytag: member="pqxx::field_streambuf::pos_type" ref="40a3219faec0d4870a24060bf66c1673" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef streampos <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0c9689f4fab661726b085fdddd29b15e"></a><!-- doxytag: member="pqxx::field_streambuf::openmode" ref="0c9689f4fab661726b085fdddd29b15e" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef std ::ios::openmode <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#0c9689f4fab661726b085fdddd29b15e">openmode</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="aa5d62fbdb2f4480f5e2cb61ea24154f"></a><!-- doxytag: member="pqxx::field_streambuf::seekdir" ref="aa5d62fbdb2f4480f5e2cb61ea24154f" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef std ::ios::seekdir <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html#aa5d62fbdb2f4480f5e2cb61ea24154f">seekdir</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d66342592807bc4614e0ac87ccd06266"></a><!-- doxytag: member="pqxx::field_streambuf::field_streambuf" ref="d66342592807bc4614e0ac87ccd06266" args="(const result::field &amp;F)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00034.html">field_streambuf</a>           </td>
+          <td class="memname">T <a class="el" href="a00034.html">pqxx::internal::deref_ptr</a>&lt; T &gt;::operator() </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00081.html">result::field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>F</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00034.html#a9709f1dbe1bc7599e96dd16b22e776bd">pqxx::internal::deref_ptr&lt; T &gt;::operator()()</a>.</p>
 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="e94ab8fb0c94bf4b100f85f80ff8a2b4"></a><!-- doxytag: member="pqxx::field_streambuf::sync" ref="e94ab8fb0c94bf4b100f85f80ff8a2b4" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual int <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::sync           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
+<p>Referenced by <a class="el" href="a00034.html#a9709f1dbe1bc7599e96dd16b22e776bd">pqxx::internal::deref_ptr&lt; T &gt;::operator()()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="11be4abe1a7a982fa05d2ca80630c62c"></a><!-- doxytag: member="pqxx::field_streambuf::seekoff" ref="11be4abe1a7a982fa05d2ca80630c62c" args="(off_type, seekdir, openmode)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a> <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::seekoff           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00034.html#594d90685e6d986b1f2200792bd74b03">off_type</a>&nbsp;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00034.html#aa5d62fbdb2f4480f5e2cb61ea24154f">seekdir</a>&nbsp;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00034.html#0c9689f4fab661726b085fdddd29b15e">openmode</a>&nbsp;</td>
-          <td class="paramname"></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8c7796f89ed8ea72203359ef1aeaa042"></a><!-- doxytag: member="pqxx::field_streambuf::seekpos" ref="8c7796f89ed8ea72203359ef1aeaa042" args="(pos_type, openmode)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a> <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::seekpos           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00034.html#40a3219faec0d4870a24060bf66c1673">pos_type</a>&nbsp;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00034.html#0c9689f4fab661726b085fdddd29b15e">openmode</a>&nbsp;</td>
-          <td class="paramname"></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a10890370d62085bde7c01e4e7ddcd92"></a><!-- doxytag: member="pqxx::field_streambuf::overflow" ref="a10890370d62085bde7c01e4e7ddcd92" args="(int_type)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a> <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::overflow           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a>&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c96fb117de93933fd4dd667cbe88a0b6"></a><!-- doxytag: member="pqxx::field_streambuf::underflow" ref="c96fb117de93933fd4dd667cbe88a0b6" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00034.html#55e0069841487074956aa376a6e1d72c">int_type</a> <a class="el" href="a00034.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::underflow           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a></ul>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00034.html">deref_ptr</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00034.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00034.js
--- 3.1-1.1/doc/html/Reference/a00034.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00034.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00034 =
+[
+    [ "operator()", "a00034.html#a9709f1dbe1bc7599e96dd16b22e776bd", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00035.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00035.html
--- 3.1-1.1/doc/html/Reference/a00035.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00035.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,124 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::foreign_key_violation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::dereference&lt; ITER &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00035.html">foreign_key_violation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00035.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00303.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::dereference&lt; ITER &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::foreign_key_violation Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::foreign_key_violation" --><!-- doxytag: inherits="pqxx::integrity_constraint_violation" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::foreign_key_violation:</div>
-<div class="dynsection">
-<p><center><img src="a00520.png" border="0" usemap="#a00521" alt="Inheritance graph"></center>
-<map name="a00521">
-<area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="5,238,248,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="69,161,184,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="77,84,176,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="48,6,205,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
-<p>
-<a href="a00522.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#6e1d093886e976b8e028d94daba4c16e">foreign_key_violation</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#63de30ac68704846bbe21c078d23be53">foreign_key_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Functor: dereference iterator.  
+ <a href="a00035.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4eb51db87ff14a4edf9787b5117ddd24"><td class="memItemLeft" align="right" valign="top">ITER::value_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a4eb51db87ff14a4edf9787b5117ddd24">operator()</a> (ITER i) const </td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="6e1d093886e976b8e028d94daba4c16e"></a><!-- doxytag: member="pqxx::foreign_key_violation::foreign_key_violation" ref="6e1d093886e976b8e028d94daba4c16e" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename ITER&gt;<br/>
+struct pqxx::internal::dereference&lt; ITER &gt;</h3>
+
+<p>Functor: dereference iterator. </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="a4eb51db87ff14a4edf9787b5117ddd24"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename ITER &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::foreign_key_violation::foreign_key_violation           </td>
+          <td class="memname">ITER::value_type <a class="el" href="a00035.html">pqxx::internal::dereference</a>&lt; ITER &gt;::operator() </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="63de30ac68704846bbe21c078d23be53"></a><!-- doxytag: member="pqxx::foreign_key_violation::foreign_key_violation" ref="63de30ac68704846bbe21c078d23be53" args="(const std::string &amp;err, const std::string &amp;Q)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::foreign_key_violation::foreign_key_violation           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00035.html">dereference</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00035.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00035.js
--- 3.1-1.1/doc/html/Reference/a00035.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00035.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00035 =
+[
+    [ "operator()", "a00035.html#a4eb51db87ff14a4edf9787b5117ddd24", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00036.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00036.html
--- 3.1-1.1/doc/html/Reference/a00036.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00036.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,77 +1,145 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::prepare::internal::get_sqltype Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::disable_noticer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00189.html">prepare</a>::<a class="el" href="a00190.html">internal</a>::<a class="el" href="a00036.html">get_sqltype</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00036.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00218.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::disable_noticer Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::prepare::internal::get_sqltype Struct Reference</h1><!-- doxytag: class="pqxx::prepare::internal::get_sqltype" -->Utility functor: get prepared-statement parameter's SQL type string.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00239.html">prepared_statement.hxx</a>&gt;</code>
-<p>
 
-<p>
-<a href="a00682.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IT&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00036.html#688f1e7a9a84e577c83fa647a1962b41">operator()</a> (IT i)</td></tr>
+<p>Temporarily disable the notice processor.  
+ <a href="a00036.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::disable_noticer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00036.png" usemap="#pqxx::disable_noticer_map" alt=""/>
+  <map id="pqxx::disable_noticer_map" name="pqxx::disable_noticer_map">
+<area href="a00088.html" title="Temporarily set different noticer for connection, then restore old one." alt="pqxx::scoped_noticer" shape="rect" coords="0,0,130,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adc6490b8a280f32d283f6a0a6dd8e2f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html#adc6490b8a280f32d283f6a0a6dd8e2f4">disable_noticer</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c)</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_methods_a00088"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00088')"><img src="closed.png" alt="-"/>&nbsp;Private Member Functions inherited from <a class="el" href="a00088.html">pqxx::scoped_noticer</a></td></tr>
+<tr class="memitem:a296496bb9919c4673236347dcc461dab inherit pub_methods_a00088"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#a296496bb9919c4673236347dcc461dab">scoped_noticer</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt; t)  throw ()</td></tr>
+<tr class="memdesc:a296496bb9919c4673236347dcc461dab inherit pub_methods_a00088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start period where different noticer applies to connection.  <a href="#a296496bb9919c4673236347dcc461dab"></a><br/></td></tr>
+<tr class="memitem:ac4392882401ac69ab46ee9a51e500de4 inherit pub_methods_a00088"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#ac4392882401ac69ab46ee9a51e500de4">~scoped_noticer</a> ()</td></tr>
+<tr class="memitem:ab2942e4ae61aa62357e193314e1945a8 inherit pro_methods_a00088"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#ab2942e4ae61aa62357e193314e1945a8">scoped_noticer</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, <a class="el" href="a00065.html">noticer</a> *t)  throw ()</td></tr>
+<tr class="memdesc:ab2942e4ae61aa62357e193314e1945a8 inherit pro_methods_a00088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take ownership of given noticer, and start using it.  <a href="#ab2942e4ae61aa62357e193314e1945a8"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Utility functor: get prepared-statement parameter's SQL type string. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="688f1e7a9a84e577c83fa647a1962b41"></a><!-- doxytag: member="pqxx::prepare::internal::get_sqltype::operator()" ref="688f1e7a9a84e577c83fa647a1962b41" args="(IT i)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Temporarily disable the notice processor. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="adc6490b8a280f32d283f6a0a6dd8e2f4"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename IT&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">const std ::string&amp; pqxx::prepare::internal::get_sqltype::operator()           </td>
+          <td class="memname">pqxx::disable_noticer::disable_noticer </td>
           <td>(</td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>c</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00239.html">prepared_statement.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00036.html">disable_noticer</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00036.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00036.js
--- 3.1-1.1/doc/html/Reference/a00036.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00036.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00036 =
+[
+    [ "disable_noticer", "a00036.html#adc6490b8a280f32d283f6a0a6dd8e2f4", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00036.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00036.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00037.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00037.html
--- 3.1-1.1/doc/html/Reference/a00037.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00037.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,492 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::icursor_iterator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::disk_full Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00037.html">icursor_iterator</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00037.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00252.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::disk_full Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::icursor_iterator Class Reference</h1><!-- doxytag: class="pqxx::icursor_iterator" -->Approximate istream_iterator for <a class="el" href="a00038.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a>.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00222.html">cursor.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00471.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00038.html">icursorstream</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#4d6d50111eed016d1ce28bbdbbf96862">istream_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00038.html#6f29a9a658eeb39c09075bfc655c5d90">istream_type::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#f82ad1f395b1ccef2f48e7a04e315ae2">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
-<a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">istream_type::difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#cf5bea0afb3ae6a669bd40cd659a5921">difference_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#14f91c8c6898670b29965c34d6166674">icursor_iterator</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#059b39f4623c26af73cc865f3f8488ca">icursor_iterator</a> (<a class="el" href="a00038.html">istream_type</a> &amp;)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#3faa6d72b2c16f3b36a27804c561bfcc">icursor_iterator</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#260a8e31d364d7c8427741d0788c305e">~icursor_iterator</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00076.html">result</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#7c416cd5efae357cce5f6dccf6d6fb58">operator*</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00076.html">result</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#f2c977a93c27c468244f43733f7238c6">operator-&gt;</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#da9ee12818185a1ccd04c912601d9f6d">operator++</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00037.html">icursor_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ed4a6029b7e88f2adef1c0c3508605aa">operator++</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#e1f77541718ff048a67353dc07c87013">operator+=</a> (<a class="el" href="a00037.html#cf5bea0afb3ae6a669bd40cd659a5921">difference_type</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#56c2d0b9aa14557cdf45555ea8a543f3">operator=</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#8b87babe29cf2797a624b2c8fa10d05f">operator==</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#d0cda8bc84e80e331d2fcc973788d99a">operator!=</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#595590e9f129925a1b447617b8d3b82a">operator&lt;</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#0844bc4574d839c13d9ae6f2316a7286">operator&gt;</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#6afd533edcdf0e9f9667fdde547de63a">operator&lt;=</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#0abd27b596021390729199ddcb5a4baf">operator&gt;=</a> (const <a class="el" href="a00037.html">icursor_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#50ae5821478a2398f50c8cf2c42a0343">internal::gate::icursor_iterator_icursorstream</a></td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::disk_full:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00037.png" usemap="#pqxx::disk_full_map" alt=""/>
+  <map id="pqxx::disk_full_map" name="pqxx::disk_full_map">
+<area href="a00049.html" title="Resource shortage on the server." alt="pqxx::insufficient_resources" shape="rect" coords="0,168,168,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,168,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,168,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,168,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab76e2e34539d0dec43ab1479a4847a86"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ab76e2e34539d0dec43ab1479a4847a86">disk_full</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:ad5b1a57e3e37bb6df5d7605f14e4c9be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ad5b1a57e3e37bb6df5d7605f14e4c9be">disk_full</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00049"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00049')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00049.html">pqxx::insufficient_resources</a></td></tr>
+<tr class="memitem:ab9c012d8591a9699677c8e3d2bfdf02a inherit pub_methods_a00049"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#ab9c012d8591a9699677c8e3d2bfdf02a">insufficient_resources</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:af88552eb661d1bc459308d2ff8576840 inherit pub_methods_a00049"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#af88552eb661d1bc459308d2ff8576840">insufficient_resources</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Approximate istream_iterator for <a class="el" href="a00038.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a>. 
-<p>
-Intended as an implementation of an input_iterator (as defined by the C++ Standard Library), this class supports only two basic operations: reading the current element, and moving forward. In addition to the minimal guarantees for istream_iterators, this class supports multiple successive reads of the same position (the current <a class="el" href="a00076.html" title="Query or command result set.">result</a> set is cached in the iterator) even after copying and even after new data have been read from the stream. This appears to be a requirement for input_iterators. Comparisons are also supported in the general case.<p>
-The iterator does not care about its own position, however. Moving an iterator forward moves the underlying stream forward and reads the data from the new stream position, regardless of the iterator's old position in the stream.<p>
-The stream's stride defines the granularity for all iterator movement or access operations, i.e. "ici += 1" advances the stream by one stride's worth of tuples, and "*ici++" reads one stride's worth of tuples from the stream.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Do not read from the underlying stream or its cursor, move its read position, or change its stride, between the time the first <a class="el" href="a00037.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> on it is created and the time its last <a class="el" href="a00037.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> is destroyed.<p>
-Manipulating these iterators within the context of a single cursor stream is <em>not thread-safe</em>. Creating a new iterator, copying one, or destroying one affects the stream as a whole. </dd></dl>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="4d6d50111eed016d1ce28bbdbbf96862"></a><!-- doxytag: member="pqxx::icursor_iterator::istream_type" ref="4d6d50111eed016d1ce28bbdbbf96862" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00038.html">icursorstream</a> <a class="el" href="a00038.html">pqxx::icursor_iterator::istream_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f82ad1f395b1ccef2f48e7a04e315ae2"></a><!-- doxytag: member="pqxx::icursor_iterator::size_type" ref="f82ad1f395b1ccef2f48e7a04e315ae2" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00038.html#6f29a9a658eeb39c09075bfc655c5d90">istream_type::size_type</a> <a class="el" href="a00037.html#f82ad1f395b1ccef2f48e7a04e315ae2">pqxx::icursor_iterator::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cf5bea0afb3ae6a669bd40cd659a5921"></a><!-- doxytag: member="pqxx::icursor_iterator::difference_type" ref="cf5bea0afb3ae6a669bd40cd659a5921" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">istream_type::difference_type</a> <a class="el" href="a00037.html#cf5bea0afb3ae6a669bd40cd659a5921">pqxx::icursor_iterator::difference_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="14f91c8c6898670b29965c34d6166674"></a><!-- doxytag: member="pqxx::icursor_iterator::icursor_iterator" ref="14f91c8c6898670b29965c34d6166674" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::icursor_iterator::icursor_iterator           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="059b39f4623c26af73cc865f3f8488ca"></a><!-- doxytag: member="pqxx::icursor_iterator::icursor_iterator" ref="059b39f4623c26af73cc865f3f8488ca" args="(istream_type &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::icursor_iterator::icursor_iterator           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00038.html">istream_type</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>s</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3faa6d72b2c16f3b36a27804c561bfcc"></a><!-- doxytag: member="pqxx::icursor_iterator::icursor_iterator" ref="3faa6d72b2c16f3b36a27804c561bfcc" args="(const icursor_iterator &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::icursor_iterator::icursor_iterator           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="260a8e31d364d7c8427741d0788c305e"></a><!-- doxytag: member="pqxx::icursor_iterator::~icursor_iterator" ref="260a8e31d364d7c8427741d0788c305e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::icursor_iterator::~icursor_iterator           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="7c416cd5efae357cce5f6dccf6d6fb58"></a><!-- doxytag: member="pqxx::icursor_iterator::operator*" ref="7c416cd5efae357cce5f6dccf6d6fb58" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const <a class="el" href="a00076.html">result</a>&amp; pqxx::icursor_iterator::operator*           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f2c977a93c27c468244f43733f7238c6"></a><!-- doxytag: member="pqxx::icursor_iterator::operator-&gt;" ref="f2c977a93c27c468244f43733f7238c6" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const <a class="el" href="a00076.html">result</a>* pqxx::icursor_iterator::operator-&gt;           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="da9ee12818185a1ccd04c912601d9f6d"></a><!-- doxytag: member="pqxx::icursor_iterator::operator++" ref="da9ee12818185a1ccd04c912601d9f6d" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00037.html">icursor_iterator</a> &amp; pqxx::icursor_iterator::operator++           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00849">pqxx::result::clear()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ed4a6029b7e88f2adef1c0c3508605aa"></a><!-- doxytag: member="pqxx::icursor_iterator::operator++" ref="ed4a6029b7e88f2adef1c0c3508605aa" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00037.html">icursor_iterator</a> pqxx::icursor_iterator::operator++           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00849">pqxx::result::clear()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e1f77541718ff048a67353dc07c87013"></a><!-- doxytag: member="pqxx::icursor_iterator::operator+=" ref="e1f77541718ff048a67353dc07c87013" args="(difference_type)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00037.html">icursor_iterator</a> &amp; pqxx::icursor_iterator::operator+=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00037.html#cf5bea0afb3ae6a669bd40cd659a5921">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00849">pqxx::result::clear()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="56c2d0b9aa14557cdf45555ea8a543f3"></a><!-- doxytag: member="pqxx::icursor_iterator::operator=" ref="56c2d0b9aa14557cdf45555ea8a543f3" args="(const icursor_iterator &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00037.html">icursor_iterator</a> &amp; pqxx::icursor_iterator::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00221.html#l00409">pqxx::icursorstream::insert_iterator()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8b87babe29cf2797a624b2c8fa10d05f"></a><!-- doxytag: member="pqxx::icursor_iterator::operator==" ref="8b87babe29cf2797a624b2c8fa10d05f" args="(const icursor_iterator &amp;rhs) const " -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab76e2e34539d0dec43ab1479a4847a86"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::icursor_iterator::operator==           </td>
+          <td class="memname">pqxx::disk_full::disk_full </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00240.html#l00125">pqxx::result::empty()</a>, <a class="el" href="a00222.html#l00558">m_here</a>, <a class="el" href="a00222.html#l00557">m_stream</a>, <a class="el" href="a00222.html#l00554">pos()</a>, and <a class="el" href="a00221.html#l00573">refresh()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="d0cda8bc84e80e331d2fcc973788d99a"></a><!-- doxytag: member="pqxx::icursor_iterator::operator!=" ref="d0cda8bc84e80e331d2fcc973788d99a" args="(const icursor_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::icursor_iterator::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="595590e9f129925a1b447617b8d3b82a"></a><!-- doxytag: member="pqxx::icursor_iterator::operator&lt;" ref="595590e9f129925a1b447617b8d3b82a" args="(const icursor_iterator &amp;rhs) const " -->
+<a class="anchor" id="ad5b1a57e3e37bb6df5d7605f14e4c9be"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::icursor_iterator::operator&lt;           </td>
+          <td class="memname">pqxx::disk_full::disk_full </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00240.html#l00125">pqxx::result::empty()</a>, <a class="el" href="a00222.html#l00557">m_stream</a>, <a class="el" href="a00222.html#l00554">pos()</a>, and <a class="el" href="a00221.html#l00573">refresh()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0844bc4574d839c13d9ae6f2316a7286"></a><!-- doxytag: member="pqxx::icursor_iterator::operator&gt;" ref="0844bc4574d839c13d9ae6f2316a7286" args="(const icursor_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::icursor_iterator::operator&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="6afd533edcdf0e9f9667fdde547de63a"></a><!-- doxytag: member="pqxx::icursor_iterator::operator&lt;=" ref="6afd533edcdf0e9f9667fdde547de63a" args="(const icursor_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::icursor_iterator::operator&lt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="0abd27b596021390729199ddcb5a4baf"></a><!-- doxytag: member="pqxx::icursor_iterator::operator&gt;=" ref="0abd27b596021390729199ddcb5a4baf" args="(const icursor_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::icursor_iterator::operator&gt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00037.html">icursor_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="50ae5821478a2398f50c8cf2c42a0343"></a><!-- doxytag: member="pqxx::icursor_iterator::internal::gate::icursor_iterator_icursorstream" ref="50ae5821478a2398f50c8cf2c42a0343" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::icursor_iterator_icursorstream<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00222.html">cursor.hxx</a><li><a class="el" href="a00131.html">cursor.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00037.html">disk_full</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00037.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00037.js
--- 3.1-1.1/doc/html/Reference/a00037.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00037.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00037 =
+[
+    [ "disk_full", "a00037.html#ab76e2e34539d0dec43ab1479a4847a86", null ],
+    [ "disk_full", "a00037.html#ad5b1a57e3e37bb6df5d7605f14e4c9be", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00037.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00037.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00038.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00038.html
--- 3.1-1.1/doc/html/Reference/a00038.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00038.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,386 +1,146 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::icursorstream Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::Escaper&lt; IT &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00038.html">icursorstream</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00038.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00300.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::Escaper&lt; IT &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::icursorstream Class Reference</h1><!-- doxytag: class="pqxx::icursorstream" -->Simple read-only cursor represented as a stream of results.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00222.html">cursor.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00470.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00023.html#732bb16c01dc3266d424267252d4f1b0">cursor_base::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#6f29a9a658eeb39c09075bfc655c5d90">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
-<a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#9d23e2f3cdac465efb354e0ab689304c">icursorstream</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;context, const std::string &amp;query, const std::string &amp;basename, <a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a> sstride=1)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up a read-only, forward-only cursor.  <a href="#9d23e2f3cdac465efb354e0ab689304c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#80455b4571fe3508710f5df2d656b0c1">icursorstream</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;context, const <a class="el" href="a00081.html">result::field</a> &amp;cname, <a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a> sstride=1, <a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a> op=cursor_base::owned)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adopt existing SQL cursor. Use with care.  <a href="#80455b4571fe3508710f5df2d656b0c1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#462bf00fed476b503116f1c769deeb2f">operator bool</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00038.html">icursorstream</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#0602dd0f6ed2641bbb98ad584bcf60e7">get</a> (<a class="el" href="a00076.html">result</a> &amp;res)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read new value into given <a class="el" href="a00076.html" title="Query or command result set.">result</a> object; same as operator &gt;&gt;.  <a href="#0602dd0f6ed2641bbb98ad584bcf60e7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00038.html">icursorstream</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#7ac105c3e882661d8f1220ccf9164c27">operator&gt;&gt;</a> (<a class="el" href="a00076.html">result</a> &amp;res)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read new value into given <a class="el" href="a00076.html" title="Query or command result set.">result</a> object; same as <a class="el" href="a00038.html#0602dd0f6ed2641bbb98ad584bcf60e7" title="Read new value into given result object; same as operator &gt;&gt;.">get(result &amp;)</a>.  <a href="#7ac105c3e882661d8f1220ccf9164c27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00038.html">icursorstream</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#777b5c8fe3f9e0160cea11ba00be5a27">ignore</a> (std::streamsize n=1)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move given number of rows forward (ignoring stride) without reading data.  <a href="#777b5c8fe3f9e0160cea11ba00be5a27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#255914b05d1f935922338eeebcb10144">set_stride</a> (<a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a> stride)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change stride, i.e. the number of rows to fetch per read operation.  <a href="#255914b05d1f935922338eeebcb10144"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#89f9c7dc295e4befa9bdbd2bfedbe800">stride</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#81bc68e9ddb56368929d58e0820e72f0">internal::gate::icursorstream_icursor_iterator</a></td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00167_source.html">tablewriter.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae038cf7f50b925680be254201b2cdeaa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#ae038cf7f50b925680be254201b2cdeaa">Escaper</a> (const std::string &amp;null)</td></tr>
+<tr class="memitem:aa93a0d1009d7900066cdb3893b4a25b2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#aa93a0d1009d7900066cdb3893b4a25b2">operator()</a> (IT i) const </td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Simple read-only cursor represented as a stream of results. 
-<p>
-SQL cursors can be tricky, especially in C++ since the two languages seem to have been designed on different planets. An SQL cursor has two singular positions akin to <code>end()</code> on either side of the underlying <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.<p>
-These cultural differences are hidden from view somewhat by libpqxx, which tries to make SQL cursors behave more like familiar C++ entities such as iterators, sequences, streams, and containers.<p>
-Data is fetched from the cursor as a sequence of <a class="el" href="a00076.html" title="Query or command result set.">result</a> objects. Each of these will contain the number of rows defined as the stream's stride, except of course the last block of data which may contain fewer rows.<p>
-This class can create or adopt cursors that live outside any backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, which your backend version may not support. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="6f29a9a658eeb39c09075bfc655c5d90"></a><!-- doxytag: member="pqxx::icursorstream::size_type" ref="6f29a9a658eeb39c09075bfc655c5d90" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00023.html#732bb16c01dc3266d424267252d4f1b0">cursor_base::size_type</a> <a class="el" href="a00038.html#6f29a9a658eeb39c09075bfc655c5d90">pqxx::icursorstream::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="79c9e623be28567215d88087cd7e80d0"></a><!-- doxytag: member="pqxx::icursorstream::difference_type" ref="79c9e623be28567215d88087cd7e80d0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> <a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">pqxx::icursorstream::difference_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="9d23e2f3cdac465efb354e0ab689304c"></a><!-- doxytag: member="pqxx::icursorstream::icursorstream" ref="9d23e2f3cdac465efb354e0ab689304c" args="(transaction_base &amp;context, const std::string &amp;query, const std::string &amp;basename, difference_type sstride=1)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::icursorstream::icursorstream           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>query</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>basename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>sstride</em> = <code>1</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set up a read-only, forward-only cursor. 
-<p>
-Roughly equivalent to a C++ Standard Library istream, this cursor type supports only two operations: reading a block of rows while moving forward, and moving forward without reading any data.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Transaction context that this cursor will be active in </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>SQL query whose results this cursor shall iterate </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>basename</em>&nbsp;</td><td>Suggested name for the SQL cursor; a unique code will be appended by the library to ensure its uniqueness </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>sstride</em>&nbsp;</td><td>Number of rows to fetch per read operation; must be a positive number </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00221.html#l00377">set_stride()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="80455b4571fe3508710f5df2d656b0c1"></a><!-- doxytag: member="pqxx::icursorstream::icursorstream" ref="80455b4571fe3508710f5df2d656b0c1" args="(transaction_base &amp;context, const result::field &amp;cname, difference_type sstride=1, cursor_base::ownershippolicy op=cursor_base::owned)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae038cf7f50b925680be254201b2cdeaa"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename IT &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::icursorstream::icursorstream           </td>
+          <td class="memname"><a class="el" href="a00038.html">pqxx::internal::Escaper</a>&lt; IT &gt;::<a class="el" href="a00038.html">Escaper</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>context</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>null</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const <a class="el" href="a00081.html">result::field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>cname</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>sstride</em> = <code>1</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a>&nbsp;</td>
-          <td class="paramname"> <em>op</em> = <code>cursor_base::owned</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adopt existing SQL cursor. Use with care. 
-<p>
-Forms a cursor stream around an existing SQL cursor, as returned by e.g. a server-side function. The SQL cursor will be cleaned up by the stream's destructor as if it had been created by the stream; cleaning it up by hand or adopting the same cursor twice is an error.<p>
-Passing the name of the cursor as a string is not allowed, both to avoid confusion with the other constructor and to discourage unnecessary use of adopted cursors.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>It is technically possible to adopt a "WITH HOLD" cursor, i.e. a cursor that stays alive outside its creating <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. However, any cursor stream (including the underlying SQL cursor, naturally) must be destroyed before its <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> context object is destroyed. Therefore the only way to use SQL's WITH HOLD feature is to adopt the cursor, but defer doing so until after entering the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> context that will eventually destroy it.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>Transaction context that this cursor will be active in. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>cname</em>&nbsp;</td><td>Result field containing the name of the SQL cursor to adopt. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>sstride</em>&nbsp;</td><td>Number of rows to fetch per read operation; must be a positive number. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>op</em>&nbsp;</td><td>Ownership policy. Determines whether the cursor underlying this stream will be destroyed when the stream is closed. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00221.html#l00377">set_stride()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="462bf00fed476b503116f1c769deeb2f"></a><!-- doxytag: member="pqxx::icursorstream::operator bool" ref="462bf00fed476b503116f1c769deeb2f" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::icursorstream::operator bool           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0602dd0f6ed2641bbb98ad584bcf60e7"></a><!-- doxytag: member="pqxx::icursorstream::get" ref="0602dd0f6ed2641bbb98ad584bcf60e7" args="(result &amp;res)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00038.html">icursorstream</a>&amp; pqxx::icursorstream::get           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>res</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read new value into given <a class="el" href="a00076.html" title="Query or command result set.">result</a> object; same as operator &gt;&gt;. 
-<p>
-The <a class="el" href="a00076.html" title="Query or command result set.">result</a> set may continue any number of rows from zero to the chosen stride, inclusive. An empty <a class="el" href="a00076.html" title="Query or command result set.">result</a> will only be returned if there are no more rows to retrieve. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to this very stream, to facilitate "chained" invocations ("C.get(r1).get(r2);") </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="7ac105c3e882661d8f1220ccf9164c27"></a><!-- doxytag: member="pqxx::icursorstream::operator&gt;&gt;" ref="7ac105c3e882661d8f1220ccf9164c27" args="(result &amp;res)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00038.html">icursorstream</a>&amp; pqxx::icursorstream::operator&gt;&gt;           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>res</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read new value into given <a class="el" href="a00076.html" title="Query or command result set.">result</a> object; same as <a class="el" href="a00038.html#0602dd0f6ed2641bbb98ad584bcf60e7" title="Read new value into given result object; same as operator &gt;&gt;.">get(result &amp;)</a>. 
-<p>
-The <a class="el" href="a00076.html" title="Query or command result set.">result</a> set may continue any number of rows from zero to the chosen stride, inclusive. An empty <a class="el" href="a00076.html" title="Query or command result set.">result</a> will only be returned if there are no more rows to retrieve. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to this very stream, to facilitate "chained" invocations ("C &gt;&gt; r1 &gt;&gt; r2;") </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="777b5c8fe3f9e0160cea11ba00be5a27"></a><!-- doxytag: member="pqxx::icursorstream::ignore" ref="777b5c8fe3f9e0160cea11ba00be5a27" args="(std::streamsize n=1)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00038.html">icursorstream</a> &amp; pqxx::icursorstream::ignore           </td>
-          <td>(</td>
-          <td class="paramtype">std::streamsize&nbsp;</td>
-          <td class="paramname"> <em>n</em> = <code>1</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Move given number of rows forward (ignoring stride) without reading data. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to this very stream, to facilitate "chained" invocations ("C.ignore(2).get(r).ignore(4);") </dd></dl>
-
-<p>References <a class="el" href="a00221.html#l00251">pqxx::internal::sql_cursor::move()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="255914b05d1f935922338eeebcb10144"></a><!-- doxytag: member="pqxx::icursorstream::set_stride" ref="255914b05d1f935922338eeebcb10144" args="(difference_type stride)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::icursorstream::set_stride           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>stride</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Change stride, i.e. the number of rows to fetch per read operation. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>stride</em>&nbsp;</td><td>Must be a positive number </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00221.html#l00339">icursorstream()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="89f9c7dc295e4befa9bdbd2bfedbe800"></a><!-- doxytag: member="pqxx::icursorstream::stride" ref="89f9c7dc295e4befa9bdbd2bfedbe800" args="() const " -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="aa93a0d1009d7900066cdb3893b4a25b2"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename IT &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00038.html#79c9e623be28567215d88087cd7e80d0">difference_type</a> pqxx::icursorstream::stride           </td>
+          <td class="memname">std::string <a class="el" href="a00038.html">pqxx::internal::Escaper</a>&lt; IT &gt;::operator() </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00189.html#a4333811b8c23066e7f37b5928389c18d">pqxx::internal::EscapeAny()</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="81bc68e9ddb56368929d58e0820e72f0"></a><!-- doxytag: member="pqxx::icursorstream::internal::gate::icursorstream_icursor_iterator" ref="81bc68e9ddb56368929d58e0820e72f0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class internal::gate::icursorstream_icursor_iterator<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00222.html">cursor.hxx</a><li><a class="el" href="a00131.html">cursor.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00167_source.html">tablewriter.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00038.html">Escaper</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00038.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00038.js
--- 3.1-1.1/doc/html/Reference/a00038.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00038.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00038 =
+[
+    [ "Escaper", "a00038.html#ae038cf7f50b925680be254201b2cdeaa", null ],
+    [ "operator()", "a00038.html#aa93a0d1009d7900066cdb3893b4a25b2", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00039.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00039.html
--- 3.1-1.1/doc/html/Reference/a00039.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00039.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,86 +1,156 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::in_doubt_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::failure Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00039.html">in_doubt_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00039.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00226.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::failure Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::in_doubt_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::in_doubt_error" --><!-- doxytag: inherits="pqxx::failure" -->"Help, I don't know whether transaction was committed successfully!"  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::in_doubt_error:</div>
-<div class="dynsection">
-<p><center><img src="a00487.png" border="0" usemap="#a00488" alt="Inheritance graph"></center>
-<map name="a00488">
-<area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="35,84,133,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="5,7,163,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
-<p>
-<a href="a00489.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#378d91b2f08324db0725a7c89f6dedcf">in_doubt_error</a> (const std::string &amp;)</td></tr>
+<p>Run-time failure encountered by libpqxx, similar to std::runtime_error.  
+ <a href="a00039.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::failure:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00039.png" usemap="#pqxx::failure_map" alt=""/>
+  <map id="pqxx::failure_map" name="pqxx::failure_map">
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="214,0,418,24"/>
+<area href="a00014.html" title="Exception class for lost or failed backend connection." alt="pqxx::broken_connection" shape="rect" coords="0,112,204,136"/>
+<area href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;" alt="pqxx::in_doubt_error" shape="rect" coords="214,112,418,136"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="428,112,632,136"/>
+<area href="a00105.html" alt="pqxx::too_many_connections" shape="rect" coords="0,168,204,192"/>
+<area href="a00031.html" title="Error in data provided to SQL statement." alt="pqxx::data_exception" shape="rect" coords="642,168,846,192"/>
+<area href="a00040.html" title="Database feature not supported in current setup." alt="pqxx::feature_not_supported" shape="rect" coords="642,224,846,248"/>
+<area href="a00048.html" alt="pqxx::insufficient_privilege" shape="rect" coords="642,280,846,304"/>
+<area href="a00049.html" title="Resource shortage on the server." alt="pqxx::insufficient_resources" shape="rect" coords="642,336,846,360"/>
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="642,392,846,416"/>
+<area href="a00052.html" alt="pqxx::invalid_cursor_name" shape="rect" coords="642,448,846,472"/>
+<area href="a00053.html" alt="pqxx::invalid_cursor_state" shape="rect" coords="642,504,846,528"/>
+<area href="a00054.html" alt="pqxx::invalid_sql_statement_name" shape="rect" coords="642,560,846,584"/>
+<area href="a00072.html" title="PL/pgSQL error." alt="pqxx::plpgsql_error" shape="rect" coords="642,616,846,640"/>
+<area href="a00100.html" alt="pqxx::syntax_error" shape="rect" coords="642,672,846,696"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-"Help, I don't know whether transaction was committed successfully!" 
-<p>
-Exception that might be thrown in rare cases where the connection to the database is lost while finishing a database <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, and there's no way of telling whether it was actually executed by the backend. In this case the database is left in an indeterminate (but consistent) state, and only manual inspection will tell which is the case. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="378d91b2f08324db0725a7c89f6dedcf"></a><!-- doxytag: member="pqxx::in_doubt_error::in_doubt_error" ref="378d91b2f08324db0725a7c89f6dedcf" args="(const std::string &amp;)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Run-time failure encountered by libpqxx, similar to std::runtime_error. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a0e7e8831fed026375c499ee03f501f50"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::in_doubt_error::in_doubt_error           </td>
+          <td class="memname">pqxx::failure::failure </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00039.html">failure</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00039.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00039.js
--- 3.1-1.1/doc/html/Reference/a00039.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00039.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00039 =
+[
+    [ "failure", "a00039.html#a0e7e8831fed026375c499ee03f501f50", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00039.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00039.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00040.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00040.html
--- 3.1-1.1/doc/html/Reference/a00040.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00040.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,179 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::insufficient_privilege Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::feature_not_supported Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00040.html">insufficient_privilege</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00040.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00235.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::feature_not_supported Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::insufficient_privilege Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::insufficient_privilege" --><!-- doxytag: inherits="pqxx::sql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::insufficient_privilege:</div>
-<div class="dynsection">
-<p><center><img src="a00550.png" border="0" usemap="#a00551" alt="Inheritance graph"></center>
-<map name="a00551">
-<area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="41,161,156,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="49,84,148,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="20,7,177,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
-<p>
-<a href="a00552.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#5cce5dbd2519b461a7c8064528999097">insufficient_privilege</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#288de88661b6c5094151d90975bb0531">insufficient_privilege</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Database feature not supported in current setup.  
+ <a href="a00040.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::feature_not_supported:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00040.png" usemap="#pqxx::feature_not_supported_map" alt=""/>
+  <map id="pqxx::feature_not_supported_map" name="pqxx::feature_not_supported_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,170,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,170,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,170,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a499c62eac013b090a96ea3b402f48f0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a499c62eac013b090a96ea3b402f48f0c">feature_not_supported</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a72654b9a8eff8c728eae1d5fae9a0890"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#a72654b9a8eff8c728eae1d5fae9a0890">feature_not_supported</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="5cce5dbd2519b461a7c8064528999097"></a><!-- doxytag: member="pqxx::insufficient_privilege::insufficient_privilege" ref="5cce5dbd2519b461a7c8064528999097" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Database feature not supported in current setup. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a499c62eac013b090a96ea3b402f48f0c"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::insufficient_privilege::insufficient_privilege           </td>
+          <td class="memname">pqxx::feature_not_supported::feature_not_supported </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="288de88661b6c5094151d90975bb0531"></a><!-- doxytag: member="pqxx::insufficient_privilege::insufficient_privilege" ref="288de88661b6c5094151d90975bb0531" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a72654b9a8eff8c728eae1d5fae9a0890"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::insufficient_privilege::insufficient_privilege           </td>
+          <td class="memname">pqxx::feature_not_supported::feature_not_supported </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00040.html">feature_not_supported</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00040.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00040.js
--- 3.1-1.1/doc/html/Reference/a00040.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00040.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00040 =
+[
+    [ "feature_not_supported", "a00040.html#a499c62eac013b090a96ea3b402f48f0c", null ],
+    [ "feature_not_supported", "a00040.html#a72654b9a8eff8c728eae1d5fae9a0890", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00040.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00040.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00041.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00041.html
--- 3.1-1.1/doc/html/Reference/a00041.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00041.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,115 +1,601 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::insufficient_resources Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result::field Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00041.html">insufficient_resources</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00041.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="a00274.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result::field Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::insufficient_resources Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::insufficient_resources" --><!-- doxytag: inherits="pqxx::sql_error" -->Resource shortage on the server.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p>Reference to a field in a result set.  
+ <a href="a00041.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::insufficient_resources:</div>
-<div class="dynsection">
-<p><center><img src="a00553.png" border="0" usemap="#a00554" alt="Inheritance graph"></center>
-<map name="a00554">
-<area shape="rect" href="a00030.html" title="pqxx::disk_full" alt="" coords="5,316,115,342"><area shape="rect" href="a00060.html" title="pqxx::out_of_memory" alt="" coords="139,316,299,342"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="81,161,196,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="89,84,188,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="60,6,217,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00555.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#b9c012d8591a9699677c8e3d2bfdf02a">insufficient_resources</a> (const std::string &amp;err)</td></tr>
+Inheritance diagram for pqxx::result::field:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00041.png" usemap="#pqxx::result::field_map" alt=""/>
+  <map id="pqxx::result::field_map" name="pqxx::result::field_map">
+<area href="a00025.html" alt="pqxx::result::const_fielditerator" shape="rect" coords="0,56,232,80"/>
+<area href="a00027.html" alt="pqxx::result::const_reverse_fielditerator" shape="rect" coords="0,112,232,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a0ab6de6dd220f68122b41c71758ebe09"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a0ab6de6dd220f68122b41c71758ebe09">size_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a401e3e92abfa6bff1279037cb9fed43a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a401e3e92abfa6bff1279037cb9fed43a">field</a> (const <a class="el" href="a00110.html">tuple</a> &amp;T, <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> C)  throw ()</td></tr>
+<tr class="memdesc:a401e3e92abfa6bff1279037cb9fed43a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a401e3e92abfa6bff1279037cb9fed43a"></a><br/></td></tr>
+<tr class="memitem:ae9c125fc1dd8a1de2c8a519079cae211"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:ae9c125fc1dd8a1de2c8a519079cae211"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#ae9c125fc1dd8a1de2c8a519079cae211">to</a> (const char *&amp;Obj) const </td></tr>
+<tr class="memdesc:ae9c125fc1dd8a1de2c8a519079cae211"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization: <code>to(const char *&amp;)</code>.  <a href="#ae9c125fc1dd8a1de2c8a519079cae211"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparison</div></td></tr>
+<tr class="memitem:aa7adcdf554e68ecea7b4e502c4952a03"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#aa7adcdf554e68ecea7b4e502c4952a03">operator==</a> (const <a class="el" href="a00041.html">field</a> &amp;) const </td></tr>
+<tr class="memdesc:aa7adcdf554e68ecea7b4e502c4952a03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte-by-byte comparison of two fields (all nulls are considered equal)  <a href="#aa7adcdf554e68ecea7b4e502c4952a03"></a><br/></td></tr>
+<tr class="memitem:a203d1875ccf5d841e3b41f8ae12ec1c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a203d1875ccf5d841e3b41f8ae12ec1c3">operator!=</a> (const <a class="el" href="a00041.html">field</a> &amp;rhs) const </td></tr>
+<tr class="memdesc:a203d1875ccf5d841e3b41f8ae12ec1c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte-by-byte comparison (all nulls are considered equal)  <a href="#a203d1875ccf5d841e3b41f8ae12ec1c3"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Column information</div></td></tr>
+<tr class="memitem:acd43a9ead6e74a68fb816f0bb5ce8385"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#acd43a9ead6e74a68fb816f0bb5ce8385">name</a> () const </td></tr>
+<tr class="memdesc:acd43a9ead6e74a68fb816f0bb5ce8385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column name.  <a href="#acd43a9ead6e74a68fb816f0bb5ce8385"></a><br/></td></tr>
+<tr class="memitem:abb87d607c6f7094dd22a2c48a620f4c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#abb87d607c6f7094dd22a2c48a620f4c0">type</a> () const </td></tr>
+<tr class="memdesc:abb87d607c6f7094dd22a2c48a620f4c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Column type.  <a href="#abb87d607c6f7094dd22a2c48a620f4c0"></a><br/></td></tr>
+<tr class="memitem:aa7e23b2225e1f7e49ab71aa4cee62aab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#aa7e23b2225e1f7e49ab71aa4cee62aab">table</a> () const </td></tr>
+<tr class="memdesc:aa7e23b2225e1f7e49ab71aa4cee62aab"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#aa7e23b2225e1f7e49ab71aa4cee62aab"></a><br/></td></tr>
+<tr class="memitem:a67b0e518d0e5aabd78e14487c4edfd5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a67b0e518d0e5aabd78e14487c4edfd5a">num</a> () const </td></tr>
+<tr class="memitem:a989bfa84c3b053422a01e8d4fd3c7461"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a989bfa84c3b053422a01e8d4fd3c7461">table_column</a> () const </td></tr>
+<tr class="memdesc:a989bfa84c3b053422a01e8d4fd3c7461"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its originating table did this column come from?  <a href="#a989bfa84c3b053422a01e8d4fd3c7461"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Content access</div></td></tr>
+<tr class="memitem:a8123fd1430eb4cfaa1f5095b44ceae86"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a8123fd1430eb4cfaa1f5095b44ceae86">c_str</a> () const </td></tr>
+<tr class="memdesc:a8123fd1430eb4cfaa1f5095b44ceae86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read as plain C string.  <a href="#a8123fd1430eb4cfaa1f5095b44ceae86"></a><br/></td></tr>
+<tr class="memitem:add3416dcfda5f03ccb20e79adbedff4e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:add3416dcfda5f03ccb20e79adbedff4e"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#add3416dcfda5f03ccb20e79adbedff4e">to</a> (T &amp;Obj) const </td></tr>
+<tr class="memdesc:add3416dcfda5f03ccb20e79adbedff4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read value into Obj; or leave Obj untouched and return <code>false</code> if null.  <a href="#add3416dcfda5f03ccb20e79adbedff4e"></a><br/></td></tr>
+<tr class="memitem:a65b971460e3177fca71a32865dcd2c72"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a65b971460e3177fca71a32865dcd2c72"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a65b971460e3177fca71a32865dcd2c72">operator&gt;&gt;</a> (T &amp;Obj) const </td></tr>
+<tr class="memdesc:a65b971460e3177fca71a32865dcd2c72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read value into Obj; or leave Obj untouched and return <code>false</code> if null.  <a href="#a65b971460e3177fca71a32865dcd2c72"></a><br/></td></tr>
+<tr class="memitem:a708c83bffcf67de435857869087a9d48"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a708c83bffcf67de435857869087a9d48"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a708c83bffcf67de435857869087a9d48">to</a> (T &amp;Obj, const T &amp;Default) const </td></tr>
+<tr class="memdesc:a708c83bffcf67de435857869087a9d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read value into Obj; or use Default &amp; return <code>false</code> if null.  <a href="#a708c83bffcf67de435857869087a9d48"></a><br/></td></tr>
+<tr class="memitem:a79e4cf8ac1f351e1d61183ba1829537d"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a79e4cf8ac1f351e1d61183ba1829537d"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a79e4cf8ac1f351e1d61183ba1829537d">as</a> (const T &amp;Default) const </td></tr>
+<tr class="memdesc:a79e4cf8ac1f351e1d61183ba1829537d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return value as object of given type, or Default if null.  <a href="#a79e4cf8ac1f351e1d61183ba1829537d"></a><br/></td></tr>
+<tr class="memitem:a08b6151cf5a97625c9cb50a84e3737b0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a08b6151cf5a97625c9cb50a84e3737b0"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00041.html#a08b6151cf5a97625c9cb50a84e3737b0">as</a> () const </td></tr>
+<tr class="memdesc:a08b6151cf5a97625c9cb50a84e3737b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return value as object of given type, or throw exception if null.  <a href="#a08b6151cf5a97625c9cb50a84e3737b0"></a><br/></td></tr>
+<tr class="memitem:af22093669fdc6efa525f3935770bdea1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#af22093669fdc6efa525f3935770bdea1">is_null</a> () const </td></tr>
+<tr class="memitem:aa9c27a211efe8ddbf0bc81c0c1ec8b60"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00041.html#a0ab6de6dd220f68122b41c71758ebe09">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#aa9c27a211efe8ddbf0bc81c0c1ec8b60">size</a> () const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a7f88d75fd03f8052243dbe1051b91864"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#a7f88d75fd03f8052243dbe1051b91864">col</a> () const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:acc7ac2f9767f0f5ca87ecefaf21e37e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#acc7ac2f9767f0f5ca87ecefaf21e37e8">m_tup</a></td></tr>
+<tr class="memitem:adfa23ee248042a7a0cde53b3737387cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#adfa23ee248042a7a0cde53b3737387cf">m_col</a></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Reference to a field in a result set. </p>
+<p>A field represents one entry in a tuple. It represents an actual value in the result set, and can be converted to various types. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a0ab6de6dd220f68122b41c71758ebe09"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef size_t <a class="el" href="a00041.html#a0ab6de6dd220f68122b41c71758ebe09">pqxx::result::field::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a401e3e92abfa6bff1279037cb9fed43a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::field::field </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html">tuple</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td>
+          <td class="paramname"><em>C</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Constructor. </p>
+<p>Create field as reference to a field in a result set. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Tuple that this field is part of. </td></tr>
+    <tr><td class="paramname">C</td><td>Column number of this field. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a79e4cf8ac1f351e1d61183ba1829537d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">T pqxx::result::field::as </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>Default</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Return value as object of given type, or Default if null. </p>
+<p>Note that unless the function is instantiated with an explicit template argument, the Default value's type also determines the result type. </p>
+
+</div>
+</div>
+<a class="anchor" id="a08b6151cf5a97625c9cb50a84e3737b0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">T pqxx::result::field::as </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Return value as object of given type, or throw exception if null. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8123fd1430eb4cfaa1f5095b44ceae86"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pqxx::result::field::c_str </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read as plain C string. </p>
+<p>Since the field's data is stored internally in the form of a zero-terminated C string, this is the fastest way to read it. Use the <a class="el" href="a00041.html#add3416dcfda5f03ccb20e79adbedff4e" title="Read value into Obj; or leave Obj untouched and return false if null.">to()</a> or <a class="el" href="a00041.html#a79e4cf8ac1f351e1d61183ba1829537d" title="Return value as object of given type, or Default if null.">as()</a> functions to convert the string to other types such as <code>int</code>, or to C++ strings. </p>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html#f88552eb661d1bc459308d2ff8576840">insufficient_resources</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Referenced by <a class="el" href="a00013.html#a3fa7ac041cdab7f6d207d429d4620132">pqxx::binarystring::binarystring()</a>, <a class="el" href="a00174.html#a51b79d3de677d63ecc25c1d8ab152890">pqxx::from_string()</a>, <a class="el" href="a00041.html#aa7adcdf554e68ecea7b4e502c4952a03">operator==()</a>, and <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
 
+</div>
+</div>
+<a class="anchor" id="a7f88d75fd03f8052243dbe1051b91864"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::col </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Resource shortage on the server. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="b9c012d8591a9699677c8e3d2bfdf02a"></a><!-- doxytag: member="pqxx::insufficient_resources::insufficient_resources" ref="b9c012d8591a9699677c8e3d2bfdf02a" args="(const std::string &amp;err)" -->
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af22093669fdc6efa525f3935770bdea1"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::insufficient_resources::insufficient_resources           </td>
+          <td class="memname">bool pqxx::result::field::is_null </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00041.html#aa7adcdf554e68ecea7b4e502c4952a03">operator==()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="acd43a9ead6e74a68fb816f0bb5ce8385"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* pqxx::result::field::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Column name. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="f88552eb661d1bc459308d2ff8576840"></a><!-- doxytag: member="pqxx::insufficient_resources::insufficient_resources" ref="f88552eb661d1bc459308d2ff8576840" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a67b0e518d0e5aabd78e14487c4edfd5a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::insufficient_resources::insufficient_resources           </td>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::num </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00026.html#ac4d7e6a31016fa6ef151ed733f3981bf">pqxx::result::const_iterator::operator-()</a>, and <a class="el" href="a00025.html#a5e304e228897af96ffdc3029eb0e5170">pqxx::result::const_fielditerator::operator-()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a203d1875ccf5d841e3b41f8ae12ec1c3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::field::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00041.html">field</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Byte-by-byte comparison (all nulls are considered equal) </p>
+<dl class="section warning"><dt>Warning</dt><dd>See <a class="el" href="a00041.html#aa7adcdf554e68ecea7b4e502c4952a03" title="Byte-by-byte comparison of two fields (all nulls are considered equal)">operator==()</a> for important information about this operator </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa7adcdf554e68ecea7b4e502c4952a03"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::field::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00041.html">field</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Byte-by-byte comparison of two fields (all nulls are considered equal) </p>
+<dl class="section warning"><dt>Warning</dt><dd>null handling is still open to discussion and change!</dd></dl>
+<p>Handling of null values differs from that in SQL where a comparison involving a null value yields null, so nulls are never considered equal to one another or even to themselves.</p>
+<p>Null handling also probably differs from the closest equivalent in C++, which is the NaN (Not-a-Number) value, a singularity comparable to SQL's null. This is because the builtin == operator demands that a == a.</p>
+<p>The usefulness of this operator is questionable. No interpretation whatsoever is imposed on the data; 0 and 0.0 are considered different, as are null vs. the empty string, or even different (but possibly equivalent and equally valid) encodings of the same Unicode character etc. </p>
+
+<p>References <a class="el" href="a00041.html#a8123fd1430eb4cfaa1f5095b44ceae86">c_str()</a>, <a class="el" href="a00041.html#af22093669fdc6efa525f3935770bdea1">is_null()</a>, and <a class="el" href="a00041.html#aa9c27a211efe8ddbf0bc81c0c1ec8b60">size()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a65b971460e3177fca71a32865dcd2c72"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::field::operator&gt;&gt; </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read value into Obj; or leave Obj untouched and return <code>false</code> if null. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa9c27a211efe8ddbf0bc81c0c1ec8b60"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00041.html#a0ab6de6dd220f68122b41c71758ebe09">size_type</a> pqxx::result::field::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00013.html#a3fa7ac041cdab7f6d207d429d4620132">pqxx::binarystring::binarystring()</a>, <a class="el" href="a00174.html#a51b79d3de677d63ecc25c1d8ab152890">pqxx::from_string()</a>, <a class="el" href="a00041.html#aa7adcdf554e68ecea7b4e502c4952a03">operator==()</a>, and <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa7e23b2225e1f7e49ab71aa4cee62aab"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::field::table </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+</div>
+</div>
+<a class="anchor" id="a989bfa84c3b053422a01e8d4fd3c7461"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::table_column </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column number in its originating table did this column come from? </p>
+
+</div>
+</div>
+<a class="anchor" id="add3416dcfda5f03ccb20e79adbedff4e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::field::to </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read value into Obj; or leave Obj untouched and return <code>false</code> if null. </p>
+
+<p>References <a class="el" href="a00174.html#a51b79d3de677d63ecc25c1d8ab152890">pqxx::from_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a708c83bffcf67de435857869087a9d48"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::field::to </td>
+          <td>(</td>
+          <td class="paramtype">T &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>Default</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read value into Obj; or use Default &amp; return <code>false</code> if null. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae9c125fc1dd8a1de2c8a519079cae211"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::field::to </td>
+          <td>(</td>
+          <td class="paramtype">const char *&amp;&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Specialization: <code>to(const char *&amp;)</code>. </p>
+<p>The buffer has the same lifetime as the data in this result (i.e. of this result object, or the last remaining one copied from it etc.), so take care not to use it after the last result object referring to this query result is destroyed. </p>
+
+</div>
+</div>
+<a class="anchor" id="abb87d607c6f7094dd22a2c48a620f4c0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::field::type </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Column type. </p>
+
 </div>
-<div class="memdoc">
+</div>
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="adfa23ee248042a7a0cde53b3737387cf"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::m_col</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="acc7ac2f9767f0f5ca87ecefaf21e37e8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html">tuple</a> pqxx::result::field::m_tup</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li><li class="navelem"><a class="el" href="a00041.html">field</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00041.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00041.js
--- 3.1-1.1/doc/html/Reference/a00041.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00041.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,24 @@
+var a00041 =
+[
+    [ "size_type", "a00041.html#a0ab6de6dd220f68122b41c71758ebe09", null ],
+    [ "field", "a00041.html#a401e3e92abfa6bff1279037cb9fed43a", null ],
+    [ "as", "a00041.html#a79e4cf8ac1f351e1d61183ba1829537d", null ],
+    [ "as", "a00041.html#a08b6151cf5a97625c9cb50a84e3737b0", null ],
+    [ "c_str", "a00041.html#a8123fd1430eb4cfaa1f5095b44ceae86", null ],
+    [ "col", "a00041.html#a7f88d75fd03f8052243dbe1051b91864", null ],
+    [ "is_null", "a00041.html#af22093669fdc6efa525f3935770bdea1", null ],
+    [ "name", "a00041.html#acd43a9ead6e74a68fb816f0bb5ce8385", null ],
+    [ "num", "a00041.html#a67b0e518d0e5aabd78e14487c4edfd5a", null ],
+    [ "operator!=", "a00041.html#a203d1875ccf5d841e3b41f8ae12ec1c3", null ],
+    [ "operator==", "a00041.html#aa7adcdf554e68ecea7b4e502c4952a03", null ],
+    [ "operator>>", "a00041.html#a65b971460e3177fca71a32865dcd2c72", null ],
+    [ "size", "a00041.html#aa9c27a211efe8ddbf0bc81c0c1ec8b60", null ],
+    [ "table", "a00041.html#aa7e23b2225e1f7e49ab71aa4cee62aab", null ],
+    [ "table_column", "a00041.html#a989bfa84c3b053422a01e8d4fd3c7461", null ],
+    [ "to", "a00041.html#add3416dcfda5f03ccb20e79adbedff4e", null ],
+    [ "to", "a00041.html#a708c83bffcf67de435857869087a9d48", null ],
+    [ "to", "a00041.html#ae9c125fc1dd8a1de2c8a519079cae211", null ],
+    [ "type", "a00041.html#abb87d607c6f7094dd22a2c48a620f4c0", null ],
+    [ "m_col", "a00041.html#adfa23ee248042a7a0cde53b3737387cf", null ],
+    [ "m_tup", "a00041.html#acc7ac2f9767f0f5ca87ecefaf21e37e8", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00041.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00041.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00042.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00042.html
--- 3.1-1.1/doc/html/Reference/a00042.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00042.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,398 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::integrity_constraint_violation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::field_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00042.html">integrity_constraint_violation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00042.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00276.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::field_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::integrity_constraint_violation Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::integrity_constraint_violation" --><!-- doxytag: inherits="pqxx::sql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::integrity_constraint_violation:</div>
-<div class="dynsection">
-<p><center><img src="a00511.png" border="0" usemap="#a00512" alt="Inheritance graph"></center>
-<map name="a00512">
-<area shape="rect" href="a00015.html" title="pqxx::check_violation" alt="" coords="835,5,989,32"><area shape="rect" href="a00035.html" title="pqxx::foreign_key_violation" alt="" coords="816,56,1008,83"><area shape="rect" href="a00056.html" title="pqxx::not_null_violation" alt="" coords="828,107,996,133"><area shape="rect" href="a00075.html" title="pqxx::restrict_violation" alt="" coords="831,157,993,184"><area shape="rect" href="a00112.html" title="pqxx::unique_violation" alt="" coords="831,208,993,235"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="361,107,476,133"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="213,107,312,133"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="7,107,164,133"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
-<p>
-<a href="a00513.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab1b72785be292cde0fa9ac2cf2b3f6a4"><td class="memItemLeft" align="right" valign="top">typedef CHAR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#ab1b72785be292cde0fa9ac2cf2b3f6a4">char_type</a></td></tr>
+<tr class="memitem:a434a97e522097934a05be09ddddcf86a"><td class="memItemLeft" align="right" valign="top">typedef TRAITS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a434a97e522097934a05be09ddddcf86a">traits_type</a></td></tr>
+<tr class="memitem:a55e0069841487074956aa376a6e1d72c"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a></td></tr>
+<tr class="memitem:a594d90685e6d986b1f2200792bd74b03"><td class="memItemLeft" align="right" valign="top">typedef streamoff&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a594d90685e6d986b1f2200792bd74b03">off_type</a></td></tr>
+<tr class="memitem:a40a3219faec0d4870a24060bf66c1673"><td class="memItemLeft" align="right" valign="top">typedef streampos&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a></td></tr>
+<tr class="memitem:a292655415eeb298c9b09ccb6ed8de959"><td class="memItemLeft" align="right" valign="top">typedef std::ios::openmode&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a292655415eeb298c9b09ccb6ed8de959">openmode</a></td></tr>
+<tr class="memitem:a4c3e5f527f44cdcd210968493bd0ea0a"><td class="memItemLeft" align="right" valign="top">typedef std::ios::seekdir&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a4c3e5f527f44cdcd210968493bd0ea0a">seekdir</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad66342592807bc4614e0ac87ccd06266"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#ad66342592807bc4614e0ac87ccd06266">field_streambuf</a> (const <a class="el" href="a00041.html">result::field</a> &amp;F)</td></tr>
+<tr class="memitem:ae94ab8fb0c94bf4b100f85f80ff8a2b4"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#ae94ab8fb0c94bf4b100f85f80ff8a2b4">sync</a> ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a11be4abe1a7a982fa05d2ca80630c62c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a11be4abe1a7a982fa05d2ca80630c62c">seekoff</a> (<a class="el" href="a00042.html#a594d90685e6d986b1f2200792bd74b03">off_type</a>, <a class="el" href="a00042.html#a4c3e5f527f44cdcd210968493bd0ea0a">seekdir</a>, <a class="el" href="a00042.html#a292655415eeb298c9b09ccb6ed8de959">openmode</a>)</td></tr>
+<tr class="memitem:a8c7796f89ed8ea72203359ef1aeaa042"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a8c7796f89ed8ea72203359ef1aeaa042">seekpos</a> (<a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a>, <a class="el" href="a00042.html#a292655415eeb298c9b09ccb6ed8de959">openmode</a>)</td></tr>
+<tr class="memitem:aa10890370d62085bde7c01e4e7ddcd92"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#aa10890370d62085bde7c01e4e7ddcd92">overflow</a> (<a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a>)</td></tr>
+<tr class="memitem:ac96fb117de93933fd4dd667cbe88a0b6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#ac96fb117de93933fd4dd667cbe88a0b6">underflow</a> ()</td></tr>
+</table>
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ab1b72785be292cde0fa9ac2cf2b3f6a4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef CHAR <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#ab1b72785be292cde0fa9ac2cf2b3f6a4">char_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a55e0069841487074956aa376a6e1d72c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::int_type <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a594d90685e6d986b1f2200792bd74b03"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef streamoff <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#a594d90685e6d986b1f2200792bd74b03">off_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="9fa871a08c23b2722a42fa545cecd2ab"></a><!-- doxytag: member="pqxx::integrity_constraint_violation::integrity_constraint_violation" ref="9fa871a08c23b2722a42fa545cecd2ab" args="(const std::string &amp;err)" -->
+</div>
+</div>
+<a class="anchor" id="a292655415eeb298c9b09ccb6ed8de959"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::ios::openmode <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#a292655415eeb298c9b09ccb6ed8de959">openmode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a40a3219faec0d4870a24060bf66c1673"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef streampos <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4c3e5f527f44cdcd210968493bd0ea0a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::ios::seekdir <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#a4c3e5f527f44cdcd210968493bd0ea0a">seekdir</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a434a97e522097934a05be09ddddcf86a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TRAITS <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html#a434a97e522097934a05be09ddddcf86a">traits_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad66342592807bc4614e0ac87ccd06266"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::integrity_constraint_violation::integrity_constraint_violation           </td>
+          <td class="memname"><a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00042.html">field_streambuf</a> </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const <a class="el" href="a00041.html">result::field</a> &amp;&#160;</td>
+          <td class="paramname"><em>F</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="aa10890370d62085bde7c01e4e7ddcd92"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a> <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::overflow </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a>&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a11be4abe1a7a982fa05d2ca80630c62c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a> <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::seekoff </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00042.html#a594d90685e6d986b1f2200792bd74b03">off_type</a>&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00042.html#a4c3e5f527f44cdcd210968493bd0ea0a">seekdir</a>&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00042.html#a292655415eeb298c9b09ccb6ed8de959">openmode</a>&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="505ae8d71add1a4c19e69f5cf96cea9d"></a><!-- doxytag: member="pqxx::integrity_constraint_violation::integrity_constraint_violation" ref="505ae8d71add1a4c19e69f5cf96cea9d" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a8c7796f89ed8ea72203359ef1aeaa042"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::integrity_constraint_violation::integrity_constraint_violation           </td>
+          <td class="memname">virtual <a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a> <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::seekpos </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype"><a class="el" href="a00042.html#a40a3219faec0d4870a24060bf66c1673">pos_type</a>&#160;</td>
+          <td class="paramname">, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00042.html#a292655415eeb298c9b09ccb6ed8de959">openmode</a>&#160;</td>
+          <td class="paramname">&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ae94ab8fb0c94bf4b100f85f80ff8a2b4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::sync </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ac96fb117de93933fd4dd667cbe88a0b6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00042.html#a55e0069841487074956aa376a6e1d72c">int_type</a> <a class="el" href="a00042.html">pqxx::field_streambuf</a>&lt; CHAR, TRAITS &gt;::underflow </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00042.html">field_streambuf</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00042.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00042.js
--- 3.1-1.1/doc/html/Reference/a00042.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00042.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,16 @@
+var a00042 =
+[
+    [ "char_type", "a00042.html#ab1b72785be292cde0fa9ac2cf2b3f6a4", null ],
+    [ "int_type", "a00042.html#a55e0069841487074956aa376a6e1d72c", null ],
+    [ "off_type", "a00042.html#a594d90685e6d986b1f2200792bd74b03", null ],
+    [ "openmode", "a00042.html#a292655415eeb298c9b09ccb6ed8de959", null ],
+    [ "pos_type", "a00042.html#a40a3219faec0d4870a24060bf66c1673", null ],
+    [ "seekdir", "a00042.html#a4c3e5f527f44cdcd210968493bd0ea0a", null ],
+    [ "traits_type", "a00042.html#a434a97e522097934a05be09ddddcf86a", null ],
+    [ "field_streambuf", "a00042.html#ad66342592807bc4614e0ac87ccd06266", null ],
+    [ "overflow", "a00042.html#aa10890370d62085bde7c01e4e7ddcd92", null ],
+    [ "seekoff", "a00042.html#a11be4abe1a7a982fa05d2ca80630c62c", null ],
+    [ "seekpos", "a00042.html#a8c7796f89ed8ea72203359ef1aeaa042", null ],
+    [ "sync", "a00042.html#ae94ab8fb0c94bf4b100f85f80ff8a2b4", null ],
+    [ "underflow", "a00042.html#ac96fb117de93933fd4dd667cbe88a0b6", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00043.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00043.html
--- 3.1-1.1/doc/html/Reference/a00043.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00043.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,84 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::foreign_key_violation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00043.html">internal_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00043.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00240.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::foreign_key_violation Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::internal_error" --><!-- doxytag: inherits="pqxx::pqxx_exception" -->Internal error in libpqxx library.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::internal_error:</div>
-<div class="dynsection">
-<p><center><img src="a00490.png" border="0" usemap="#a00491" alt="Inheritance graph"></center>
-<map name="a00491">
-<area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="5,6,163,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00492.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html#4514fd8ae629c3e2524b1a8257abeb29">internal_error</a> (const std::string &amp;)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::foreign_key_violation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00043.png" usemap="#pqxx::foreign_key_violation_map" alt=""/>
+  <map id="pqxx::foreign_key_violation_map" name="pqxx::foreign_key_violation_map">
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="0,168,204,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,204,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,204,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,204,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6e1d093886e976b8e028d94daba4c16e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html#a6e1d093886e976b8e028d94daba4c16e">foreign_key_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a63de30ac68704846bbe21c078d23be53"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html#a63de30ac68704846bbe21c078d23be53">foreign_key_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00050"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00050')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00050.html">pqxx::integrity_constraint_violation</a></td></tr>
+<tr class="memitem:a9fa871a08c23b2722a42fa545cecd2ab inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a505ae8d71add1a4c19e69f5cf96cea9d inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Internal error in libpqxx library. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="4514fd8ae629c3e2524b1a8257abeb29"></a><!-- doxytag: member="pqxx::internal_error::internal_error" ref="4514fd8ae629c3e2524b1a8257abeb29" args="(const std::string &amp;)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6e1d093886e976b8e028d94daba4c16e"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal_error::internal_error           </td>
+          <td class="memname">pqxx::foreign_key_violation::foreign_key_violation </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a63de30ac68704846bbe21c078d23be53"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::foreign_key_violation::foreign_key_violation </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00043.html">foreign_key_violation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00043.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00043.js
--- 3.1-1.1/doc/html/Reference/a00043.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00043.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00043 =
+[
+    [ "foreign_key_violation", "a00043.html#a6e1d093886e976b8e028d94daba4c16e", null ],
+    [ "foreign_key_violation", "a00043.html#a63de30ac68704846bbe21c078d23be53", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00043.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00043.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00044.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00044.html
--- 3.1-1.1/doc/html/Reference/a00044.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00044.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,111 +1,122 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::invalid_cursor_name Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::prepare::internal::get_sqltype Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00044.html">invalid_cursor_name</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00044.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00314.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::prepare::internal::get_sqltype Struct Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::invalid_cursor_name Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::invalid_cursor_name" --><!-- doxytag: inherits="pqxx::sql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::invalid_cursor_name:</div>
-<div class="dynsection">
-<p><center><img src="a00535.png" border="0" usemap="#a00536" alt="Inheritance graph"></center>
-<map name="a00536">
-<area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="43,161,157,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="51,84,149,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="21,7,179,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
-<p>
-<a href="a00537.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#aa48cdbce346a4c8e593a3dbe8d06fcd">invalid_cursor_name</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#a73214eba77d9c6cd048ea04f3f20c28">invalid_cursor_name</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Utility functor: get prepared-statement parameter's SQL type string.  
+ <a href="a00044.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00152_source.html">prepared_statement.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acad22f00993bc1d160276a9d732ecd2b"><td class="memTemplParams" colspan="2">template&lt;typename IT &gt; </td></tr>
+<tr class="memitem:acad22f00993bc1d160276a9d732ecd2b"><td class="memTemplItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00044.html#acad22f00993bc1d160276a9d732ecd2b">operator()</a> (IT i)</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="aa48cdbce346a4c8e593a3dbe8d06fcd"></a><!-- doxytag: member="pqxx::invalid_cursor_name::invalid_cursor_name" ref="aa48cdbce346a4c8e593a3dbe8d06fcd" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Utility functor: get prepared-statement parameter's SQL type string. </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="acad22f00993bc1d160276a9d732ecd2b"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename IT &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::invalid_cursor_name::invalid_cursor_name           </td>
+          <td class="memname">const std::string&amp; pqxx::prepare::internal::get_sqltype::operator() </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a73214eba77d9c6cd048ea04f3f20c28"></a><!-- doxytag: member="pqxx::invalid_cursor_name::invalid_cursor_name" ref="a73214eba77d9c6cd048ea04f3f20c28" args="(const std::string &amp;err, const std::string &amp;Q)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::invalid_cursor_name::invalid_cursor_name           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00152_source.html">prepared_statement.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00192.html">prepare</a></li><li class="navelem"><a class="el" href="a00193.html">internal</a></li><li class="navelem"><a class="el" href="a00044.html">get_sqltype</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00044.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00044.js
--- 3.1-1.1/doc/html/Reference/a00044.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00044.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00044 =
+[
+    [ "operator()", "a00044.html#acad22f00993bc1d160276a9d732ecd2b", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00045.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00045.html
--- 3.1-1.1/doc/html/Reference/a00045.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00045.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,458 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::invalid_cursor_state Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::icursor_iterator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00045.html">invalid_cursor_state</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00045.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00223.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::icursor_iterator Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::invalid_cursor_state Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::invalid_cursor_state" --><!-- doxytag: inherits="pqxx::sql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::invalid_cursor_state:</div>
-<div class="dynsection">
-<p><center><img src="a00529.png" border="0" usemap="#a00530" alt="Inheritance graph"></center>
-<map name="a00530">
-<area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="41,161,156,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="49,84,148,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="20,7,177,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00531.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#39081c92939fa3cca69441719eae3415">invalid_cursor_state</a> (const std::string &amp;err)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#98b63bef3455bdde8a791fbb49ca97f0">invalid_cursor_state</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Approximate istream_iterator for icursorstream.  
+ <a href="a00045.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00135_source.html">cursor.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a4d6d50111eed016d1ce28bbdbbf96862"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00046.html">icursorstream</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a4d6d50111eed016d1ce28bbdbbf96862">istream_type</a></td></tr>
+<tr class="memitem:af82ad1f395b1ccef2f48e7a04e315ae2"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">istream_type::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#af82ad1f395b1ccef2f48e7a04e315ae2">size_type</a></td></tr>
+<tr class="memitem:acf5bea0afb3ae6a669bd40cd659a5921"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+<a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">istream_type::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#acf5bea0afb3ae6a669bd40cd659a5921">difference_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a14f91c8c6898670b29965c34d6166674"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a14f91c8c6898670b29965c34d6166674">icursor_iterator</a> ()  throw ()</td></tr>
+<tr class="memitem:a059b39f4623c26af73cc865f3f8488ca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a059b39f4623c26af73cc865f3f8488ca">icursor_iterator</a> (<a class="el" href="a00045.html#a4d6d50111eed016d1ce28bbdbbf96862">istream_type</a> &amp;)  throw ()</td></tr>
+<tr class="memitem:a3faa6d72b2c16f3b36a27804c561bfcc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a3faa6d72b2c16f3b36a27804c561bfcc">icursor_iterator</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;)  throw ()</td></tr>
+<tr class="memitem:a260a8e31d364d7c8427741d0788c305e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a260a8e31d364d7c8427741d0788c305e">~icursor_iterator</a> ()  throw ()</td></tr>
+<tr class="memitem:a7c416cd5efae357cce5f6dccf6d6fb58"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00084.html">result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a7c416cd5efae357cce5f6dccf6d6fb58">operator*</a> () const </td></tr>
+<tr class="memitem:af2c977a93c27c468244f43733f7238c6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00084.html">result</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#af2c977a93c27c468244f43733f7238c6">operator-&gt;</a> () const </td></tr>
+<tr class="memitem:ada9ee12818185a1ccd04c912601d9f6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ada9ee12818185a1ccd04c912601d9f6d">operator++</a> ()</td></tr>
+<tr class="memitem:aed4a6029b7e88f2adef1c0c3508605aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html">icursor_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#aed4a6029b7e88f2adef1c0c3508605aa">operator++</a> (int)</td></tr>
+<tr class="memitem:ae1f77541718ff048a67353dc07c87013"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ae1f77541718ff048a67353dc07c87013">operator+=</a> (<a class="el" href="a00045.html#acf5bea0afb3ae6a669bd40cd659a5921">difference_type</a>)</td></tr>
+<tr class="memitem:a56c2d0b9aa14557cdf45555ea8a543f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a56c2d0b9aa14557cdf45555ea8a543f3">operator=</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;)  throw ()</td></tr>
+<tr class="memitem:a8b87babe29cf2797a624b2c8fa10d05f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a8b87babe29cf2797a624b2c8fa10d05f">operator==</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:ad0cda8bc84e80e331d2fcc973788d99a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#ad0cda8bc84e80e331d2fcc973788d99a">operator!=</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;rhs) const   throw ()</td></tr>
+<tr class="memitem:a595590e9f129925a1b447617b8d3b82a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a595590e9f129925a1b447617b8d3b82a">operator&lt;</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a0844bc4574d839c13d9ae6f2316a7286"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a0844bc4574d839c13d9ae6f2316a7286">operator&gt;</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a6afd533edcdf0e9f9667fdde547de63a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a6afd533edcdf0e9f9667fdde547de63a">operator&lt;=</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;rhs) const </td></tr>
+<tr class="memitem:a0abd27b596021390729199ddcb5a4baf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a0abd27b596021390729199ddcb5a4baf">operator&gt;=</a> (const <a class="el" href="a00045.html">icursor_iterator</a> &amp;rhs) const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a50ae5821478a2398f50c8cf2c42a0343"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html#a50ae5821478a2398f50c8cf2c42a0343">internal::gate::icursor_iterator_icursorstream</a></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="39081c92939fa3cca69441719eae3415"></a><!-- doxytag: member="pqxx::invalid_cursor_state::invalid_cursor_state" ref="39081c92939fa3cca69441719eae3415" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Approximate istream_iterator for icursorstream. </p>
+<p>Intended as an implementation of an input_iterator (as defined by the C++ Standard Library), this class supports only two basic operations: reading the current element, and moving forward. In addition to the minimal guarantees for istream_iterators, this class supports multiple successive reads of the same position (the current result set is cached in the iterator) even after copying and even after new data have been read from the stream. This appears to be a requirement for input_iterators. Comparisons are also supported in the general case.</p>
+<p>The iterator does not care about its own position, however. Moving an iterator forward moves the underlying stream forward and reads the data from the new stream position, regardless of the iterator's old position in the stream.</p>
+<p>The stream's stride defines the granularity for all iterator movement or access operations, i.e. "ici += 1" advances the stream by one stride's worth of tuples, and "*ici++" reads one stride's worth of tuples from the stream.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not read from the underlying stream or its cursor, move its read position, or change its stride, between the time the first <a class="el" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> on it is created and the time its last <a class="el" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> is destroyed.</dd>
+<dd>
+Manipulating these iterators within the context of a single cursor stream is <em>not thread-safe</em>. Creating a new iterator, copying one, or destroying one affects the stream as a whole. </dd></dl>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="acf5bea0afb3ae6a669bd40cd659a5921"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">istream_type::difference_type</a> <a class="el" href="a00045.html#acf5bea0afb3ae6a669bd40cd659a5921">pqxx::icursor_iterator::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4d6d50111eed016d1ce28bbdbbf96862"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::invalid_cursor_state::invalid_cursor_state           </td>
+          <td class="memname">typedef <a class="el" href="a00046.html">icursorstream</a> <a class="el" href="a00045.html#a4d6d50111eed016d1ce28bbdbbf96862">pqxx::icursor_iterator::istream_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af82ad1f395b1ccef2f48e7a04e315ae2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">istream_type::size_type</a> <a class="el" href="a00045.html#af82ad1f395b1ccef2f48e7a04e315ae2">pqxx::icursor_iterator::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a14f91c8c6898670b29965c34d6166674"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::icursor_iterator::icursor_iterator </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a059b39f4623c26af73cc865f3f8488ca"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::icursor_iterator::icursor_iterator </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00045.html#a4d6d50111eed016d1ce28bbdbbf96862">istream_type</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a3faa6d72b2c16f3b36a27804c561bfcc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::icursor_iterator::icursor_iterator </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a260a8e31d364d7c8427741d0788c305e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::icursor_iterator::~icursor_iterator </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ad0cda8bc84e80e331d2fcc973788d99a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::icursor_iterator::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="98b63bef3455bdde8a791fbb49ca97f0"></a><!-- doxytag: member="pqxx::invalid_cursor_state::invalid_cursor_state" ref="98b63bef3455bdde8a791fbb49ca97f0" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a7c416cd5efae357cce5f6dccf6d6fb58"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::invalid_cursor_state::invalid_cursor_state           </td>
+          <td class="memname">const <a class="el" href="a00084.html">result</a>&amp; pqxx::icursor_iterator::operator* </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ada9ee12818185a1ccd04c912601d9f6d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname"><a class="el" href="a00045.html">icursor_iterator</a> &amp; pqxx::icursor_iterator::operator++ </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aed4a6029b7e88f2adef1c0c3508605aa"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
+          <td class="memname"><a class="el" href="a00045.html">icursor_iterator</a> pqxx::icursor_iterator::operator++ </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="ae1f77541718ff048a67353dc07c87013"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00045.html">icursor_iterator</a> &amp; pqxx::icursor_iterator::operator+= </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00045.html#acf5bea0afb3ae6a669bd40cd659a5921">difference_type</a>&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af2c977a93c27c468244f43733f7238c6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="a00084.html">result</a>* pqxx::icursor_iterator::operator-&gt; </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a595590e9f129925a1b447617b8d3b82a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::icursor_iterator::operator&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6afd533edcdf0e9f9667fdde547de63a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::icursor_iterator::operator&lt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a56c2d0b9aa14557cdf45555ea8a543f3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00045.html">icursor_iterator</a> &amp; pqxx::icursor_iterator::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8b87babe29cf2797a624b2c8fa10d05f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::icursor_iterator::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00084.html#a7ee3d9e31a9f81b366cf04f1f73b5df2">pqxx::result::empty()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0844bc4574d839c13d9ae6f2316a7286"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::icursor_iterator::operator&gt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0abd27b596021390729199ddcb5a4baf"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::icursor_iterator::operator&gt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00045.html">icursor_iterator</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a50ae5821478a2398f50c8cf2c42a0343"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::icursor_iterator_icursorstream</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00135_source.html">cursor.hxx</a></li>
+<li>cursor.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00045.html">icursor_iterator</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00045.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00045.js
--- 3.1-1.1/doc/html/Reference/a00045.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00045.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,23 @@
+var a00045 =
+[
+    [ "difference_type", "a00045.html#acf5bea0afb3ae6a669bd40cd659a5921", null ],
+    [ "istream_type", "a00045.html#a4d6d50111eed016d1ce28bbdbbf96862", null ],
+    [ "size_type", "a00045.html#af82ad1f395b1ccef2f48e7a04e315ae2", null ],
+    [ "icursor_iterator", "a00045.html#a14f91c8c6898670b29965c34d6166674", null ],
+    [ "icursor_iterator", "a00045.html#a059b39f4623c26af73cc865f3f8488ca", null ],
+    [ "icursor_iterator", "a00045.html#a3faa6d72b2c16f3b36a27804c561bfcc", null ],
+    [ "~icursor_iterator", "a00045.html#a260a8e31d364d7c8427741d0788c305e", null ],
+    [ "operator!=", "a00045.html#ad0cda8bc84e80e331d2fcc973788d99a", null ],
+    [ "operator*", "a00045.html#a7c416cd5efae357cce5f6dccf6d6fb58", null ],
+    [ "operator++", "a00045.html#ada9ee12818185a1ccd04c912601d9f6d", null ],
+    [ "operator++", "a00045.html#aed4a6029b7e88f2adef1c0c3508605aa", null ],
+    [ "operator+=", "a00045.html#ae1f77541718ff048a67353dc07c87013", null ],
+    [ "operator->", "a00045.html#af2c977a93c27c468244f43733f7238c6", null ],
+    [ "operator<", "a00045.html#a595590e9f129925a1b447617b8d3b82a", null ],
+    [ "operator<=", "a00045.html#a6afd533edcdf0e9f9667fdde547de63a", null ],
+    [ "operator=", "a00045.html#a56c2d0b9aa14557cdf45555ea8a543f3", null ],
+    [ "operator==", "a00045.html#a8b87babe29cf2797a624b2c8fa10d05f", null ],
+    [ "operator>", "a00045.html#a0844bc4574d839c13d9ae6f2316a7286", null ],
+    [ "operator>=", "a00045.html#a0abd27b596021390729199ddcb5a4baf", null ],
+    [ "internal::gate::icursor_iterator_icursorstream", "a00045.html#a50ae5821478a2398f50c8cf2c42a0343", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00046.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00046.html
--- 3.1-1.1/doc/html/Reference/a00046.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00046.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,403 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::invalid_sql_statement_name Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::icursorstream Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00046.html">invalid_sql_statement_name</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00046.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00222.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::icursorstream Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::invalid_sql_statement_name Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::invalid_sql_statement_name" --><!-- doxytag: inherits="pqxx::sql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::invalid_sql_statement_name:</div>
-<div class="dynsection">
-<p><center><img src="a00532.png" border="0" usemap="#a00533" alt="Inheritance graph"></center>
-<map name="a00533">
-<area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="69,161,184,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="77,84,176,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="48,7,205,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00534.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#733530a1cdef5f0c73c57ff4d46b3ae3">invalid_sql_statement_name</a> (const std::string &amp;err)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#b6cdfc77425f86d8f15af9726e079824">invalid_sql_statement_name</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Simple read-only cursor represented as a stream of results.  
+ <a href="a00046.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00135_source.html">cursor.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a6f29a9a658eeb39c09075bfc655c5d90"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">cursor_base::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">size_type</a></td></tr>
+<tr class="memitem:a79c9e623be28567215d88087cd7e80d0"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+<a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9d23e2f3cdac465efb354e0ab689304c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9d23e2f3cdac465efb354e0ab689304c">icursorstream</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;context, const std::string &amp;query, const std::string &amp;basename, <a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> sstride=1)</td></tr>
+<tr class="memdesc:a9d23e2f3cdac465efb354e0ab689304c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set up a read-only, forward-only cursor.  <a href="#a9d23e2f3cdac465efb354e0ab689304c"></a><br/></td></tr>
+<tr class="memitem:a80455b4571fe3508710f5df2d656b0c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a80455b4571fe3508710f5df2d656b0c1">icursorstream</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;context, const <a class="el" href="a00041.html">result::field</a> &amp;cname, <a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> sstride=1, <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a> op=<a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">cursor_base::owned</a>)</td></tr>
+<tr class="memdesc:a80455b4571fe3508710f5df2d656b0c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adopt existing SQL cursor. Use with care.  <a href="#a80455b4571fe3508710f5df2d656b0c1"></a><br/></td></tr>
+<tr class="memitem:a462bf00fed476b503116f1c769deeb2f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a462bf00fed476b503116f1c769deeb2f">operator bool</a> () const   throw ()</td></tr>
+<tr class="memitem:a0602dd0f6ed2641bbb98ad584bcf60e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00046.html">icursorstream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a0602dd0f6ed2641bbb98ad584bcf60e7">get</a> (<a class="el" href="a00084.html">result</a> &amp;res)</td></tr>
+<tr class="memdesc:a0602dd0f6ed2641bbb98ad584bcf60e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read new value into given result object; same as operator &gt;&gt;  <a href="#a0602dd0f6ed2641bbb98ad584bcf60e7"></a><br/></td></tr>
+<tr class="memitem:a7ac105c3e882661d8f1220ccf9164c27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00046.html">icursorstream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a7ac105c3e882661d8f1220ccf9164c27">operator&gt;&gt;</a> (<a class="el" href="a00084.html">result</a> &amp;res)</td></tr>
+<tr class="memdesc:a7ac105c3e882661d8f1220ccf9164c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read new value into given result object; same as <a class="el" href="a00046.html#a0602dd0f6ed2641bbb98ad584bcf60e7" title="Read new value into given result object; same as operator &gt;&gt;">get(result &amp;)</a>  <a href="#a7ac105c3e882661d8f1220ccf9164c27"></a><br/></td></tr>
+<tr class="memitem:a777b5c8fe3f9e0160cea11ba00be5a27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00046.html">icursorstream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a777b5c8fe3f9e0160cea11ba00be5a27">ignore</a> (std::streamsize n=1)</td></tr>
+<tr class="memdesc:a777b5c8fe3f9e0160cea11ba00be5a27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move given number of rows forward (ignoring stride) without reading data.  <a href="#a777b5c8fe3f9e0160cea11ba00be5a27"></a><br/></td></tr>
+<tr class="memitem:a255914b05d1f935922338eeebcb10144"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a255914b05d1f935922338eeebcb10144">set_stride</a> (<a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> <a class="el" href="a00046.html#a89f9c7dc295e4befa9bdbd2bfedbe800">stride</a>)</td></tr>
+<tr class="memdesc:a255914b05d1f935922338eeebcb10144"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change stride, i.e. the number of rows to fetch per read operation.  <a href="#a255914b05d1f935922338eeebcb10144"></a><br/></td></tr>
+<tr class="memitem:a89f9c7dc295e4befa9bdbd2bfedbe800"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a89f9c7dc295e4befa9bdbd2bfedbe800">stride</a> () const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a81bc68e9ddb56368929d58e0820e72f0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a81bc68e9ddb56368929d58e0820e72f0">internal::gate::icursorstream_icursor_iterator</a></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="733530a1cdef5f0c73c57ff4d46b3ae3"></a><!-- doxytag: member="pqxx::invalid_sql_statement_name::invalid_sql_statement_name" ref="733530a1cdef5f0c73c57ff4d46b3ae3" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Simple read-only cursor represented as a stream of results. </p>
+<p>SQL cursors can be tricky, especially in C++ since the two languages seem to have been designed on different planets. An SQL cursor has two singular positions akin to <code>end()</code> on either side of the underlying result set.</p>
+<p>These cultural differences are hidden from view somewhat by libpqxx, which tries to make SQL cursors behave more like familiar C++ entities such as iterators, sequences, streams, and containers.</p>
+<p>Data is fetched from the cursor as a sequence of result objects. Each of these will contain the number of rows defined as the stream's stride, except of course the last block of data which may contain fewer rows.</p>
+<p>This class can create or adopt cursors that live outside any backend transaction, which your backend version may not support. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a79c9e623be28567215d88087cd7e80d0"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::invalid_sql_statement_name::invalid_sql_statement_name           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">typedef <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> <a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">pqxx::icursorstream::difference_type</a></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a6f29a9a658eeb39c09075bfc655c5d90"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">cursor_base::size_type</a> <a class="el" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">pqxx::icursorstream::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a9d23e2f3cdac465efb354e0ab689304c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::icursorstream::icursorstream </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>context</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>query</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>basename</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a>&#160;</td>
+          <td class="paramname"><em>sstride</em> = <code>1</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set up a read-only, forward-only cursor. </p>
+<p>Roughly equivalent to a C++ Standard Library istream, this cursor type supports only two operations: reading a block of rows while moving forward, and moving forward without reading any data.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">context</td><td>Transaction context that this cursor will be active in </td></tr>
+    <tr><td class="paramname">query</td><td>SQL query whose results this cursor shall iterate </td></tr>
+    <tr><td class="paramname">basename</td><td>Suggested name for the SQL cursor; a unique code will be appended by the library to ensure its uniqueness </td></tr>
+    <tr><td class="paramname">sstride</td><td>Number of rows to fetch per read operation; must be a positive number </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00046.html#a255914b05d1f935922338eeebcb10144">set_stride()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="b6cdfc77425f86d8f15af9726e079824"></a><!-- doxytag: member="pqxx::invalid_sql_statement_name::invalid_sql_statement_name" ref="b6cdfc77425f86d8f15af9726e079824" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a80455b4571fe3508710f5df2d656b0c1"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::invalid_sql_statement_name::invalid_sql_statement_name           </td>
+          <td class="memname">pqxx::icursorstream::icursorstream </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>context</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="a00041.html">result::field</a> &amp;&#160;</td>
+          <td class="paramname"><em>cname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a>&#160;</td>
+          <td class="paramname"><em>sstride</em> = <code>1</code>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a>&#160;</td>
+          <td class="paramname"><em>op</em> = <code><a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">cursor_base::owned</a></code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Adopt existing SQL cursor. Use with care. </p>
+<p>Forms a cursor stream around an existing SQL cursor, as returned by e.g. a server-side function. The SQL cursor will be cleaned up by the stream's destructor as if it had been created by the stream; cleaning it up by hand or adopting the same cursor twice is an error.</p>
+<p>Passing the name of the cursor as a string is not allowed, both to avoid confusion with the other constructor and to discourage unnecessary use of adopted cursors.</p>
+<dl class="section warning"><dt>Warning</dt><dd>It is technically possible to adopt a "WITH HOLD" cursor, i.e. a cursor that stays alive outside its creating transaction. However, any cursor stream (including the underlying SQL cursor, naturally) must be destroyed before its transaction context object is destroyed. Therefore the only way to use SQL's WITH HOLD feature is to adopt the cursor, but defer doing so until after entering the transaction context that will eventually destroy it.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">context</td><td>Transaction context that this cursor will be active in. </td></tr>
+    <tr><td class="paramname">cname</td><td>Result field containing the name of the SQL cursor to adopt. </td></tr>
+    <tr><td class="paramname">sstride</td><td>Number of rows to fetch per read operation; must be a positive number. </td></tr>
+    <tr><td class="paramname">op</td><td>Ownership policy. Determines whether the cursor underlying this stream will be destroyed when the stream is closed. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00046.html#a255914b05d1f935922338eeebcb10144">set_stride()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a0602dd0f6ed2641bbb98ad584bcf60e7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00046.html">icursorstream</a>&amp; pqxx::icursorstream::get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>res</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Read new value into given result object; same as operator &gt;&gt; </p>
+<p>The result set may continue any number of rows from zero to the chosen stride, inclusive. An empty result will only be returned if there are no more rows to retrieve. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this very stream, to facilitate "chained" invocations ("C.get(r1).get(r2);") </dd></dl>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="a777b5c8fe3f9e0160cea11ba00be5a27"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00046.html">icursorstream</a> &amp; pqxx::icursorstream::ignore </td>
+          <td>(</td>
+          <td class="paramtype">std::streamsize&#160;</td>
+          <td class="paramname"><em>n</em> = <code>1</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Move given number of rows forward (ignoring stride) without reading data. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this very stream, to facilitate "chained" invocations ("C.ignore(2).get(r).ignore(4);") </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a462bf00fed476b503116f1c769deeb2f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::icursorstream::operator bool </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7ac105c3e882661d8f1220ccf9164c27"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00046.html">icursorstream</a>&amp; pqxx::icursorstream::operator&gt;&gt; </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>res</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read new value into given result object; same as <a class="el" href="a00046.html#a0602dd0f6ed2641bbb98ad584bcf60e7" title="Read new value into given result object; same as operator &gt;&gt;">get(result &amp;)</a> </p>
+<p>The result set may continue any number of rows from zero to the chosen stride, inclusive. An empty result will only be returned if there are no more rows to retrieve. </p>
+<dl class="section return"><dt>Returns</dt><dd>Reference to this very stream, to facilitate "chained" invocations ("C &gt;&gt; r1 &gt;&gt; r2;") </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a255914b05d1f935922338eeebcb10144"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::icursorstream::set_stride </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a>&#160;</td>
+          <td class="paramname"><em>stride</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Change stride, i.e. the number of rows to fetch per read operation. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">stride</td><td>Must be a positive number </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00046.html#a9d23e2f3cdac465efb354e0ab689304c">icursorstream()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a89f9c7dc295e4befa9bdbd2bfedbe800"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> pqxx::icursorstream::stride </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a81bc68e9ddb56368929d58e0820e72f0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class internal::gate::icursorstream_icursor_iterator</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00135_source.html">cursor.hxx</a></li>
+<li>cursor.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00046.html">icursorstream</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00046.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00046.js
--- 3.1-1.1/doc/html/Reference/a00046.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00046.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,14 @@
+var a00046 =
+[
+    [ "difference_type", "a00046.html#a79c9e623be28567215d88087cd7e80d0", null ],
+    [ "size_type", "a00046.html#a6f29a9a658eeb39c09075bfc655c5d90", null ],
+    [ "icursorstream", "a00046.html#a9d23e2f3cdac465efb354e0ab689304c", null ],
+    [ "icursorstream", "a00046.html#a80455b4571fe3508710f5df2d656b0c1", null ],
+    [ "get", "a00046.html#a0602dd0f6ed2641bbb98ad584bcf60e7", null ],
+    [ "ignore", "a00046.html#a777b5c8fe3f9e0160cea11ba00be5a27", null ],
+    [ "operator bool", "a00046.html#a462bf00fed476b503116f1c769deeb2f", null ],
+    [ "operator>>", "a00046.html#a7ac105c3e882661d8f1220ccf9164c27", null ],
+    [ "set_stride", "a00046.html#a255914b05d1f935922338eeebcb10144", null ],
+    [ "stride", "a00046.html#a89f9c7dc295e4befa9bdbd2bfedbe800", null ],
+    [ "internal::gate::icursorstream_icursor_iterator", "a00046.html#a81bc68e9ddb56368929d58e0820e72f0", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00047.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00047.html
--- 3.1-1.1/doc/html/Reference/a00047.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00047.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,315 +1,146 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::prepare::invocation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::in_doubt_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00189.html">prepare</a>::<a class="el" href="a00047.html">invocation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00047.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00229.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::in_doubt_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::prepare::invocation Class Reference</h1><!-- doxytag: class="pqxx::prepare::invocation" -->Helper class for passing parameters to, and executing, prepared statements.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00239.html">prepared_statement.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00679.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#7f15ffe53fbbeeafc0f4bc13c2981646">invocation</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;statement)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#f937364fbb9bf4cead8c646220a4507d">exec</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute!  <a href="#f937364fbb9bf4cead8c646220a4507d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#06644bfe2c67479f5bcae0174cf8ae05">exists</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has a statement of this name been defined?  <a href="#06644bfe2c67479f5bcae0174cf8ae05"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00047.html">invocation</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#10e6e640885617f52bf43d9e59477424">operator()</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pass null parameter.  <a href="#10e6e640885617f52bf43d9e59477424"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00047.html">invocation</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00047.html#72f34be0007847787f81eb8b3b2e06b5">operator()</a> (const T &amp;v)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pass parameter value.  <a href="#72f34be0007847787f81eb8b3b2e06b5"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00047.html">invocation</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00047.html#cc015fd9d5202c0e20b37b9a539c1ee8">operator()</a> (const T &amp;v, bool nonnull)</td></tr>
+<p>"Help, I don't know whether transaction was committed successfully!"  
+ <a href="a00047.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pass parameter value.  <a href="#cc015fd9d5202c0e20b37b9a539c1ee8"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00047.html">invocation</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00047.html#a9b3b7d35b566713c88ce45d02d006dd">operator()</a> (T *v, bool nonnull=true)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pass C-style parameter string, or null if pointer is null.  <a href="#a9b3b7d35b566713c88ce45d02d006dd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00047.html">invocation</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#c0b4fbda217ac490ed72c923d02cdef3">operator()</a> (const char *v, bool nonnull=true)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pass C-style string parameter, or null if pointer is null.  <a href="#c0b4fbda217ac490ed72c923d02cdef3"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::in_doubt_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00047.png" usemap="#pqxx::in_doubt_error_map" alt=""/>
+  <map id="pqxx::in_doubt_error_map" name="pqxx::in_doubt_error_map">
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,129,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,129,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a378d91b2f08324db0725a7c89f6dedcf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a378d91b2f08324db0725a7c89f6dedcf">in_doubt_error</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Helper class for passing parameters to, and executing, prepared statements. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="7f15ffe53fbbeeafc0f4bc13c2981646"></a><!-- doxytag: member="pqxx::prepare::invocation::invocation" ref="7f15ffe53fbbeeafc0f4bc13c2981646" args="(transaction_base &amp;, const std::string &amp;statement)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>"Help, I don't know whether transaction was committed successfully!" </p>
+<p>Exception that might be thrown in rare cases where the connection to the database is lost while finishing a database transaction, and there's no way of telling whether it was actually executed by the backend. In this case the database is left in an indeterminate (but consistent) state, and only manual inspection will tell which is the case. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a378d91b2f08324db0725a7c89f6dedcf"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::prepare::invocation::invocation           </td>
+          <td class="memname">pqxx::in_doubt_error::in_doubt_error </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>home</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>statement</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="f937364fbb9bf4cead8c646220a4507d"></a><!-- doxytag: member="pqxx::prepare::invocation::exec" ref="f937364fbb9bf4cead8c646220a4507d" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html">pqxx::result</a> pqxx::prepare::invocation::exec           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Execute! 
-<p>
-
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00262.html#l00624">pqxx::internal::scoped_array&lt; T &gt;::get()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="06644bfe2c67479f5bcae0174cf8ae05"></a><!-- doxytag: member="pqxx::prepare::invocation::exists" ref="06644bfe2c67479f5bcae0174cf8ae05" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::prepare::invocation::exists           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Has a statement of this name been defined? 
-<p>
-
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="10e6e640885617f52bf43d9e59477424"></a><!-- doxytag: member="pqxx::prepare::invocation::operator()" ref="10e6e640885617f52bf43d9e59477424" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00047.html">invocation</a>&amp; pqxx::prepare::invocation::operator()           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pass null parameter. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="72f34be0007847787f81eb8b3b2e06b5"></a><!-- doxytag: member="pqxx::prepare::invocation::operator()" ref="72f34be0007847787f81eb8b3b2e06b5" args="(const T &amp;v)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00047.html">invocation</a>&amp; pqxx::prepare::invocation::operator()           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>v</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pass parameter value. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>parameter value (will be represented as a string internally) </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="cc015fd9d5202c0e20b37b9a539c1ee8"></a><!-- doxytag: member="pqxx::prepare::invocation::operator()" ref="cc015fd9d5202c0e20b37b9a539c1ee8" args="(const T &amp;v, bool nonnull)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00047.html">invocation</a>&amp; pqxx::prepare::invocation::operator()           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>v</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>nonnull</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pass parameter value. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>parameter value (will be represented as a string internally) </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>nonnull</em>&nbsp;</td><td>replaces value with null if set to false </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="a9b3b7d35b566713c88ce45d02d006dd"></a><!-- doxytag: member="pqxx::prepare::invocation::operator()" ref="a9b3b7d35b566713c88ce45d02d006dd" args="(T *v, bool nonnull=true)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00047.html">invocation</a>&amp; pqxx::prepare::invocation::operator()           </td>
-          <td>(</td>
-          <td class="paramtype">T *&nbsp;</td>
-          <td class="paramname"> <em>v</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>nonnull</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pass C-style parameter string, or null if pointer is null. 
-<p>
-This version is for passing C-style strings; it's a template, so any pointer type that <code>to_string</code> accepts will do.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Be very careful with the special constant <code>NULL!</code> Since <code>NULL</code> in C++ is an <code>int</code>, not a pointer, a value of <code>NULL</code> would cause the wrong version of this template to be invoked. To all intents and purposes it would look like you were trying to pass a regular zero as an integer value, instead of a null string. This is not a problem with pointer variables that may happen to be <code>NULL</code>, since in that case the value's type is not subject to any confusion. So if you know at compile time that you want to pass a null value, use the zero-argument version of this operator; if you don't want to do that, at least add a second argument of <code>false</code> to make clear that you want a null, not a zero.</dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>parameter value (will be represented as a C++ string internally) </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>nonnull</em>&nbsp;</td><td>replaces value with null if set to <code>false</code> </td></tr>
-  </table>
-</dl>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="c0b4fbda217ac490ed72c923d02cdef3"></a><!-- doxytag: member="pqxx::prepare::invocation::operator()" ref="c0b4fbda217ac490ed72c923d02cdef3" args="(const char *v, bool nonnull=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00047.html">invocation</a>&amp; pqxx::prepare::invocation::operator()           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>v</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>nonnull</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pass C-style string parameter, or null if pointer is null. 
-<p>
-This duplicates the pointer-to-template-argument-type version of the operator, but helps compilers with less advanced template implementations disambiguate calls where C-style strings are passed. 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00239.html">prepared_statement.hxx</a><li><a class="el" href="a00148.html">prepared_statement.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00047.html">in_doubt_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00047.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00047.js
--- 3.1-1.1/doc/html/Reference/a00047.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00047.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00047 =
+[
+    [ "in_doubt_error", "a00047.html#a378d91b2f08324db0725a7c89f6dedcf", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00047.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00047.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00048.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00048.html
--- 3.1-1.1/doc/html/Reference/a00048.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00048.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,150 +1,174 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::isolation_traits&lt; LEVEL &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::insufficient_privilege Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00048.html">isolation_traits</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00048.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00250.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::insufficient_privilege Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::isolation_traits&lt; LEVEL &gt; Struct Template Reference</h1><!-- doxytag: class="pqxx::isolation_traits" -->Traits class to describe an isolation level; primarly for libpqxx's own use.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00227.html">isolation.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00577.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00048.html#88d3c129ee84f556ae2c684157deb8ce">name</a> () throw()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00048.html#00950f22b91fc0c31335f43801e33821">name</a> () throw()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00171.html#8f05a60f9e1f7dc4e4af5dce6b987c8c">isolation_level</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#7257515292c662b6247844ddbbd5d37d">level</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a70d28518dfd8e0021c76e50e19da150">name</a> ()  throw ()</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::insufficient_privilege:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00048.png" usemap="#pqxx::insufficient_privilege_map" alt=""/>
+  <map id="pqxx::insufficient_privilege_map" name="pqxx::insufficient_privilege_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,160,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,160,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,160,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5cce5dbd2519b461a7c8064528999097"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a5cce5dbd2519b461a7c8064528999097">insufficient_privilege</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a288de88661b6c5094151d90975bb0531"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html#a288de88661b6c5094151d90975bb0531">insufficient_privilege</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;isolation_level LEVEL&gt;<br>
- struct pqxx::isolation_traits&lt; LEVEL &gt;</h3>
-
-Traits class to describe an isolation level; primarly for libpqxx's own use. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="7257515292c662b6247844ddbbd5d37d"></a><!-- doxytag: member="pqxx::isolation_traits::level" ref="7257515292c662b6247844ddbbd5d37d" args="()" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5cce5dbd2519b461a7c8064528999097"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level LEVEL&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static <a class="el" href="a00171.html#8f05a60f9e1f7dc4e4af5dce6b987c8c">isolation_level</a> <a class="el" href="a00048.html">pqxx::isolation_traits</a>&lt; LEVEL &gt;::level           </td>
+          <td class="memname">pqxx::insufficient_privilege::insufficient_privilege </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="a70d28518dfd8e0021c76e50e19da150"></a><!-- doxytag: member="pqxx::isolation_traits::name" ref="a70d28518dfd8e0021c76e50e19da150" args="()" -->
+</div>
+<a class="anchor" id="a288de88661b6c5094151d90975bb0531"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level LEVEL&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static const char* <a class="el" href="a00048.html">pqxx::isolation_traits</a>&lt; LEVEL &gt;::name           </td>
+          <td class="memname">pqxx::insufficient_privilege::insufficient_privilege </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="88d3c129ee84f556ae2c684157deb8ce"></a><!-- doxytag: member="pqxx::isolation_traits::name" ref="88d3c129ee84f556ae2c684157deb8ce" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname">const char * <a class="el" href="a00048.html">pqxx::isolation_traits</a>&lt; read_committed &gt;::name           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> throw()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="00950f22b91fc0c31335f43801e33821"></a><!-- doxytag: member="pqxx::isolation_traits::name" ref="00950f22b91fc0c31335f43801e33821" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname">const char * <a class="el" href="a00048.html">pqxx::isolation_traits</a>&lt; serializable &gt;::name           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> throw()</td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00227.html">isolation.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00048.html">insufficient_privilege</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00048.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00048.js
--- 3.1-1.1/doc/html/Reference/a00048.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00048.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00048 =
+[
+    [ "insufficient_privilege", "a00048.html#a5cce5dbd2519b461a7c8064528999097", null ],
+    [ "insufficient_privilege", "a00048.html#a288de88661b6c5094151d90975bb0531", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00048.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00048.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00049.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00049.html
--- 3.1-1.1/doc/html/Reference/a00049.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00049.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,339 +1,181 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::items&lt; T, CONT &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::insufficient_resources Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00049.html">items</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00049.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00251.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::insufficient_resources Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::items&lt; T, CONT &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::items" -->Container of <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> with easy contents initialization and string rendering.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00653.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#374e1532420a3b60b28dfc27dba994a7">items</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create empty <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> list.  <a href="#374e1532420a3b60b28dfc27dba994a7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#a9f1a5f279471ed644ab9ca78bdd78a3">items</a> (const T &amp;t)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> list with one element.  <a href="#a9f1a5f279471ed644ab9ca78bdd78a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#cb295ee3294961c1dac99df59de64da9">items</a> (const T &amp;t1, const T &amp;t2)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#1c4dad14844c77b90175e6ab0bc4a72b">items</a> (const T &amp;t1, const T &amp;t2, const T &amp;t3)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#675386230923a7ceb4380cf880d05604">items</a> (const T &amp;t1, const T &amp;t2, const T &amp;t3, const T &amp;t4)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#806ffda069bc7790b213dbede7119051">items</a> (const T &amp;t1, const T &amp;t2, const T &amp;t3, const T &amp;t4, const T &amp;t5)</td></tr>
+<p>Resource shortage on the server.  
+ <a href="a00049.html#details">More...</a></p>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#31b6a81ea8deee77375d25bce93099e2">items</a> (const CONT &amp;c)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy container.  <a href="#31b6a81ea8deee77375d25bce93099e2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00049.html">items</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#936efe3dfed125e4e61f3a76d460183a">operator()</a> (const T &amp;t)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add element to <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> list.  <a href="#936efe3dfed125e4e61f3a76d460183a"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::insufficient_resources:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00049.png" usemap="#pqxx::insufficient_resources_map" alt=""/>
+  <map id="pqxx::insufficient_resources_map" name="pqxx::insufficient_resources_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="89,112,257,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="89,56,257,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="89,0,257,24"/>
+<area href="a00037.html" alt="pqxx::disk_full" shape="rect" coords="0,224,168,248"/>
+<area href="a00068.html" alt="pqxx::out_of_memory" shape="rect" coords="178,224,346,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab9c012d8591a9699677c8e3d2bfdf02a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#ab9c012d8591a9699677c8e3d2bfdf02a">insufficient_resources</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:af88552eb661d1bc459308d2ff8576840"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#af88552eb661d1bc459308d2ff8576840">insufficient_resources</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt;<br>
- class pqxx::items&lt; T, CONT &gt;</h3>
-
-Container of <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> with easy contents initialization and string rendering. 
-<p>
-Designed as a wrapper around an arbitrary container type, this class lets you easily create a container object and provide its contents in the same line. Regular addition methods such as push_back() will also still work, but you can now write things like <div class="fragment"><pre class="fragment">  items&lt;int&gt; numbers; numbers(1)(2)(3)(4);
-</pre></div><p>
-Up to five elements may be specified directly as constructor arguments, e.g. <div class="fragment"><pre class="fragment"> items&lt;int&gt; numbers(1,2,3,4);
-</pre></div><p>
-One thing that cannot be done with this simple class is create const objects with nontrivial contents. This is because the function invocation operator (which is being used to add <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a>) modifies the container rather than creating a new one. This was done to keep performance within reasonable bounds.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This class may see substantial change in its interface before it stabilizes. Do not count on it remaining the way it is. </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="374e1532420a3b60b28dfc27dba994a7"></a><!-- doxytag: member="pqxx::items::items" ref="374e1532420a3b60b28dfc27dba994a7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create empty <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> list. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9f1a5f279471ed644ab9ca78bdd78a3"></a><!-- doxytag: member="pqxx::items::items" ref="a9f1a5f279471ed644ab9ca78bdd78a3" args="(const T &amp;t)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> list with one element. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cb295ee3294961c1dac99df59de64da9"></a><!-- doxytag: member="pqxx::items::items" ref="cb295ee3294961c1dac99df59de64da9" args="(const T &amp;t1, const T &amp;t2)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t2</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1c4dad14844c77b90175e6ab0bc4a72b"></a><!-- doxytag: member="pqxx::items::items" ref="1c4dad14844c77b90175e6ab0bc4a72b" args="(const T &amp;t1, const T &amp;t2, const T &amp;t3)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Resource shortage on the server. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab9c012d8591a9699677c8e3d2bfdf02a"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
+          <td class="memname">pqxx::insufficient_resources::insufficient_resources </td>
           <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t3</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="675386230923a7ceb4380cf880d05604"></a><!-- doxytag: member="pqxx::items::items" ref="675386230923a7ceb4380cf880d05604" args="(const T &amp;t1, const T &amp;t2, const T &amp;t3, const T &amp;t4)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t3</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t4</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="806ffda069bc7790b213dbede7119051"></a><!-- doxytag: member="pqxx::items::items" ref="806ffda069bc7790b213dbede7119051" args="(const T &amp;t1, const T &amp;t2, const T &amp;t3, const T &amp;t4, const T &amp;t5)" -->
+<a class="anchor" id="af88552eb661d1bc459308d2ff8576840"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
+          <td class="memname">pqxx::insufficient_resources::insufficient_resources </td>
           <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t1</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t3</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t4</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t5</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="31b6a81ea8deee77375d25bce93099e2"></a><!-- doxytag: member="pqxx::items::items" ref="31b6a81ea8deee77375d25bce93099e2" args="(const CONT &amp;c)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00049.html">items</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const CONT &amp;&nbsp;</td>
-          <td class="paramname"> <em>c</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Copy container. 
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="936efe3dfed125e4e61f3a76d460183a"></a><!-- doxytag: member="pqxx::items::operator()" ref="936efe3dfed125e4e61f3a76d460183a" args="(const T &amp;t)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T = std ::string, typename CONT = std ::vector&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00049.html">items</a>&amp; <a class="el" href="a00049.html">pqxx::items</a>&lt; T, CONT &gt;::operator()           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Add element to <a class="el" href="a00049.html" title="Container of items with easy contents initialization and string rendering.">items</a> list. 
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00049.html">insufficient_resources</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00049.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00049.js
--- 3.1-1.1/doc/html/Reference/a00049.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00049.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00049 =
+[
+    [ "insufficient_resources", "a00049.html#ab9c012d8591a9699677c8e3d2bfdf02a", null ],
+    [ "insufficient_resources", "a00049.html#af88552eb661d1bc459308d2ff8576840", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00049.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00049.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00050.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00050.html
--- 3.1-1.1/doc/html/Reference/a00050.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00050.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,552 +1,179 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::largeobject Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::integrity_constraint_violation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00050.html">largeobject</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00050.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00237.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::integrity_constraint_violation Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::largeobject Class Reference</h1><!-- doxytag: class="pqxx::largeobject" -->Identity of a large object.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00229.html">largeobject.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::largeobject:</div>
-<div class="dynsection">
-<p><center><img src="a00578.png" border="0" usemap="#a00579" alt="Inheritance graph"></center>
-<map name="a00579">
-<area shape="rect" href="a00052.html" title="Accessor for large object&#39;s contents." alt="" coords="5,84,179,110"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00580.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#2d076b22c335557dbe91f4793c315e7d">largeobject</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refer to a nonexistent large object (similar to what a null pointer does).  <a href="#2d076b22c335557dbe91f4793c315e7d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#e3a035076692d93ef07ab636e47fcc81">largeobject</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create new large object.  <a href="#e3a035076692d93ef07ab636e47fcc81"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#f8257cb8d3c162acc233ae0fe9cef218">largeobject</a> (<a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> O)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrap object with given oid.  <a href="#f8257cb8d3c162acc233ae0fe9cef218"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#05267c2dfb94149e4f518c55fccf3748">largeobject</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, const std::string &amp;File)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Import large object from a local file.  <a href="#05267c2dfb94149e4f518c55fccf3748"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#8f0314b6756e5f246b1ea349820df64d">largeobject</a> (const <a class="el" href="a00052.html">largeobjectaccess</a> &amp;O)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take identity of an opened large object.  <a href="#8f0314b6756e5f246b1ea349820df64d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#d84747d2fa7a02950b790ea2c1808309">id</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object identifier.  <a href="#d84747d2fa7a02950b790ea2c1808309"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#d97df88e75558320c89ea4f39c35afe2">to_file</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, const std::string &amp;File) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export large object's contents to a local file.  <a href="#d97df88e75558320c89ea4f39c35afe2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#7976bf34f68473dd51809bf25682aa03">remove</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete large object from database.  <a href="#7976bf34f68473dd51809bf25682aa03"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Identity comparisons</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These operators compare the object identifiers of large objects. This has nothing to do with the objects' actual contents; use them only for keeping track of containers of references to large objects and such. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#d70e9d5356545289573e63f6272a7e52">operator==</a> (const <a class="el" href="a00050.html">largeobject</a> &amp;other) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare object identities.  <a href="#d70e9d5356545289573e63f6272a7e52"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#bea8ecd17b1ca3db757bb0b148c20295">operator!=</a> (const <a class="el" href="a00050.html">largeobject</a> &amp;other) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare object identities.  <a href="#bea8ecd17b1ca3db757bb0b148c20295"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#8467e3f29ce1f3748fd62737cfe63316">operator&lt;=</a> (const <a class="el" href="a00050.html">largeobject</a> &amp;other) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare object identities.  <a href="#8467e3f29ce1f3748fd62737cfe63316"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#72405b8ff94fd3f44fe786f5001409a0">operator&gt;=</a> (const <a class="el" href="a00050.html">largeobject</a> &amp;other) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare object identities.  <a href="#72405b8ff94fd3f44fe786f5001409a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#41efa409c912f937c51e31dc812f7a2e">operator&lt;</a> (const <a class="el" href="a00050.html">largeobject</a> &amp;other) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare object identities.  <a href="#41efa409c912f937c51e31dc812f7a2e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a7d92ad25a5d4584dc8ff34041103ef2">operator&gt;</a> (const <a class="el" href="a00050.html">largeobject</a> &amp;other) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare object identities.  <a href="#a7d92ad25a5d4584dc8ff34041103ef2"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#70fe02eba0ce7e8d83db9bc3340260af">Reason</a> (int err) const </td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00188.html#a7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#0357da0b565480de02030bf018a99e5a">RawConnection</a> (const <a class="el" href="a00025.html">dbtransaction</a> &amp;T)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::integrity_constraint_violation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00050.png" usemap="#pqxx::integrity_constraint_violation_map" alt=""/>
+  <map id="pqxx::integrity_constraint_violation_map" name="pqxx::integrity_constraint_violation_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="428,112,632,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="428,56,632,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="428,0,632,24"/>
+<area href="a00018.html" alt="pqxx::check_violation" shape="rect" coords="0,224,204,248"/>
+<area href="a00043.html" alt="pqxx::foreign_key_violation" shape="rect" coords="214,224,418,248"/>
+<area href="a00064.html" alt="pqxx::not_null_violation" shape="rect" coords="428,224,632,248"/>
+<area href="a00083.html" alt="pqxx::restrict_violation" shape="rect" coords="642,224,846,248"/>
+<area href="a00115.html" alt="pqxx::unique_violation" shape="rect" coords="856,224,1060,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9fa871a08c23b2722a42fa545cecd2ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a505ae8d71add1a4c19e69f5cf96cea9d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Identity of a large object. 
-<p>
-This class encapsulates the identity of a large object. To access the contents of the object, create a <a class="el" href="a00052.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a>, a <a class="el" href="a00051.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf</a>, or an ilostream, an olostream or a lostream around the <a class="el" href="a00050.html" title="Identity of a large object.">largeobject</a>.<p>
-A <a class="el" href="a00050.html" title="Identity of a large object.">largeobject</a> must be accessed only from within a backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, but the object's identity remains valid as long as the object exists. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="546f724f294272c84c85ab4b4b415419"></a><!-- doxytag: member="pqxx::largeobject::size_type" ref="546f724f294272c84c85ab4b4b415419" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef long <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">pqxx::largeobject::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="2d076b22c335557dbe91f4793c315e7d"></a><!-- doxytag: member="pqxx::largeobject::largeobject" ref="2d076b22c335557dbe91f4793c315e7d" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobject::largeobject           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Refer to a nonexistent large object (similar to what a null pointer does). 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e3a035076692d93ef07ab636e47fcc81"></a><!-- doxytag: member="pqxx::largeobject::largeobject" ref="e3a035076692d93ef07ab636e47fcc81" args="(dbtransaction &amp;T)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobject::largeobject           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create new large object. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in which the object is to be created </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00029">INV_READ</a>, <a class="el" href="a00228.html#l00027">INV_WRITE</a>, <a class="el" href="a00262.html#l00331">pqxx::oid_none</a>, <a class="el" href="a00228.html#l00140">RawConnection()</a>, and <a class="el" href="a00228.html#l00147">Reason()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f8257cb8d3c162acc233ae0fe9cef218"></a><!-- doxytag: member="pqxx::largeobject::largeobject" ref="f8257cb8d3c162acc233ae0fe9cef218" args="(oid O)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobject::largeobject           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wrap object with given oid. 
-<p>
-Convert combination of a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> and object identifier into a large object identity. Does not affect the database. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Object identifier for the given object </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="05267c2dfb94149e4f518c55fccf3748"></a><!-- doxytag: member="pqxx::largeobject::largeobject" ref="05267c2dfb94149e4f518c55fccf3748" args="(dbtransaction &amp;T, const std::string &amp;File)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a9fa871a08c23b2722a42fa545cecd2ab"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::largeobject::largeobject           </td>
+          <td class="memname">pqxx::integrity_constraint_violation::integrity_constraint_violation </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>File</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Import large object from a local file. 
-<p>
-Creates a large object containing the data found in the given file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in which the large object is to be created </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>File</em>&nbsp;</td><td>A filename on the client program's filesystem </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00262.html#l00331">pqxx::oid_none</a>, <a class="el" href="a00228.html#l00140">RawConnection()</a>, and <a class="el" href="a00228.html#l00147">Reason()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8f0314b6756e5f246b1ea349820df64d"></a><!-- doxytag: member="pqxx::largeobject::largeobject" ref="8f0314b6756e5f246b1ea349820df64d" args="(const largeobjectaccess &amp;O)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobject::largeobject           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00052.html">largeobjectaccess</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>O</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Take identity of an opened large object. 
-<p>
-Copy identity of already opened large object. Note that this may be done as an implicit conversion. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Already opened large object to copy identity from </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d84747d2fa7a02950b790ea2c1808309"></a><!-- doxytag: member="pqxx::largeobject::id" ref="d84747d2fa7a02950b790ea2c1808309" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::largeobject::id           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Object identifier. 
-<p>
-The number returned by this function identifies the large object in the database we're connected to (or oid_none is returned if we refer to the null object). 
-</div>
-</div><p>
-<a class="anchor" name="d70e9d5356545289573e63f6272a7e52"></a><!-- doxytag: member="pqxx::largeobject::operator==" ref="d70e9d5356545289573e63f6272a7e52" args="(const largeobject &amp;other) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::largeobject::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00050.html">largeobject</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>other</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compare object identities. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Only valid between large objects in the same database. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="bea8ecd17b1ca3db757bb0b148c20295"></a><!-- doxytag: member="pqxx::largeobject::operator!=" ref="bea8ecd17b1ca3db757bb0b148c20295" args="(const largeobject &amp;other) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::largeobject::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00050.html">largeobject</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>other</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compare object identities. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Only valid between large objects in the same database. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="8467e3f29ce1f3748fd62737cfe63316"></a><!-- doxytag: member="pqxx::largeobject::operator&lt;=" ref="8467e3f29ce1f3748fd62737cfe63316" args="(const largeobject &amp;other) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::largeobject::operator&lt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00050.html">largeobject</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>other</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compare object identities. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Only valid between large objects in the same database. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="72405b8ff94fd3f44fe786f5001409a0"></a><!-- doxytag: member="pqxx::largeobject::operator&gt;=" ref="72405b8ff94fd3f44fe786f5001409a0" args="(const largeobject &amp;other) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::largeobject::operator&gt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00050.html">largeobject</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>other</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compare object identities. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Only valid between large objects in the same database. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="41efa409c912f937c51e31dc812f7a2e"></a><!-- doxytag: member="pqxx::largeobject::operator&lt;" ref="41efa409c912f937c51e31dc812f7a2e" args="(const largeobject &amp;other) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::largeobject::operator&lt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00050.html">largeobject</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>other</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compare object identities. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Only valid between large objects in the same database. </dd></dl>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="a7d92ad25a5d4584dc8ff34041103ef2"></a><!-- doxytag: member="pqxx::largeobject::operator&gt;" ref="a7d92ad25a5d4584dc8ff34041103ef2" args="(const largeobject &amp;other) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::largeobject::operator&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00050.html">largeobject</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>other</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Compare object identities. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Only valid between large objects in the same database. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="d97df88e75558320c89ea4f39c35afe2"></a><!-- doxytag: member="pqxx::largeobject::to_file" ref="d97df88e75558320c89ea4f39c35afe2" args="(dbtransaction &amp;T, const std::string &amp;File) const " -->
+<a class="anchor" id="a505ae8d71add1a4c19e69f5cf96cea9d"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::largeobject::to_file           </td>
+          <td class="memname">pqxx::integrity_constraint_violation::integrity_constraint_violation </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>File</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Export large object's contents to a local file. 
-<p>
-Writes the data stored in the large object to the given file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which the object is to be accessed </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>File</em>&nbsp;</td><td>A filename on the client's filesystem </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00140">RawConnection()</a>, <a class="el" href="a00228.html#l00147">Reason()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00229.html#l00226">pqxx::largeobjectaccess::to_file()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7976bf34f68473dd51809bf25682aa03"></a><!-- doxytag: member="pqxx::largeobject::remove" ref="7976bf34f68473dd51809bf25682aa03" args="(dbtransaction &amp;T) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::largeobject::remove           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Delete large object from database. 
-<p>
-Unlike its low-level equivalent cunlink, this will throw an exception if deletion fails. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which the object is to be deleted </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00140">RawConnection()</a>, <a class="el" href="a00228.html#l00147">Reason()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="0357da0b565480de02030bf018a99e5a"></a><!-- doxytag: member="pqxx::largeobject::RawConnection" ref="0357da0b565480de02030bf018a99e5a" args="(const dbtransaction &amp;T)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00188.html#a7251e3df7b906603e5fcbfc5eab7e96">pqxx::internal::pq::PGconn</a> * pqxx::largeobject::RawConnection           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static, protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00228.html#l00081">largeobject()</a>, <a class="el" href="a00228.html#l00128">remove()</a>, and <a class="el" href="a00228.html#l00114">to_file()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="70fe02eba0ce7e8d83db9bc3340260af"></a><!-- doxytag: member="pqxx::largeobject::Reason" ref="70fe02eba0ce7e8d83db9bc3340260af" args="(int err) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">string pqxx::largeobject::Reason           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00262.html#l00331">pqxx::oid_none</a>, and <a class="el" href="a00261.html#l00273">pqxx::internal::strerror_wrapper()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00228.html#l00081">largeobject()</a>, <a class="el" href="a00228.html#l00128">remove()</a>, and <a class="el" href="a00228.html#l00114">to_file()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00229.html">largeobject.hxx</a><li><a class="el" href="a00138.html">largeobject.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00050.html">integrity_constraint_violation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00050.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00050.js
--- 3.1-1.1/doc/html/Reference/a00050.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00050.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00050 =
+[
+    [ "integrity_constraint_violation", "a00050.html#a9fa871a08c23b2722a42fa545cecd2ab", null ],
+    [ "integrity_constraint_violation", "a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00050.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00050.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00051.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00051.html
--- 3.1-1.1/doc/html/Reference/a00051.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00051.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,478 +1,142 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00051.html">largeobject_streambuf</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00051.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00230.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::largeobject_streambuf" -->Streambuf to use large objects in standard I/O streams.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00229.html">largeobject.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00584.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CHAR&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#d2ab29818af1ce91be638affa38398e6">char_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef TRAITS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#34194e8889862f6d05617de316caa69a">traits_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef traits_type::int_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef streamoff&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#8bde7bf4689040a1b2176547d0e422a8">off_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef streampos&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">largeobjectaccess::openmode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">largeobjectaccess::seekdir</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#21db56eb011dadccf79d3a7b4b930162">seekdir</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#861824ef8ee2abff9c36e9f01282752f">largeobject_streambuf</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00050.html">largeobject</a> O, <a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a> mode=std::ios::in|std::ios::out, size_type BufSize=512)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#88bd4f870abd57d1ceeac65295e3138b">largeobject_streambuf</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a> mode=std::ios::in|std::ios::out, size_type BufSize=512)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#e2f637254f3e65276bdcf3ddc17fad73">~largeobject_streambuf</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#553f2541bf0ecd55111057ff6de98252">process_notice</a> (const std::string &amp;s)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For use by large object stream classes.  <a href="#553f2541bf0ecd55111057ff6de98252"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#1f2be3c1026e59be027445a60b46a416">sync</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#55637c6a2fe0266ebbea046d0fda8276">seekoff</a> (<a class="el" href="a00051.html#8bde7bf4689040a1b2176547d0e422a8">off_type</a> offset, <a class="el" href="a00051.html#21db56eb011dadccf79d3a7b4b930162">seekdir</a> dir, <a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#0e8942a1a6e76067bf4c2a07320550ab">seekpos</a> (<a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a> pos, <a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#4f43f50130c87e488d0d754816815db0">overflow</a> (<a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a> ch=EoF())</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#d2e5df2bff74fcc60e7d68a083426189">underflow</a> ()</td></tr>
+<p>Internal error in libpqxx library.  
+ <a href="a00051.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::internal_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00051.png" usemap="#pqxx::internal_error_map" alt=""/>
+  <map id="pqxx::internal_error_map" name="pqxx::internal_error_map">
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,129,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4514fd8ae629c3e2524b1a8257abeb29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a4514fd8ae629c3e2524b1a8257abeb29">internal_error</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt;<br>
- class pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt;</h3>
-
-Streambuf to use large objects in standard I/O streams. 
-<p>
-The standard streambuf classes provide uniform access to data storage such as files or string buffers, so they can be accessed using standard input or output streams. This streambuf implementation provides similar access to large objects, so they can be read and written using the same stream classes.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This class may not work properly in compiler environments that don't fully support Standard-compliant streambufs, such as g++ 2.95 or older. </dd></dl>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="d2ab29818af1ce91be638affa38398e6"></a><!-- doxytag: member="pqxx::largeobject_streambuf::char_type" ref="d2ab29818af1ce91be638affa38398e6" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Internal error in libpqxx library. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4514fd8ae629c3e2524b1a8257abeb29"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">typedef CHAR <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#d2ab29818af1ce91be638affa38398e6">char_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="34194e8889862f6d05617de316caa69a"></a><!-- doxytag: member="pqxx::largeobject_streambuf::traits_type" ref="34194e8889862f6d05617de316caa69a" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef TRAITS <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#34194e8889862f6d05617de316caa69a">traits_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="bef9904baeab33e0a03b595c06993a46"></a><!-- doxytag: member="pqxx::largeobject_streambuf::int_type" ref="bef9904baeab33e0a03b595c06993a46" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef traits_type::int_type <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8bde7bf4689040a1b2176547d0e422a8"></a><!-- doxytag: member="pqxx::largeobject_streambuf::off_type" ref="8bde7bf4689040a1b2176547d0e422a8" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef streamoff <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#8bde7bf4689040a1b2176547d0e422a8">off_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b6ebcd93944dd5daf158fe4f278273f9"></a><!-- doxytag: member="pqxx::largeobject_streambuf::pos_type" ref="b6ebcd93944dd5daf158fe4f278273f9" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef streampos <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a5e6a54ca2e756775d0fd025a5d804c3"></a><!-- doxytag: member="pqxx::largeobject_streambuf::openmode" ref="a5e6a54ca2e756775d0fd025a5d804c3" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">largeobjectaccess::openmode</a> <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="21db56eb011dadccf79d3a7b4b930162"></a><!-- doxytag: member="pqxx::largeobject_streambuf::seekdir" ref="21db56eb011dadccf79d3a7b4b930162" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">largeobjectaccess::seekdir</a> <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html#21db56eb011dadccf79d3a7b4b930162">seekdir</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="861824ef8ee2abff9c36e9f01282752f"></a><!-- doxytag: member="pqxx::largeobject_streambuf::largeobject_streambuf" ref="861824ef8ee2abff9c36e9f01282752f" args="(dbtransaction &amp;T, largeobject O, openmode mode=std::ios::in|std::ios::out, size_type BufSize=512)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html">largeobject_streambuf</a>           </td>
+          <td class="memname">pqxx::internal_error::internal_error </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html">largeobject</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&nbsp;</td>
-          <td class="paramname"> <em>mode</em> = <code>std&nbsp;::ios::in&nbsp;|&nbsp;std&nbsp;::ios::out</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_type&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="88bd4f870abd57d1ceeac65295e3138b"></a><!-- doxytag: member="pqxx::largeobject_streambuf::largeobject_streambuf" ref="88bd4f870abd57d1ceeac65295e3138b" args="(dbtransaction &amp;T, oid O, openmode mode=std::ios::in|std::ios::out, size_type BufSize=512)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00051.html">largeobject_streambuf</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&nbsp;</td>
-          <td class="paramname"> <em>mode</em> = <code>std&nbsp;::ios::in&nbsp;|&nbsp;std&nbsp;::ios::out</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_type&nbsp;</td>
-          <td class="paramname"> <em>BufSize</em> = <code>512</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e2f637254f3e65276bdcf3ddc17fad73"></a><!-- doxytag: member="pqxx::largeobject_streambuf::~largeobject_streambuf" ref="e2f637254f3e65276bdcf3ddc17fad73" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::~<a class="el" href="a00051.html">largeobject_streambuf</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="553f2541bf0ecd55111057ff6de98252"></a><!-- doxytag: member="pqxx::largeobject_streambuf::process_notice" ref="553f2541bf0ecd55111057ff6de98252" args="(const std::string &amp;s)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::process_notice           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>s</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-For use by large object stream classes. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1f2be3c1026e59be027445a60b46a416"></a><!-- doxytag: member="pqxx::largeobject_streambuf::sync" ref="1f2be3c1026e59be027445a60b46a416" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual int <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::sync           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="55637c6a2fe0266ebbea046d0fda8276"></a><!-- doxytag: member="pqxx::largeobject_streambuf::seekoff" ref="55637c6a2fe0266ebbea046d0fda8276" args="(off_type offset, seekdir dir, openmode)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a> <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::seekoff           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00051.html#8bde7bf4689040a1b2176547d0e422a8">off_type</a>&nbsp;</td>
-          <td class="paramname"> <em>offset</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00051.html#21db56eb011dadccf79d3a7b4b930162">seekdir</a>&nbsp;</td>
-          <td class="paramname"> <em>dir</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&nbsp;</td>
-          <td class="paramname"></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0e8942a1a6e76067bf4c2a07320550ab"></a><!-- doxytag: member="pqxx::largeobject_streambuf::seekpos" ref="0e8942a1a6e76067bf4c2a07320550ab" args="(pos_type pos, openmode)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a> <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::seekpos           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00051.html#b6ebcd93944dd5daf158fe4f278273f9">pos_type</a>&nbsp;</td>
-          <td class="paramname"> <em>pos</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00051.html#a5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&nbsp;</td>
-          <td class="paramname"></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4f43f50130c87e488d0d754816815db0"></a><!-- doxytag: member="pqxx::largeobject_streambuf::overflow" ref="4f43f50130c87e488d0d754816815db0" args="(int_type ch=EoF())" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a> <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::overflow           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ch</em> = <code>EoF()</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="d2e5df2bff74fcc60e7d68a083426189"></a><!-- doxytag: member="pqxx::largeobject_streambuf::underflow" ref="d2e5df2bff74fcc60e7d68a083426189" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename CHAR = char, typename TRAITS = std ::char_traits&lt;CHAR&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00051.html#bef9904baeab33e0a03b595c06993a46">int_type</a> <a class="el" href="a00051.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::underflow           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00229.html">largeobject.hxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00051.html">internal_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00051.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00051.js
--- 3.1-1.1/doc/html/Reference/a00051.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00051.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00051 =
+[
+    [ "internal_error", "a00051.html#a4514fd8ae629c3e2524b1a8257abeb29", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00051.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00051.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00052.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00052.html
--- 3.1-1.1/doc/html/Reference/a00052.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00052.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,746 +1,174 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::largeobjectaccess Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::invalid_cursor_name Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00052.html">largeobjectaccess</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00052.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00245.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::invalid_cursor_name Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::largeobjectaccess Class Reference</h1><!-- doxytag: class="pqxx::largeobjectaccess" --><!-- doxytag: inherits="pqxx::largeobject" -->Accessor for large object's contents.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00229.html">largeobject.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::largeobjectaccess:</div>
-<div class="dynsection">
-<p><center><img src="a00581.png" border="0" usemap="#a00582" alt="Inheritance graph"></center>
-<map name="a00582">
-<area shape="rect" href="a00050.html" title="Identity of a large object." alt="" coords="27,6,157,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00583.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#cb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pos_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::ios::openmode&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open mode: <code>in</code>, <code>out</code> (can be combined with the "or" operator).  <a href="#95b7471118d29ec8f465b235812da3df"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::ios::seekdir&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">seekdir</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seek direction: <code>beg</code>, <code>cur</code>, <code>end</code>.  <a href="#bc29f768ad43e66eddf5396eccd82b2a"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create new large object and open it.  <a href="#6a83ff716d73bdf627d8ad29405b297d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#f58cb0a2bfe6da7b3d17a572fd4ae573">largeobjectaccess</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open large object with given oid.  <a href="#f58cb0a2bfe6da7b3d17a572fd4ae573"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#be93b38428b31cc1a533381f055fb3b8">largeobjectaccess</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, <a class="el" href="a00050.html">largeobject</a> O, <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open given large object.  <a href="#be93b38428b31cc1a533381f055fb3b8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a93b5a0de67a09ab92514670ebcca638">largeobjectaccess</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, const std::string &amp;File, <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Import large object from a local file and open it.  <a href="#a93b5a0de67a09ab92514670ebcca638"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#c984b12f6980c477bfd3d895576635a6">~largeobjectaccess</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#4adb675b5aed487e66d986fde3d54b4c">to_file</a> (const std::string &amp;File) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Export large object's contents to a local file.  <a href="#4adb675b5aed487e66d986fde3d54b4c"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">High-level access to object contents</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#d04b47cf5b016f02e855f5e9c0bbccae">write</a> (const char Buf[], <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a> Len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write data to large object.  <a href="#d04b47cf5b016f02e855f5e9c0bbccae"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aaad87ca613bccb90e5a8c61a45d83ef">write</a> (const std::string &amp;Buf)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write string to large object.  <a href="#aaad87ca613bccb90e5a8c61a45d83ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ac375f66e0a9fb817e4e59a1e73f6ba7">read</a> (char Buf[], <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a> Len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read data from large object.  <a href="#ac375f66e0a9fb817e4e59a1e73f6ba7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#e74922e23584d6410cf37f89f10c1a53">seek</a> (<a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a> dest, <a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">seekdir</a> dir)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seek in large object's data stream.  <a href="#e74922e23584d6410cf37f89f10c1a53"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#f81ac99156f3a319e8c021ac2e12da42">tell</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Report current position in large object's data stream.  <a href="#f81ac99156f3a319e8c021ac2e12da42"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Low-level access to object contents</div></td></tr>
-<tr><td colspan="2"><div class="groupText">These functions provide a more "C-like" access interface, returning special values instead of throwing exceptions on error. These functions are generally best avoided in favour of the high-level access functions, which behave more like C++ functions should. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pos_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#fa13d389b11eac8063ade1febb7a4e2c">cseek</a> (<a class="el" href="a00052.html#cb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a> dest, <a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">seekdir</a> dir)  throw ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seek in large object's data stream.  <a href="#fa13d389b11eac8063ade1febb7a4e2c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00052.html#cb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#0e047fa337f4df3838e983ca922fa7a5">cwrite</a> (const char Buf[], <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a> Len)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write to large object's data stream.  <a href="#0e047fa337f4df3838e983ca922fa7a5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00052.html#cb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#2552356fe475dc48fb5f3badb39cccc6">cread</a> (char Buf[], <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a> Len)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read from large object's data stream.  <a href="#2552356fe475dc48fb5f3badb39cccc6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pos_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ef7bc42d2a46bbb09c19c802616fa559">ctell</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Report current position in large object's data stream.  <a href="#ef7bc42d2a46bbb09c19c802616fa559"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Error/warning output</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#fb99c68925c9dad182c41036ead832ae">process_notice</a> (const std::string &amp;)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Issue message to transaction's notice processor.  <a href="#fb99c68925c9dad182c41036ead832ae"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::invalid_cursor_name:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00052.png" usemap="#pqxx::invalid_cursor_name_map" alt=""/>
+  <map id="pqxx::invalid_cursor_name_map" name="pqxx::invalid_cursor_name_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,161,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,161,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,161,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aaa48cdbce346a4c8e593a3dbe8d06fcd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aaa48cdbce346a4c8e593a3dbe8d06fcd">invalid_cursor_name</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:aa73214eba77d9c6cd048ea04f3f20c28"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aa73214eba77d9c6cd048ea04f3f20c28">invalid_cursor_name</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Accessor for large object's contents. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="cb1cfe19cef8d7b46ecddaa5f2231e9a"></a><!-- doxytag: member="pqxx::largeobjectaccess::off_type" ref="cb1cfe19cef8d7b46ecddaa5f2231e9a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef long <a class="el" href="a00052.html#cb1cfe19cef8d7b46ecddaa5f2231e9a">pqxx::largeobjectaccess::off_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ea8ca1d1275b9a68f8b991ef253e9067"></a><!-- doxytag: member="pqxx::largeobjectaccess::pos_type" ref="ea8ca1d1275b9a68f8b991ef253e9067" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a> <a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="95b7471118d29ec8f465b235812da3df"></a><!-- doxytag: member="pqxx::largeobjectaccess::openmode" ref="95b7471118d29ec8f465b235812da3df" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef std ::ios::openmode <a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">pqxx::largeobjectaccess::openmode</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Open mode: <code>in</code>, <code>out</code> (can be combined with the "or" operator). 
-<p>
-According to the C++ standard, these should be in <code>std::ios_base</code>. We take them from <code>std::ios</code> instead, which should be safe because it inherits the same definition, to accommodate gcc 2.95 &amp; 2.96. 
-</div>
-</div><p>
-<a class="anchor" name="bc29f768ad43e66eddf5396eccd82b2a"></a><!-- doxytag: member="pqxx::largeobjectaccess::seekdir" ref="bc29f768ad43e66eddf5396eccd82b2a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef std ::ios::seekdir <a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">pqxx::largeobjectaccess::seekdir</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Seek direction: <code>beg</code>, <code>cur</code>, <code>end</code>. 
-<p>
-According to the C++ standard, these should be in <code>std::ios_base</code>. We take them from <code>std::ios</code> instead, which should be safe because it inherits the same definition, to accommodate gcc 2.95 &amp; 2.96. 
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="6a83ff716d73bdf627d8ad29405b297d"></a><!-- doxytag: member="pqxx::largeobjectaccess::largeobjectaccess" ref="6a83ff716d73bdf627d8ad29405b297d" args="(dbtransaction &amp;T, openmode mode=std::ios::in|std::ios::out)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a>&nbsp;</td>
-          <td class="paramname"> <em>mode</em> = <code>std&nbsp;::ios::in&nbsp;|&nbsp;std&nbsp;::ios::out</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create new large object and open it. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in which the object is to be created </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00157">largeobjectaccess()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00228.html#l00157">largeobjectaccess()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f58cb0a2bfe6da7b3d17a572fd4ae573"></a><!-- doxytag: member="pqxx::largeobjectaccess::largeobjectaccess" ref="f58cb0a2bfe6da7b3d17a572fd4ae573" args="(dbtransaction &amp;T, oid O, openmode mode=std::ios::in|std::ios::out)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a>&nbsp;</td>
-          <td class="paramname"> <em>mode</em> = <code>std&nbsp;::ios::in&nbsp;|&nbsp;std&nbsp;::ios::out</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Open large object with given oid. 
-<p>
-Convert combination of a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> and object identifier into a large object identity. Does not affect the database. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which the object is to be accessed </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Object identifier for the given object </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00157">largeobjectaccess()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="be93b38428b31cc1a533381f055fb3b8"></a><!-- doxytag: member="pqxx::largeobjectaccess::largeobjectaccess" ref="be93b38428b31cc1a533381f055fb3b8" args="(dbtransaction &amp;T, largeobject O, openmode mode=std::ios::in|std::ios::out)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html">largeobject</a>&nbsp;</td>
-          <td class="paramname"> <em>O</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a>&nbsp;</td>
-          <td class="paramname"> <em>mode</em> = <code>std&nbsp;::ios::in&nbsp;|&nbsp;std&nbsp;::ios::out</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Open given large object. 
-<p>
-Open a large object with the given identity for reading and/or writing <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Transaction in which the object is to be accessed </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>O</em>&nbsp;</td><td>Identity for the large object to be accessed </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00157">largeobjectaccess()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a93b5a0de67a09ab92514670ebcca638"></a><!-- doxytag: member="pqxx::largeobjectaccess::largeobjectaccess" ref="a93b5a0de67a09ab92514670ebcca638" args="(dbtransaction &amp;T, const std::string &amp;File, openmode mode=std::ios::in|std::ios::out)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>File</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00052.html#95b7471118d29ec8f465b235812da3df">openmode</a>&nbsp;</td>
-          <td class="paramname"> <em>mode</em> = <code>std&nbsp;::ios::in&nbsp;|&nbsp;std&nbsp;::ios::out</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Import large object from a local file and open it. 
-<p>
-Creates a large object containing the data found in the given file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in which the large object is to be created </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>File</em>&nbsp;</td><td>A filename on the client program's filesystem </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00157">largeobjectaccess()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c984b12f6980c477bfd3d895576635a6"></a><!-- doxytag: member="pqxx::largeobjectaccess::~largeobjectaccess" ref="c984b12f6980c477bfd3d895576635a6" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::largeobjectaccess::~largeobjectaccess           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4adb675b5aed487e66d986fde3d54b4c"></a><!-- doxytag: member="pqxx::largeobjectaccess::to_file" ref="4adb675b5aed487e66d986fde3d54b4c" args="(const std::string &amp;File) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::largeobjectaccess::to_file           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>File</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Export large object's contents to a local file. 
-<p>
-Writes the data stored in the large object to the given file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>File</em>&nbsp;</td><td>A filename on the client's filesystem </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00114">pqxx::largeobject::to_file()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d04b47cf5b016f02e855f5e9c0bbccae"></a><!-- doxytag: member="pqxx::largeobjectaccess::write" ref="d04b47cf5b016f02e855f5e9c0bbccae" args="(const char Buf[], size_type Len)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::largeobjectaccess::write           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Buf</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>Len</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Write data to large object. 
-<p>
-If not all bytes could be written, an exception is thrown. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Buf</em>&nbsp;</td><td>Data to write </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Len</em>&nbsp;</td><td>Number of bytes from Buf to write </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00228.html#l00222">cwrite()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="aaad87ca613bccb90e5a8c61a45d83ef"></a><!-- doxytag: member="pqxx::largeobjectaccess::write" ref="aaad87ca613bccb90e5a8c61a45d83ef" args="(const std::string &amp;Buf)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aaa48cdbce346a4c8e593a3dbe8d06fcd"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::largeobjectaccess::write           </td>
+          <td class="memname">pqxx::invalid_cursor_name::invalid_cursor_name </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Buf</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Write string to large object. 
-<p>
-If not all bytes could be written, an exception is thrown. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Buf</em>&nbsp;</td><td>Data to write; no terminating zero is written </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="ac375f66e0a9fb817e4e59a1e73f6ba7"></a><!-- doxytag: member="pqxx::largeobjectaccess::read" ref="ac375f66e0a9fb817e4e59a1e73f6ba7" args="(char Buf[], size_type Len)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">pqxx::largeobjectaccess::size_type</a> pqxx::largeobjectaccess::read           </td>
-          <td>(</td>
-          <td class="paramtype">char&nbsp;</td>
-          <td class="paramname"> <em>Buf</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>Len</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read data from large object. 
-<p>
-Throws an exception if an error occurs while reading. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Buf</em>&nbsp;</td><td>Location to store the read data in </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Len</em>&nbsp;</td><td>Number of bytes to try and read </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes read, which may be less than the number requested if the end of the large object is reached </dd></dl>
-
-<p>References <a class="el" href="a00228.html#l00230">cread()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e74922e23584d6410cf37f89f10c1a53"></a><!-- doxytag: member="pqxx::largeobjectaccess::seek" ref="e74922e23584d6410cf37f89f10c1a53" args="(size_type dest, seekdir dir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">pqxx::largeobjectaccess::size_type</a> pqxx::largeobjectaccess::seek           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>dest</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">seekdir</a>&nbsp;</td>
-          <td class="paramname"> <em>dir</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Seek in large object's data stream. 
-<p>
-Throws an exception if an error occurs. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The new position in the large object </dd></dl>
-
-<p>References <a class="el" href="a00228.html#l00215">cseek()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f81ac99156f3a319e8c021ac2e12da42"></a><!-- doxytag: member="pqxx::largeobjectaccess::tell" ref="f81ac99156f3a319e8c021ac2e12da42" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">pqxx::largeobjectaccess::size_type</a> pqxx::largeobjectaccess::tell           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Report current position in large object's data stream. 
-<p>
-Throws an exception if an error occurs. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The current position in the large object </dd></dl>
-
-<p>References <a class="el" href="a00228.html#l00237">ctell()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="fa13d389b11eac8063ade1febb7a4e2c"></a><!-- doxytag: member="pqxx::largeobjectaccess::cseek" ref="fa13d389b11eac8063ade1febb7a4e2c" args="(off_type dest, seekdir dir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::cseek           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00052.html#cb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>&nbsp;</td>
-          <td class="paramname"> <em>dest</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00052.html#bc29f768ad43e66eddf5396eccd82b2a">seekdir</a>&nbsp;</td>
-          <td class="paramname"> <em>dir</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Seek in large object's data stream. 
-<p>
-Does not throw exception in case of error; inspect return value and <code>errno</code> instead. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>Offset to go to </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>Origin to which dest is relative: ios_base::beg (from beginning of the object), ios_base::cur (from current access position), or ios_base;:end (from end of object) </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>New position in large object, or -1 if an error occurred. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00228.html#l00200">seek()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="0e047fa337f4df3838e983ca922fa7a5"></a><!-- doxytag: member="pqxx::largeobjectaccess::cwrite" ref="0e047fa337f4df3838e983ca922fa7a5" args="(const char Buf[], size_type Len)" -->
+<a class="anchor" id="aa73214eba77d9c6cd048ea04f3f20c28"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::cwrite           </td>
+          <td class="memname">pqxx::invalid_cursor_name::invalid_cursor_name </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Buf</em>[], </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>Len</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Write to large object's data stream. 
-<p>
-Does not throw exception in case of error; inspect return value and <code>errno</code> instead. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Buf</em>&nbsp;</td><td>Data to write </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Len</em>&nbsp;</td><td>Number of bytes to write </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes actually written, or -1 if an error occurred. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00228.html#l00248">write()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="2552356fe475dc48fb5f3badb39cccc6"></a><!-- doxytag: member="pqxx::largeobjectaccess::cread" ref="2552356fe475dc48fb5f3badb39cccc6" args="(char Buf[], size_type Len)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::cread           </td>
-          <td>(</td>
-          <td class="paramtype">char&nbsp;</td>
-          <td class="paramname"> <em>Buf</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00050.html#546f724f294272c84c85ab4b4b415419">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>Len</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read from large object's data stream. 
-<p>
-Does not throw exception in case of error; inspect return value and <code>errno</code> instead. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Buf</em>&nbsp;</td><td>Area where incoming bytes should be stored </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Len</em>&nbsp;</td><td>Number of bytes to read </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes actually read, or -1 if an error occurred. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00228.html#l00270">read()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ef7bc42d2a46bbb09c19c802616fa559"></a><!-- doxytag: member="pqxx::largeobjectaccess::ctell" ref="ef7bc42d2a46bbb09c19c802616fa559" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00052.html#ea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::ctell           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Report current position in large object's data stream. 
-<p>
-Does not throw exception in case of error; inspect return value and <code>errno</code> instead. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Current position in large object, of -1 if an error occurred. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00228.html#l00306">tell()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fb99c68925c9dad182c41036ead832ae"></a><!-- doxytag: member="pqxx::largeobjectaccess::process_notice" ref="fb99c68925c9dad182c41036ead832ae" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::largeobjectaccess::process_notice           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>s</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Issue message to transaction's notice processor. 
-<p>
-
-<p>References <a class="el" href="a00258.html#l00285">pqxx::transaction_base::process_notice()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00229.html">largeobject.hxx</a><li><a class="el" href="a00138.html">largeobject.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00052.html">invalid_cursor_name</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00052.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00052.js
--- 3.1-1.1/doc/html/Reference/a00052.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00052.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00052 =
+[
+    [ "invalid_cursor_name", "a00052.html#aaa48cdbce346a4c8e593a3dbe8d06fcd", null ],
+    [ "invalid_cursor_name", "a00052.html#aa73214eba77d9c6cd048ea04f3f20c28", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00052.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00052.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00053.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00053.html
--- 3.1-1.1/doc/html/Reference/a00053.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00053.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,158 +1,174 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::namedclass Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::invalid_cursor_state Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00053.html">namedclass</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00053.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00243.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::invalid_cursor_state Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::namedclass Class Reference</h1><!-- doxytag: class="pqxx::internal::namedclass" --><code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::internal::namedclass:</div>
-<div class="dynsection">
-<p><center><img src="a00672.png" border="0" usemap="#a00673" alt="Inheritance graph"></center>
-<map name="a00673">
-<area shape="rect" href="a00106.html" title="pqxx::internal::transactionfocus" alt="" coords="245,118,467,145"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="272,194,440,221"><area shape="rect" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput." alt="" coords="540,144,647,170"><area shape="rect" href="a00097.html" title="&quot;Transaction&quot; nested within another transaction" alt="" coords="749,118,904,145"><area shape="rect" href="a00100.html" title="Base class for streaming data to/from database tables." alt="" coords="525,42,661,69"><area shape="rect" href="a00099.html" title="Efficiently pull data directly out of a table." alt="" coords="760,56,893,82"><area shape="rect" href="a00101.html" title="Efficiently write data directly to a database table." alt="" coords="764,5,889,32"><area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="520,245,667,272"><area shape="rect" href="a00055.html" title="pqxx::nontransaction" alt="" coords="516,194,671,221"><area shape="rect" href="a00008.html" title="pqxx::basic_robusttransaction" alt="" coords="721,245,932,272"><area shape="rect" href="a00009.html" title="pqxx::basic_transaction" alt="" coords="741,194,912,221"><area shape="rect" href="a00084.html" title="Slightly slower, better&#45;fortified version of transaction." alt="" coords="1003,245,1309,272"><area shape="rect" href="a00104.html" title="Standard back&#45;end transaction, templatized on isolation level." alt="" coords="983,194,1329,221"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00674.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#d703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#292619c92e2a1cfe56a2df07093f19b0">name</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#1baa5a7093c40b9b40521065e97cadcf">classname</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#b63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::invalid_cursor_state:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00053.png" usemap="#pqxx::invalid_cursor_state_map" alt=""/>
+  <map id="pqxx::invalid_cursor_state_map" name="pqxx::invalid_cursor_state_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,157,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,157,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,157,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a39081c92939fa3cca69441719eae3415"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a39081c92939fa3cca69441719eae3415">invalid_cursor_state</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a98b63bef3455bdde8a791fbb49ca97f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a98b63bef3455bdde8a791fbb49ca97f0">invalid_cursor_state</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d703d52d9d96025bf08d9da26f6829be"></a><!-- doxytag: member="pqxx::internal::namedclass::namedclass" ref="d703d52d9d96025bf08d9da26f6829be" args="(const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a39081c92939fa3cca69441719eae3415"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::namedclass::namedclass           </td>
+          <td class="memname">pqxx::invalid_cursor_state::invalid_cursor_state </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Classname</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em> = <code>&quot;&quot;</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="292619c92e2a1cfe56a2df07093f19b0"></a><!-- doxytag: member="pqxx::internal::namedclass::name" ref="292619c92e2a1cfe56a2df07093f19b0" args="() const " -->
+</div>
+<a class="anchor" id="a98b63bef3455bdde8a791fbb49ca97f0"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const std ::string&amp; pqxx::internal::namedclass::name           </td>
+          <td class="memname">pqxx::invalid_cursor_state::invalid_cursor_state </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00261.html#l00145">description()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1baa5a7093c40b9b40521065e97cadcf"></a><!-- doxytag: member="pqxx::internal::namedclass::classname" ref="1baa5a7093c40b9b40521065e97cadcf" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">const std ::string&amp; pqxx::internal::namedclass::classname           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00261.html#l00145">description()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b63de628429e771251ab8a2688ad407d"></a><!-- doxytag: member="pqxx::internal::namedclass::description" ref="b63de628429e771251ab8a2688ad407d" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">string pqxx::internal::namedclass::description           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00262.html#l00656">classname()</a>, and <a class="el" href="a00262.html#l00655">name()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00187">pqxx::transaction_base::abort()</a>, <a class="el" href="a00261.html#l00162">pqxx::internal::CheckUniqueRegistration()</a>, <a class="el" href="a00261.html#l00177">pqxx::internal::CheckUniqueUnregistration()</a>, <a class="el" href="a00257.html#l00111">pqxx::transaction_base::commit()</a>, <a class="el" href="a00257.html#l00348">pqxx::transaction_base::End()</a>, <a class="el" href="a00257.html#l00255">pqxx::transaction_base::exec()</a>, and <a class="el" href="a00257.html#l00079">pqxx::transaction_base::~transaction_base()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a><li><a class="el" href="a00172.html">util.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00053.html">invalid_cursor_state</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00053.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00053.js
--- 3.1-1.1/doc/html/Reference/a00053.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00053.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00053 =
+[
+    [ "invalid_cursor_state", "a00053.html#a39081c92939fa3cca69441719eae3415", null ],
+    [ "invalid_cursor_state", "a00053.html#a98b63bef3455bdde8a791fbb49ca97f0", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00053.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00053.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00054.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00054.html
--- 3.1-1.1/doc/html/Reference/a00054.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00054.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,108 +1,174 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::nonnoticer Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::invalid_sql_statement_name Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00054.html">nonnoticer</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00054.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00244.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::invalid_sql_statement_name Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::nonnoticer Struct Reference<br>
-<small>
-[<a class="el" href="a00198.html">Error/warning output</a>]</small>
-</h1><!-- doxytag: class="pqxx::nonnoticer" --><!-- doxytag: inherits="pqxx::noticer" -->No-op message <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a>; produces no output.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::nonnoticer:</div>
-<div class="dynsection">
-<p><center><img src="a00451.png" border="0" usemap="#a00452" alt="Inheritance graph"></center>
-<map name="a00452">
-<area shape="rect" href="a00057.html" title="Base class for user&#45;definable error/warning message processor." alt="" coords="17,6,121,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00453.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#59edacf42c1a404404f8850ec45c78ac">nonnoticer</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#bf821c1422588859a72a0c7213cf0e8e">operator()</a> (const char[])  throw ()</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::invalid_sql_statement_name:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00054.png" usemap="#pqxx::invalid_sql_statement_name_map" alt=""/>
+  <map id="pqxx::invalid_sql_statement_name_map" name="pqxx::invalid_sql_statement_name_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,198,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,198,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,198,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a733530a1cdef5f0c73c57ff4d46b3ae3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a733530a1cdef5f0c73c57ff4d46b3ae3">invalid_sql_statement_name</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:ab6cdfc77425f86d8f15af9726e079824"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#ab6cdfc77425f86d8f15af9726e079824">invalid_sql_statement_name</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-No-op message <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a>; produces no output. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="59edacf42c1a404404f8850ec45c78ac"></a><!-- doxytag: member="pqxx::nonnoticer::nonnoticer" ref="59edacf42c1a404404f8850ec45c78ac" args="()" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a733530a1cdef5f0c73c57ff4d46b3ae3"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::nonnoticer::nonnoticer           </td>
+          <td class="memname">pqxx::invalid_sql_statement_name::invalid_sql_statement_name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="bf821c1422588859a72a0c7213cf0e8e"></a><!-- doxytag: member="pqxx::nonnoticer::operator()" ref="bf821c1422588859a72a0c7213cf0e8e" args="(const char[])" -->
+</div>
+<a class="anchor" id="ab6cdfc77425f86d8f15af9726e079824"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">virtual void pqxx::nonnoticer::operator()           </td>
+          <td class="memname">pqxx::invalid_sql_statement_name::invalid_sql_statement_name </td>
           <td>(</td>
-          <td class="paramtype">const &nbsp;</td>
-          <td class="paramname"> <em>char</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Implements <a class="el" href="a00057.html#01162c0ad06017f49f8f34c401cfcb15">pqxx::noticer</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00054.html">invalid_sql_statement_name</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00054.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00054.js
--- 3.1-1.1/doc/html/Reference/a00054.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00054.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00054 =
+[
+    [ "invalid_sql_statement_name", "a00054.html#a733530a1cdef5f0c73c57ff4d46b3ae3", null ],
+    [ "invalid_sql_statement_name", "a00054.html#ab6cdfc77425f86d8f15af9726e079824", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00054.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00054.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00055.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00055.html
--- 3.1-1.1/doc/html/Reference/a00055.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00055.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,118 +1,332 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::nontransaction Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::prepare::invocation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00055.html">nontransaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00055.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00311.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::prepare::invocation Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::nontransaction Class Reference</h1><!-- doxytag: class="pqxx::nontransaction" --><!-- doxytag: inherits="pqxx::transaction_base" --><code>#include &lt;<a class="el" href="a00232.html">nontransaction.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::nontransaction:</div>
-<div class="dynsection">
-<p><center><img src="a00588.png" border="0" usemap="#a00589" alt="Inheritance graph"></center>
-<map name="a00589">
-<area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="17,84,185,111"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="5,7,197,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00590.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#8ed8b2f6aa96cef8508c84ee5369b390">nontransaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C, const std::string &amp;Name=std::string())</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#8ed8b2f6aa96cef8508c84ee5369b390"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#0069617cbc84ba559bdcdfdf3cd97f3b">~nontransaction</a> ()</td></tr>
+<p>Helper class for passing parameters to, and executing, prepared statements.  
+ <a href="a00055.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00152_source.html">prepared_statement.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7f15ffe53fbbeeafc0f4bc13c2981646"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#a7f15ffe53fbbeeafc0f4bc13c2981646">invocation</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;statement)</td></tr>
+<tr class="memitem:af937364fbb9bf4cead8c646220a4507d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#af937364fbb9bf4cead8c646220a4507d">exec</a> () const </td></tr>
+<tr class="memdesc:af937364fbb9bf4cead8c646220a4507d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute!  <a href="#af937364fbb9bf4cead8c646220a4507d"></a><br/></td></tr>
+<tr class="memitem:a06644bfe2c67479f5bcae0174cf8ae05"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#a06644bfe2c67479f5bcae0174cf8ae05">exists</a> () const </td></tr>
+<tr class="memdesc:a06644bfe2c67479f5bcae0174cf8ae05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has a statement of this name been defined?  <a href="#a06644bfe2c67479f5bcae0174cf8ae05"></a><br/></td></tr>
+<tr class="memitem:a10e6e640885617f52bf43d9e59477424"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">invocation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#a10e6e640885617f52bf43d9e59477424">operator()</a> ()</td></tr>
+<tr class="memdesc:a10e6e640885617f52bf43d9e59477424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass null parameter.  <a href="#a10e6e640885617f52bf43d9e59477424"></a><br/></td></tr>
+<tr class="memitem:a38c217d6210b26006af97dc23a4c014e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a38c217d6210b26006af97dc23a4c014e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00055.html">invocation</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00055.html#a38c217d6210b26006af97dc23a4c014e">operator()</a> (const T &amp;v)</td></tr>
+<tr class="memdesc:a38c217d6210b26006af97dc23a4c014e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass parameter value.  <a href="#a38c217d6210b26006af97dc23a4c014e"></a><br/></td></tr>
+<tr class="memitem:a7d1afea38e1c822c02560331b82d8dfe"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a7d1afea38e1c822c02560331b82d8dfe"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00055.html">invocation</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00055.html#a7d1afea38e1c822c02560331b82d8dfe">operator()</a> (const T &amp;v, bool nonnull)</td></tr>
+<tr class="memdesc:a7d1afea38e1c822c02560331b82d8dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass parameter value.  <a href="#a7d1afea38e1c822c02560331b82d8dfe"></a><br/></td></tr>
+<tr class="memitem:afe3111c309189f822255744df4fa8bff"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:afe3111c309189f822255744df4fa8bff"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00055.html">invocation</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00055.html#afe3111c309189f822255744df4fa8bff">operator()</a> (T *v, bool nonnull=true)</td></tr>
+<tr class="memdesc:afe3111c309189f822255744df4fa8bff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass C-style parameter string, or null if pointer is null.  <a href="#afe3111c309189f822255744df4fa8bff"></a><br/></td></tr>
+<tr class="memitem:ac0b4fbda217ac490ed72c923d02cdef3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">invocation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html#ac0b4fbda217ac490ed72c923d02cdef3">operator()</a> (const char *v, bool nonnull=true)</td></tr>
+<tr class="memdesc:ac0b4fbda217ac490ed72c923d02cdef3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass C-style string parameter, or null if pointer is null.  <a href="#ac0b4fbda217ac490ed72c923d02cdef3"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="8ed8b2f6aa96cef8508c84ee5369b390"></a><!-- doxytag: member="pqxx::nontransaction::nontransaction" ref="8ed8b2f6aa96cef8508c84ee5369b390" args="(connection_base &amp;C, const std::string &amp;Name=std::string())" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Helper class for passing parameters to, and executing, prepared statements. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a7f15ffe53fbbeeafc0f4bc13c2981646"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::nontransaction::nontransaction           </td>
+          <td class="memname">pqxx::prepare::invocation::invocation </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>home</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>statement</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="af937364fbb9bf4cead8c646220a4507d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">pqxx::result</a> pqxx::prepare::invocation::exec </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Execute! </p>
+
+<p>References <a class="el" href="a00087.html#af8afa32de4971796d6d15d73b7590b0a">pqxx::internal::scoped_array&lt; T &gt;::get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a06644bfe2c67479f5bcae0174cf8ae05"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::prepare::invocation::exists </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Has a statement of this name been defined? </p>
 
-<p>
-Constructor. 
-<p>
-Create a "dummy" <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Connection that this "transaction" will operate on. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Name</em>&nbsp;</td><td>Optional name for the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, beginning with a letter and containing only letters and digits. </td></tr>
+</div>
+</div>
+<a class="anchor" id="a10e6e640885617f52bf43d9e59477424"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00055.html">invocation</a>&amp; pqxx::prepare::invocation::operator() </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Pass null parameter. </p>
+
+</div>
+</div>
+<a class="anchor" id="a38c217d6210b26006af97dc23a4c014e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00055.html">invocation</a>&amp; pqxx::prepare::invocation::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Pass parameter value. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">v</td><td>parameter value (will be represented as a string internally) </td></tr>
   </table>
+  </dd>
 </dl>
 
 </div>
-</div><p>
-<a class="anchor" name="0069617cbc84ba559bdcdfdf3cd97f3b"></a><!-- doxytag: member="pqxx::nontransaction::~nontransaction" ref="0069617cbc84ba559bdcdfdf3cd97f3b" args="()" -->
+</div>
+<a class="anchor" id="a7d1afea38e1c822c02560331b82d8dfe"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::nontransaction::~nontransaction           </td>
+          <td class="memname"><a class="el" href="a00055.html">invocation</a>&amp; pqxx::prepare::invocation::operator() </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>nonnull</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Pass parameter value. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">v</td><td>parameter value (will be represented as a string internally) </td></tr>
+    <tr><td class="paramname">nonnull</td><td>replaces value with null if set to false </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="afe3111c309189f822255744df4fa8bff"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00055.html">invocation</a>&amp; pqxx::prepare::invocation::operator() </td>
+          <td>(</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>nonnull</em> = <code>true</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Pass C-style parameter string, or null if pointer is null. </p>
+<p>This version is for passing C-style strings; it's a template, so any pointer type that <code>to_string</code> accepts will do.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Be very careful with the special constant <code>NULL!</code> Since <code>NULL</code> in C++ is an <code>int</code>, not a pointer, a value of <code>NULL</code> would cause the wrong version of this template to be invoked. To all intents and purposes it would look like you were trying to pass a regular zero as an integer value, instead of a null string. This is not a problem with pointer variables that may happen to be <code>NULL</code>, since in that case the value's type is not subject to any confusion. So if you know at compile time that you want to pass a null value, use the zero-argument version of this operator; if you don't want to do that, at least add a second argument of <code>false</code> to make clear that you want a null, not a zero.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">v</td><td>parameter value (will be represented as a C++ string internally) </td></tr>
+    <tr><td class="paramname">nonnull</td><td>replaces value with null if set to <code>false</code> </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ac0b4fbda217ac490ed72c923d02cdef3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00055.html">invocation</a>&amp; pqxx::prepare::invocation::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>nonnull</em> = <code>true</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00257.html#l00348">pqxx::transaction_base::End()</a>.</p>
+<p>Pass C-style string parameter, or null if pointer is null. </p>
+<p>This duplicates the pointer-to-template-argument-type version of the operator, but helps compilers with less advanced template implementations disambiguate calls where C-style strings are passed. </p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00232.html">nontransaction.hxx</a><li><a class="el" href="a00141.html">nontransaction.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00152_source.html">prepared_statement.hxx</a></li>
+<li>prepared_statement.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00192.html">prepare</a></li><li class="navelem"><a class="el" href="a00055.html">invocation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00055.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00055.js
--- 3.1-1.1/doc/html/Reference/a00055.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00055.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,11 @@
+var a00055 =
+[
+    [ "invocation", "a00055.html#a7f15ffe53fbbeeafc0f4bc13c2981646", null ],
+    [ "exec", "a00055.html#af937364fbb9bf4cead8c646220a4507d", null ],
+    [ "exists", "a00055.html#a06644bfe2c67479f5bcae0174cf8ae05", null ],
+    [ "operator()", "a00055.html#a10e6e640885617f52bf43d9e59477424", null ],
+    [ "operator()", "a00055.html#a38c217d6210b26006af97dc23a4c014e", null ],
+    [ "operator()", "a00055.html#a7d1afea38e1c822c02560331b82d8dfe", null ],
+    [ "operator()", "a00055.html#afe3111c309189f822255744df4fa8bff", null ],
+    [ "operator()", "a00055.html#ac0b4fbda217ac490ed72c923d02cdef3", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00056.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00056.html
--- 3.1-1.1/doc/html/Reference/a00056.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00056.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,218 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::not_null_violation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::isolation_traits&lt; LEVEL &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00056.html">not_null_violation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00056.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00259.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::isolation_traits&lt; LEVEL &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::not_null_violation Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::not_null_violation" --><!-- doxytag: inherits="pqxx::integrity_constraint_violation" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::not_null_violation:</div>
-<div class="dynsection">
-<p><center><img src="a00517.png" border="0" usemap="#a00518" alt="Inheritance graph"></center>
-<map name="a00518">
-<area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="5,238,248,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="69,161,184,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="77,84,176,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="48,6,205,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00519.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#43eceacf51e6bb47d6bb90517a574c2a">not_null_violation</a> (const std::string &amp;err)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#5372bb4e822109abf338516fa6b0733e">not_null_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Traits class to describe an isolation level; primarly for libpqxx's own use.  
+ <a href="a00056.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00140_source.html">isolation.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa614c41bb7460c52684cbcc058a96ec3"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:aa614c41bb7460c52684cbcc058a96ec3"><td class="memTemplItemLeft" align="right" valign="top">const char *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00056.html#aa614c41bb7460c52684cbcc058a96ec3">name</a> () throw()</td></tr>
+<tr class="memitem:a5ea14e6598a2e7ac7b0ad7e1a9610873"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:a5ea14e6598a2e7ac7b0ad7e1a9610873"><td class="memTemplItemLeft" align="right" valign="top">const char *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00056.html#a5ea14e6598a2e7ac7b0ad7e1a9610873">name</a> () throw()</td></tr>
+<tr class="memitem:ab448a03b23a8e86e12cb21f495d941fc"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:ab448a03b23a8e86e12cb21f495d941fc"><td class="memTemplItemLeft" align="right" valign="top">const char *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00056.html#ab448a03b23a8e86e12cb21f495d941fc">name</a> () throw()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a7257515292c662b6247844ddbbd5d37d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8c">isolation_level</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a7257515292c662b6247844ddbbd5d37d">level</a> ()  throw ()</td></tr>
+<tr class="memitem:aa70d28518dfd8e0021c76e50e19da150"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#aa70d28518dfd8e0021c76e50e19da150">name</a> ()  throw ()</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="43eceacf51e6bb47d6bb90517a574c2a"></a><!-- doxytag: member="pqxx::not_null_violation::not_null_violation" ref="43eceacf51e6bb47d6bb90517a574c2a" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;isolation_level LEVEL&gt;<br/>
+struct pqxx::isolation_traits&lt; LEVEL &gt;</h3>
+
+<p>Traits class to describe an isolation level; primarly for libpqxx's own use. </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="a7257515292c662b6247844ddbbd5d37d"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level LEVEL&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::not_null_violation::not_null_violation           </td>
+          <td class="memname">static <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8c">isolation_level</a> <a class="el" href="a00056.html">pqxx::isolation_traits</a>&lt; LEVEL &gt;::level </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="5372bb4e822109abf338516fa6b0733e"></a><!-- doxytag: member="pqxx::not_null_violation::not_null_violation" ref="5372bb4e822109abf338516fa6b0733e" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="aa70d28518dfd8e0021c76e50e19da150"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level LEVEL&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::not_null_violation::not_null_violation           </td>
+          <td class="memname">static const char* <a class="el" href="a00056.html">pqxx::isolation_traits</a>&lt; LEVEL &gt;::name </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa614c41bb7460c52684cbcc058a96ec3"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;&gt; </div>
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="memname">const char * <a class="el" href="a00056.html">pqxx::isolation_traits</a>&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> throw()</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5ea14e6598a2e7ac7b0ad7e1a9610873"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;&gt; </div>
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="memname">const char * <a class="el" href="a00056.html">pqxx::isolation_traits</a>&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8caf572b93303ab779fc1b22a42b5ae6053">repeatable_read</a> &gt;::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> throw()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ab448a03b23a8e86e12cb21f495d941fc"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">const char * <a class="el" href="a00056.html">pqxx::isolation_traits</a>&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8ca022ad2c1a5b247f6cc5790909e708569">serializable</a> &gt;::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> throw()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00140_source.html">isolation.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00056.html">isolation_traits</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00056.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00056.js
--- 3.1-1.1/doc/html/Reference/a00056.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00056.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00056 =
+[
+    [ "level", "a00056.html#a7257515292c662b6247844ddbbd5d37d", null ],
+    [ "name", "a00056.html#aa70d28518dfd8e0021c76e50e19da150", null ],
+    [ "name", "a00056.html#aa614c41bb7460c52684cbcc058a96ec3", null ],
+    [ "name", "a00056.html#a5ea14e6598a2e7ac7b0ad7e1a9610873", null ],
+    [ "name", "a00056.html#ab448a03b23a8e86e12cb21f495d941fc", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00057.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00057.html
--- 3.1-1.1/doc/html/Reference/a00057.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00057.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,132 +1,359 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::noticer Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::items&lt; T, CONT &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00057.html">noticer</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00057.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00295.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::items&lt; T, CONT &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::noticer Struct Reference<br>
-<small>
-[<a class="el" href="a00198.html">Error/warning output</a>]</small>
-</h1><!-- doxytag: class="pqxx::noticer" -->Base class for user-definable error/warning message processor.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::noticer:</div>
-<div class="dynsection">
-<p><center><img src="a00448.png" border="0" usemap="#a00449" alt="Inheritance graph"></center>
-<map name="a00449">
-<area shape="rect" href="a00054.html" title="No&#45;op message noticer; produces no output." alt="" coords="5,84,133,110"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00450.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#fe85ed5eb8cbd2f7399a37be557af36f">noticer</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#38dbbfaebde807dc9801252469320281">~noticer</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#01162c0ad06017f49f8f34c401cfcb15">operator()</a> (const char Msg[])=0  throw ()</td></tr>
+<p>Container of items with easy contents initialization and string rendering.  
+ <a href="a00057.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a374e1532420a3b60b28dfc27dba994a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a374e1532420a3b60b28dfc27dba994a7">items</a> ()</td></tr>
+<tr class="memdesc:a374e1532420a3b60b28dfc27dba994a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create empty items list.  <a href="#a374e1532420a3b60b28dfc27dba994a7"></a><br/></td></tr>
+<tr class="memitem:aa9f1a5f279471ed644ab9ca78bdd78a3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#aa9f1a5f279471ed644ab9ca78bdd78a3">items</a> (const T &amp;t)</td></tr>
+<tr class="memdesc:aa9f1a5f279471ed644ab9ca78bdd78a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create items list with one element.  <a href="#aa9f1a5f279471ed644ab9ca78bdd78a3"></a><br/></td></tr>
+<tr class="memitem:acb295ee3294961c1dac99df59de64da9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#acb295ee3294961c1dac99df59de64da9">items</a> (const T &amp;t1, const T &amp;t2)</td></tr>
+<tr class="memitem:a1c4dad14844c77b90175e6ab0bc4a72b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a1c4dad14844c77b90175e6ab0bc4a72b">items</a> (const T &amp;t1, const T &amp;t2, const T &amp;t3)</td></tr>
+<tr class="memitem:a675386230923a7ceb4380cf880d05604"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a675386230923a7ceb4380cf880d05604">items</a> (const T &amp;t1, const T &amp;t2, const T &amp;t3, const T &amp;t4)</td></tr>
+<tr class="memitem:a806ffda069bc7790b213dbede7119051"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a806ffda069bc7790b213dbede7119051">items</a> (const T &amp;t1, const T &amp;t2, const T &amp;t3, const T &amp;t4, const T &amp;t5)</td></tr>
+<tr class="memitem:a31b6a81ea8deee77375d25bce93099e2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a31b6a81ea8deee77375d25bce93099e2">items</a> (const CONT &amp;c)</td></tr>
+<tr class="memdesc:a31b6a81ea8deee77375d25bce93099e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy container.  <a href="#a31b6a81ea8deee77375d25bce93099e2"></a><br/></td></tr>
+<tr class="memitem:a936efe3dfed125e4e61f3a76d460183a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00057.html">items</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a936efe3dfed125e4e61f3a76d460183a">operator()</a> (const T &amp;t)</td></tr>
+<tr class="memdesc:a936efe3dfed125e4e61f3a76d460183a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add element to items list.  <a href="#a936efe3dfed125e4e61f3a76d460183a"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for user-definable error/warning message processor. 
-<p>
-To define a custom method of handling notices, derive a new class from <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> and override the virtual function <div class="fragment"><pre class="fragment"> <a class="code" href="a00057.html#01162c0ad06017f49f8f34c401cfcb15">operator()</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>[]) throw() 
-</pre></div> to process the message passed to it. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="fe85ed5eb8cbd2f7399a37be557af36f"></a><!-- doxytag: member="pqxx::noticer::noticer" ref="fe85ed5eb8cbd2f7399a37be557af36f" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T = std::string, typename CONT = std::vector&lt;T&gt;&gt;<br/>
+class pqxx::items&lt; T, CONT &gt;</h3>
+
+<p>Container of items with easy contents initialization and string rendering. </p>
+<p>Designed as a wrapper around an arbitrary container type, this class lets you easily create a container object and provide its contents in the same line. Regular addition methods such as push_back() will also still work, but you can now write things like </p>
+<div class="fragment"><div class="line">items&lt;int&gt; numbers; numbers(1)(2)(3)(4);</div>
+</div><!-- fragment --><p>Up to five elements may be specified directly as constructor arguments, e.g. </p>
+<div class="fragment"><div class="line">items&lt;int&gt; numbers(1,2,3,4);</div>
+</div><!-- fragment --><p>One thing that cannot be done with this simple class is create const objects with nontrivial contents. This is because the function invocation operator (which is being used to add items) modifies the container rather than creating a new one. This was done to keep performance within reasonable bounds.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This class may see substantial change in its interface before it stabilizes. Do not count on it remaining the way it is. </dd></dl>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a374e1532420a3b60b28dfc27dba994a7"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::noticer::noticer           </td>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Create empty items list. </p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aa9f1a5f279471ed644ab9ca78bdd78a3"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Create items list with one element. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="38dbbfaebde807dc9801252469320281"></a><!-- doxytag: member="pqxx::noticer::~noticer" ref="38dbbfaebde807dc9801252469320281" args="()" -->
+</div>
+<a class="anchor" id="acb295ee3294961c1dac99df59de64da9"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">virtual pqxx::noticer::~noticer           </td>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a1c4dad14844c77b90175e6ab0bc4a72b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t3</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a675386230923a7ceb4380cf880d05604"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t3</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t4</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="01162c0ad06017f49f8f34c401cfcb15"></a><!-- doxytag: member="pqxx::noticer::operator()" ref="01162c0ad06017f49f8f34c401cfcb15" args="(const char Msg[])=0" -->
+</div>
+<a class="anchor" id="a806ffda069bc7790b213dbede7119051"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">virtual void pqxx::noticer::operator()           </td>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Msg</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [pure virtual]</code></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t3</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t4</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t5</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a31b6a81ea8deee77375d25bce93099e2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::<a class="el" href="a00057.html">items</a> </td>
+          <td>(</td>
+          <td class="paramtype">const CONT &amp;&#160;</td>
+          <td class="paramname"><em>c</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Copy container. </p>
 
-<p>
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a936efe3dfed125e4e61f3a76d460183a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T  = std::string, typename CONT  = std::vector&lt;T&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00057.html">items</a>&amp; <a class="el" href="a00057.html">pqxx::items</a>&lt; T, CONT &gt;::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>Implemented in <a class="el" href="a00054.html#bf821c1422588859a72a0c7213cf0e8e">pqxx::nonnoticer</a>.</p>
+<p>Add element to items list. </p>
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:49 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00057.html">items</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00057.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00057.js
--- 3.1-1.1/doc/html/Reference/a00057.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00057.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,11 @@
+var a00057 =
+[
+    [ "items", "a00057.html#a374e1532420a3b60b28dfc27dba994a7", null ],
+    [ "items", "a00057.html#aa9f1a5f279471ed644ab9ca78bdd78a3", null ],
+    [ "items", "a00057.html#acb295ee3294961c1dac99df59de64da9", null ],
+    [ "items", "a00057.html#a1c4dad14844c77b90175e6ab0bc4a72b", null ],
+    [ "items", "a00057.html#a675386230923a7ceb4380cf880d05604", null ],
+    [ "items", "a00057.html#a806ffda069bc7790b213dbede7119051", null ],
+    [ "items", "a00057.html#a31b6a81ea8deee77375d25bce93099e2", null ],
+    [ "operator()", "a00057.html#a936efe3dfed125e4e61f3a76d460183a", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00058.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00058.html
--- 3.1-1.1/doc/html/Reference/a00058.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00058.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,214 +1,576 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::notify_listener Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::largeobject Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00058.html">notify_listener</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00058.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="a00260.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::largeobject Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::notify_listener Class Reference</h1><!-- doxytag: class="pqxx::notify_listener" --><code>#include &lt;<a class="el" href="a00234.html">notify-listen.hxx</a>&gt;</code>
-<p>
 
-<p>
-<a href="a00591.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a017125bb75b03bef2da0159fa182699">notify_listener</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C, const std::string &amp;N)</td></tr>
+<p>Identity of a large object.  
+ <a href="a00058.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. Registers the listener with connection C.  <a href="#a017125bb75b03bef2da0159fa182699"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#c4593cefb4b75ef4373b2aa44d4bd061">~notify_listener</a> ()  throw ()</td></tr>
+<p><code>#include &lt;<a class="el" href="a00142_source.html">largeobject.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::largeobject:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00058.png" usemap="#pqxx::largeobject_map" alt=""/>
+  <map id="pqxx::largeobject_map" name="pqxx::largeobject_map">
+<area href="a00060.html" title="Accessor for large object&#39;s contents." alt="pqxx::largeobjectaccess" shape="rect" coords="0,56,146,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a546f724f294272c84c85ab4b4b415419"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2d076b22c335557dbe91f4793c315e7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a2d076b22c335557dbe91f4793c315e7d">largeobject</a> ()  throw ()</td></tr>
+<tr class="memdesc:a2d076b22c335557dbe91f4793c315e7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refer to a nonexistent large object (similar to what a null pointer does)  <a href="#a2d076b22c335557dbe91f4793c315e7d"></a><br/></td></tr>
+<tr class="memitem:ae3a035076692d93ef07ab636e47fcc81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ae3a035076692d93ef07ab636e47fcc81">largeobject</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T)</td></tr>
+<tr class="memdesc:ae3a035076692d93ef07ab636e47fcc81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new large object.  <a href="#ae3a035076692d93ef07ab636e47fcc81"></a><br/></td></tr>
+<tr class="memitem:af8257cb8d3c162acc233ae0fe9cef218"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#af8257cb8d3c162acc233ae0fe9cef218">largeobject</a> (<a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O)  throw ()</td></tr>
+<tr class="memdesc:af8257cb8d3c162acc233ae0fe9cef218"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap object with given oid.  <a href="#af8257cb8d3c162acc233ae0fe9cef218"></a><br/></td></tr>
+<tr class="memitem:a05267c2dfb94149e4f518c55fccf3748"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a05267c2dfb94149e4f518c55fccf3748">largeobject</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, const std::string &amp;File)</td></tr>
+<tr class="memdesc:a05267c2dfb94149e4f518c55fccf3748"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import large object from a local file.  <a href="#a05267c2dfb94149e4f518c55fccf3748"></a><br/></td></tr>
+<tr class="memitem:a8f0314b6756e5f246b1ea349820df64d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a8f0314b6756e5f246b1ea349820df64d">largeobject</a> (const <a class="el" href="a00060.html">largeobjectaccess</a> &amp;O)  throw ()</td></tr>
+<tr class="memdesc:a8f0314b6756e5f246b1ea349820df64d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take identity of an opened large object.  <a href="#a8f0314b6756e5f246b1ea349820df64d"></a><br/></td></tr>
+<tr class="memitem:ad84747d2fa7a02950b790ea2c1808309"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ad84747d2fa7a02950b790ea2c1808309">id</a> () const   throw ()</td></tr>
+<tr class="memdesc:ad84747d2fa7a02950b790ea2c1808309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object identifier.  <a href="#ad84747d2fa7a02950b790ea2c1808309"></a><br/></td></tr>
+<tr class="memitem:ad97df88e75558320c89ea4f39c35afe2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ad97df88e75558320c89ea4f39c35afe2">to_file</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, const std::string &amp;File) const </td></tr>
+<tr class="memdesc:ad97df88e75558320c89ea4f39c35afe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export large object's contents to a local file.  <a href="#ad97df88e75558320c89ea4f39c35afe2"></a><br/></td></tr>
+<tr class="memitem:a7976bf34f68473dd51809bf25682aa03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a7976bf34f68473dd51809bf25682aa03">remove</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T) const </td></tr>
+<tr class="memdesc:a7976bf34f68473dd51809bf25682aa03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete large object from database.  <a href="#a7976bf34f68473dd51809bf25682aa03"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Identity comparisons</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>These operators compare the object identifiers of large objects. This has nothing to do with the objects' actual contents; use them only for keeping track of containers of references to large objects and such. </p>
+</div></td></tr>
+<tr class="memitem:ad70e9d5356545289573e63f6272a7e52"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ad70e9d5356545289573e63f6272a7e52">operator==</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:ad70e9d5356545289573e63f6272a7e52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#ad70e9d5356545289573e63f6272a7e52"></a><br/></td></tr>
+<tr class="memitem:abea8ecd17b1ca3db757bb0b148c20295"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#abea8ecd17b1ca3db757bb0b148c20295">operator!=</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:abea8ecd17b1ca3db757bb0b148c20295"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#abea8ecd17b1ca3db757bb0b148c20295"></a><br/></td></tr>
+<tr class="memitem:a8467e3f29ce1f3748fd62737cfe63316"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a8467e3f29ce1f3748fd62737cfe63316">operator&lt;=</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:a8467e3f29ce1f3748fd62737cfe63316"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#a8467e3f29ce1f3748fd62737cfe63316"></a><br/></td></tr>
+<tr class="memitem:a72405b8ff94fd3f44fe786f5001409a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a72405b8ff94fd3f44fe786f5001409a0">operator&gt;=</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:a72405b8ff94fd3f44fe786f5001409a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#a72405b8ff94fd3f44fe786f5001409a0"></a><br/></td></tr>
+<tr class="memitem:a41efa409c912f937c51e31dc812f7a2e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a41efa409c912f937c51e31dc812f7a2e">operator&lt;</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:a41efa409c912f937c51e31dc812f7a2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#a41efa409c912f937c51e31dc812f7a2e"></a><br/></td></tr>
+<tr class="memitem:aa7d92ad25a5d4584dc8ff34041103ef2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#aa7d92ad25a5d4584dc8ff34041103ef2">operator&gt;</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:aa7d92ad25a5d4584dc8ff34041103ef2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#aa7d92ad25a5d4584dc8ff34041103ef2"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a70fe02eba0ce7e8d83db9bc3340260af"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a70fe02eba0ce7e8d83db9bc3340260af">Reason</a> (int err) const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a0357da0b565480de02030bf018a99e5a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a0357da0b565480de02030bf018a99e5a">RawConnection</a> (const <a class="el" href="a00032.html">dbtransaction</a> &amp;T)</td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Identity of a large object. </p>
+<p>This class encapsulates the identity of a large object. To access the contents of the object, create a largeobjectaccess, a <a class="el" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf</a>, or an ilostream, an olostream or a lostream around the largeobject.</p>
+<p>A largeobject must be accessed only from within a backend transaction, but the object's identity remains valid as long as the object exists. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a546f724f294272c84c85ab4b4b415419"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef long <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">pqxx::largeobject::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#6aacd0b5e8bd15ce1da7f8043436b0fd">name</a> () const </td></tr>
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a2d076b22c335557dbe91f4793c315e7d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobject::largeobject </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#0f8b3a6f5183bc9466fba30bd760af85">operator()</a> (int be_pid)=0</td></tr>
+<p>Refer to a nonexistent large object (similar to what a null pointer does) </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overridable: action to invoke when notification arrives.  <a href="#0f8b3a6f5183bc9466fba30bd760af85"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#183d105d5bd011d45843526004bc0f40">Conn</a> () const   throw ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="ae3a035076692d93ef07ab636e47fcc81"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobject::largeobject </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create new large object. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Backend transaction in which the object is to be created </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#9b6ca1f8939f82c391fecb7082364ec7">conn</a> () const   throw ()</td></tr>
+<p>References <a class="el" href="a00174.html#a1abfa7aae5089dad48d69a60a9e557e3">pqxx::oid_none</a>, <a class="el" href="a00058.html#a0357da0b565480de02030bf018a99e5a">RawConnection()</a>, and <a class="el" href="a00058.html#a70fe02eba0ce7e8d83db9bc3340260af">Reason()</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the connection that this listener listens on.  <a href="#9b6ca1f8939f82c391fecb7082364ec7"></a><br></td></tr>
+</div>
+</div>
+<a class="anchor" id="af8257cb8d3c162acc233ae0fe9cef218"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobject::largeobject </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td>
+          <td class="paramname"><em>O</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a017125bb75b03bef2da0159fa182699"></a><!-- doxytag: member="pqxx::notify_listener::notify_listener" ref="a017125bb75b03bef2da0159fa182699" args="(connection_base &amp;C, const std::string &amp;N)" -->
+</div><div class="memdoc">
+
+<p>Wrap object with given oid. </p>
+<p>Convert combination of a transaction and object identifier into a large object identity. Does not affect the database. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">O</td><td>Object identifier for the given object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a05267c2dfb94149e4f518c55fccf3748"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::notify_listener::notify_listener           </td>
+          <td class="memname">pqxx::largeobject::largeobject </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>N</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>File</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Import large object from a local file. </p>
+<p>Creates a large object containing the data found in the given file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Backend transaction in which the large object is to be created </td></tr>
+    <tr><td class="paramname">File</td><td>A filename on the client program's filesystem </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00174.html#a1abfa7aae5089dad48d69a60a9e557e3">pqxx::oid_none</a>, <a class="el" href="a00058.html#a0357da0b565480de02030bf018a99e5a">RawConnection()</a>, and <a class="el" href="a00058.html#a70fe02eba0ce7e8d83db9bc3340260af">Reason()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a8f0314b6756e5f246b1ea349820df64d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobject::largeobject </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00060.html">largeobjectaccess</a> &amp;&#160;</td>
+          <td class="paramname"><em>O</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Constructor. Registers the listener with connection C. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Connection this listener resides in. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>N</em>&nbsp;</td><td>Name of the notification to listen for. </td></tr>
+<p>Take identity of an opened large object. </p>
+<p>Copy identity of already opened large object. Note that this may be done as an implicit conversion. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">O</td><td>Already opened large object to copy identity from </td></tr>
   </table>
+  </dd>
 </dl>
 
 </div>
-</div><p>
-<a class="anchor" name="c4593cefb4b75ef4373b2aa44d4bd061"></a><!-- doxytag: member="pqxx::notify_listener::~notify_listener" ref="c4593cefb4b75ef4373b2aa44d4bd061" args="()" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ad84747d2fa7a02950b790ea2c1808309"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::notify_listener::~notify_listener           </td>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::largeobject::id </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Object identifier. </p>
+<p>The number returned by this function identifies the large object in the database we're connected to (or oid_none is returned if we refer to the null object). </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="abea8ecd17b1ca3db757bb0b148c20295"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::largeobject::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00058.html">largeobject</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Compare object identities. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Only valid between large objects in the same database. </dd></dl>
 
-<p>References <a class="el" href="a00234.html#l00088">conn()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a41efa409c912f937c51e31dc812f7a2e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::largeobject::operator&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00058.html">largeobject</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Compare object identities. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Only valid between large objects in the same database. </dd></dl>
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="6aacd0b5e8bd15ce1da7f8043436b0fd"></a><!-- doxytag: member="pqxx::notify_listener::name" ref="6aacd0b5e8bd15ce1da7f8043436b0fd" args="() const " -->
+</div>
+<a class="anchor" id="a8467e3f29ce1f3748fd62737cfe63316"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">const std ::string&amp; pqxx::notify_listener::name           </td>
+          <td class="memname">bool pqxx::largeobject::operator&lt;= </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const <a class="el" href="a00058.html">largeobject</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Compare object identities. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Only valid between large objects in the same database. </dd></dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ad70e9d5356545289573e63f6272a7e52"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::largeobject::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00058.html">largeobject</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Compare object identities. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Only valid between large objects in the same database. </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="0f8b3a6f5183bc9466fba30bd760af85"></a><!-- doxytag: member="pqxx::notify_listener::operator()" ref="0f8b3a6f5183bc9466fba30bd760af85" args="(int be_pid)=0" -->
+</div>
+<a class="anchor" id="aa7d92ad25a5d4584dc8ff34041103ef2"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">virtual void pqxx::notify_listener::operator()           </td>
+          <td class="memname">bool pqxx::largeobject::operator&gt; </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>be_pid</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [pure virtual]</code></td>
+          <td class="paramtype">const <a class="el" href="a00058.html">largeobject</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Compare object identities. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Only valid between large objects in the same database. </dd></dl>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a72405b8ff94fd3f44fe786f5001409a0"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::largeobject::operator&gt;= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00058.html">largeobject</a> &amp;&#160;</td>
+          <td class="paramname"><em>other</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Overridable: action to invoke when notification arrives. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>be_pid</em>&nbsp;</td><td>Process ID of the database backend process that served our connection when the notification arrived. The actual process ID behind the connection may have changed by the time this method is called. </td></tr>
-  </table>
-</dl>
+<p>Compare object identities. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Only valid between large objects in the same database. </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="183d105d5bd011d45843526004bc0f40"></a><!-- doxytag: member="pqxx::notify_listener::Conn" ref="183d105d5bd011d45843526004bc0f40" args="() const " -->
+</div>
+<a class="anchor" id="a0357da0b565480de02030bf018a99e5a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00020.html">connection_base</a>&amp; pqxx::notify_listener::Conn           </td>
+          <td class="memname"><a class="el" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">pqxx::internal::pq::PGconn</a> * pqxx::largeobject::RawConnection </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [protected]</code></td>
+          <td class="paramtype">const <a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">pqxx::transaction_base::conn()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00058.html#ae3a035076692d93ef07ab636e47fcc81">largeobject()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a70fe02eba0ce7e8d83db9bc3340260af"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">string pqxx::largeobject::Reason </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00174.html#a1abfa7aae5089dad48d69a60a9e557e3">pqxx::oid_none</a>, and <a class="el" href="a00189.html#a252084ebf8acdd095dba1e0a6dd52ba7">pqxx::internal::strerror_wrapper()</a>.</p>
 
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>Use <a class="el" href="a00058.html#9b6ca1f8939f82c391fecb7082364ec7" title="Get the connection that this listener listens on.">conn()</a> instead. </dd></dl>
+<p>Referenced by <a class="el" href="a00058.html#ae3a035076692d93ef07ab636e47fcc81">largeobject()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="9b6ca1f8939f82c391fecb7082364ec7"></a><!-- doxytag: member="pqxx::notify_listener::conn" ref="9b6ca1f8939f82c391fecb7082364ec7" args="() const " -->
+</div>
+<a class="anchor" id="a7976bf34f68473dd51809bf25682aa03"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00020.html">connection_base</a>&amp; pqxx::notify_listener::conn           </td>
+          <td class="memname">void pqxx::largeobject::remove </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [protected]</code></td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Delete large object from database. </p>
+<p>Unlike its low-level equivalent cunlink, this will throw an exception if deletion fails. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which the object is to be deleted </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ad97df88e75558320c89ea4f39c35afe2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::largeobject::to_file </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>File</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Get the connection that this listener listens on. 
-<p>
+<p>Export large object's contents to a local file. </p>
+<p>Writes the data stored in the large object to the given file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which the object is to be accessed </td></tr>
+    <tr><td class="paramname">File</td><td>A filename on the client's filesystem </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<p>References <a class="el" href="a00218.html#l00673">m_conn</a>.</p>
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
 
-<p>Referenced by <a class="el" href="a00233.html#l00038">~notify_listener()</a>.</p>
+<p>Referenced by <a class="el" href="a00060.html#a4adb675b5aed487e66d986fde3d54b4c">pqxx::largeobjectaccess::to_file()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00234.html">notify-listen.hxx</a><li><a class="el" href="a00143.html">notify-listen.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00142_source.html">largeobject.hxx</a></li>
+<li>largeobject.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00058.html">largeobject</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00058.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00058.js
--- 3.1-1.1/doc/html/Reference/a00058.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00058.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,20 @@
+var a00058 =
+[
+    [ "size_type", "a00058.html#a546f724f294272c84c85ab4b4b415419", null ],
+    [ "largeobject", "a00058.html#a2d076b22c335557dbe91f4793c315e7d", null ],
+    [ "largeobject", "a00058.html#ae3a035076692d93ef07ab636e47fcc81", null ],
+    [ "largeobject", "a00058.html#af8257cb8d3c162acc233ae0fe9cef218", null ],
+    [ "largeobject", "a00058.html#a05267c2dfb94149e4f518c55fccf3748", null ],
+    [ "largeobject", "a00058.html#a8f0314b6756e5f246b1ea349820df64d", null ],
+    [ "id", "a00058.html#ad84747d2fa7a02950b790ea2c1808309", null ],
+    [ "operator!=", "a00058.html#abea8ecd17b1ca3db757bb0b148c20295", null ],
+    [ "operator<", "a00058.html#a41efa409c912f937c51e31dc812f7a2e", null ],
+    [ "operator<=", "a00058.html#a8467e3f29ce1f3748fd62737cfe63316", null ],
+    [ "operator==", "a00058.html#ad70e9d5356545289573e63f6272a7e52", null ],
+    [ "operator>", "a00058.html#aa7d92ad25a5d4584dc8ff34041103ef2", null ],
+    [ "operator>=", "a00058.html#a72405b8ff94fd3f44fe786f5001409a0", null ],
+    [ "RawConnection", "a00058.html#a0357da0b565480de02030bf018a99e5a", null ],
+    [ "Reason", "a00058.html#a70fe02eba0ce7e8d83db9bc3340260af", null ],
+    [ "remove", "a00058.html#a7976bf34f68473dd51809bf25682aa03", null ],
+    [ "to_file", "a00058.html#ad97df88e75558320c89ea4f39c35afe2", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00058.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00058.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00059.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00059.html
--- 3.1-1.1/doc/html/Reference/a00059.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00059.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,150 +1,511 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: std::numeric_limits&lt; T &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00191.html">std</a>::<a class="el" href="a00059.html">numeric_limits</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00059.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00262.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>std::numeric_limits&lt; T &gt; Struct Template Reference</h1><!-- doxytag: class="std::numeric_limits" -->Work around lacking "limits" header.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00209.html">compiler-internal.hxx</a>&gt;</code>
-<p>
 
-<p>
-<a href="a00684.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00059.html#39c7961a9295a59ee32b00375369d100">max</a> () throw()</td></tr>
+<p>Streambuf to use large objects in standard I/O streams.  
+ <a href="a00059.html#details">More...</a></p>
 
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00059.html#3f5cc6dccd50c12e7edaa9affc9ce0c8">min</a> () throw()</td></tr>
+<p><code>#include &lt;<a class="el" href="a00142_source.html">largeobject.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad2ab29818af1ce91be638affa38398e6"><td class="memItemLeft" align="right" valign="top">typedef CHAR&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#ad2ab29818af1ce91be638affa38398e6">char_type</a></td></tr>
+<tr class="memitem:a34194e8889862f6d05617de316caa69a"><td class="memItemLeft" align="right" valign="top">typedef TRAITS&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a34194e8889862f6d05617de316caa69a">traits_type</a></td></tr>
+<tr class="memitem:abef9904baeab33e0a03b595c06993a46"><td class="memItemLeft" align="right" valign="top">typedef traits_type::int_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a></td></tr>
+<tr class="memitem:a8bde7bf4689040a1b2176547d0e422a8"><td class="memItemLeft" align="right" valign="top">typedef streamoff&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">off_type</a></td></tr>
+<tr class="memitem:ab6ebcd93944dd5daf158fe4f278273f9"><td class="memItemLeft" align="right" valign="top">typedef streampos&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a></td></tr>
+<tr class="memitem:aa5e6a54ca2e756775d0fd025a5d804c3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">largeobjectaccess::openmode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a></td></tr>
+<tr class="memitem:a21db56eb011dadccf79d3a7b4b930162"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">largeobjectaccess::seekdir</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a21db56eb011dadccf79d3a7b4b930162">seekdir</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a861824ef8ee2abff9c36e9f01282752f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a861824ef8ee2abff9c36e9f01282752f">largeobject_streambuf</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00058.html">largeobject</a> O, <a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a> mode=std::ios::in|std::ios::out, size_type BufSize=512)</td></tr>
+<tr class="memitem:a88bd4f870abd57d1ceeac65295e3138b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a88bd4f870abd57d1ceeac65295e3138b">largeobject_streambuf</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a> mode=std::ios::in|std::ios::out, size_type BufSize=512)</td></tr>
+<tr class="memitem:ae2f637254f3e65276bdcf3ddc17fad73"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#ae2f637254f3e65276bdcf3ddc17fad73">~largeobject_streambuf</a> ()  throw ()</td></tr>
+<tr class="memitem:a553f2541bf0ecd55111057ff6de98252"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a553f2541bf0ecd55111057ff6de98252">process_notice</a> (const std::string &amp;s)</td></tr>
+<tr class="memdesc:a553f2541bf0ecd55111057ff6de98252"><td class="mdescLeft">&#160;</td><td class="mdescRight">For use by large object stream classes.  <a href="#a553f2541bf0ecd55111057ff6de98252"></a><br/></td></tr>
+<tr class="memitem:a1f2be3c1026e59be027445a60b46a416"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a1f2be3c1026e59be027445a60b46a416">sync</a> ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a55637c6a2fe0266ebbea046d0fda8276"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a55637c6a2fe0266ebbea046d0fda8276">seekoff</a> (<a class="el" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">off_type</a> offset, <a class="el" href="a00059.html#a21db56eb011dadccf79d3a7b4b930162">seekdir</a> dir, <a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>)</td></tr>
+<tr class="memitem:a0e8942a1a6e76067bf4c2a07320550ab"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a0e8942a1a6e76067bf4c2a07320550ab">seekpos</a> (<a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a> pos, <a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>)</td></tr>
+<tr class="memitem:a4f43f50130c87e488d0d754816815db0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#a4f43f50130c87e488d0d754816815db0">overflow</a> (<a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a> ch=EoF())</td></tr>
+<tr class="memitem:ad2e5df2bff74fcc60e7d68a083426189"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#ad2e5df2bff74fcc60e7d68a083426189">underflow</a> ()</td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename CHAR = char, typename TRAITS = std::char_traits&lt;CHAR&gt;&gt;<br/>
+class pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt;</h3>
+
+<p>Streambuf to use large objects in standard I/O streams. </p>
+<p>The standard streambuf classes provide uniform access to data storage such as files or string buffers, so they can be accessed using standard input or output streams. This streambuf implementation provides similar access to large objects, so they can be read and written using the same stream classes.</p>
+<dl class="section warning"><dt>Warning</dt><dd>This class may not work properly in compiler environments that don't fully support Standard-compliant streambufs, such as g++ 2.95 or older. </dd></dl>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ad2ab29818af1ce91be638affa38398e6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef CHAR <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#ad2ab29818af1ce91be638affa38398e6">char_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#e5fc707d9d6ebbac808a5fb6e26690f8">max</a> ()  throw ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="abef9904baeab33e0a03b595c06993a46"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef traits_type::int_type <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#672ff8f843f277b741fef22594a1d78f">min</a> ()  throw ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="a8bde7bf4689040a1b2176547d0e422a8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef streamoff <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">off_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename T&gt;<br>
- struct std::numeric_limits&lt; T &gt;</h3>
+</div>
+</div>
+<a class="anchor" id="aa5e6a54ca2e756775d0fd025a5d804c3"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">largeobjectaccess::openmode</a> <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-Work around lacking "limits" header. <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="e5fc707d9d6ebbac808a5fb6e26690f8"></a><!-- doxytag: member="std::numeric_limits::max" ref="e5fc707d9d6ebbac808a5fb6e26690f8" args="()" -->
+</div>
+</div>
+<a class="anchor" id="ab6ebcd93944dd5daf158fe4f278273f9"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static T <a class="el" href="a00059.html">std::numeric_limits</a>&lt; T &gt;::max           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="memname">typedef streampos <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a21db56eb011dadccf79d3a7b4b930162"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">largeobjectaccess::seekdir</a> <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#a21db56eb011dadccf79d3a7b4b930162">seekdir</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a34194e8889862f6d05617de316caa69a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef TRAITS <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html#a34194e8889862f6d05617de316caa69a">traits_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="672ff8f843f277b741fef22594a1d78f"></a><!-- doxytag: member="std::numeric_limits::min" ref="672ff8f843f277b741fef22594a1d78f" args="()" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a861824ef8ee2abff9c36e9f01282752f"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static T <a class="el" href="a00059.html">std::numeric_limits</a>&lt; T &gt;::min           </td>
+          <td class="memname"><a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html">largeobject_streambuf</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [static]</code></td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html">largeobject</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&#160;</td>
+          <td class="paramname"><em>mode</em> = <code>std::ios::in&#160;|&#160;std::ios::out</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_type&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a88bd4f870abd57d1ceeac65295e3138b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::<a class="el" href="a00059.html">largeobject_streambuf</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&#160;</td>
+          <td class="paramname"><em>mode</em> = <code>std::ios::in&#160;|&#160;std::ios::out</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_type&#160;</td>
+          <td class="paramname"><em>BufSize</em> = <code>512</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ae2f637254f3e65276bdcf3ddc17fad73"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::~<a class="el" href="a00059.html">largeobject_streambuf</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="39c7961a9295a59ee32b00375369d100"></a><!-- doxytag: member="std::numeric_limits::max" ref="39c7961a9295a59ee32b00375369d100" args="()" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a4f43f50130c87e488d0d754816815db0"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">long <a class="el" href="a00059.html">std::numeric_limits</a>&lt; long &gt;::max           </td>
+          <td class="memname">virtual <a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a> <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::overflow </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> throw()</td>
+          <td class="paramtype"><a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a>&#160;</td>
+          <td class="paramname"><em>ch</em> = <code>EoF()</code></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a553f2541bf0ecd55111057ff6de98252"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::process_notice </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>For use by large object stream classes. </p>
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a55637c6a2fe0266ebbea046d0fda8276"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a> <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::seekoff </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">off_type</a>&#160;</td>
+          <td class="paramname"><em>offset</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00059.html#a21db56eb011dadccf79d3a7b4b930162">seekdir</a>&#160;</td>
+          <td class="paramname"><em>dir</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="3f5cc6dccd50c12e7edaa9affc9ce0c8"></a><!-- doxytag: member="std::numeric_limits::min" ref="3f5cc6dccd50c12e7edaa9affc9ce0c8" args="()" -->
+</div>
+<a class="anchor" id="a0e8942a1a6e76067bf4c2a07320550ab"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;&gt; </div>
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">long <a class="el" href="a00059.html">std::numeric_limits</a>&lt; long &gt;::min           </td>
+          <td class="memname">virtual <a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a> <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::seekpos </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> throw()</td>
+          <td class="paramtype"><a class="el" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a>&#160;</td>
+          <td class="paramname"><em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a1f2be3c1026e59be027445a60b46a416"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual int <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::sync </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ad2e5df2bff74fcc60e7d68a083426189"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename CHAR  = char, typename TRAITS  = std::char_traits&lt;CHAR&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a> <a class="el" href="a00059.html">pqxx::largeobject_streambuf</a>&lt; CHAR, TRAITS &gt;::underflow </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00209.html">compiler-internal.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00142_source.html">largeobject.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00059.html">largeobject_streambuf</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00059.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00059.js
--- 3.1-1.1/doc/html/Reference/a00059.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00059.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,19 @@
+var a00059 =
+[
+    [ "char_type", "a00059.html#ad2ab29818af1ce91be638affa38398e6", null ],
+    [ "int_type", "a00059.html#abef9904baeab33e0a03b595c06993a46", null ],
+    [ "off_type", "a00059.html#a8bde7bf4689040a1b2176547d0e422a8", null ],
+    [ "openmode", "a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3", null ],
+    [ "pos_type", "a00059.html#ab6ebcd93944dd5daf158fe4f278273f9", null ],
+    [ "seekdir", "a00059.html#a21db56eb011dadccf79d3a7b4b930162", null ],
+    [ "traits_type", "a00059.html#a34194e8889862f6d05617de316caa69a", null ],
+    [ "largeobject_streambuf", "a00059.html#a861824ef8ee2abff9c36e9f01282752f", null ],
+    [ "largeobject_streambuf", "a00059.html#a88bd4f870abd57d1ceeac65295e3138b", null ],
+    [ "~largeobject_streambuf", "a00059.html#ae2f637254f3e65276bdcf3ddc17fad73", null ],
+    [ "overflow", "a00059.html#a4f43f50130c87e488d0d754816815db0", null ],
+    [ "process_notice", "a00059.html#a553f2541bf0ecd55111057ff6de98252", null ],
+    [ "seekoff", "a00059.html#a55637c6a2fe0266ebbea046d0fda8276", null ],
+    [ "seekpos", "a00059.html#a0e8942a1a6e76067bf4c2a07320550ab", null ],
+    [ "sync", "a00059.html#a1f2be3c1026e59be027445a60b46a416", null ],
+    [ "underflow", "a00059.html#ad2e5df2bff74fcc60e7d68a083426189", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00060.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00060.html
--- 3.1-1.1/doc/html/Reference/a00060.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00060.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,789 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::out_of_memory Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::largeobjectaccess Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00060.html">out_of_memory</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00060.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00261.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::largeobjectaccess Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::out_of_memory Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::out_of_memory" --><!-- doxytag: inherits="pqxx::insufficient_resources" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p>Accessor for large object's contents.  
+ <a href="a00060.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00142_source.html">largeobject.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::out_of_memory:</div>
-<div class="dynsection">
-<p><center><img src="a00559.png" border="0" usemap="#a00560" alt="Inheritance graph"></center>
-<map name="a00560">
-<area shape="rect" href="a00041.html" title="Resource shortage on the server." alt="" coords="5,238,203,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="47,161,161,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="55,84,153,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="25,6,183,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00561.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#d9880e47615592429d5cb9e3fda467f3">out_of_memory</a> (const std::string &amp;err)</td></tr>
+Inheritance diagram for pqxx::largeobjectaccess:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00060.png" usemap="#pqxx::largeobjectaccess_map" alt=""/>
+  <map id="pqxx::largeobjectaccess_map" name="pqxx::largeobjectaccess_map">
+<area href="a00058.html" title="Identity of a large object." alt="pqxx::largeobject" shape="rect" coords="0,0,146,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:acb1cfe19cef8d7b46ecddaa5f2231e9a"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a></td></tr>
+<tr class="memitem:aea8ca1d1275b9a68f8b991ef253e9067"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pos_type</a></td></tr>
+<tr class="memitem:a56b79eb0d4019b7bfd63a914a530f2ca"><td class="memItemLeft" align="right" valign="top">typedef std::ios::openmode&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a></td></tr>
+<tr class="memdesc:a56b79eb0d4019b7bfd63a914a530f2ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open mode: <code>in</code>, <code>out</code> (can be combined with the "or" operator)  <a href="#a56b79eb0d4019b7bfd63a914a530f2ca"></a><br/></td></tr>
+<tr class="memitem:adaa7a89a1902ba3f13be9c7ed6c1fa0b"><td class="memItemLeft" align="right" valign="top">typedef std::ios::seekdir&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">seekdir</a></td></tr>
+<tr class="memdesc:adaa7a89a1902ba3f13be9c7ed6c1fa0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek direction: <code>beg</code>, <code>cur</code>, <code>end</code>.  <a href="#adaa7a89a1902ba3f13be9c7ed6c1fa0b"></a><br/></td></tr>
+<tr class="memitem:a546f724f294272c84c85ab4b4b415419"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6a83ff716d73bdf627d8ad29405b297d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
+<tr class="memdesc:a6a83ff716d73bdf627d8ad29405b297d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new large object and open it.  <a href="#a6a83ff716d73bdf627d8ad29405b297d"></a><br/></td></tr>
+<tr class="memitem:af58cb0a2bfe6da7b3d17a572fd4ae573"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#af58cb0a2bfe6da7b3d17a572fd4ae573">largeobjectaccess</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O, <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
+<tr class="memdesc:af58cb0a2bfe6da7b3d17a572fd4ae573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open large object with given oid.  <a href="#af58cb0a2bfe6da7b3d17a572fd4ae573"></a><br/></td></tr>
+<tr class="memitem:abe93b38428b31cc1a533381f055fb3b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#abe93b38428b31cc1a533381f055fb3b8">largeobjectaccess</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, <a class="el" href="a00058.html">largeobject</a> O, <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
+<tr class="memdesc:abe93b38428b31cc1a533381f055fb3b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open given large object.  <a href="#abe93b38428b31cc1a533381f055fb3b8"></a><br/></td></tr>
+<tr class="memitem:aa93b5a0de67a09ab92514670ebcca638"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aa93b5a0de67a09ab92514670ebcca638">largeobjectaccess</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, const std::string &amp;File, <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a> mode=std::ios::in|std::ios::out)</td></tr>
+<tr class="memdesc:aa93b5a0de67a09ab92514670ebcca638"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import large object from a local file and open it.  <a href="#aa93b5a0de67a09ab92514670ebcca638"></a><br/></td></tr>
+<tr class="memitem:ac984b12f6980c477bfd3d895576635a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ac984b12f6980c477bfd3d895576635a6">~largeobjectaccess</a> ()  throw ()</td></tr>
+<tr class="memitem:a4adb675b5aed487e66d986fde3d54b4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a4adb675b5aed487e66d986fde3d54b4c">to_file</a> (const std::string &amp;File) const </td></tr>
+<tr class="memdesc:a4adb675b5aed487e66d986fde3d54b4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export large object's contents to a local file.  <a href="#a4adb675b5aed487e66d986fde3d54b4c"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">High-level access to object contents</div></td></tr>
+<tr class="memitem:ad04b47cf5b016f02e855f5e9c0bbccae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ad04b47cf5b016f02e855f5e9c0bbccae">write</a> (const char Buf[], <a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a> Len)</td></tr>
+<tr class="memdesc:ad04b47cf5b016f02e855f5e9c0bbccae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to large object.  <a href="#ad04b47cf5b016f02e855f5e9c0bbccae"></a><br/></td></tr>
+<tr class="memitem:aaaad87ca613bccb90e5a8c61a45d83ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aaaad87ca613bccb90e5a8c61a45d83ef">write</a> (const std::string &amp;Buf)</td></tr>
+<tr class="memdesc:aaaad87ca613bccb90e5a8c61a45d83ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write string to large object.  <a href="#aaaad87ca613bccb90e5a8c61a45d83ef"></a><br/></td></tr>
+<tr class="memitem:aac375f66e0a9fb817e4e59a1e73f6ba7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aac375f66e0a9fb817e4e59a1e73f6ba7">read</a> (char Buf[], <a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a> Len)</td></tr>
+<tr class="memdesc:aac375f66e0a9fb817e4e59a1e73f6ba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from large object.  <a href="#aac375f66e0a9fb817e4e59a1e73f6ba7"></a><br/></td></tr>
+<tr class="memitem:ae74922e23584d6410cf37f89f10c1a53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ae74922e23584d6410cf37f89f10c1a53">seek</a> (<a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a> dest, <a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">seekdir</a> dir)</td></tr>
+<tr class="memdesc:ae74922e23584d6410cf37f89f10c1a53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek in large object's data stream.  <a href="#ae74922e23584d6410cf37f89f10c1a53"></a><br/></td></tr>
+<tr class="memitem:af81ac99156f3a319e8c021ac2e12da42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#af81ac99156f3a319e8c021ac2e12da42">tell</a> () const </td></tr>
+<tr class="memdesc:af81ac99156f3a319e8c021ac2e12da42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Report current position in large object's data stream.  <a href="#af81ac99156f3a319e8c021ac2e12da42"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Low-level access to object contents</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>These functions provide a more "C-like" access interface, returning special values instead of throwing exceptions on error. These functions are generally best avoided in favour of the high-level access functions, which behave more like C++ functions should. </p>
+</div></td></tr>
+<tr class="memitem:afa13d389b11eac8063ade1febb7a4e2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#afa13d389b11eac8063ade1febb7a4e2c">cseek</a> (<a class="el" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a> dest, <a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">seekdir</a> dir)  throw ()</td></tr>
+<tr class="memdesc:afa13d389b11eac8063ade1febb7a4e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seek in large object's data stream.  <a href="#afa13d389b11eac8063ade1febb7a4e2c"></a><br/></td></tr>
+<tr class="memitem:a0e047fa337f4df3838e983ca922fa7a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a0e047fa337f4df3838e983ca922fa7a5">cwrite</a> (const char Buf[], <a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a> Len)  throw ()</td></tr>
+<tr class="memdesc:a0e047fa337f4df3838e983ca922fa7a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write to large object's data stream.  <a href="#a0e047fa337f4df3838e983ca922fa7a5"></a><br/></td></tr>
+<tr class="memitem:a2552356fe475dc48fb5f3badb39cccc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#a2552356fe475dc48fb5f3badb39cccc6">cread</a> (char Buf[], <a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a> Len)  throw ()</td></tr>
+<tr class="memdesc:a2552356fe475dc48fb5f3badb39cccc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from large object's data stream.  <a href="#a2552356fe475dc48fb5f3badb39cccc6"></a><br/></td></tr>
+<tr class="memitem:aef7bc42d2a46bbb09c19c802616fa559"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pos_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#aef7bc42d2a46bbb09c19c802616fa559">ctell</a> () const   throw ()</td></tr>
+<tr class="memdesc:aef7bc42d2a46bbb09c19c802616fa559"><td class="mdescLeft">&#160;</td><td class="mdescRight">Report current position in large object's data stream.  <a href="#aef7bc42d2a46bbb09c19c802616fa559"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Error/warning output</div></td></tr>
+<tr class="memitem:afb99c68925c9dad182c41036ead832ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#afb99c68925c9dad182c41036ead832ae">process_notice</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memdesc:afb99c68925c9dad182c41036ead832ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Issue message to transaction's notice processor.  <a href="#afb99c68925c9dad182c41036ead832ae"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00058"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00058')"><img src="closed.png" alt="-"/>&nbsp;Private Types inherited from <a class="el" href="a00058.html">pqxx::largeobject</a></td></tr>
+<tr class="memitem:a546f724f294272c84c85ab4b4b415419 inherit pub_types_a00058"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a></td></tr>
+<tr class="inherit_header pub_methods_a00058"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00058')"><img src="closed.png" alt="-"/>&nbsp;Private Member Functions inherited from <a class="el" href="a00058.html">pqxx::largeobject</a></td></tr>
+<tr class="memitem:a2d076b22c335557dbe91f4793c315e7d inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a2d076b22c335557dbe91f4793c315e7d">largeobject</a> ()  throw ()</td></tr>
+<tr class="memdesc:a2d076b22c335557dbe91f4793c315e7d inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Refer to a nonexistent large object (similar to what a null pointer does)  <a href="#a2d076b22c335557dbe91f4793c315e7d"></a><br/></td></tr>
+<tr class="memitem:ae3a035076692d93ef07ab636e47fcc81 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ae3a035076692d93ef07ab636e47fcc81">largeobject</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T)</td></tr>
+<tr class="memdesc:ae3a035076692d93ef07ab636e47fcc81 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new large object.  <a href="#ae3a035076692d93ef07ab636e47fcc81"></a><br/></td></tr>
+<tr class="memitem:af8257cb8d3c162acc233ae0fe9cef218 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#af8257cb8d3c162acc233ae0fe9cef218">largeobject</a> (<a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> O)  throw ()</td></tr>
+<tr class="memdesc:af8257cb8d3c162acc233ae0fe9cef218 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap object with given oid.  <a href="#af8257cb8d3c162acc233ae0fe9cef218"></a><br/></td></tr>
+<tr class="memitem:a05267c2dfb94149e4f518c55fccf3748 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a05267c2dfb94149e4f518c55fccf3748">largeobject</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, const std::string &amp;File)</td></tr>
+<tr class="memdesc:a05267c2dfb94149e4f518c55fccf3748 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Import large object from a local file.  <a href="#a05267c2dfb94149e4f518c55fccf3748"></a><br/></td></tr>
+<tr class="memitem:a8f0314b6756e5f246b1ea349820df64d inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a8f0314b6756e5f246b1ea349820df64d">largeobject</a> (const <a class="el" href="a00060.html">largeobjectaccess</a> &amp;O)  throw ()</td></tr>
+<tr class="memdesc:a8f0314b6756e5f246b1ea349820df64d inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take identity of an opened large object.  <a href="#a8f0314b6756e5f246b1ea349820df64d"></a><br/></td></tr>
+<tr class="memitem:ad84747d2fa7a02950b790ea2c1808309 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ad84747d2fa7a02950b790ea2c1808309">id</a> () const   throw ()</td></tr>
+<tr class="memdesc:ad84747d2fa7a02950b790ea2c1808309 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object identifier.  <a href="#ad84747d2fa7a02950b790ea2c1808309"></a><br/></td></tr>
+<tr class="memitem:ad97df88e75558320c89ea4f39c35afe2 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ad97df88e75558320c89ea4f39c35afe2">to_file</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, const std::string &amp;File) const </td></tr>
+<tr class="memdesc:ad97df88e75558320c89ea4f39c35afe2 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export large object's contents to a local file.  <a href="#ad97df88e75558320c89ea4f39c35afe2"></a><br/></td></tr>
+<tr class="memitem:a7976bf34f68473dd51809bf25682aa03 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a7976bf34f68473dd51809bf25682aa03">remove</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T) const </td></tr>
+<tr class="memdesc:a7976bf34f68473dd51809bf25682aa03 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete large object from database.  <a href="#a7976bf34f68473dd51809bf25682aa03"></a><br/></td></tr>
+<tr class="memitem:ad70e9d5356545289573e63f6272a7e52 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#ad70e9d5356545289573e63f6272a7e52">operator==</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:ad70e9d5356545289573e63f6272a7e52 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#ad70e9d5356545289573e63f6272a7e52"></a><br/></td></tr>
+<tr class="memitem:abea8ecd17b1ca3db757bb0b148c20295 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#abea8ecd17b1ca3db757bb0b148c20295">operator!=</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:abea8ecd17b1ca3db757bb0b148c20295 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#abea8ecd17b1ca3db757bb0b148c20295"></a><br/></td></tr>
+<tr class="memitem:a8467e3f29ce1f3748fd62737cfe63316 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a8467e3f29ce1f3748fd62737cfe63316">operator&lt;=</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:a8467e3f29ce1f3748fd62737cfe63316 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#a8467e3f29ce1f3748fd62737cfe63316"></a><br/></td></tr>
+<tr class="memitem:a72405b8ff94fd3f44fe786f5001409a0 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a72405b8ff94fd3f44fe786f5001409a0">operator&gt;=</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:a72405b8ff94fd3f44fe786f5001409a0 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#a72405b8ff94fd3f44fe786f5001409a0"></a><br/></td></tr>
+<tr class="memitem:a41efa409c912f937c51e31dc812f7a2e inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a41efa409c912f937c51e31dc812f7a2e">operator&lt;</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:a41efa409c912f937c51e31dc812f7a2e inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#a41efa409c912f937c51e31dc812f7a2e"></a><br/></td></tr>
+<tr class="memitem:aa7d92ad25a5d4584dc8ff34041103ef2 inherit pub_methods_a00058"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#aa7d92ad25a5d4584dc8ff34041103ef2">operator&gt;</a> (const <a class="el" href="a00058.html">largeobject</a> &amp;other) const </td></tr>
+<tr class="memdesc:aa7d92ad25a5d4584dc8ff34041103ef2 inherit pub_methods_a00058"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare object identities.  <a href="#aa7d92ad25a5d4584dc8ff34041103ef2"></a><br/></td></tr>
+<tr class="memitem:a70fe02eba0ce7e8d83db9bc3340260af inherit pro_methods_a00058"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html#a70fe02eba0ce7e8d83db9bc3340260af">Reason</a> (int err) const </td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Accessor for large object's contents. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="acb1cfe19cef8d7b46ecddaa5f2231e9a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef long <a class="el" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">pqxx::largeobjectaccess::off_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a56b79eb0d4019b7bfd63a914a530f2ca"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::ios::openmode <a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">pqxx::largeobjectaccess::openmode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#8e8d47b4cc8de8c9ebf4abcd39bee40b">out_of_memory</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Open mode: <code>in</code>, <code>out</code> (can be combined with the "or" operator) </p>
+<p>According to the C++ standard, these should be in <code>std::ios_base</code>. We take them from <code>std::ios</code> instead, which should be safe because it inherits the same definition, to accommodate gcc 2.95 &amp; 2.96. </p>
 
+</div>
+</div>
+<a class="anchor" id="aea8ca1d1275b9a68f8b991ef253e9067"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a> <a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adaa7a89a1902ba3f13be9c7ed6c1fa0b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::ios::seekdir <a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">pqxx::largeobjectaccess::seekdir</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Seek direction: <code>beg</code>, <code>cur</code>, <code>end</code>. </p>
+<p>According to the C++ standard, these should be in <code>std::ios_base</code>. We take them from <code>std::ios</code> instead, which should be safe because it inherits the same definition, to accommodate gcc 2.95 &amp; 2.96. </p>
+
+</div>
+</div>
+<a class="anchor" id="a546f724f294272c84c85ab4b4b415419"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef long <a class="el" href="a00058.html#a546f724f294272c84c85ab4b4b415419">pqxx::largeobject::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a6a83ff716d73bdf627d8ad29405b297d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a>&#160;</td>
+          <td class="paramname"><em>mode</em> = <code>std::ios::in&#160;|&#160;std::ios::out</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d9880e47615592429d5cb9e3fda467f3"></a><!-- doxytag: member="pqxx::out_of_memory::out_of_memory" ref="d9880e47615592429d5cb9e3fda467f3" args="(const std::string &amp;err)" -->
+</div><div class="memdoc">
+
+<p>Create new large object and open it. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Backend transaction in which the object is to be created </td></tr>
+    <tr><td class="paramname">mode</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00060.html#a6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00060.html#a6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af58cb0a2bfe6da7b3d17a572fd4ae573"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::out_of_memory::out_of_memory           </td>
+          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a>&#160;</td>
+          <td class="paramname"><em>mode</em> = <code>std::ios::in&#160;|&#160;std::ios::out</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Open large object with given oid. </p>
+<p>Convert combination of a transaction and object identifier into a large object identity. Does not affect the database. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which the object is to be accessed </td></tr>
+    <tr><td class="paramname">O</td><td>Object identifier for the given object </td></tr>
+    <tr><td class="paramname">mode</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00060.html#a6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="abe93b38428b31cc1a533381f055fb3b8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00058.html">largeobject</a>&#160;</td>
+          <td class="paramname"><em>O</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a>&#160;</td>
+          <td class="paramname"><em>mode</em> = <code>std::ios::in&#160;|&#160;std::ios::out</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Open given large object. </p>
+<p>Open a large object with the given identity for reading and/or writing </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Transaction in which the object is to be accessed </td></tr>
+    <tr><td class="paramname">O</td><td>Identity for the large object to be accessed </td></tr>
+    <tr><td class="paramname">mode</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
+  </table>
+  </dd>
+</dl>
 
+<p>References <a class="el" href="a00060.html#a6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<a class="anchor" name="8e8d47b4cc8de8c9ebf4abcd39bee40b"></a><!-- doxytag: member="pqxx::out_of_memory::out_of_memory" ref="8e8d47b4cc8de8c9ebf4abcd39bee40b" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+<a class="anchor" id="aa93b5a0de67a09ab92514670ebcca638"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::out_of_memory::out_of_memory           </td>
+          <td class="memname">pqxx::largeobjectaccess::largeobjectaccess </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>File</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">openmode</a>&#160;</td>
+          <td class="paramname"><em>mode</em> = <code>std::ios::in&#160;|&#160;std::ios::out</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Import large object from a local file and open it. </p>
+<p>Creates a large object containing the data found in the given file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Backend transaction in which the large object is to be created </td></tr>
+    <tr><td class="paramname">File</td><td>A filename on the client program's filesystem </td></tr>
+    <tr><td class="paramname">mode</td><td>Access mode, defaults to ios_base::in | ios_base::out </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00060.html#a6a83ff716d73bdf627d8ad29405b297d">largeobjectaccess()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="ac984b12f6980c477bfd3d895576635a6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::largeobjectaccess::~largeobjectaccess </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a2552356fe475dc48fb5f3badb39cccc6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::cread </td>
+          <td>(</td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>Buf</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td>
+          <td class="paramname"><em>Len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+<p>Read from large object's data stream. </p>
+<p>Does not throw exception in case of error; inspect return value and <code>errno</code> instead. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Buf</td><td>Area where incoming bytes should be stored </td></tr>
+    <tr><td class="paramname">Len</td><td>Number of bytes to read </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of bytes actually read, or -1 if an error occurred. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="afa13d389b11eac8063ade1febb7a4e2c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::cseek </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>&#160;</td>
+          <td class="paramname"><em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">seekdir</a>&#160;</td>
+          <td class="paramname"><em>dir</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Seek in large object's data stream. </p>
+<p>Does not throw exception in case of error; inspect return value and <code>errno</code> instead. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dest</td><td>Offset to go to </td></tr>
+    <tr><td class="paramname">dir</td><td>Origin to which dest is relative: ios_base::beg (from beginning of the object), ios_base::cur (from current access position), or ios_base;:end (from end of object) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>New position in large object, or -1 if an error occurred. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aef7bc42d2a46bbb09c19c802616fa559"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::ctell </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Report current position in large object's data stream. </p>
+<p>Does not throw exception in case of error; inspect return value and <code>errno</code> instead. </p>
+<dl class="section return"><dt>Returns</dt><dd>Current position in large object, of -1 if an error occurred. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a0e047fa337f4df3838e983ca922fa7a5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pqxx::largeobjectaccess::pos_type</a> pqxx::largeobjectaccess::cwrite </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Buf</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td>
+          <td class="paramname"><em>Len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write to large object's data stream. </p>
+<p>Does not throw exception in case of error; inspect return value and <code>errno</code> instead. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Buf</td><td>Data to write </td></tr>
+    <tr><td class="paramname">Len</td><td>Number of bytes to write </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of bytes actually written, or -1 if an error occurred. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="afb99c68925c9dad182c41036ead832ae"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::largeobjectaccess::process_notice </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Issue message to transaction's notice processor. </p>
+
+</div>
+</div>
+<a class="anchor" id="aac375f66e0a9fb817e4e59a1e73f6ba7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">pqxx::largeobjectaccess::size_type</a> pqxx::largeobjectaccess::read </td>
+          <td>(</td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>Buf</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td>
+          <td class="paramname"><em>Len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Read data from large object. </p>
+<p>Throws an exception if an error occurs while reading. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Buf</td><td>Location to store the read data in </td></tr>
+    <tr><td class="paramname">Len</td><td>Number of bytes to try and read </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of bytes read, which may be less than the number requested if the end of the large object is reached </dd></dl>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae74922e23584d6410cf37f89f10c1a53"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">pqxx::largeobjectaccess::size_type</a> pqxx::largeobjectaccess::seek </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td>
+          <td class="paramname"><em>dest</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">seekdir</a>&#160;</td>
+          <td class="paramname"><em>dir</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Seek in large object's data stream. </p>
+<p>Throws an exception if an error occurs. </p>
+<dl class="section return"><dt>Returns</dt><dd>The new position in the large object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af81ac99156f3a319e8c021ac2e12da42"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">pqxx::largeobjectaccess::size_type</a> pqxx::largeobjectaccess::tell </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Report current position in large object's data stream. </p>
+<p>Throws an exception if an error occurs. </p>
+<dl class="section return"><dt>Returns</dt><dd>The current position in the large object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4adb675b5aed487e66d986fde3d54b4c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::largeobjectaccess::to_file </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>File</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Export large object's contents to a local file. </p>
+<p>Writes the data stored in the large object to the given file. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">File</td><td>A filename on the client's filesystem </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00058.html#ad97df88e75558320c89ea4f39c35afe2">pqxx::largeobject::to_file()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad04b47cf5b016f02e855f5e9c0bbccae"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::largeobjectaccess::write </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Buf</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00060.html#a546f724f294272c84c85ab4b4b415419">size_type</a>&#160;</td>
+          <td class="paramname"><em>Len</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write data to large object. </p>
+<p>If not all bytes could be written, an exception is thrown. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Buf</td><td>Data to write </td></tr>
+    <tr><td class="paramname">Len</td><td>Number of bytes from Buf to write </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaaad87ca613bccb90e5a8c61a45d83ef"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::largeobjectaccess::write </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Buf</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write string to large object. </p>
+<p>If not all bytes could be written, an exception is thrown. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Buf</td><td>Data to write; no terminating zero is written </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00060.html#aaaad87ca613bccb90e5a8c61a45d83ef">write()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00060.html#aaaad87ca613bccb90e5a8c61a45d83ef">write()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00142_source.html">largeobject.hxx</a></li>
+<li>largeobject.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00060.html">largeobjectaccess</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00060.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00060.js
--- 3.1-1.1/doc/html/Reference/a00060.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00060.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,24 @@
+var a00060 =
+[
+    [ "off_type", "a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a", null ],
+    [ "openmode", "a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca", null ],
+    [ "pos_type", "a00060.html#aea8ca1d1275b9a68f8b991ef253e9067", null ],
+    [ "seekdir", "a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b", null ],
+    [ "size_type", "a00060.html#a546f724f294272c84c85ab4b4b415419", null ],
+    [ "largeobjectaccess", "a00060.html#a6a83ff716d73bdf627d8ad29405b297d", null ],
+    [ "largeobjectaccess", "a00060.html#af58cb0a2bfe6da7b3d17a572fd4ae573", null ],
+    [ "largeobjectaccess", "a00060.html#abe93b38428b31cc1a533381f055fb3b8", null ],
+    [ "largeobjectaccess", "a00060.html#aa93b5a0de67a09ab92514670ebcca638", null ],
+    [ "~largeobjectaccess", "a00060.html#ac984b12f6980c477bfd3d895576635a6", null ],
+    [ "cread", "a00060.html#a2552356fe475dc48fb5f3badb39cccc6", null ],
+    [ "cseek", "a00060.html#afa13d389b11eac8063ade1febb7a4e2c", null ],
+    [ "ctell", "a00060.html#aef7bc42d2a46bbb09c19c802616fa559", null ],
+    [ "cwrite", "a00060.html#a0e047fa337f4df3838e983ca922fa7a5", null ],
+    [ "process_notice", "a00060.html#afb99c68925c9dad182c41036ead832ae", null ],
+    [ "read", "a00060.html#aac375f66e0a9fb817e4e59a1e73f6ba7", null ],
+    [ "seek", "a00060.html#ae74922e23584d6410cf37f89f10c1a53", null ],
+    [ "tell", "a00060.html#af81ac99156f3a319e8c021ac2e12da42", null ],
+    [ "to_file", "a00060.html#a4adb675b5aed487e66d986fde3d54b4c", null ],
+    [ "write", "a00060.html#ad04b47cf5b016f02e855f5e9c0bbccae", null ],
+    [ "write", "a00060.html#aaaad87ca613bccb90e5a8c61a45d83ef", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00060.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00060.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00061.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00061.html
--- 3.1-1.1/doc/html/Reference/a00061.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00061.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,183 +1,198 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::parameterized_invocation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::namedclass Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00061.html">parameterized_invocation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00061.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00308.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::namedclass Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::parameterized_invocation Class Reference</h1><!-- doxytag: class="pqxx::internal::parameterized_invocation" --><code>#include &lt;<a class="el" href="a00258.html">transaction_base.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00664.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#5fa125c4885b76bd9c250e1d0692ad13">parameterized_invocation</a> (<a class="el" href="a00020.html">connection_base</a> &amp;, const std::string &amp;query)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00061.html">parameterized_invocation</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#96dd05cc41a36dcca337bd3971d354ab">operator()</a> ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00061.html">parameterized_invocation</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00061.html#89bdc59b1e9db9966e94ab81345df4e4">operator()</a> (const T &amp;v)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00061.html">parameterized_invocation</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00061.html#321a6229276352a8817be30f64071faa">operator()</a> (const T &amp;v, bool nonnull)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#bc61b203c68554dc43ccead818683b4a">exec</a> ()</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::internal::namedclass:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00061.png" usemap="#pqxx::internal::namedclass_map" alt=""/>
+  <map id="pqxx::internal::namedclass_map" name="pqxx::internal::namedclass_map">
+<area href="a00108.html" alt="pqxx::internal::transactionfocus" shape="rect" coords="324,56,638,80"/>
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="1620,56,1934,80"/>
+<area href="a00071.html" title="Processes several queries in FIFO manner, optimized for high throughput." alt="pqxx::pipeline" shape="rect" coords="0,112,314,136"/>
+<area href="a00099.html" title="&quot;Transaction&quot; nested within another transaction" alt="pqxx::subtransaction" shape="rect" coords="324,112,638,136"/>
+<area href="a00102.html" title="Base class for streaming data to/from database tables." alt="pqxx::tablestream" shape="rect" coords="648,112,962,136"/>
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="1458,112,1772,136"/>
+<area href="a00063.html" alt="pqxx::nontransaction" shape="rect" coords="1782,112,2096,136"/>
+<area href="a00101.html" title="Efficiently pull data directly out of a table." alt="pqxx::tablereader" shape="rect" coords="486,168,800,192"/>
+<area href="a00103.html" title="Efficiently write data directly to a database table." alt="pqxx::tablewriter" shape="rect" coords="810,168,1124,192"/>
+<area href="a00011.html" alt="pqxx::basic_robusttransaction" shape="rect" coords="1134,168,1448,192"/>
+<area href="a00012.html" alt="pqxx::basic_transaction" shape="rect" coords="1458,168,1772,192"/>
+<area href="a00099.html" title="&quot;Transaction&quot; nested within another transaction" alt="pqxx::subtransaction" shape="rect" coords="1782,168,2096,192"/>
+<area href="a00086.html" title="Slightly slower, better-fortified version of transaction." alt="pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;" shape="rect" coords="1134,224,1448,248"/>
+<area href="a00106.html" title="Standard back-end transaction, templatized on isolation level." alt="pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;" shape="rect" coords="1458,224,1772,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="5fa125c4885b76bd9c250e1d0692ad13"></a><!-- doxytag: member="pqxx::internal::parameterized_invocation::parameterized_invocation" ref="5fa125c4885b76bd9c250e1d0692ad13" args="(connection_base &amp;, const std::string &amp;query)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad703d52d9d96025bf08d9da26f6829be"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::parameterized_invocation::parameterized_invocation           </td>
+          <td class="memname">pqxx::internal::namedclass::namedclass </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>c</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Classname</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>query</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em> = <code>&quot;&quot;</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="96dd05cc41a36dcca337bd3971d354ab"></a><!-- doxytag: member="pqxx::internal::parameterized_invocation::operator()" ref="96dd05cc41a36dcca337bd3971d354ab" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00061.html">parameterized_invocation</a>&amp; pqxx::internal::parameterized_invocation::operator()           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="89bdc59b1e9db9966e94ab81345df4e4"></a><!-- doxytag: member="pqxx::internal::parameterized_invocation::operator()" ref="89bdc59b1e9db9966e94ab81345df4e4" args="(const T &amp;v)" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a9c216366ea21f1c9cd03b39410185cbb"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00061.html">parameterized_invocation</a>&amp; pqxx::internal::parameterized_invocation::operator()           </td>
+          <td class="memname">const std::string&amp; pqxx::internal::namedclass::classname </td>
           <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>v</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="321a6229276352a8817be30f64071faa"></a><!-- doxytag: member="pqxx::internal::parameterized_invocation::operator()" ref="321a6229276352a8817be30f64071faa" args="(const T &amp;v, bool nonnull)" -->
+</div>
+<a class="anchor" id="ab63de628429e771251ab8a2688ad407d"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00061.html">parameterized_invocation</a>&amp; pqxx::internal::parameterized_invocation::operator()           </td>
+          <td class="memname">string pqxx::internal::namedclass::description </td>
           <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>v</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>nonnull</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Referenced by <a class="el" href="a00189.html#a84149cf6f6b2c2a59ec021c6b2d2c01d">pqxx::internal::CheckUniqueRegistration()</a>, and <a class="el" href="a00189.html#a5194ce7692fe9bfe81cb3df3df30b165">pqxx::internal::CheckUniqueUnregistration()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="bc61b203c68554dc43ccead818683b4a"></a><!-- doxytag: member="pqxx::internal::parameterized_invocation::exec" ref="bc61b203c68554dc43ccead818683b4a" args="()" -->
+</div>
+<a class="anchor" id="a79dcce75176eef9d2d80fdc2ec2827a7"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html">pqxx::result</a> pqxx::internal::parameterized_invocation::exec           </td>
+          <td class="memname">const std::string&amp; pqxx::internal::namedclass::name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00262.html#l00624">pqxx::internal::scoped_array&lt; T &gt;::get()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00258.html">transaction_base.hxx</a><li><a class="el" href="a00167.html">transaction_base.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+<li>util.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00061.html">namedclass</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00061.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00061.js
--- 3.1-1.1/doc/html/Reference/a00061.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00061.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,7 @@
+var a00061 =
+[
+    [ "namedclass", "a00061.html#ad703d52d9d96025bf08d9da26f6829be", null ],
+    [ "classname", "a00061.html#a9c216366ea21f1c9cd03b39410185cbb", null ],
+    [ "description", "a00061.html#ab63de628429e771251ab8a2688ad407d", null ],
+    [ "name", "a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00061.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00061.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00062.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00062.html
--- 3.1-1.1/doc/html/Reference/a00062.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00062.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,410 +1,158 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pipeline Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::nonnoticer Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00062.html">pipeline</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00062.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00215.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::nonnoticer Struct Reference<div class="ingroups"><a class="el" href="a00201.html">Error/warning output</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pipeline Class Reference</h1><!-- doxytag: class="pqxx::pipeline" --><!-- doxytag: inherits="pqxx::internal::transactionfocus" -->Processes several queries in FIFO manner, optimized for high throughput.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00237.html">pipeline.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::pipeline:</div>
-<div class="dynsection">
-<p><center><img src="a00592.png" border="0" usemap="#a00593" alt="Inheritance graph"></center>
-<map name="a00593">
-<area shape="rect" href="a00106.html" title="pqxx::internal::transactionfocus" alt="" coords="5,84,227,111"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="20,7,212,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00594.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">query_id</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#41ad44c7f13ad198db938c84e25473a9">pipeline</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;Name=std::string())</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#b265dd1ed168022f92a207dd62bad5d1">~pipeline</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#839abbb0e60ac35e941a632027b4f917">insert</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add query to the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a>.  <a href="#839abbb0e60ac35e941a632027b4f917"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#7808218284e98bb5dffaf110defd1b33">complete</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for all ongoing or pending operations to complete.  <a href="#7808218284e98bb5dffaf110defd1b33"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#33a890c64efc37d76f3c649f145ff950">flush</a> ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forget all ongoing or pending operations and retrieved results.  <a href="#33a890c64efc37d76f3c649f145ff950"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#b375b0b4e02c7f1a48602c4186fbbbd7">cancel</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel ongoing query, if any.  <a href="#b375b0b4e02c7f1a48602c4186fbbbd7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#3d89c57d7619430a3847595d8fb902bc">is_finished</a> (<a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is <a class="el" href="a00076.html" title="Query or command result set.">result</a> for given query available?  <a href="#3d89c57d7619430a3847595d8fb902bc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#19c508710d0025993e41512f23de56be">retrieve</a> (<a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">query_id</a> qid)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve <a class="el" href="a00076.html" title="Query or command result set.">result</a> for given query.  <a href="#19c508710d0025993e41512f23de56be"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::pair&lt; <a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>, <a class="el" href="a00076.html">result</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#9edc9c6e50f25790c3707495ab9779dd">retrieve</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve oldest unretrieved <a class="el" href="a00076.html" title="Query or command result set.">result</a> (possibly wait for one).  <a href="#9edc9c6e50f25790c3707495ab9779dd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#5f5fe658349dcd9aed9c19faccf23ea4">empty</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#f94a53d0eecb7485cb135155f912ce8e">retain</a> (int retain_max=2)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum number of queries to retain before issuing them to the backend.  <a href="#f94a53d0eecb7485cb135155f912ce8e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#153e247a4f449ce8069379c4567738e9">resume</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resume retained query emission (harmless when not needed).  <a href="#153e247a4f449ce8069379c4567738e9"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>getquery</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>Query</b></td></tr>
+<p>No-op message noticer; produces no output.  
+ <a href="a00062.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::nonnoticer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00062.png" usemap="#pqxx::nonnoticer_map" alt=""/>
+  <map id="pqxx::nonnoticer_map" name="pqxx::nonnoticer_map">
+<area href="a00065.html" title="Base class for user-definable error/warning message processor." alt="pqxx::noticer" shape="rect" coords="0,0,103,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a59edacf42c1a404404f8850ec45c78ac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a59edacf42c1a404404f8850ec45c78ac">nonnoticer</a> ()</td></tr>
+<tr class="memitem:abf821c1422588859a72a0c7213cf0e8e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#abf821c1422588859a72a0c7213cf0e8e">operator()</a> (const char[])  throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00065"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00065')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00065.html">pqxx::noticer</a></td></tr>
+<tr class="memitem:afe85ed5eb8cbd2f7399a37be557af36f inherit pub_methods_a00065"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#afe85ed5eb8cbd2f7399a37be557af36f">noticer</a> ()</td></tr>
+<tr class="memitem:a38dbbfaebde807dc9801252469320281 inherit pub_methods_a00065"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a38dbbfaebde807dc9801252469320281">~noticer</a> ()  throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Processes several queries in FIFO manner, optimized for high throughput. 
-<p>
-Use a <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> if you want to execute queries without always sitting still while they execute. Result retrieval is decoupled from execution request; queries "go in at the front" and results "come out the back." Actually results may be retrieved in any order, if you want.<p>
-Feel free to pump as many queries into the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> as possible, even if they were generated after looking at a <a class="el" href="a00076.html" title="Query or command result set.">result</a> from the same <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a>. To get the best possible throughput, try to make insertion of queries run as far ahead of results retrieval as possible; issue each query as early as possible and retrieve their results as late as possible, so the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> has as many ongoing queries as possible at any given time. In other words, keep it busy!<p>
-One warning: if any of the queries you insert leads to a syntactic error, the error may be returned as if it were generated by an older query. Future versions may try to work around this if working in a <a class="el" href="a00055.html">nontransaction</a>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="b53d0c0294ef3c3c7147be2ab55bab0e"></a><!-- doxytag: member="pqxx::pipeline::query_id" ref="b53d0c0294ef3c3c7147be2ab55bab0e" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>No-op message noticer; produces no output. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a59edacf42c1a404404f8850ec45c78ac"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef long <a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">pqxx::pipeline::query_id</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="41ad44c7f13ad198db938c84e25473a9"></a><!-- doxytag: member="pqxx::pipeline::pipeline" ref="41ad44c7f13ad198db938c84e25473a9" args="(transaction_base &amp;, const std::string &amp;Name=std::string())" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::pipeline::pipeline           </td>
+          <td class="memname">pqxx::nonnoticer::nonnoticer </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b265dd1ed168022f92a207dd62bad5d1"></a><!-- doxytag: member="pqxx::pipeline::~pipeline" ref="b265dd1ed168022f92a207dd62bad5d1" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::pipeline::~pipeline           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00236.html#l00140">cancel()</a>, <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00258.html#l00068">pqxx::internal::transactionfocus::m_Trans</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="839abbb0e60ac35e941a632027b4f917"></a><!-- doxytag: member="pqxx::pipeline::insert" ref="839abbb0e60ac35e941a632027b4f917" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">pipeline::query_id</a> pqxx::pipeline::insert           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>q</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Add query to the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a>. 
-<p>
-Queries are accumulated in the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> and sent to the backend in a concatenated format, separated by semicolons. The queries you insert must not use this construct themselves, or the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> will get hopelessly confused! <dl class="return" compact><dt><b>Returns:</b></dt><dd>Identifier for this query, unique only within this <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> </dd></dl>
-
-<p>References <a class="el" href="a00236.html#l00031">pqxxassert</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7808218284e98bb5dffaf110defd1b33"></a><!-- doxytag: member="pqxx::pipeline::complete" ref="7808218284e98bb5dffaf110defd1b33" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::pipeline::complete           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Wait for all ongoing or pending operations to complete. 
-<p>
-Detaches from the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> when done. 
-<p>References <a class="el" href="a00236.html#l00031">pqxxassert</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="33a890c64efc37d76f3c649f145ff950"></a><!-- doxytag: member="pqxx::pipeline::flush" ref="33a890c64efc37d76f3c649f145ff950" args="()" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="abf821c1422588859a72a0c7213cf0e8e"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::pipeline::flush           </td>
+          <td class="memname">virtual void pqxx::nonnoticer::operator() </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Forget all ongoing or pending operations and retrieved results. 
-<p>
-Queries already sent to the backend may still be completed, depending on implementation and timing.<p>
-Any error state (unless caused by an <a class="el" href="a00186.html" title="Private namespace for libpqxx&#39;s internal use; do not access.">internal</a> error) will also be cleared. This is mostly useful in a <a class="el" href="a00055.html">nontransaction</a>, since a backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is aborted automatically when an error occurs.<p>
-Detaches from the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> when done. 
-</div>
-</div><p>
-<a class="anchor" name="b375b0b4e02c7f1a48602c4186fbbbd7"></a><!-- doxytag: member="pqxx::pipeline::cancel" ref="b375b0b4e02c7f1a48602c4186fbbbd7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::pipeline::cancel           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Cancel ongoing query, if any. 
-<p>
-May cancel any or all of the queries that have been inserted at this point whose results have not yet been retrieved. If the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> lives in a backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, that <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> may be left in a nonfunctional state in which it can only be aborted.<p>
-Therefore, either use this function in a <a class="el" href="a00055.html">nontransaction</a>, or abort the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> after calling it. 
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00258.html#l00068">pqxx::internal::transactionfocus::m_Trans</a>.</p>
-
-<p>Referenced by <a class="el" href="a00236.html#l00057">~pipeline()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3d89c57d7619430a3847595d8fb902bc"></a><!-- doxytag: member="pqxx::pipeline::is_finished" ref="3d89c57d7619430a3847595d8fb902bc" args="(query_id) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::pipeline::is_finished           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">pipeline::query_id</a>&nbsp;</td>
-          <td class="paramname"> <em>q</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is <a class="el" href="a00076.html" title="Query or command result set.">result</a> for given query available? 
-<p>
-
-<p>References <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="19c508710d0025993e41512f23de56be"></a><!-- doxytag: member="pqxx::pipeline::retrieve" ref="19c508710d0025993e41512f23de56be" args="(query_id qid)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html">result</a> pqxx::pipeline::retrieve           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>&nbsp;</td>
-          <td class="paramname"> <em>qid</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieve <a class="el" href="a00076.html" title="Query or command result set.">result</a> for given query. 
-<p>
-If the query failed for whatever reason, this will throw an exception. The function will block if the query has not finished yet. <dl class="warning" compact><dt><b>Warning:</b></dt><dd>If results are retrieved out-of-order, i.e. in a different order than the one in which their queries were inserted, errors may "propagate" to subsequent queries. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="9edc9c6e50f25790c3707495ab9779dd"></a><!-- doxytag: member="pqxx::pipeline::retrieve" ref="9edc9c6e50f25790c3707495ab9779dd" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pair&lt; <a class="el" href="a00062.html#b53d0c0294ef3c3c7147be2ab55bab0e">pipeline::query_id</a>, <a class="el" href="a00076.html">result</a> &gt; pqxx::pipeline::retrieve           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieve oldest unretrieved <a class="el" href="a00076.html" title="Query or command result set.">result</a> (possibly wait for one). 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The query's identifier and its <a class="el" href="a00076.html" title="Query or command result set.">result</a> set </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="5f5fe658349dcd9aed9c19faccf23ea4"></a><!-- doxytag: member="pqxx::pipeline::empty" ref="5f5fe658349dcd9aed9c19faccf23ea4" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::pipeline::empty           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f94a53d0eecb7485cb135155f912ce8e"></a><!-- doxytag: member="pqxx::pipeline::retain" ref="f94a53d0eecb7485cb135155f912ce8e" args="(int retain_max=2)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int pqxx::pipeline::retain           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>retain_max</em> = <code>2</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set maximum number of queries to retain before issuing them to the backend. 
-<p>
-The <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> will perform better if multiple queries are issued at once, but retaining queries until the results are needed (as opposed to issuing them to the backend immediately) may negate any performance benefits the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> can offer.<p>
-Recommended practice is to set this value no higher than the number of queries you intend to insert at a time. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>retain_max</em>&nbsp;</td><td>A nonnegative "retention capacity;" passing zero will cause queries to be issued immediately </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Old retention capacity </dd></dl>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00236.html#l00184">resume()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
+<p>Implements <a class="el" href="a00065.html#a01162c0ad06017f49f8f34c401cfcb15">pqxx::noticer</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="153e247a4f449ce8069379c4567738e9"></a><!-- doxytag: member="pqxx::pipeline::resume" ref="153e247a4f449ce8069379c4567738e9" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::pipeline::resume           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Resume retained query emission (harmless when not needed). 
-<p>
-
-<p>Referenced by <a class="el" href="a00236.html#l00169">retain()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00237.html">pipeline.hxx</a><li><a class="el" href="a00146.html">pipeline.cxx</a></ul>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00062.html">nonnoticer</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00062.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00062.js
--- 3.1-1.1/doc/html/Reference/a00062.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00062.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00062 =
+[
+    [ "nonnoticer", "a00062.html#a59edacf42c1a404404f8850ec45c78ac", null ],
+    [ "operator()", "a00062.html#abf821c1422588859a72a0c7213cf0e8e", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00062.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00062.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00063.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00063.html
--- 3.1-1.1/doc/html/Reference/a00063.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00063.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,117 +1,248 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::plpgsql_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::nontransaction Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00063.html">plpgsql_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00063.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00266.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::nontransaction Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::plpgsql_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::plpgsql_error" --><!-- doxytag: inherits="pqxx::sql_error" -->PL/pgSQL error.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::plpgsql_error:</div>
-<div class="dynsection">
-<p><center><img src="a00565.png" border="0" usemap="#a00566" alt="Inheritance graph"></center>
-<map name="a00566">
-<area shape="rect" href="a00064.html" title="pqxx::plpgsql_no_data_found" alt="" coords="5,316,211,342"><area shape="rect" href="a00065.html" title="Exception raised in PL/pgSQL procedure." alt="" coords="235,316,376,342"><area shape="rect" href="a00066.html" title="pqxx::plpgsql_too_many_rows" alt="" coords="400,316,611,342"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="248,161,363,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="256,84,355,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="227,6,384,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00567.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#bb0f0e6d4eaebe63d7409c244ffa9b06">plpgsql_error</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#346ab5182768a7a9b25c03e45890c601">plpgsql_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00145_source.html">nontransaction.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::nontransaction:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00063.png" usemap="#pqxx::nontransaction_map" alt=""/>
+  <map id="pqxx::nontransaction_map" name="pqxx::nontransaction_map">
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="0,56,157,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,157,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8ed8b2f6aa96cef8508c84ee5369b390"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a8ed8b2f6aa96cef8508c84ee5369b390">nontransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;Name=std::string())</td></tr>
+<tr class="memdesc:a8ed8b2f6aa96cef8508c84ee5369b390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a8ed8b2f6aa96cef8508c84ee5369b390"></a><br/></td></tr>
+<tr class="memitem:a0069617cbc84ba559bdcdfdf3cd97f3b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html#a0069617cbc84ba559bdcdfdf3cd97f3b">~nontransaction</a> ()</td></tr>
+<tr class="inherit_header pub_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:ad5ddea378795d92908af4b65e59d585a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ad5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
+<tr class="memitem:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
+<tr class="memdesc:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction.  <a href="#ab2cf42c4821aff7ff1cd906af9165725"></a><br/></td></tr>
+<tr class="memitem:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
+<tr class="memdesc:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the transaction.  <a href="#a955f2497216d9eae268ac662b46d5a45"></a><br/></td></tr>
+<tr class="memitem:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga98dee516d429520627fd94f5ccb2b023">esc</a> (const char str[]) const </td></tr>
+<tr class="memdesc:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga98dee516d429520627fd94f5ccb2b023"></a><br/></td></tr>
+<tr class="memitem:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb">esc</a> (const char str[], size_t maxlen) const </td></tr>
+<tr class="memdesc:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb"></a><br/></td></tr>
+<tr class="memitem:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244">esc</a> (const std::string &amp;str) const </td></tr>
+<tr class="memdesc:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244"></a><br/></td></tr>
+<tr class="memitem:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6048218f7af70cd0423429d54203749c">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
+<tr class="memdesc:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga6048218f7af70cd0423429d54203749c"></a><br/></td></tr>
+<tr class="memitem:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
+<tr class="memdesc:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga489c7438da9241486297a451a8579dc1"></a><br/></td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff">quote</a> (const T &amp;t) const </td></tr>
+<tr class="memdesc:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff"></a><br/></td></tr>
+<tr class="memitem:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memdesc:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query.  <a href="#aed91d0b8029795b477470e854c907c4b"></a><br/></td></tr>
+<tr class="memitem:a938732e87f924fee764cddd8390de20f inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memitem:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">internal::parameterized_invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
+<tr class="memdesc:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameterize a statement.  <a href="#a6ec73bd0d2a37553c8518e0ef428dee4"></a><br/></td></tr>
+<tr class="memitem:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
+<tr class="memdesc:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection this transaction is running in.  <a href="#aed167261c4d76876241b5f615b9b8c7a"></a><br/></td></tr>
+<tr class="memitem:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
+<tr class="memdesc:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable in this connection.  <a href="#ab7510be596a5a14014064c884a10fd93"></a><br/></td></tr>
+<tr class="memitem:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#a87f5147f2dc2dfbcc3b5aef4b461be86"></a><br/></td></tr>
+<tr class="memitem:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">prepare::invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
+<tr class="memdesc:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute prepared statement.  <a href="#a1357ac4f6330284129c91882a169276d"></a><br/></td></tr>
+<tr class="memitem:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
+<tr class="memdesc:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#a99f99eb85906a7541119c9098a36d799"></a><br/></td></tr>
+<tr class="memitem:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
+<tr class="memdesc:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#aa90bc6e1219ff68ef11e1d04b76c205c"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af5e1900b64239bac292f5505f7799654">isolation_tag</a></td></tr>
+<tr class="memdesc:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#af5e1900b64239bac292f5505f7799654"></a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, bool direct=true)</td></tr>
+<tr class="memdesc:a92fc088d2f2c3e1e5992b4e14c703684 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transaction (to be called by implementation classes only)  <a href="#a92fc088d2f2c3e1e5992b4e14c703684"></a><br/></td></tr>
+<tr class="memitem:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">Begin</a> ()</td></tr>
+<tr class="memdesc:a1d2a8554499cbd93ff8c2bf5c15843ff inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin transaction (to be called by implementing class)  <a href="#a1d2a8554499cbd93ff8c2bf5c15843ff"></a><br/></td></tr>
+<tr class="memitem:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136">End</a> ()  throw ()</td></tr>
+<tr class="memdesc:af2ddcd7f1def9dfd3f15c0f3242b9136 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">End transaction. To be called by implementing class' destructor.  <a href="#af2ddcd7f1def9dfd3f15c0f3242b9136"></a><br/></td></tr>
+<tr class="memitem:aa80a7816f63c425c28cd4037aaa8cf8f inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa80a7816f63c425c28cd4037aaa8cf8f">do_begin</a> ()=0</td></tr>
+<tr class="memdesc:aa80a7816f63c425c28cd4037aaa8cf8f inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: start transaction.  <a href="#aa80a7816f63c425c28cd4037aaa8cf8f"></a><br/></td></tr>
+<tr class="memitem:a6f587ae3bda7a32c8828984e7c4aa16e inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6f587ae3bda7a32c8828984e7c4aa16e">do_exec</a> (const char Query[])=0</td></tr>
+<tr class="memdesc:a6f587ae3bda7a32c8828984e7c4aa16e inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: perform query.  <a href="#a6f587ae3bda7a32c8828984e7c4aa16e"></a><br/></td></tr>
+<tr class="memitem:a475695c55439007cd2438fb184ed8be3 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a475695c55439007cd2438fb184ed8be3">do_commit</a> ()=0</td></tr>
+<tr class="memdesc:a475695c55439007cd2438fb184ed8be3 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: commit transaction.  <a href="#a475695c55439007cd2438fb184ed8be3"></a><br/></td></tr>
+<tr class="memitem:a8fc9a363bcf7defb3c829a633c04ae6c inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a8fc9a363bcf7defb3c829a633c04ae6c">do_abort</a> ()=0</td></tr>
+<tr class="memdesc:a8fc9a363bcf7defb3c829a633c04ae6c inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: abort transaction.  <a href="#a8fc9a363bcf7defb3c829a633c04ae6c"></a><br/></td></tr>
+<tr class="memitem:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ac80f81e53c31f3a2052dc24fc6bbb7ee">DirectExec</a> (const char C[], int Retries=0)</td></tr>
+<tr class="memdesc:ac80f81e53c31f3a2052dc24fc6bbb7ee inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query on connection directly.  <a href="#ac80f81e53c31f3a2052dc24fc6bbb7ee"></a><br/></td></tr>
+<tr class="memitem:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a84df458282939ef38cfddfaa07bea1d8">reactivation_avoidance_clear</a> ()  throw ()</td></tr>
+<tr class="memdesc:a84df458282939ef38cfddfaa07bea1d8 inherit pro_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget about any reactivation-blocking resources we tried to allocate.  <a href="#a84df458282939ef38cfddfaa07bea1d8"></a><br/></td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-PL/pgSQL error. 
-<p>
-Exceptions derived from this class are errors from PL/pgSQL procedures. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="bb0f0e6d4eaebe63d7409c244ffa9b06"></a><!-- doxytag: member="pqxx::plpgsql_error::plpgsql_error" ref="bb0f0e6d4eaebe63d7409c244ffa9b06" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a8ed8b2f6aa96cef8508c84ee5369b390"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_error::plpgsql_error           </td>
+          <td class="memname">pqxx::nontransaction::nontransaction </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Constructor. </p>
+<p>Create a "dummy" transaction. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">C</td><td>Connection that this "transaction" will operate on. </td></tr>
+    <tr><td class="paramname">Name</td><td>Optional name for the transaction, beginning with a letter and containing only letters and digits. </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<a class="anchor" name="346ab5182768a7a9b25c03e45890c601"></a><!-- doxytag: member="pqxx::plpgsql_error::plpgsql_error" ref="346ab5182768a7a9b25c03e45890c601" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a0069617cbc84ba559bdcdfdf3cd97f3b"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_error::plpgsql_error           </td>
+          <td class="memname">pqxx::nontransaction::~nontransaction </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00145_source.html">nontransaction.hxx</a></li>
+<li>nontransaction.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00063.html">nontransaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00063.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00063.js
--- 3.1-1.1/doc/html/Reference/a00063.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00063.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00063 =
+[
+    [ "nontransaction", "a00063.html#a8ed8b2f6aa96cef8508c84ee5369b390", null ],
+    [ "~nontransaction", "a00063.html#a0069617cbc84ba559bdcdfdf3cd97f3b", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00063.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00063.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00064.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00064.html
--- 3.1-1.1/doc/html/Reference/a00064.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00064.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::plpgsql_no_data_found Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::not_null_violation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00064.html">plpgsql_no_data_found</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00064.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00239.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::not_null_violation Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::plpgsql_no_data_found Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::plpgsql_no_data_found" --><!-- doxytag: inherits="pqxx::plpgsql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::plpgsql_no_data_found:</div>
-<div class="dynsection">
-<p><center><img src="a00571.png" border="0" usemap="#a00572" alt="Inheritance graph"></center>
-<map name="a00572">
-<area shape="rect" href="a00063.html" title="PL/pgSQL error." alt="" coords="37,238,179,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="51,161,165,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="59,84,157,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="29,6,187,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00573.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#b6013cc52171417e60008c1efebd4257">plpgsql_no_data_found</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#97cfb947332b3e275e3437b5284de8ff">plpgsql_no_data_found</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::not_null_violation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00064.png" usemap="#pqxx::not_null_violation_map" alt=""/>
+  <map id="pqxx::not_null_violation_map" name="pqxx::not_null_violation_map">
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="0,168,204,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,204,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,204,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,204,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a43eceacf51e6bb47d6bb90517a574c2a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a43eceacf51e6bb47d6bb90517a574c2a">not_null_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a5372bb4e822109abf338516fa6b0733e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html#a5372bb4e822109abf338516fa6b0733e">not_null_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00050"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00050')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00050.html">pqxx::integrity_constraint_violation</a></td></tr>
+<tr class="memitem:a9fa871a08c23b2722a42fa545cecd2ab inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a505ae8d71add1a4c19e69f5cf96cea9d inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="b6013cc52171417e60008c1efebd4257"></a><!-- doxytag: member="pqxx::plpgsql_no_data_found::plpgsql_no_data_found" ref="b6013cc52171417e60008c1efebd4257" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a43eceacf51e6bb47d6bb90517a574c2a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_no_data_found::plpgsql_no_data_found           </td>
+          <td class="memname">pqxx::not_null_violation::not_null_violation </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="97cfb947332b3e275e3437b5284de8ff"></a><!-- doxytag: member="pqxx::plpgsql_no_data_found::plpgsql_no_data_found" ref="97cfb947332b3e275e3437b5284de8ff" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a5372bb4e822109abf338516fa6b0733e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_no_data_found::plpgsql_no_data_found           </td>
+          <td class="memname">pqxx::not_null_violation::not_null_violation </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00064.html">not_null_violation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00064.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00064.js
--- 3.1-1.1/doc/html/Reference/a00064.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00064.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00064 =
+[
+    [ "not_null_violation", "a00064.html#a43eceacf51e6bb47d6bb90517a574c2a", null ],
+    [ "not_null_violation", "a00064.html#a5372bb4e822109abf338516fa6b0733e", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00064.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00064.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00065.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00065.html
--- 3.1-1.1/doc/html/Reference/a00065.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00065.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,115 +1,182 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::plpgsql_raise Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::noticer Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00065.html">plpgsql_raise</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00065.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00214.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::noticer Struct Reference<div class="ingroups"><a class="el" href="a00201.html">Error/warning output</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::plpgsql_raise Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::plpgsql_raise" --><!-- doxytag: inherits="pqxx::plpgsql_error" -->Exception raised in PL/pgSQL procedure.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::plpgsql_raise:</div>
-<div class="dynsection">
-<p><center><img src="a00568.png" border="0" usemap="#a00569" alt="Inheritance graph"></center>
-<map name="a00569">
-<area shape="rect" href="a00063.html" title="PL/pgSQL error." alt="" coords="13,238,155,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="27,161,141,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="35,84,133,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="5,6,163,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00570.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#cb8177c2b8060623f46fadfb82c621f8">plpgsql_raise</a> (const std::string &amp;err)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#7a51d15b2778ae1ec61f480482050690">plpgsql_raise</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<p>Base class for user-definable error/warning message processor.  
+ <a href="a00065.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::noticer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00065.png" usemap="#pqxx::noticer_map" alt=""/>
+  <map id="pqxx::noticer_map" name="pqxx::noticer_map">
+<area href="a00062.html" title="No-op message noticer; produces no output." alt="pqxx::nonnoticer" shape="rect" coords="0,56,103,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afe85ed5eb8cbd2f7399a37be557af36f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#afe85ed5eb8cbd2f7399a37be557af36f">noticer</a> ()</td></tr>
+<tr class="memitem:a38dbbfaebde807dc9801252469320281"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a38dbbfaebde807dc9801252469320281">~noticer</a> ()  throw ()</td></tr>
+<tr class="memitem:a01162c0ad06017f49f8f34c401cfcb15"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html#a01162c0ad06017f49f8f34c401cfcb15">operator()</a> (const char Msg[])=0  throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception raised in PL/pgSQL procedure. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="cb8177c2b8060623f46fadfb82c621f8"></a><!-- doxytag: member="pqxx::plpgsql_raise::plpgsql_raise" ref="cb8177c2b8060623f46fadfb82c621f8" args="(const std::string &amp;err)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Base class for user-definable error/warning message processor. </p>
+<p>To define a custom method of handling notices, derive a new class from noticer and override the virtual function </p>
+<div class="fragment"><div class="line"><a class="code" href="a00065.html#a01162c0ad06017f49f8f34c401cfcb15">operator()</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>[]) throw() </div>
+</div><!-- fragment --><p> to process the message passed to it. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="afe85ed5eb8cbd2f7399a37be557af36f"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_raise::plpgsql_raise           </td>
+          <td class="memname">pqxx::noticer::noticer </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7a51d15b2778ae1ec61f480482050690"></a><!-- doxytag: member="pqxx::plpgsql_raise::plpgsql_raise" ref="7a51d15b2778ae1ec61f480482050690" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a38dbbfaebde807dc9801252469320281"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_raise::plpgsql_raise           </td>
+          <td class="memname">virtual pqxx::noticer::~noticer </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a01162c0ad06017f49f8f34c401cfcb15"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="memname">virtual void pqxx::noticer::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Msg</em>[]</td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Implemented in <a class="el" href="a00062.html#abf821c1422588859a72a0c7213cf0e8e">pqxx::nonnoticer</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00065.html">noticer</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00065.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00065.js
--- 3.1-1.1/doc/html/Reference/a00065.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00065.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00065 =
+[
+    [ "noticer", "a00065.html#afe85ed5eb8cbd2f7399a37be557af36f", null ],
+    [ "~noticer", "a00065.html#a38dbbfaebde807dc9801252469320281", null ],
+    [ "operator()", "a00065.html#a01162c0ad06017f49f8f34c401cfcb15", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00065.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00065.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00066.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00066.html
--- 3.1-1.1/doc/html/Reference/a00066.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00066.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,266 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::plpgsql_too_many_rows Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::notify_listener Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00066.html">plpgsql_too_many_rows</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00066.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00267.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::notify_listener Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::plpgsql_too_many_rows Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::plpgsql_too_many_rows" --><!-- doxytag: inherits="pqxx::plpgsql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::plpgsql_too_many_rows:</div>
-<div class="dynsection">
-<p><center><img src="a00574.png" border="0" usemap="#a00575" alt="Inheritance graph"></center>
-<map name="a00575">
-<area shape="rect" href="a00063.html" title="PL/pgSQL error." alt="" coords="40,238,181,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="53,161,168,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="61,84,160,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="32,6,189,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00576.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#8b2c0fa01d76add8d15f1024562521fe">plpgsql_too_many_rows</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#77fc4dece10e4aa3efffc7f4dcbeb81e">plpgsql_too_many_rows</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00147_source.html">notify-listen.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa017125bb75b03bef2da0159fa182699"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#aa017125bb75b03bef2da0159fa182699">notify_listener</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;N)</td></tr>
+<tr class="memdesc:aa017125bb75b03bef2da0159fa182699"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. Registers the listener with connection C.  <a href="#aa017125bb75b03bef2da0159fa182699"></a><br/></td></tr>
+<tr class="memitem:ac4593cefb4b75ef4373b2aa44d4bd061"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#ac4593cefb4b75ef4373b2aa44d4bd061">~notify_listener</a> ()  throw ()</td></tr>
+<tr class="memitem:a61fecb70ec917b3403dff4228b69a61a"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a61fecb70ec917b3403dff4228b69a61a">name</a> () const </td></tr>
+<tr class="memitem:a0f8b3a6f5183bc9466fba30bd760af85"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a0f8b3a6f5183bc9466fba30bd760af85">operator()</a> (int be_pid)=0</td></tr>
+<tr class="memdesc:a0f8b3a6f5183bc9466fba30bd760af85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overridable: action to invoke when notification arrives.  <a href="#a0f8b3a6f5183bc9466fba30bd760af85"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a183d105d5bd011d45843526004bc0f40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a183d105d5bd011d45843526004bc0f40">Conn</a> () const   throw ()</td></tr>
+<tr class="memitem:a9b6ca1f8939f82c391fecb7082364ec7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a9b6ca1f8939f82c391fecb7082364ec7">conn</a> () const   throw ()</td></tr>
+<tr class="memdesc:a9b6ca1f8939f82c391fecb7082364ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the connection that this listener listens on.  <a href="#a9b6ca1f8939f82c391fecb7082364ec7"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="8b2c0fa01d76add8d15f1024562521fe"></a><!-- doxytag: member="pqxx::plpgsql_too_many_rows::plpgsql_too_many_rows" ref="8b2c0fa01d76add8d15f1024562521fe" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa017125bb75b03bef2da0159fa182699"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_too_many_rows::plpgsql_too_many_rows           </td>
+          <td class="memname">pqxx::notify_listener::notify_listener </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>N</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Constructor. Registers the listener with connection C. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">C</td><td>Connection this listener resides in. </td></tr>
+    <tr><td class="paramname">N</td><td>Name of the notification to listen for. </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="ac4593cefb4b75ef4373b2aa44d4bd061"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::notify_listener::~notify_listener </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a183d105d5bd011d45843526004bc0f40"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00023.html">connection_base</a>&amp; pqxx::notify_listener::Conn </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="a00206.html#_deprecated000006">Deprecated:</a></b></dt><dd>Use <a class="el" href="a00066.html#a9b6ca1f8939f82c391fecb7082364ec7" title="Get the connection that this listener listens on.">conn()</a> instead. </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="77fc4dece10e4aa3efffc7f4dcbeb81e"></a><!-- doxytag: member="pqxx::plpgsql_too_many_rows::plpgsql_too_many_rows" ref="77fc4dece10e4aa3efffc7f4dcbeb81e" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a9b6ca1f8939f82c391fecb7082364ec7"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::plpgsql_too_many_rows::plpgsql_too_many_rows           </td>
+          <td class="memname"><a class="el" href="a00023.html">connection_base</a>&amp; pqxx::notify_listener::conn </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get the connection that this listener listens on. </p>
+
+</div>
+</div>
+<a class="anchor" id="a61fecb70ec917b3403dff4228b69a61a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="memname">const std::string&amp; pqxx::notify_listener::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0f8b3a6f5183bc9466fba30bd760af85"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
+          <td class="memname">virtual void pqxx::notify_listener::operator() </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>be_pid</em></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Overridable: action to invoke when notification arrives. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">be_pid</td><td>Process ID of the database backend process that served our connection when the notification arrived. The actual process ID behind the connection may have changed by the time this method is called. </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00147_source.html">notify-listen.hxx</a></li>
+<li>notify-listen.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00066.html">notify_listener</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00066.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00066.js
--- 3.1-1.1/doc/html/Reference/a00066.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00066.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00066 =
+[
+    [ "notify_listener", "a00066.html#aa017125bb75b03bef2da0159fa182699", null ],
+    [ "~notify_listener", "a00066.html#ac4593cefb4b75ef4373b2aa44d4bd061", null ],
+    [ "Conn", "a00066.html#a183d105d5bd011d45843526004bc0f40", null ],
+    [ "conn", "a00066.html#a9b6ca1f8939f82c391fecb7082364ec7", null ],
+    [ "name", "a00066.html#a61fecb70ec917b3403dff4228b69a61a", null ],
+    [ "operator()", "a00066.html#a0f8b3a6f5183bc9466fba30bd760af85", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00067.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00067.html
--- 3.1-1.1/doc/html/Reference/a00067.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00067.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,394 +1,199 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::PQAlloc&lt; T, DELETER &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: std::numeric_limits&lt; T &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00067.html">PQAlloc</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00067.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00315.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">std::numeric_limits&lt; T &gt; Struct Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::PQAlloc&lt; T, DELETER &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::internal::PQAlloc" -->Reference-counted smart pointer to libpq-allocated object.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::internal::PQAlloc&lt; T, DELETER &gt;:</div>
-<div class="dynsection">
-<p><center><img src="a00668.png" border="0" usemap="#a00669" alt="Inheritance graph"></center>
-<map name="a00669">
-<area shape="rect" href="a00010.html" title="pqxx::binarystring\&lt; unsigned char \&gt;" alt="" coords="869,5,1123,32"><area shape="rect" href="a00076.html" title="Query or command result set." alt="" coords="749,56,1243,82"><area shape="rect" href="a00067.html" title="pqxx::internal::PQAlloc\&lt; unsigned char \&gt;" alt="" coords="855,106,1137,133"><area shape="rect" href="a00067.html" title="pqxx::internal::PQAlloc\&lt; pqxx::internal::result_data, internal::freemem_result_data \&gt;" alt="" coords="716,157,1276,184"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00670.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#7fe52ebd1d2533f298caa5ffc975be66">content_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#df8536b0ab651d81247809a673f3bf42">PQAlloc</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#402105c20c0fba99659dbea44fbd36b2">PQAlloc</a> (const <a class="el" href="a00067.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#8aded9ce9cf12f720f193ed303367bd1">~PQAlloc</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00067.html">PQAlloc</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#93b56fd3623e58c1aa6ceaaff54bbe11">operator=</a> (const <a class="el" href="a00067.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#43caacd4030a3dd949e9e44352c859dd">PQAlloc</a> (T *obj)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assume ownership of a pointer.  <a href="#43caacd4030a3dd949e9e44352c859dd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#681827ee20603fab0019324494e78455">swap</a> (<a class="el" href="a00067.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#4550cd53958a269ac8c2e4e7a02d2f02">operator bool</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this pointer non-null?  <a href="#4550cd53958a269ac8c2e4e7a02d2f02"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#f32cad9f63309273527e4007a7d892ef">operator!</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this pointer null?  <a href="#f32cad9f63309273527e4007a7d892ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#362f5103b150fb3913adb8923c7b1dbe">operator-&gt;</a> () const   throw ( std ::logic_error)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dereference pointer.  <a href="#362f5103b150fb3913adb8923c7b1dbe"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#faa858977fa3c7df8f6497afdf4f2803">operator*</a> () const   throw ( std ::logic_error)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dereference pointer.  <a href="#faa858977fa3c7df8f6497afdf4f2803"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#c8d570bb46f0831c42a5b3fc0f803040">get</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain underlying pointer.  <a href="#c8d570bb46f0831c42a5b3fc0f803040"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#7bb9fd9d80b38ddbed8128b33806900d">reset</a> ()  throw ()</td></tr>
+<p>Work around lacking "limits" header.  
+ <a href="a00067.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00122_source.html">compiler-internal.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af71385909ae48a64f6e88d19f940bcd1"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:af71385909ae48a64f6e88d19f940bcd1"><td class="memTemplItemLeft" align="right" valign="top">long&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00067.html#af71385909ae48a64f6e88d19f940bcd1">max</a> () throw()</td></tr>
+<tr class="memitem:a9387cf870c1b7d0f6ced0db05614e494"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
+<tr class="memitem:a9387cf870c1b7d0f6ced0db05614e494"><td class="memTemplItemLeft" align="right" valign="top">long&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00067.html#a9387cf870c1b7d0f6ced0db05614e494">min</a> () throw()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:ae5fc707d9d6ebbac808a5fb6e26690f8"><td class="memItemLeft" align="right" valign="top">static T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#ae5fc707d9d6ebbac808a5fb6e26690f8">max</a> ()  throw ()</td></tr>
+<tr class="memitem:a672ff8f843f277b741fef22594a1d78f"><td class="memItemLeft" align="right" valign="top">static T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html#a672ff8f843f277b741fef22594a1d78f">min</a> ()  throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt;<br>
- class pqxx::internal::PQAlloc&lt; T, DELETER &gt;</h3>
-
-Reference-counted smart pointer to libpq-allocated object. 
-<p>
-Keep track of a libpq-allocated object, and free it once all references to it have died.<p>
-If the available PostgreSQL development files supply <code>PQfreemem()</code> or <code>PQfreeNotify()</code>, this is used to free the memory. If not, free() is used instead. This matters on Windows, where memory allocated by a DLL must be freed by the same DLL.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Copying, swapping, and destroying <a class="el" href="a00067.html" title="Reference-counted smart pointer to libpq-allocated object.">PQAlloc</a> objects that refer to the same underlying libpq-allocated block is <em>not thread-safe</em>. If you wish to pass reference-counted objects around between threads, make sure that each of these operations is protected against concurrency with similar operations on the same object--or other copies of the same object. </dd></dl>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="7fe52ebd1d2533f298caa5ffc975be66"></a><!-- doxytag: member="pqxx::internal::PQAlloc::content_type" ref="7fe52ebd1d2533f298caa5ffc975be66" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef T <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00067.html#7fe52ebd1d2533f298caa5ffc975be66">content_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="df8536b0ab651d81247809a673f3bf42"></a><!-- doxytag: member="pqxx::internal::PQAlloc::PQAlloc" ref="df8536b0ab651d81247809a673f3bf42" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00067.html">PQAlloc</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="402105c20c0fba99659dbea44fbd36b2"></a><!-- doxytag: member="pqxx::internal::PQAlloc::PQAlloc" ref="402105c20c0fba99659dbea44fbd36b2" args="(const PQAlloc &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00067.html">PQAlloc</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00067.html">PQAlloc</a>&lt; T, DELETER &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br/>
+struct std::numeric_limits&lt; T &gt;</h3>
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8aded9ce9cf12f720f193ed303367bd1"></a><!-- doxytag: member="pqxx::internal::PQAlloc::~PQAlloc" ref="8aded9ce9cf12f720f193ed303367bd1" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::~<a class="el" href="a00067.html">PQAlloc</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="43caacd4030a3dd949e9e44352c859dd"></a><!-- doxytag: member="pqxx::internal::PQAlloc::PQAlloc" ref="43caacd4030a3dd949e9e44352c859dd" args="(T *obj)" -->
+<p>Work around lacking "limits" header. </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="ae5fc707d9d6ebbac808a5fb6e26690f8"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00067.html">PQAlloc</a>           </td>
+          <td class="memname">static T <a class="el" href="a00067.html">std::numeric_limits</a>&lt; T &gt;::max </td>
           <td>(</td>
-          <td class="paramtype">T *&nbsp;</td>
-          <td class="paramname"> <em>obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Assume ownership of a pointer. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Don't to this more than once for a given object! </dd></dl>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="93b56fd3623e58c1aa6ceaaff54bbe11"></a><!-- doxytag: member="pqxx::internal::PQAlloc::operator=" ref="93b56fd3623e58c1aa6ceaaff54bbe11" args="(const PQAlloc &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00067.html">PQAlloc</a>&amp; <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00067.html">PQAlloc</a>&lt; T, DELETER &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="681827ee20603fab0019324494e78455"></a><!-- doxytag: member="pqxx::internal::PQAlloc::swap" ref="681827ee20603fab0019324494e78455" args="(PQAlloc &amp;rhs)" -->
+<a class="anchor" id="af71385909ae48a64f6e88d19f940bcd1"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
+template&lt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::swap           </td>
+          <td class="memname">long <a class="el" href="a00067.html">std::numeric_limits</a>&lt; long &gt;::max </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00067.html">PQAlloc</a>&lt; T, DELETER &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> throw()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="4550cd53958a269ac8c2e4e7a02d2f02"></a><!-- doxytag: member="pqxx::internal::PQAlloc::operator bool" ref="4550cd53958a269ac8c2e4e7a02d2f02" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator bool           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is this pointer non-null? 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="f32cad9f63309273527e4007a7d892ef"></a><!-- doxytag: member="pqxx::internal::PQAlloc::operator!" ref="f32cad9f63309273527e4007a7d892ef" args="() const " -->
+<a class="anchor" id="a672ff8f843f277b741fef22594a1d78f"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
+template&lt;typename T &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator!           </td>
+          <td class="memname">static T <a class="el" href="a00067.html">std::numeric_limits</a>&lt; T &gt;::min </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is this pointer null? 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="362f5103b150fb3913adb8923c7b1dbe"></a><!-- doxytag: member="pqxx::internal::PQAlloc::operator-&gt;" ref="362f5103b150fb3913adb8923c7b1dbe" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">T* <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator-&gt;           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ( std ::logic_error)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Dereference pointer. 
-<p>
-Throws a logic_error if the pointer is null. 
-<p>Referenced by <a class="el" href="a00262.html#l00578">pqxx::internal::PQAlloc&lt; pqxx::internal::result_data, internal::freemem_result_data &gt;::operator*()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="faa858977fa3c7df8f6497afdf4f2803"></a><!-- doxytag: member="pqxx::internal::PQAlloc::operator*" ref="faa858977fa3c7df8f6497afdf4f2803" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">T&amp; <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator*           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ( std ::logic_error)</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Dereference pointer. 
-<p>
-Throws a logic_error if the pointer is null. 
-</div>
-</div><p>
-<a class="anchor" name="c8d570bb46f0831c42a5b3fc0f803040"></a><!-- doxytag: member="pqxx::internal::PQAlloc::get" ref="c8d570bb46f0831c42a5b3fc0f803040" args="() const " -->
+<a class="anchor" id="a9387cf870c1b7d0f6ced0db05614e494"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
+template&lt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">T* <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::get           </td>
+          <td class="memname">long <a class="el" href="a00067.html">std::numeric_limits</a>&lt; long &gt;::min </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> throw()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Obtain underlying pointer. 
-<p>
-Ownership of the pointer's memory remains with the <a class="el" href="a00067.html" title="Reference-counted smart pointer to libpq-allocated object.">PQAlloc</a> object 
-<p>Reimplemented in <a class="el" href="a00010.html#37efe53d810e83dc4894cb405ba31dfa">pqxx::binarystring</a>.</p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01477">pqxx::connection_base::esc_raw()</a>, and <a class="el" href="a00205.html#l00127">pqxx::escape_binary()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7bb9fd9d80b38ddbed8128b33806900d"></a><!-- doxytag: member="pqxx::internal::PQAlloc::reset" ref="7bb9fd9d80b38ddbed8128b33806900d" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00067.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::reset           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00122_source.html">compiler-internal.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><b>std</b></li><li class="navelem"><a class="el" href="a00067.html">numeric_limits</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00067.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00067.js
--- 3.1-1.1/doc/html/Reference/a00067.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00067.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,7 @@
+var a00067 =
+[
+    [ "max", "a00067.html#ae5fc707d9d6ebbac808a5fb6e26690f8", null ],
+    [ "max", "a00067.html#af71385909ae48a64f6e88d19f940bcd1", null ],
+    [ "min", "a00067.html#a672ff8f843f277b741fef22594a1d78f", null ],
+    [ "min", "a00067.html#a9387cf870c1b7d0f6ced0db05614e494", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00068.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00068.html
--- 3.1-1.1/doc/html/Reference/a00068.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00068.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,127 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx_exception Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::out_of_memory Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00068.html">pqxx_exception</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00068.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00253.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::out_of_memory Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx_exception Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::pqxx_exception" -->Mixin base class to identify libpqxx-specific exception types.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::pqxx_exception:</div>
-<div class="dynsection">
-<p><center><img src="a00475.png" border="0" usemap="#a00476" alt="Inheritance graph"></center>
-<map name="a00476">
-<area shape="rect" href="a00001.html" title="Invalid argument passed to libpqxx, similar to std::invalid_argument." alt="" coords="217,31,377,57"><area shape="rect" href="a00022.html" title="pqxx::conversion_error" alt="" coords="215,81,380,108"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="248,132,347,159"><area shape="rect" href="a00043.html" title="Internal error in libpqxx library." alt="" coords="225,183,369,209"><area shape="rect" href="a00071.html" title="Something is out of range, similar to std::out_of_range." alt="" coords="231,233,364,260"><area shape="rect" href="a00113.html" title="Error in usage of libpqxx library, similar to std::logic_error." alt="" coords="229,284,365,311"><area shape="rect" href="a00011.html" title="Exception class for lost or failed backend connection." alt="" coords="431,44,609,71"><area shape="rect" href="a00039.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;..." alt="" coords="444,132,596,159"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="463,259,577,285"><area shape="rect" href="a00103.html" title="pqxx::too_many_connections" alt="" coords="676,5,884,32"><area shape="rect" href="a00024.html" title="Error in data provided to SQL statement." alt="" coords="701,56,859,83"><area shape="rect" href="a00033.html" title="Database feature not supported in current setup." alt="" coords="677,107,883,133"><area shape="rect" href="a00040.html" title="pqxx::insufficient_privilege" alt="" coords="687,157,873,184"><area shape="rect" href="a00041.html" title="Resource shortage on the server." alt="" coords="681,208,879,235"><area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="659,259,901,285"><area shape="rect" href="a00044.html" title="pqxx::invalid_cursor_name" alt="" coords="685,309,875,336"><area shape="rect" href="a00045.html" title="pqxx::invalid_cursor_state" alt="" coords="687,360,873,387"><area shape="rect" href="a00046.html" title="pqxx::invalid_sql_statement_name" alt="" coords="659,411,901,437"><area shape="rect" href="a00063.html" title="PL/pgSQL error." alt="" coords="709,461,851,488"><area shape="rect" href="a00098.html" title="pqxx::syntax_error" alt="" coords="711,588,849,615"><area shape="rect" href="a00030.html" title="pqxx::disk_full" alt="" coords="1001,56,1111,83"><area shape="rect" href="a00060.html" title="pqxx::out_of_memory" alt="" coords="976,107,1136,133"><area shape="rect" href="a00015.html" title="pqxx::check_violation" alt="" coords="979,157,1133,184"><area shape="rect" href="a00035.html" title="pqxx::foreign_key_violation" alt="" coords="960,208,1152,235"><area shape="rect" href="a00056.html" title="pqxx::not_null_violation" alt="" coords="972,259,1140,285"><area shape="rect" href="a00075.html" title="pqxx::restrict_violation" alt="" coords="975,309,1137,336"><area shape="rect" href="a00112.html" title="pqxx::unique_violation" alt="" coords="975,360,1137,387"><area shape="rect" href="a00064.html" title="pqxx::plpgsql_no_data_found" alt="" coords="953,411,1159,437"><area shape="rect" href="a00065.html" title="Exception raised in PL/pgSQL procedure." alt="" coords="985,461,1127,488"><area shape="rect" href="a00066.html" title="pqxx::plpgsql_too_many_rows" alt="" coords="951,512,1161,539"><area shape="rect" href="a00108.html" title="pqxx::undefined_column" alt="" coords="968,563,1144,589"><area shape="rect" href="a00109.html" title="pqxx::undefined_function" alt="" coords="967,613,1145,640"><area shape="rect" href="a00110.html" title="pqxx::undefined_table" alt="" coords="976,664,1136,691"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00477.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#9386d73e8176de81de9b1fe38afa6952"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const std::exception &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#9a2237b63ac94c3a41d0b8cc1136ce3b">base</a> () const =0  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#9a2237b63ac94c3a41d0b8cc1136ce3b"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::out_of_memory:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00068.png" usemap="#pqxx::out_of_memory_map" alt=""/>
+  <map id="pqxx::out_of_memory_map" name="pqxx::out_of_memory_map">
+<area href="a00049.html" title="Resource shortage on the server." alt="pqxx::insufficient_resources" shape="rect" coords="0,168,168,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,168,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,168,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,168,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad9880e47615592429d5cb9e3fda467f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#ad9880e47615592429d5cb9e3fda467f3">out_of_memory</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a8e8d47b4cc8de8c9ebf4abcd39bee40b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#a8e8d47b4cc8de8c9ebf4abcd39bee40b">out_of_memory</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00049"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00049')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00049.html">pqxx::insufficient_resources</a></td></tr>
+<tr class="memitem:ab9c012d8591a9699677c8e3d2bfdf02a inherit pub_methods_a00049"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#ab9c012d8591a9699677c8e3d2bfdf02a">insufficient_resources</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:af88552eb661d1bc459308d2ff8576840 inherit pub_methods_a00049"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#af88552eb661d1bc459308d2ff8576840">insufficient_resources</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Mixin base class to identify libpqxx-specific exception types. 
-<p>
-If you wish to catch all exception types specific to libpqxx for some reason, catch this type. All of libpqxx's exception classes are derived from it through multiple-inheritance (they also fit into the standard library's exception hierarchy in more fitting places).<p>
-This class is not derived from std::exception, since that could easily lead to exception classes with multiple std::exception base-class objects. As Bart Samwel points out, "catch" is subject to some nasty fineprint in such cases. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="9386d73e8176de81de9b1fe38afa6952"></a><!-- doxytag: member="pqxx::pqxx_exception::~pqxx_exception" ref="9386d73e8176de81de9b1fe38afa6952" args="()=0" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad9880e47615592429d5cb9e3fda467f3"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::pqxx_exception::~pqxx_exception           </td>
+          <td class="memname">pqxx::out_of_memory::out_of_memory </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [pure virtual]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Support run-time polymorphism, and keep this class abstract. 
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="9a2237b63ac94c3a41d0b8cc1136ce3b"></a><!-- doxytag: member="pqxx::pqxx_exception::base" ref="9a2237b63ac94c3a41d0b8cc1136ce3b" args="() const =0" -->
+</div>
+<a class="anchor" id="a8e8d47b4cc8de8c9ebf4abcd39bee40b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">virtual const std ::exception&amp; pqxx::pqxx_exception::base           </td>
+          <td class="memname">pqxx::out_of_memory::out_of_memory </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [pure virtual]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Return std::exception base-class object. 
-<p>
-Use this to get at the exception's what() function, or to downcast to a more specific type using dynamic_cast.<p>
-Casting directly from <a class="el" href="a00068.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a> to a specific exception type is not likely to work since <a class="el" href="a00068.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a> is not (and could not safely be) derived from std::exception.<p>
-For example, to test dynamically whether an exception is an <a class="el" href="a00088.html" title="Exception class for failed queries.">sql_error</a>:<p>
-<div class="fragment"><pre class="fragment"> <span class="keywordflow">try</span>
- {
-   <span class="comment">// ...</span>
- }
- <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code" href="a00068.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx::pqxx_exception</a> &amp;e)
- {
-   std::cerr &lt;&lt; e.<a class="code" href="a00068.html#9a2237b63ac94c3a41d0b8cc1136ce3b" title="Return std::exception base-class object.">base</a>().what() &lt;&lt; std::endl;
-   <span class="keyword">const</span> <a class="code" href="a00088.html" title="Exception class for failed queries.">pqxx::sql_error</a> *s=<span class="keyword">dynamic_cast&lt;</span><span class="keyword">const </span><a class="code" href="a00088.html" title="Exception class for failed queries.">pqxx::sql_error</a>*<span class="keyword">&gt;</span>(&amp;e.<a class="code" href="a00068.html#9a2237b63ac94c3a41d0b8cc1136ce3b" title="Return std::exception base-class object.">base</a>());
-   <span class="keywordflow">if</span> (s) std::cerr &lt;&lt; <span class="stringliteral">"Query was: "</span> &lt;&lt; s-&gt;<a class="code" href="a00088.html#477598fd2f749aa2e0c66295a818a0f5" title="The query whose execution triggered the exception.">query</a>() &lt;&lt; std::endl;
- }
-</pre></div> 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00068.html">out_of_memory</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00068.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00068.js
--- 3.1-1.1/doc/html/Reference/a00068.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00068.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00068 =
+[
+    [ "out_of_memory", "a00068.html#ad9880e47615592429d5cb9e3fda467f3", null ],
+    [ "out_of_memory", "a00068.html#a8e8d47b4cc8de8c9ebf4abcd39bee40b", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00068.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00068.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00069.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00069.html
--- 3.1-1.1/doc/html/Reference/a00069.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00069.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,257 +1,161 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::prepare::internal::prepared_def Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::prepare::internal::prepared_def::param Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00189.html">prepare</a>::<a class="el" href="a00190.html">internal</a>::<a class="el" href="a00069.html">prepared_def</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00069.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="a00313.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::prepare::internal::prepared_def::param Struct Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::prepare::internal::prepared_def Struct Reference</h1><!-- doxytag: class="pqxx::prepare::internal::prepared_def" -->Internal representation of a prepared statement definition.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00239.html">prepared_statement.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00680.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#3a8a05c0e9db9aa9423b99a62fc2b442">prepared_def</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#52a320e063625faf69d1104d7dbfc13a">prepared_def</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#0b3b0937ad3ed8611ad82a002b99623c">addparam</a> (const std::string &amp;sqltype, <a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>)</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#73bc738d8ec3daca163d6319fe5a5d3a">definition</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Text of prepared query.  <a href="#73bc738d8ec3daca163d6319fe5a5d3a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="a00070.html">param</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#debfddb788998f96c409492cf5664fda">parameters</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameter list.  <a href="#debfddb788998f96c409492cf5664fda"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#11ef3d1042c1711d30b6e376f4b77dc5">registered</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has this prepared statement been prepared in the current session?  <a href="#11ef3d1042c1711d30b6e376f4b77dc5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#50b426f1be8afc41b445286c470f153d">complete</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this definition complete?  <a href="#50b426f1be8afc41b445286c470f153d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#2c16c7e47fd8cb084fc159dbb57d5b35">varargs</a></td></tr>
+<p>Parameter definition.  
+ <a href="a00069.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does this statement accept variable arguments, as declared with etc()?  <a href="#2c16c7e47fd8cb084fc159dbb57d5b35"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#7e5954889d74c7d595c95eef1d8bff6e">varargs_treatment</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How should parameters after the last declared one be treated?  <a href="#7e5954889d74c7d595c95eef1d8bff6e"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">param</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameter definition.  <a href="a00070.html#_details">More...</a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00152_source.html">prepared_statement.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1b747a6f501eb642f86697ba9a59f5f6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#a1b747a6f501eb642f86697ba9a59f5f6">param</a> (const std::string &amp;SQLtype, <a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>)</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a2848e4f145eee99ab06cb4608e19b0a9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#a2848e4f145eee99ab06cb4608e19b0a9">sqltype</a></td></tr>
+<tr class="memitem:a4c84b43298291ae805af849cf07604ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#a4c84b43298291ae805af849cf07604ce">treatment</a></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Internal representation of a prepared statement definition. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="3a8a05c0e9db9aa9423b99a62fc2b442"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::prepared_def" ref="3a8a05c0e9db9aa9423b99a62fc2b442" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::prepare::internal::prepared_def::prepared_def           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="52a320e063625faf69d1104d7dbfc13a"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::prepared_def" ref="52a320e063625faf69d1104d7dbfc13a" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::prepare::internal::prepared_def::prepared_def           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>def</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0b3b0937ad3ed8611ad82a002b99623c"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::addparam" ref="0b3b0937ad3ed8611ad82a002b99623c" args="(const std::string &amp;sqltype, param_treatment)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Parameter definition. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a1b747a6f501eb642f86697ba9a59f5f6"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::prepare::internal::prepared_def::addparam           </td>
+          <td class="memname">pqxx::prepare::internal::prepared_def::param::param </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>sqltype</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>SQLtype</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&nbsp;</td>
-          <td class="paramname"> <em>treatment</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&#160;</td>
+          <td class="paramname"><em>Treatment</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00239.html#l00281">parameters</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="73bc738d8ec3daca163d6319fe5a5d3a"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::definition" ref="73bc738d8ec3daca163d6319fe5a5d3a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">std ::string <a class="el" href="a00069.html#73bc738d8ec3daca163d6319fe5a5d3a">pqxx::prepare::internal::prepared_def::definition</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Text of prepared query. 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="debfddb788998f96c409492cf5664fda"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::parameters" ref="debfddb788998f96c409492cf5664fda" args="" -->
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="a2848e4f145eee99ab06cb4608e19b0a9"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">std ::vector&lt;<a class="el" href="a00070.html">param</a>&gt; <a class="el" href="a00069.html#debfddb788998f96c409492cf5664fda">pqxx::prepare::internal::prepared_def::parameters</a>          </td>
+          <td class="memname">std::string pqxx::prepare::internal::prepared_def::param::sqltype</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parameter list. 
-<p>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00238.html#l00123">addparam()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="11ef3d1042c1711d30b6e376f4b77dc5"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::registered" ref="11ef3d1042c1711d30b6e376f4b77dc5" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00069.html#11ef3d1042c1711d30b6e376f4b77dc5">pqxx::prepare::internal::prepared_def::registered</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Has this prepared statement been prepared in the current session? 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="50b426f1be8afc41b445286c470f153d"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::complete" ref="50b426f1be8afc41b445286c470f153d" args="" -->
+<a class="anchor" id="a4c84b43298291ae805af849cf07604ce"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00069.html#50b426f1be8afc41b445286c470f153d">pqxx::prepare::internal::prepared_def::complete</a>          </td>
+          <td class="memname"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a> pqxx::prepare::internal::prepared_def::param::treatment</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is this definition complete? 
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="2c16c7e47fd8cb084fc159dbb57d5b35"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::varargs" ref="2c16c7e47fd8cb084fc159dbb57d5b35" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00069.html#2c16c7e47fd8cb084fc159dbb57d5b35">pqxx::prepare::internal::prepared_def::varargs</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Does this statement accept variable arguments, as declared with etc()? 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7e5954889d74c7d595c95eef1d8bff6e"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::varargs_treatment" ref="7e5954889d74c7d595c95eef1d8bff6e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a> <a class="el" href="a00069.html#7e5954889d74c7d595c95eef1d8bff6e">pqxx::prepare::internal::prepared_def::varargs_treatment</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-How should parameters after the last declared one be treated? 
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following files:<ul>
-<li><a class="el" href="a00239.html">prepared_statement.hxx</a><li><a class="el" href="a00148.html">prepared_statement.cxx</a></ul>
+<hr/>The documentation for this struct was generated from the following files:<ul>
+<li><a class="el" href="a00152_source.html">prepared_statement.hxx</a></li>
+<li>prepared_statement.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00192.html">prepare</a></li><li class="navelem"><a class="el" href="a00193.html">internal</a></li><li class="navelem"><a class="el" href="a00078.html">prepared_def</a></li><li class="navelem"><a class="el" href="a00069.html">param</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00069.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00069.js
--- 3.1-1.1/doc/html/Reference/a00069.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00069.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00069 =
+[
+    [ "param", "a00069.html#a1b747a6f501eb642f86697ba9a59f5f6", null ],
+    [ "sqltype", "a00069.html#a2848e4f145eee99ab06cb4608e19b0a9", null ],
+    [ "treatment", "a00069.html#a4c84b43298291ae805af849cf07604ce", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00070.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00070.html
--- 3.1-1.1/doc/html/Reference/a00070.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00070.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,119 +1,210 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::prepare::internal::prepared_def::param Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::parameterized_invocation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00189.html">prepare</a>::<a class="el" href="a00190.html">internal</a>::<a class="el" href="a00069.html">prepared_def</a>::<a class="el" href="a00070.html">param</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00070.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00302.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::parameterized_invocation Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::prepare::internal::prepared_def::param Struct Reference</h1><!-- doxytag: class="pqxx::prepare::internal::prepared_def::param" -->Parameter definition.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00239.html">prepared_statement.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00681.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html#1b747a6f501eb642f86697ba9a59f5f6">param</a> (const std::string &amp;SQLtype, <a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>)</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html#fb1338ef22a9b83b47f2b50cbde07334">sqltype</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html#4c84b43298291ae805af849cf07604ce">treatment</a></td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00171_source.html">transaction_base.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5fa125c4885b76bd9c250e1d0692ad13"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html#a5fa125c4885b76bd9c250e1d0692ad13">parameterized_invocation</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;query)</td></tr>
+<tr class="memitem:a96dd05cc41a36dcca337bd3971d354ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">parameterized_invocation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html#a96dd05cc41a36dcca337bd3971d354ab">operator()</a> ()</td></tr>
+<tr class="memitem:ae8ef9f87245ddad0e4319357e82db670"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ae8ef9f87245ddad0e4319357e82db670"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00070.html">parameterized_invocation</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00070.html#ae8ef9f87245ddad0e4319357e82db670">operator()</a> (const T &amp;v)</td></tr>
+<tr class="memitem:a6fd084905f68c744bd791c601168103d"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:a6fd084905f68c744bd791c601168103d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00070.html">parameterized_invocation</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00070.html#a6fd084905f68c744bd791c601168103d">operator()</a> (const T &amp;v, bool nonnull)</td></tr>
+<tr class="memitem:abc61b203c68554dc43ccead818683b4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html#abc61b203c68554dc43ccead818683b4a">exec</a> ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Parameter definition. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="1b747a6f501eb642f86697ba9a59f5f6"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::param::param" ref="1b747a6f501eb642f86697ba9a59f5f6" args="(const std::string &amp;SQLtype, param_treatment)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5fa125c4885b76bd9c250e1d0692ad13"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::prepare::internal::prepared_def::param::param           </td>
+          <td class="memname">pqxx::internal::parameterized_invocation::parameterized_invocation </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>SQLtype</em>, </td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>c</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&nbsp;</td>
-          <td class="paramname"> <em>Treatment</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>query</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="fb1338ef22a9b83b47f2b50cbde07334"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::param::sqltype" ref="fb1338ef22a9b83b47f2b50cbde07334" args="" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="abc61b203c68554dc43ccead818683b4a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">std ::string <a class="el" href="a00070.html#fb1338ef22a9b83b47f2b50cbde07334">pqxx::prepare::internal::prepared_def::param::sqltype</a>          </td>
+          <td class="memname"><a class="el" href="a00084.html">pqxx::result</a> pqxx::internal::parameterized_invocation::exec </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00087.html#af8afa32de4971796d6d15d73b7590b0a">pqxx::internal::scoped_array&lt; T &gt;::get()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="4c84b43298291ae805af849cf07604ce"></a><!-- doxytag: member="pqxx::prepare::internal::prepared_def::param::treatment" ref="4c84b43298291ae805af849cf07604ce" args="" -->
+</div>
+<a class="anchor" id="a96dd05cc41a36dcca337bd3971d354ab"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">param_treatment</a> <a class="el" href="a00070.html#4c84b43298291ae805af849cf07604ce">pqxx::prepare::internal::prepared_def::param::treatment</a>          </td>
+          <td class="memname"><a class="el" href="a00070.html">parameterized_invocation</a>&amp; pqxx::internal::parameterized_invocation::operator() </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ae8ef9f87245ddad0e4319357e82db670"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00070.html">parameterized_invocation</a>&amp; pqxx::internal::parameterized_invocation::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>v</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a6fd084905f68c744bd791c601168103d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename T &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00070.html">parameterized_invocation</a>&amp; pqxx::internal::parameterized_invocation::operator() </td>
+          <td>(</td>
+          <td class="paramtype">const T &amp;&#160;</td>
+          <td class="paramname"><em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>nonnull</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following files:<ul>
-<li><a class="el" href="a00239.html">prepared_statement.hxx</a><li><a class="el" href="a00148.html">prepared_statement.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00171_source.html">transaction_base.hxx</a></li>
+<li>transaction_base.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00070.html">parameterized_invocation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00070.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00070.js
--- 3.1-1.1/doc/html/Reference/a00070.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00070.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00070 =
+[
+    [ "parameterized_invocation", "a00070.html#a5fa125c4885b76bd9c250e1d0692ad13", null ],
+    [ "exec", "a00070.html#abc61b203c68554dc43ccead818683b4a", null ],
+    [ "operator()", "a00070.html#a96dd05cc41a36dcca337bd3971d354ab", null ],
+    [ "operator()", "a00070.html#ae8ef9f87245ddad0e4319357e82db670", null ],
+    [ "operator()", "a00070.html#a6fd084905f68c744bd791c601168103d", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00071.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00071.html
--- 3.1-1.1/doc/html/Reference/a00071.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00071.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,84 +1,428 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::range_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::pipeline Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00071.html">range_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00071.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00268.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::pipeline Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::range_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::range_error" --><!-- doxytag: inherits="pqxx::pqxx_exception" -->Something is out of range, similar to std::out_of_range.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p>Processes several queries in FIFO manner, optimized for high throughput.  
+ <a href="a00071.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00150_source.html">pipeline.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::range_error:</div>
-<div class="dynsection">
-<p><center><img src="a00502.png" border="0" usemap="#a00503" alt="Inheritance graph"></center>
-<map name="a00503">
-<area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="5,6,163,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00504.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#fe1f00814531af326e7fb11757f978e9">range_error</a> (const std::string &amp;)</td></tr>
+Inheritance diagram for pqxx::pipeline:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00071.png" usemap="#pqxx::pipeline_map" alt=""/>
+  <map id="pqxx::pipeline_map" name="pqxx::pipeline_map">
+<area href="a00108.html" alt="pqxx::internal::transactionfocus" shape="rect" coords="0,56,184,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,184,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>getquery</b></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>Query</b></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab53d0c0294ef3c3c7147be2ab55bab0e"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a41ad44c7f13ad198db938c84e25473a9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a41ad44c7f13ad198db938c84e25473a9">pipeline</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;Name=std::string())</td></tr>
+<tr class="memitem:ab265dd1ed168022f92a207dd62bad5d1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#ab265dd1ed168022f92a207dd62bad5d1">~pipeline</a> ()  throw ()</td></tr>
+<tr class="memitem:a839abbb0e60ac35e941a632027b4f917"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a839abbb0e60ac35e941a632027b4f917">insert</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a839abbb0e60ac35e941a632027b4f917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add query to the pipeline.  <a href="#a839abbb0e60ac35e941a632027b4f917"></a><br/></td></tr>
+<tr class="memitem:a7808218284e98bb5dffaf110defd1b33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a7808218284e98bb5dffaf110defd1b33">complete</a> ()</td></tr>
+<tr class="memdesc:a7808218284e98bb5dffaf110defd1b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for all ongoing or pending operations to complete.  <a href="#a7808218284e98bb5dffaf110defd1b33"></a><br/></td></tr>
+<tr class="memitem:a33a890c64efc37d76f3c649f145ff950"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a33a890c64efc37d76f3c649f145ff950">flush</a> ()</td></tr>
+<tr class="memdesc:a33a890c64efc37d76f3c649f145ff950"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget all ongoing or pending operations and retrieved results.  <a href="#a33a890c64efc37d76f3c649f145ff950"></a><br/></td></tr>
+<tr class="memitem:ab375b0b4e02c7f1a48602c4186fbbbd7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#ab375b0b4e02c7f1a48602c4186fbbbd7">cancel</a> ()</td></tr>
+<tr class="memdesc:ab375b0b4e02c7f1a48602c4186fbbbd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel ongoing query, if any.  <a href="#ab375b0b4e02c7f1a48602c4186fbbbd7"></a><br/></td></tr>
+<tr class="memitem:a3d89c57d7619430a3847595d8fb902bc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a3d89c57d7619430a3847595d8fb902bc">is_finished</a> (<a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>) const </td></tr>
+<tr class="memdesc:a3d89c57d7619430a3847595d8fb902bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is result for given query available?  <a href="#a3d89c57d7619430a3847595d8fb902bc"></a><br/></td></tr>
+<tr class="memitem:a19c508710d0025993e41512f23de56be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a19c508710d0025993e41512f23de56be">retrieve</a> (<a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a> qid)</td></tr>
+<tr class="memdesc:a19c508710d0025993e41512f23de56be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve result for given query.  <a href="#a19c508710d0025993e41512f23de56be"></a><br/></td></tr>
+<tr class="memitem:a9edc9c6e50f25790c3707495ab9779dd"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>, <a class="el" href="a00084.html">result</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a9edc9c6e50f25790c3707495ab9779dd">retrieve</a> ()</td></tr>
+<tr class="memdesc:a9edc9c6e50f25790c3707495ab9779dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve oldest unretrieved result (possibly wait for one)  <a href="#a9edc9c6e50f25790c3707495ab9779dd"></a><br/></td></tr>
+<tr class="memitem:a5f5fe658349dcd9aed9c19faccf23ea4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a5f5fe658349dcd9aed9c19faccf23ea4">empty</a> () const   throw ()</td></tr>
+<tr class="memitem:af94a53d0eecb7485cb135155f912ce8e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#af94a53d0eecb7485cb135155f912ce8e">retain</a> (int retain_max=2)</td></tr>
+<tr class="memdesc:af94a53d0eecb7485cb135155f912ce8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set maximum number of queries to retain before issuing them to the backend.  <a href="#af94a53d0eecb7485cb135155f912ce8e"></a><br/></td></tr>
+<tr class="memitem:a153e247a4f449ce8069379c4567738e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a153e247a4f449ce8069379c4567738e9">resume</a> ()</td></tr>
+<tr class="memdesc:a153e247a4f449ce8069379c4567738e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resume retained query emission (harmless when not needed)  <a href="#a153e247a4f449ce8069379c4567738e9"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:ac1ad1a201cacde2cd35182dd3bfb66fa inherit pub_methods_a00108"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t)</td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a267f75f541c85a38605fb6b8c66d1e0a inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a267f75f541c85a38605fb6b8c66d1e0a">register_me</a> ()</td></tr>
+<tr class="memitem:a53309d8e6bb85774cb16bf6a340cb558 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a53309d8e6bb85774cb16bf6a340cb558">unregister_me</a> ()  throw ()</td></tr>
+<tr class="memitem:adae9df5aee401ccb6f1d77024d524322 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#adae9df5aee401ccb6f1d77024d524322">reg_pending_error</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memitem:a474a6ca017e7a313bc33e7b2b5a2d1d7 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a474a6ca017e7a313bc33e7b2b5a2d1d7">registered</a> () const   throw ()</td></tr>
+<tr class="inherit_header pro_attribs_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a9924dff8ce3203ca9fb9e584800ef9f4 inherit pro_attribs_a00108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Processes several queries in FIFO manner, optimized for high throughput. </p>
+<p>Use a pipeline if you want to execute queries without always sitting still while they execute. Result retrieval is decoupled from execution request; queries "go in at the front" and results "come out the back." Actually results may be retrieved in any order, if you want.</p>
+<p>Feel free to pump as many queries into the pipeline as possible, even if they were generated after looking at a result from the same pipeline. To get the best possible throughput, try to make insertion of queries run as far ahead of results retrieval as possible; issue each query as early as possible and retrieve their results as late as possible, so the pipeline has as many ongoing queries as possible at any given time. In other words, keep it busy!</p>
+<p>One warning: if any of the queries you insert leads to a syntactic error, the error may be returned as if it were generated by an older query. Future versions may try to work around this if working in a nontransaction. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="ab53d0c0294ef3c3c7147be2ab55bab0e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef long <a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">pqxx::pipeline::query_id</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a41ad44c7f13ad198db938c84e25473a9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::pipeline::pipeline </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Something is out of range, similar to std::out_of_range. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="fe1f00814531af326e7fb11757f978e9"></a><!-- doxytag: member="pqxx::range_error::range_error" ref="fe1f00814531af326e7fb11757f978e9" args="(const std::string &amp;)" -->
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab265dd1ed168022f92a207dd62bad5d1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::pipeline::~pipeline </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ab375b0b4e02c7f1a48602c4186fbbbd7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::pipeline::cancel </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Cancel ongoing query, if any. </p>
+<p>May cancel any or all of the queries that have been inserted at this point whose results have not yet been retrieved. If the pipeline lives in a backend transaction, that transaction may be left in a nonfunctional state in which it can only be aborted.</p>
+<p>Therefore, either use this function in a nontransaction, or abort the transaction after calling it. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7808218284e98bb5dffaf110defd1b33"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::pipeline::complete </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Wait for all ongoing or pending operations to complete. </p>
+<p>Detaches from the transaction when done. </p>
+
+</div>
+</div>
+<a class="anchor" id="a5f5fe658349dcd9aed9c19faccf23ea4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::pipeline::empty </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33a890c64efc37d76f3c649f145ff950"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::range_error::range_error           </td>
+          <td class="memname">void pqxx::pipeline::flush </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Forget all ongoing or pending operations and retrieved results. </p>
+<p>Queries already sent to the backend may still be completed, depending on implementation and timing.</p>
+<p>Any error state (unless caused by an internal error) will also be cleared. This is mostly useful in a nontransaction, since a backend transaction is aborted automatically when an error occurs.</p>
+<p>Detaches from the transaction when done. </p>
+
+</div>
+</div>
+<a class="anchor" id="a839abbb0e60ac35e941a632027b4f917"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">pipeline::query_id</a> pqxx::pipeline::insert </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>q</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add query to the pipeline. </p>
+<p>Queries are accumulated in the pipeline and sent to the backend in a concatenated format, separated by semicolons. The queries you insert must not use this construct themselves, or the pipeline will get hopelessly confused! </p>
+<dl class="section return"><dt>Returns</dt><dd>Identifier for this query, unique only within this pipeline </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a3d89c57d7619430a3847595d8fb902bc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::pipeline::is_finished </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">pipeline::query_id</a>&#160;</td>
+          <td class="paramname"><em>q</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Is result for given query available? </p>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a153e247a4f449ce8069379c4567738e9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::pipeline::resume </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Resume retained query emission (harmless when not needed) </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="af94a53d0eecb7485cb135155f912ce8e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int pqxx::pipeline::retain </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>retain_max</em> = <code>2</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Set maximum number of queries to retain before issuing them to the backend. </p>
+<p>The pipeline will perform better if multiple queries are issued at once, but retaining queries until the results are needed (as opposed to issuing them to the backend immediately) may negate any performance benefits the pipeline can offer.</p>
+<p>Recommended practice is to set this value no higher than the number of queries you intend to insert at a time. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">retain_max</td><td>A nonnegative "retention capacity;" passing zero will cause queries to be issued immediately </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Old retention capacity </dd></dl>
 
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a19c508710d0025993e41512f23de56be"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">result</a> pqxx::pipeline::retrieve </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>&#160;</td>
+          <td class="paramname"><em>qid</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieve result for given query. </p>
+<p>If the query failed for whatever reason, this will throw an exception. The function will block if the query has not finished yet. </p>
+<dl class="section warning"><dt>Warning</dt><dd>If results are retrieved out-of-order, i.e. in a different order than the one in which their queries were inserted, errors may "propagate" to subsequent queries. </dd></dl>
+
+<p>References <a class="el" href="a00071.html#a19c508710d0025993e41512f23de56be">retrieve()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00071.html#a19c508710d0025993e41512f23de56be">retrieve()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9edc9c6e50f25790c3707495ab9779dd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pair&lt; <a class="el" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">pipeline::query_id</a>, <a class="el" href="a00084.html">result</a> &gt; pqxx::pipeline::retrieve </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Retrieve oldest unretrieved result (possibly wait for one) </p>
+<dl class="section return"><dt>Returns</dt><dd>The query's identifier and its result set </dd></dl>
+
+</div>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00150_source.html">pipeline.hxx</a></li>
+<li>pipeline.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00071.html">pipeline</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00071.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00071.js
--- 3.1-1.1/doc/html/Reference/a00071.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00071.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,16 @@
+var a00071 =
+[
+    [ "query_id", "a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e", null ],
+    [ "pipeline", "a00071.html#a41ad44c7f13ad198db938c84e25473a9", null ],
+    [ "~pipeline", "a00071.html#ab265dd1ed168022f92a207dd62bad5d1", null ],
+    [ "cancel", "a00071.html#ab375b0b4e02c7f1a48602c4186fbbbd7", null ],
+    [ "complete", "a00071.html#a7808218284e98bb5dffaf110defd1b33", null ],
+    [ "empty", "a00071.html#a5f5fe658349dcd9aed9c19faccf23ea4", null ],
+    [ "flush", "a00071.html#a33a890c64efc37d76f3c649f145ff950", null ],
+    [ "insert", "a00071.html#a839abbb0e60ac35e941a632027b4f917", null ],
+    [ "is_finished", "a00071.html#a3d89c57d7619430a3847595d8fb902bc", null ],
+    [ "resume", "a00071.html#a153e247a4f449ce8069379c4567738e9", null ],
+    [ "retain", "a00071.html#af94a53d0eecb7485cb135155f912ce8e", null ],
+    [ "retrieve", "a00071.html#a19c508710d0025993e41512f23de56be", null ],
+    [ "retrieve", "a00071.html#a9edc9c6e50f25790c3707495ab9779dd", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00071.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00071.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00072.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00072.html
--- 3.1-1.1/doc/html/Reference/a00072.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00072.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,138 +1,183 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::reactivation_avoidance_counter Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::plpgsql_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00072.html">reactivation_avoidance_counter</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00072.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00255.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::plpgsql_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::reactivation_avoidance_counter Class Reference</h1><!-- doxytag: class="pqxx::internal::reactivation_avoidance_counter" --><code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00654.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#87bd978d6269ea43fdcdf2f2eb278ef5">reactivation_avoidance_counter</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#4f2bdaaec1119d4a66efe42faa17a0dd">add</a> (int n)  throw ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#1560ca3d205af226866a1e388dc505f2">clear</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#1cc2be7fd873ff9c6fa91e3efb3293dd">get</a> () const   throw ()</td></tr>
+<p>PL/pgSQL error.  
+ <a href="a00072.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::plpgsql_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00072.png" usemap="#pqxx::plpgsql_error_map" alt=""/>
+  <map id="pqxx::plpgsql_error_map" name="pqxx::plpgsql_error_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="187,112,364,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="187,56,364,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="187,0,364,24"/>
+<area href="a00073.html" alt="pqxx::plpgsql_no_data_found" shape="rect" coords="0,224,177,248"/>
+<area href="a00074.html" title="Exception raised in PL/pgSQL procedure." alt="pqxx::plpgsql_raise" shape="rect" coords="187,224,364,248"/>
+<area href="a00075.html" alt="pqxx::plpgsql_too_many_rows" shape="rect" coords="374,224,551,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abb0f0e6d4eaebe63d7409c244ffa9b06"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#abb0f0e6d4eaebe63d7409c244ffa9b06">plpgsql_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a346ab5182768a7a9b25c03e45890c601"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a346ab5182768a7a9b25c03e45890c601">plpgsql_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="87bd978d6269ea43fdcdf2f2eb278ef5"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_counter::reactivation_avoidance_counter" ref="87bd978d6269ea43fdcdf2f2eb278ef5" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>PL/pgSQL error. </p>
+<p>Exceptions derived from this class are errors from PL/pgSQL procedures. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="abb0f0e6d4eaebe63d7409c244ffa9b06"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::reactivation_avoidance_counter::reactivation_avoidance_counter           </td>
+          <td class="memname">pqxx::plpgsql_error::plpgsql_error </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4f2bdaaec1119d4a66efe42faa17a0dd"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_counter::add" ref="4f2bdaaec1119d4a66efe42faa17a0dd" args="(int n)" -->
+</div>
+<a class="anchor" id="a346ab5182768a7a9b25c03e45890c601"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::reactivation_avoidance_counter::add           </td>
+          <td class="memname">pqxx::plpgsql_error::plpgsql_error </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1560ca3d205af226866a1e388dc505f2"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_counter::clear" ref="1560ca3d205af226866a1e388dc505f2" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::reactivation_avoidance_counter::clear           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01162">pqxx::connection_base::close()</a>, and <a class="el" href="a00257.html#l00348">pqxx::transaction_base::End()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1cc2be7fd873ff9c6fa91e3efb3293dd"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_counter::get" ref="1cc2be7fd873ff9c6fa91e3efb3293dd" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">int pqxx::internal::reactivation_avoidance_counter::get           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00218.html#l00182">pqxx::connection_base::activate()</a>, <a class="el" href="a00218.html#l00219">pqxx::connection_base::deactivate()</a>, and <a class="el" href="a00257.html#l00348">pqxx::transaction_base::End()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00072.html">plpgsql_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00072.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00072.js
--- 3.1-1.1/doc/html/Reference/a00072.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00072.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00072 =
+[
+    [ "plpgsql_error", "a00072.html#abb0f0e6d4eaebe63d7409c244ffa9b06", null ],
+    [ "plpgsql_error", "a00072.html#a346ab5182768a7a9b25c03e45890c601", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00072.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00072.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00073.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00073.html
--- 3.1-1.1/doc/html/Reference/a00073.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00073.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,119 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::reactivation_avoidance_exemption Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::plpgsql_no_data_found Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00073.html">reactivation_avoidance_exemption</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00073.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00257.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::plpgsql_no_data_found Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::reactivation_avoidance_exemption Class Reference</h1><!-- doxytag: class="pqxx::internal::reactivation_avoidance_exemption" -->Scoped exemption to reactivation avoidance.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00655.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#e0b6ca7a0a7d33b88a0e0a3fb61ac240">reactivation_avoidance_exemption</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#3669e53c578ba7935d5b7bdaad0d5e0b">~reactivation_avoidance_exemption</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#8397728c755c1a8b4ade039406a4155c">close_connection</a> ()  throw ()</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::plpgsql_no_data_found:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00073.png" usemap="#pqxx::plpgsql_no_data_found_map" alt=""/>
+  <map id="pqxx::plpgsql_no_data_found_map" name="pqxx::plpgsql_no_data_found_map">
+<area href="a00072.html" title="PL/pgSQL error." alt="pqxx::plpgsql_error" shape="rect" coords="0,168,173,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,173,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,173,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,173,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab6013cc52171417e60008c1efebd4257"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#ab6013cc52171417e60008c1efebd4257">plpgsql_no_data_found</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a97cfb947332b3e275e3437b5284de8ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#a97cfb947332b3e275e3437b5284de8ff">plpgsql_no_data_found</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00072"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00072')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00072.html">pqxx::plpgsql_error</a></td></tr>
+<tr class="memitem:abb0f0e6d4eaebe63d7409c244ffa9b06 inherit pub_methods_a00072"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#abb0f0e6d4eaebe63d7409c244ffa9b06">plpgsql_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a346ab5182768a7a9b25c03e45890c601 inherit pub_methods_a00072"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a346ab5182768a7a9b25c03e45890c601">plpgsql_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Scoped exemption to reactivation avoidance. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="e0b6ca7a0a7d33b88a0e0a3fb61ac240"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_exemption::reactivation_avoidance_exemption" ref="e0b6ca7a0a7d33b88a0e0a3fb61ac240" args="(connection_base &amp;C)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ab6013cc52171417e60008c1efebd4257"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::reactivation_avoidance_exemption::reactivation_avoidance_exemption           </td>
+          <td class="memname">pqxx::plpgsql_no_data_found::plpgsql_no_data_found </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="3669e53c578ba7935d5b7bdaad0d5e0b"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_exemption::~reactivation_avoidance_exemption" ref="3669e53c578ba7935d5b7bdaad0d5e0b" args="()" -->
+</div>
+<a class="anchor" id="a97cfb947332b3e275e3437b5284de8ff"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::reactivation_avoidance_exemption::~reactivation_avoidance_exemption           </td>
+          <td class="memname">pqxx::plpgsql_no_data_found::plpgsql_no_data_found </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l00219">pqxx::connection_base::deactivate()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="8397728c755c1a8b4ade039406a4155c"></a><!-- doxytag: member="pqxx::internal::reactivation_avoidance_exemption::close_connection" ref="8397728c755c1a8b4ade039406a4155c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::reactivation_avoidance_exemption::close_connection           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a><li><a class="el" href="a00128.html">connection_base.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00073.html">plpgsql_no_data_found</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00073.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00073.js
--- 3.1-1.1/doc/html/Reference/a00073.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00073.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00073 =
+[
+    [ "plpgsql_no_data_found", "a00073.html#ab6013cc52171417e60008c1efebd4257", null ],
+    [ "plpgsql_no_data_found", "a00073.html#a97cfb947332b3e275e3437b5284de8ff", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00073.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00073.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00074.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00074.html
--- 3.1-1.1/doc/html/Reference/a00074.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00074.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,149 +1,183 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::refcount Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::plpgsql_raise Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00074.html">refcount</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00074.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00256.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::plpgsql_raise Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::refcount Class Reference</h1><!-- doxytag: class="pqxx::internal::refcount" --><code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00667.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#02b194d1c4db0d3dd7d97351443bb7bd">refcount</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#603b442ad845f46a19fa92970990a03e">~refcount</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#7cf6cdeea44ec32c1c8b9d02f4c2f83c">makeref</a> (<a class="el" href="a00074.html">refcount</a> &amp;)  throw ()</td></tr>
+<p>Exception raised in PL/pgSQL procedure.  
+ <a href="a00074.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create additional reference based on existing <a class="el" href="a00074.html">refcount</a> object.  <a href="#7cf6cdeea44ec32c1c8b9d02f4c2f83c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#d096a060aac9424435026f17b04d3772">loseref</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Drop this reference; return whether we were the last reference.  <a href="#d096a060aac9424435026f17b04d3772"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::plpgsql_raise:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00074.png" usemap="#pqxx::plpgsql_raise_map" alt=""/>
+  <map id="pqxx::plpgsql_raise_map" name="pqxx::plpgsql_raise_map">
+<area href="a00072.html" title="PL/pgSQL error." alt="pqxx::plpgsql_error" shape="rect" coords="0,168,129,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,129,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,129,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,129,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:acb8177c2b8060623f46fadfb82c621f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#acb8177c2b8060623f46fadfb82c621f8">plpgsql_raise</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a7a51d15b2778ae1ec61f480482050690"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a7a51d15b2778ae1ec61f480482050690">plpgsql_raise</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00072"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00072')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00072.html">pqxx::plpgsql_error</a></td></tr>
+<tr class="memitem:abb0f0e6d4eaebe63d7409c244ffa9b06 inherit pub_methods_a00072"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#abb0f0e6d4eaebe63d7409c244ffa9b06">plpgsql_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a346ab5182768a7a9b25c03e45890c601 inherit pub_methods_a00072"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a346ab5182768a7a9b25c03e45890c601">plpgsql_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Helper class used in reference counting (doubly-linked circular list) Reference-counted smart-pointer for libpq-allocated resources. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="02b194d1c4db0d3dd7d97351443bb7bd"></a><!-- doxytag: member="pqxx::internal::refcount::refcount" ref="02b194d1c4db0d3dd7d97351443bb7bd" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Exception raised in PL/pgSQL procedure. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="acb8177c2b8060623f46fadfb82c621f8"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::refcount::refcount           </td>
+          <td class="memname">pqxx::plpgsql_raise::plpgsql_raise </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="603b442ad845f46a19fa92970990a03e"></a><!-- doxytag: member="pqxx::internal::refcount::~refcount" ref="603b442ad845f46a19fa92970990a03e" args="()" -->
+</div>
+<a class="anchor" id="a7a51d15b2778ae1ec61f480482050690"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::refcount::~refcount           </td>
+          <td class="memname">pqxx::plpgsql_raise::plpgsql_raise </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00261.html#l00133">loseref()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="7cf6cdeea44ec32c1c8b9d02f4c2f83c"></a><!-- doxytag: member="pqxx::internal::refcount::makeref" ref="7cf6cdeea44ec32c1c8b9d02f4c2f83c" args="(refcount &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::refcount::makeref           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00074.html">refcount</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create additional reference based on existing <a class="el" href="a00074.html">refcount</a> object. 
-<p>
-
-<p>References <a class="el" href="a00262.html#l00497">m_l</a>, and <a class="el" href="a00262.html#l00497">m_r</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d096a060aac9424435026f17b04d3772"></a><!-- doxytag: member="pqxx::internal::refcount::loseref" ref="d096a060aac9424435026f17b04d3772" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::internal::refcount::loseref           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Drop this reference; return whether we were the last reference. 
-<p>
-
-<p>References <a class="el" href="a00262.html#l00497">m_l</a>, and <a class="el" href="a00262.html#l00497">m_r</a>.</p>
-
-<p>Referenced by <a class="el" href="a00261.html#l00118">~refcount()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a><li><a class="el" href="a00172.html">util.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00074.html">plpgsql_raise</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00074.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00074.js
--- 3.1-1.1/doc/html/Reference/a00074.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00074.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00074 =
+[
+    [ "plpgsql_raise", "a00074.html#acb8177c2b8060623f46fadfb82c621f8", null ],
+    [ "plpgsql_raise", "a00074.html#a7a51d15b2778ae1ec61f480482050690", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00074.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00074.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00075.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00075.html
--- 3.1-1.1/doc/html/Reference/a00075.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00075.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::restrict_violation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::plpgsql_too_many_rows Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00075.html">restrict_violation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00075.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00258.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::plpgsql_too_many_rows Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::restrict_violation Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::restrict_violation" --><!-- doxytag: inherits="pqxx::integrity_constraint_violation" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::restrict_violation:</div>
-<div class="dynsection">
-<p><center><img src="a00514.png" border="0" usemap="#a00515" alt="Inheritance graph"></center>
-<map name="a00515">
-<area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="5,238,248,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="69,161,184,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="77,84,176,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="48,6,205,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00516.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#595aad1240047206570109fb06936695">restrict_violation</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#3c6a6fa4c970502389cded0863f83122">restrict_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::plpgsql_too_many_rows:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00075.png" usemap="#pqxx::plpgsql_too_many_rows_map" alt=""/>
+  <map id="pqxx::plpgsql_too_many_rows_map" name="pqxx::plpgsql_too_many_rows_map">
+<area href="a00072.html" title="PL/pgSQL error." alt="pqxx::plpgsql_error" shape="rect" coords="0,168,177,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,177,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,177,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,177,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8b2c0fa01d76add8d15f1024562521fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a8b2c0fa01d76add8d15f1024562521fe">plpgsql_too_many_rows</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a77fc4dece10e4aa3efffc7f4dcbeb81e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html#a77fc4dece10e4aa3efffc7f4dcbeb81e">plpgsql_too_many_rows</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00072"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00072')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00072.html">pqxx::plpgsql_error</a></td></tr>
+<tr class="memitem:abb0f0e6d4eaebe63d7409c244ffa9b06 inherit pub_methods_a00072"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#abb0f0e6d4eaebe63d7409c244ffa9b06">plpgsql_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a346ab5182768a7a9b25c03e45890c601 inherit pub_methods_a00072"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a346ab5182768a7a9b25c03e45890c601">plpgsql_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="595aad1240047206570109fb06936695"></a><!-- doxytag: member="pqxx::restrict_violation::restrict_violation" ref="595aad1240047206570109fb06936695" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a8b2c0fa01d76add8d15f1024562521fe"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::restrict_violation::restrict_violation           </td>
+          <td class="memname">pqxx::plpgsql_too_many_rows::plpgsql_too_many_rows </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="3c6a6fa4c970502389cded0863f83122"></a><!-- doxytag: member="pqxx::restrict_violation::restrict_violation" ref="3c6a6fa4c970502389cded0863f83122" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a77fc4dece10e4aa3efffc7f4dcbeb81e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::restrict_violation::restrict_violation           </td>
+          <td class="memname">pqxx::plpgsql_too_many_rows::plpgsql_too_many_rows </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00075.html">plpgsql_too_many_rows</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00075.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00075.js
--- 3.1-1.1/doc/html/Reference/a00075.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00075.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00075 =
+[
+    [ "plpgsql_too_many_rows", "a00075.html#a8b2c0fa01d76add8d15f1024562521fe", null ],
+    [ "plpgsql_too_many_rows", "a00075.html#a77fc4dece10e4aa3efffc7f4dcbeb81e", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00075.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00075.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00076.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00076.html
--- 3.1-1.1/doc/html/Reference/a00076.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00076.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,1151 +1,385 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::PQAlloc&lt; T, DELETER &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00076.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00306.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::PQAlloc&lt; T, DELETER &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result Class Reference</h1><!-- doxytag: class="pqxx::result" --><!-- doxytag: inherits="pqxx::internal::PQAlloc" -->Query or command <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result:</div>
-<div class="dynsection">
-<p><center><img src="a00595.png" border="0" usemap="#a00596" alt="Inheritance graph"></center>
-<map name="a00596">
-<area shape="rect" href="a00067.html" title="Reference&#45;counted smart pointer to libpq&#45;allocated object." alt="" coords="7,5,567,32"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00597.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef signed long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">difference_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00082.html">tuple</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#164e5a080d9969d55b3fed9f2c137ce8">reference</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#16732cbff5bf11cefd68471577344551">pointer</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::iterator<br>
-&lt; std::random_access_iterator_tag, <br>
-const <a class="el" href="a00082.html">tuple</a>, <br>
-<a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>, <br>
-<a class="el" href="a00078.html">const_iterator</a>, <a class="el" href="a00082.html">tuple</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#e6413af1021e9faccfad1c1b1d80446b">const_iterator_base</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#fa18f18140865290a1e7a3461cc604f4">iterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00080.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#95891ed8c127338b022f98365cce1e91">reverse_iterator</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ad8b1fd5e42dbfc4a4d75c0a1b0c6ddb">result</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#1d7279ca68e1d4da8da2829bb34e3b80">result</a> (const <a class="el" href="a00076.html">result</a> &amp;rhs)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#6e2e28a20a517c6c3f4e4c9407fbe288">operator=</a> (const <a class="el" href="a00076.html">result</a> &amp;rhs)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00080.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#0071af142f658bffd98b8325c1674119">rbegin</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00080.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#0bc04ac2094a4a2b92f2f54b37ab5369">rend</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#4da8b68228a85639c4bcc0499cff338a">begin</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#1bb5a3f08176752a21e5902f634ef7be">end</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#68dd2275bab0b4e254573ee664738904">front</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#b60d18b1e9d4666c28551da2ad0e37d5">back</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#4dccf162cd4081bbe2824ba29d546e90">size</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#7ee3d9e31a9f81b366cf04f1f73b5df2">empty</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#51879f289b45e502f320b34dbbe023ca">capacity</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#2f3a766be0d57b86db847585ed1f2fc4">swap</a> (<a class="el" href="a00076.html">result</a> &amp;)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00082.html">tuple</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#3aac4e676b132a3499e70bb83bcc4bec">operator[]</a> (<a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a> i) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00082.html">tuple</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#e65f1edabcfc8528eebc4b53861fed2f">at</a> (<a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a>) const   throw (range_error)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#77542a235a4ca711267e30d84492ce3b">clear</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#1741df34f160c410d8d28dddc44e6015">query</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query that produced this <a class="el" href="a00076.html" title="Query or command result set.">result</a>, if available (empty string otherwise).  <a href="#1741df34f160c410d8d28dddc44e6015"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#939ae251d3e8435a113157ec1443b90e">inserted_oid</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If command was <code>INSERT</code> of 1 row, return oid of inserted row.  <a href="#939ae251d3e8435a113157ec1443b90e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#5b614d6a33d0ce60282f6bf3cdf97409">affected_rows</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If command was <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE:</code> number of affected rows.  <a href="#5b614d6a33d0ce60282f6bf3cdf97409"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#cddfe7ea1003815ef4e738bb6c84d221">operator==</a> (const <a class="el" href="a00076.html">result</a> &amp;) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ced900b0f7d44652107e4df89df9023f">operator!=</a> (const <a class="el" href="a00076.html">result</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Column information</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#cb946d7d458528ce4a6b4cd0fce95e7e">columns</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of columns in <a class="el" href="a00076.html" title="Query or command result set.">result</a>.  <a href="#cb946d7d458528ce4a6b4cd0fce95e7e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ed461aece290e5e28b7eca971e71198d">column_number</a> (const char ColName[]) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist).  <a href="#ed461aece290e5e28b7eca971e71198d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#fd40988f258ee059b0e76dac6480d8b3">column_number</a> (const std::string &amp;Name) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist).  <a href="#fd40988f258ee059b0e76dac6480d8b3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#21afe937e085a4b3346080c389a12fb7">column_name</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> Number) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name of column with this number (throws exception if it doesn't exist).  <a href="#21afe937e085a4b3346080c389a12fb7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#887f5867a4c241990ffb697097ddc2c9">column_type</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#887f5867a4c241990ffb697097ddc2c9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#8f7e6221f552199a88b3cfb787bd03c2">column_type</a> (int ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#8f7e6221f552199a88b3cfb787bd03c2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#f56d00ec20a26b2dfeb3a83b481cf243">column_type</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#f56d00ec20a26b2dfeb3a83b481cf243"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#33ab612efd39b727d6e1e151a6c354f6">column_type</a> (const char ColName[]) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#33ab612efd39b727d6e1e151a6c354f6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#4d4688bc1e1752a5bdb6b3737f3aa2db">column_table</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#4d4688bc1e1752a5bdb6b3737f3aa2db"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#c5027b980639d8d0304ab32fb3052d73">column_table</a> (int ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#c5027b980639d8d0304ab32fb3052d73"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#91a2dd4512530363cdf1240a0aeba46c">column_table</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#91a2dd4512530363cdf1240a0aeba46c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#20487e0b75717f8a10d7221f1f1d3fd8">table_column</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column in its table did this column come from?  <a href="#20487e0b75717f8a10d7221f1f1d3fd8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#dadfb3831c89409ff3ff74a49b5b5bdd">table_column</a> (int ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column in its table did this column come from?  <a href="#dadfb3831c89409ff3ff74a49b5b5bdd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#d8ecab8bcc022fe5a489e2d2fded14bd">table_column</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column in its table did this column come from?  <a href="#d8ecab8bcc022fe5a489e2d2fded14bd"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Package Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#af00a1cdad8eb957bf685387f9c766a5">__pad0__</a>:PQAlloc&lt; const <a class="el" href="a00083.html">internal::result_data</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#f7b6ece1eaed4b566df65da96644c8f2">__pad1__</a>:freemem_result_data&gt; super</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#6bfc6726088b9b429e2cebb4497be55d">pqxx::result::field</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#137c5ab03f8e5975fe822571cfa796e4">pqxx::internal::gate::result_creation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#9fe15fed7d74b4ae0718cf9ae64427bf">pqxx::internal::gate::result_connection</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#d7ebaaac4647f20a915fd6aa735cd1e5">pqxx::internal::gate::result_sql_cursor</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">const_fielditerator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">const_iterator</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator for rows (tuples) in a query <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="a00078.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">const_reverse_fielditerator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">const_reverse_iterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">field</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference to a <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> in a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="a00081.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">tuple</a></td></tr>
+<p>Reference-counted smart pointer to libpq-allocated object.  
+ <a href="a00076.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference to one row in a <a class="el" href="a00076.html" title="Query or command result set.">result</a>.  <a href="a00082.html#_details">More...</a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a7fe52ebd1d2533f298caa5ffc975be66"><td class="memItemLeft" align="right" valign="top">typedef T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adf8536b0ab651d81247809a673f3bf42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#adf8536b0ab651d81247809a673f3bf42">PQAlloc</a> ()  throw ()</td></tr>
+<tr class="memitem:a402105c20c0fba99659dbea44fbd36b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a402105c20c0fba99659dbea44fbd36b2">PQAlloc</a> (const <a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a8aded9ce9cf12f720f193ed303367bd1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a8aded9ce9cf12f720f193ed303367bd1">~PQAlloc</a> ()  throw ()</td></tr>
+<tr class="memitem:a93b56fd3623e58c1aa6ceaaff54bbe11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00076.html">PQAlloc</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a93b56fd3623e58c1aa6ceaaff54bbe11">operator=</a> (const <a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a43caacd4030a3dd949e9e44352c859dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a43caacd4030a3dd949e9e44352c859dd">PQAlloc</a> (T *obj)  throw ()</td></tr>
+<tr class="memdesc:a43caacd4030a3dd949e9e44352c859dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assume ownership of a pointer.  <a href="#a43caacd4030a3dd949e9e44352c859dd"></a><br/></td></tr>
+<tr class="memitem:a681827ee20603fab0019324494e78455"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a681827ee20603fab0019324494e78455">swap</a> (<a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a4550cd53958a269ac8c2e4e7a02d2f02"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a4550cd53958a269ac8c2e4e7a02d2f02">operator bool</a> () const   throw ()</td></tr>
+<tr class="memdesc:a4550cd53958a269ac8c2e4e7a02d2f02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this pointer non-null?  <a href="#a4550cd53958a269ac8c2e4e7a02d2f02"></a><br/></td></tr>
+<tr class="memitem:af32cad9f63309273527e4007a7d892ef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#af32cad9f63309273527e4007a7d892ef">operator!</a> () const   throw ()</td></tr>
+<tr class="memdesc:af32cad9f63309273527e4007a7d892ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this pointer null?  <a href="#af32cad9f63309273527e4007a7d892ef"></a><br/></td></tr>
+<tr class="memitem:a362f5103b150fb3913adb8923c7b1dbe"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a362f5103b150fb3913adb8923c7b1dbe">operator-&gt;</a> () const   throw (std::logic_error)</td></tr>
+<tr class="memdesc:a362f5103b150fb3913adb8923c7b1dbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference pointer.  <a href="#a362f5103b150fb3913adb8923c7b1dbe"></a><br/></td></tr>
+<tr class="memitem:afaa858977fa3c7df8f6497afdf4f2803"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#afaa858977fa3c7df8f6497afdf4f2803">operator*</a> () const   throw (std::logic_error)</td></tr>
+<tr class="memdesc:afaa858977fa3c7df8f6497afdf4f2803"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference pointer.  <a href="#afaa858977fa3c7df8f6497afdf4f2803"></a><br/></td></tr>
+<tr class="memitem:ac8d570bb46f0831c42a5b3fc0f803040"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ac8d570bb46f0831c42a5b3fc0f803040">get</a> () const   throw ()</td></tr>
+<tr class="memdesc:ac8d570bb46f0831c42a5b3fc0f803040"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain underlying pointer.  <a href="#ac8d570bb46f0831c42a5b3fc0f803040"></a><br/></td></tr>
+<tr class="memitem:a7bb9fd9d80b38ddbed8128b33806900d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a7bb9fd9d80b38ddbed8128b33806900d">reset</a> ()  throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Query or command <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. 
-<p>
-This behaves as a container (as defined by the C++ standard library) and provides random access const iterators to iterate over its tuples. A <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a> can also be accessed by indexing a <a class="el" href="a00076.html" title="Query or command result set.">result</a> R by the tuple's zero-based number:<p>
-<div class="fragment"><pre class="fragment">        <span class="keywordflow">for</span> (<a class="code" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> i=0; i &lt; R.size(); ++i) Process(R[i]);
-</pre></div><p>
-Result sets in libpqxx are lightweight, reference-counted wrapper objects (following the Proxy design pattern) that are small and cheap to copy. Think of a <a class="el" href="a00076.html" title="Query or command result set.">result</a> object as a "smart pointer" to an underlying <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>The <a class="el" href="a00076.html" title="Query or command result set.">result</a> set that a <a class="el" href="a00076.html" title="Query or command result set.">result</a> object points to is not thread-safe. If you copy a <a class="el" href="a00076.html" title="Query or command result set.">result</a> object, it still refers to the same underlying <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. So never copy, destroy, query, or otherwise access a <a class="el" href="a00076.html" title="Query or command result set.">result</a> while another thread may be copying, destroying, querying, or otherwise accessing the same <a class="el" href="a00076.html" title="Query or command result set.">result</a> set--even if it is doing so through a different <a class="el" href="a00076.html" title="Query or command result set.">result</a> object! </dd></dl>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="9e02bbf1126802fd7fd64df989e03940"></a><!-- doxytag: member="pqxx::result::size_type" ref="9e02bbf1126802fd7fd64df989e03940" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned long <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">pqxx::result::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt;<br/>
+class pqxx::internal::PQAlloc&lt; T, DELETER &gt;</h3>
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="bec7f7f4d7ed030f38b2a123b632b818"></a><!-- doxytag: member="pqxx::result::difference_type" ref="bec7f7f4d7ed030f38b2a123b632b818" args="" -->
+<p>Reference-counted smart pointer to libpq-allocated object. </p>
+<p>Keep track of a libpq-allocated object, and free it once all references to it have died.</p>
+<p>If the available PostgreSQL development files supply <code>PQfreemem()</code> or <code>PQfreeNotify()</code>, this is used to free the memory. If not, free() is used instead. This matters on Windows, where memory allocated by a DLL must be freed by the same DLL.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Copying, swapping, and destroying <a class="el" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">PQAlloc</a> objects that refer to the same underlying libpq-allocated block is <em>not thread-safe</em>. If you wish to pass reference-counted objects around between threads, make sure that each of these operations is protected against concurrency with similar operations on the same object&ndash;or other copies of the same object. </dd></dl>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a7fe52ebd1d2533f298caa5ffc975be66"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef signed long <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">pqxx::result::difference_type</a>          </td>
+          <td class="memname">typedef T <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="164e5a080d9969d55b3fed9f2c137ce8"></a><!-- doxytag: member="pqxx::result::reference" ref="164e5a080d9969d55b3fed9f2c137ce8" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00082.html">tuple</a> <a class="el" href="a00082.html">pqxx::result::reference</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="16732cbff5bf11cefd68471577344551"></a><!-- doxytag: member="pqxx::result::pointer" ref="16732cbff5bf11cefd68471577344551" args="" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="adf8536b0ab651d81247809a673f3bf42"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00078.html">const_iterator</a> <a class="el" href="a00078.html">pqxx::result::pointer</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e6413af1021e9faccfad1c1b1d80446b"></a><!-- doxytag: member="pqxx::result::const_iterator_base" ref="e6413af1021e9faccfad1c1b1d80446b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef std ::<a class="el" href="a00078.html">iterator</a>&lt; std ::random_access_iterator_tag, const <a class="el" href="a00082.html">tuple</a>, <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>, <a class="el" href="a00078.html">const_iterator</a>, <a class="el" href="a00082.html">tuple</a>&gt; <a class="el" href="a00076.html#e6413af1021e9faccfad1c1b1d80446b">pqxx::result::const_iterator_base</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="fa18f18140865290a1e7a3461cc604f4"></a><!-- doxytag: member="pqxx::result::iterator" ref="fa18f18140865290a1e7a3461cc604f4" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00078.html">const_iterator</a> <a class="el" href="a00078.html">pqxx::result::iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="95891ed8c127338b022f98365cce1e91"></a><!-- doxytag: member="pqxx::result::reverse_iterator" ref="95891ed8c127338b022f98365cce1e91" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00080.html">const_reverse_iterator</a> <a class="el" href="a00080.html">pqxx::result::reverse_iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ad8b1fd5e42dbfc4a4d75c0a1b0c6ddb"></a><!-- doxytag: member="pqxx::result::result" ref="ad8b1fd5e42dbfc4a4d75c0a1b0c6ddb" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::result           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00413">pqxx::result::tuple::column_number()</a>, and <a class="el" href="a00240.html#l00443">pqxx::result::tuple::slice()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1d7279ca68e1d4da8da2829bb34e3b80"></a><!-- doxytag: member="pqxx::result::result" ref="1d7279ca68e1d4da8da2829bb34e3b80" args="(const result &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::result           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="6e2e28a20a517c6c3f4e4c9407fbe288"></a><!-- doxytag: member="pqxx::result::operator=" ref="6e2e28a20a517c6c3f4e4c9407fbe288" args="(const result &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html">result</a>&amp; pqxx::result::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cddfe7ea1003815ef4e738bb6c84d221"></a><!-- doxytag: member="pqxx::result::operator==" ref="cddfe7ea1003815ef4e738bb6c84d221" args="(const result &amp;) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ced900b0f7d44652107e4df89df9023f"></a><!-- doxytag: member="pqxx::result::operator!=" ref="ced900b0f7d44652107e4df89df9023f" args="(const result &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0071af142f658bffd98b8325c1674119"></a><!-- doxytag: member="pqxx::result::rbegin" ref="0071af142f658bffd98b8325c1674119" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00080.html">const_reverse_iterator</a> pqxx::result::rbegin           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0bc04ac2094a4a2b92f2f54b37ab5369"></a><!-- doxytag: member="pqxx::result::rend" ref="0bc04ac2094a4a2b92f2f54b37ab5369" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00080.html">const_reverse_iterator</a> pqxx::result::rend           </td>
+          <td class="memname"><a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00076.html">PQAlloc</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4da8b68228a85639c4bcc0499cff338a"></a><!-- doxytag: member="pqxx::result::begin" ref="4da8b68228a85639c4bcc0499cff338a" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">const_iterator</a> pqxx::result::begin           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1bb5a3f08176752a21e5902f634ef7be"></a><!-- doxytag: member="pqxx::result::end" ref="1bb5a3f08176752a21e5902f634ef7be" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">result::const_iterator</a> pqxx::result::end           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00240.html#l00119">size()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="68dd2275bab0b4e254573ee664738904"></a><!-- doxytag: member="pqxx::result::front" ref="68dd2275bab0b4e254573ee664738904" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html">reference</a> pqxx::result::front           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b60d18b1e9d4666c28551da2ad0e37d5"></a><!-- doxytag: member="pqxx::result::back" ref="b60d18b1e9d4666c28551da2ad0e37d5" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html">reference</a> pqxx::result::back           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="4dccf162cd4081bbe2824ba29d546e90"></a><!-- doxytag: member="pqxx::result::size" ref="4dccf162cd4081bbe2824ba29d546e90" args="() const " -->
+<a class="anchor" id="a402105c20c0fba99659dbea44fbd36b2"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">pqxx::result::size_type</a> pqxx::result::size           </td>
+          <td class="memname"><a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00076.html">PQAlloc</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype">const <a class="el" href="a00076.html">PQAlloc</a>&lt; T, DELETER &gt; &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00139">at()</a>, <a class="el" href="a00241.html#l01062">end()</a>, and <a class="el" href="a00221.html#l00236">pqxx::internal::sql_cursor::fetch()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7ee3d9e31a9f81b366cf04f1f73b5df2"></a><!-- doxytag: member="pqxx::result::empty" ref="7ee3d9e31a9f81b366cf04f1f73b5df2" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::empty           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00221.html#l00564">pqxx::icursor_iterator::operator&lt;()</a>, and <a class="el" href="a00221.html#l00554">pqxx::icursor_iterator::operator==()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="51879f289b45e502f320b34dbbe023ca"></a><!-- doxytag: member="pqxx::result::capacity" ref="51879f289b45e502f320b34dbbe023ca" args="() const " -->
+<a class="anchor" id="a8aded9ce9cf12f720f193ed303367bd1"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a> pqxx::result::capacity           </td>
+          <td class="memname"><a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::~<a class="el" href="a00076.html">PQAlloc</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2f3a766be0d57b86db847585ed1f2fc4"></a><!-- doxytag: member="pqxx::result::swap" ref="2f3a766be0d57b86db847585ed1f2fc4" args="(result &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::result::swap           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00076.html">result</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="3aac4e676b132a3499e70bb83bcc4bec"></a><!-- doxytag: member="pqxx::result::operator[]" ref="3aac4e676b132a3499e70bb83bcc4bec" args="(size_type i) const " -->
+<a class="anchor" id="a43caacd4030a3dd949e9e44352c859dd"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">const <a class="el" href="a00082.html">tuple</a> pqxx::result::operator[]           </td>
+          <td class="memname"><a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::<a class="el" href="a00076.html">PQAlloc</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>obj</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00240.html#l00139">at()</a>.</p>
+<p>Assume ownership of a pointer. </p>
+<dl class="section warning"><dt>Warning</dt><dd>Don't to this more than once for a given object! </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="e65f1edabcfc8528eebc4b53861fed2f"></a><!-- doxytag: member="pqxx::result::at" ref="e65f1edabcfc8528eebc4b53861fed2f" args="(size_type) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const <a class="el" href="a00082.html">pqxx::result::tuple</a> pqxx::result::at           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw (<a class="el" href="a00071.html">range_error</a>)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00845">operator[]()</a>, and <a class="el" href="a00240.html#l00119">size()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="77542a235a4ca711267e30d84492ce3b"></a><!-- doxytag: member="pqxx::result::clear" ref="77542a235a4ca711267e30d84492ce3b" args="()" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ac8d570bb46f0831c42a5b3fc0f803040"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::result::clear           </td>
+          <td class="memname">T* <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::get </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Obtain underlying pointer. </p>
+<p>Ownership of the pointer's memory remains with the <a class="el" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">PQAlloc</a> object </p>
 
-<p>Referenced by <a class="el" href="a00221.html#l00502">pqxx::icursor_iterator::operator++()</a>, and <a class="el" href="a00221.html#l00519">pqxx::icursor_iterator::operator+=()</a>.</p>
+<p>Referenced by <a class="el" href="a00199.html#ga6a8c83d3dcea7114a00c188fe6a92779">pqxx::connection_base::esc_raw()</a>, and <a class="el" href="a00199.html#ga80a4bfe9b1c1b88c29d16ba06102370b">pqxx::escape_binary()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="cb946d7d458528ce4a6b4cd0fce95e7e"></a><!-- doxytag: member="pqxx::result::columns" ref="cb946d7d458528ce4a6b4cd0fce95e7e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a> pqxx::result::columns           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Number of columns in <a class="el" href="a00076.html" title="Query or command result set.">result</a>. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ed461aece290e5e28b7eca971e71198d"></a><!-- doxytag: member="pqxx::result::column_number" ref="ed461aece290e5e28b7eca971e71198d" args="(const char ColName[]) const " -->
+<a class="anchor" id="a4550cd53958a269ac8c2e4e7a02d2f02"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a> pqxx::result::column_number           </td>
+          <td class="memname"><a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator bool </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Number of given column (throws exception if it doesn't exist). 
-<p>
+<p>Is this pointer non-null? </p>
 
-<p>Referenced by <a class="el" href="a00240.html#l00413">pqxx::result::tuple::column_number()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fd40988f258ee059b0e76dac6480d8b3"></a><!-- doxytag: member="pqxx::result::column_number" ref="fd40988f258ee059b0e76dac6480d8b3" args="(const std::string &amp;Name) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::column_number           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Number of given column (throws exception if it doesn't exist). 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="21afe937e085a4b3346080c389a12fb7"></a><!-- doxytag: member="pqxx::result::column_name" ref="21afe937e085a4b3346080c389a12fb7" args="(tuple::size_type Number) const " -->
+<a class="anchor" id="af32cad9f63309273527e4007a7d892ef"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">const char * pqxx::result::column_name           </td>
+          <td class="memname">bool <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator! </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>Number</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Name of column with this number (throws exception if it doesn't exist). 
-<p>
-
-<p>References <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00240.html#l00413">pqxx::result::tuple::column_number()</a>.</p>
+<p>Is this pointer null? </p>
 
 </div>
-</div><p>
-<a class="anchor" name="887f5867a4c241990ffb697097ddc2c9"></a><!-- doxytag: member="pqxx::result::column_type" ref="887f5867a4c241990ffb697097ddc2c9" args="(tuple::size_type ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">pqxx::oid</a> pqxx::result::column_type           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Type of given column. 
-<p>
-
-<p>References <a class="el" href="a00262.html#l00331">pqxx::oid_none</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8f7e6221f552199a88b3cfb787bd03c2"></a><!-- doxytag: member="pqxx::result::column_type" ref="8f7e6221f552199a88b3cfb787bd03c2" args="(int ColNum) const " -->
+<a class="anchor" id="afaa858977fa3c7df8f6497afdf4f2803"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_type           </td>
+          <td class="memname">T&amp; <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator* </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw (std::logic_error)</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Type of given column. 
-<p>
+<p>Dereference pointer. </p>
+<p>Throws a logic_error if the pointer is null. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="f56d00ec20a26b2dfeb3a83b481cf243"></a><!-- doxytag: member="pqxx::result::column_type" ref="f56d00ec20a26b2dfeb3a83b481cf243" args="(const std::string &amp;ColName) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_type           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Type of given column. 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="33ab612efd39b727d6e1e151a6c354f6"></a><!-- doxytag: member="pqxx::result::column_type" ref="33ab612efd39b727d6e1e151a6c354f6" args="(const char ColName[]) const " -->
+<a class="anchor" id="a362f5103b150fb3913adb8923c7b1dbe"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_type           </td>
+          <td class="memname">T* <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator-&gt; </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw (std::logic_error)</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Type of given column. 
-<p>
+<p>Dereference pointer. </p>
+<p>Throws a logic_error if the pointer is null. </p>
 
-</div>
-</div><p>
-<a class="anchor" name="4d4688bc1e1752a5bdb6b3737f3aa2db"></a><!-- doxytag: member="pqxx::result::column_table" ref="4d4688bc1e1752a5bdb6b3737f3aa2db" args="(tuple::size_type ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_table           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+<p>Referenced by <a class="el" href="a00076.html#afaa858977fa3c7df8f6497afdf4f2803">pqxx::internal::PQAlloc&lt; const unsigned char &gt;::operator*()</a>.</p>
 
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
 </div>
-</div><p>
-<a class="anchor" name="c5027b980639d8d0304ab32fb3052d73"></a><!-- doxytag: member="pqxx::result::column_table" ref="c5027b980639d8d0304ab32fb3052d73" args="(int ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_table           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
-</div>
-</div><p>
-<a class="anchor" name="91a2dd4512530363cdf1240a0aeba46c"></a><!-- doxytag: member="pqxx::result::column_table" ref="91a2dd4512530363cdf1240a0aeba46c" args="(const std::string &amp;ColName) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_table           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
 </div>
-</div><p>
-<a class="anchor" name="20487e0b75717f8a10d7221f1f1d3fd8"></a><!-- doxytag: member="pqxx::result::table_column" ref="20487e0b75717f8a10d7221f1f1d3fd8" args="(tuple::size_type ColNum) const " -->
+<a class="anchor" id="a93b56fd3623e58c1aa6ceaaff54bbe11"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::table_column           </td>
+          <td class="memname"><a class="el" href="a00076.html">PQAlloc</a>&amp; <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::operator= </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const <a class="el" href="a00076.html">PQAlloc</a>&lt; T, DELETER &gt; &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-What column in its table did this column come from? 
-<p>
+<p>Referenced by <a class="el" href="a00013.html#a3fa7ac041cdab7f6d207d429d4620132">pqxx::binarystring::binarystring()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="dadfb3831c89409ff3ff74a49b5b5bdd"></a><!-- doxytag: member="pqxx::result::table_column" ref="dadfb3831c89409ff3ff74a49b5b5bdd" args="(int ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::table_column           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What column in its table did this column come from? 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="d8ecab8bcc022fe5a489e2d2fded14bd"></a><!-- doxytag: member="pqxx::result::table_column" ref="d8ecab8bcc022fe5a489e2d2fded14bd" args="(const std::string &amp;ColName) const " -->
+<a class="anchor" id="a7bb9fd9d80b38ddbed8128b33806900d"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::table_column           </td>
+          <td class="memname">void <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::reset </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-What column in its table did this column come from? 
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="1741df34f160c410d8d28dddc44e6015"></a><!-- doxytag: member="pqxx::result::query" ref="1741df34f160c410d8d28dddc44e6015" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const string &amp; pqxx::result::query           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Query that produced this <a class="el" href="a00076.html" title="Query or command result set.">result</a>, if available (empty string otherwise). 
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="939ae251d3e8435a113157ec1443b90e"></a><!-- doxytag: member="pqxx::result::inserted_oid" ref="939ae251d3e8435a113157ec1443b90e" args="() const " -->
+<a class="anchor" id="a681827ee20603fab0019324494e78455"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T, void(*)(T *) DELETER = freepqmem_templated&lt;T&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">pqxx::oid</a> pqxx::result::inserted_oid           </td>
+          <td class="memname">void <a class="el" href="a00076.html">pqxx::internal::PQAlloc</a>&lt; T, DELETER &gt;::swap </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-If command was <code>INSERT</code> of 1 row, return oid of inserted row. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Identifier of inserted row if exactly one row was inserted, or oid_none otherwise. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="5b614d6a33d0ce60282f6bf3cdf97409"></a><!-- doxytag: member="pqxx::result::affected_rows" ref="5b614d6a33d0ce60282f6bf3cdf97409" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">pqxx::result::size_type</a> pqxx::result::affected_rows           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-If command was <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE:</code> number of affected rows. 
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of affected rows if last command was <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE</code>; zero for all other commands. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00221.html#l00251">pqxx::internal::sql_cursor::move()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="6bfc6726088b9b429e2cebb4497be55d"></a><!-- doxytag: member="pqxx::result::pqxx::result::field" ref="6bfc6726088b9b429e2cebb4497be55d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class <a class="el" href="a00081.html">pqxx::result::field</a><code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="137c5ab03f8e5975fe822571cfa796e4"></a><!-- doxytag: member="pqxx::result::pqxx::internal::gate::result_creation" ref="137c5ab03f8e5975fe822571cfa796e4" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::result_creation<code> [friend]</code>          </td>
+          <td class="paramtype"><a class="el" href="a00076.html">PQAlloc</a>&lt; T, DELETER &gt; &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9fe15fed7d74b4ae0718cf9ae64427bf"></a><!-- doxytag: member="pqxx::result::pqxx::internal::gate::result_connection" ref="9fe15fed7d74b4ae0718cf9ae64427bf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::result_connection<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="d7ebaaac4647f20a915fd6aa735cd1e5"></a><!-- doxytag: member="pqxx::result::pqxx::internal::gate::result_sql_cursor" ref="d7ebaaac4647f20a915fd6aa735cd1e5" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::result_sql_cursor<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="af00a1cdad8eb957bf685387f9c766a5"></a><!-- doxytag: member="pqxx::result::__pad0__" ref="af00a1cdad8eb957bf685387f9c766a5" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html#af00a1cdad8eb957bf685387f9c766a5">pqxx::result::__pad0__</a><code> [package]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f7b6ece1eaed4b566df65da96644c8f2"></a><!-- doxytag: member="pqxx::result::__pad1__" ref="f7b6ece1eaed4b566df65da96644c8f2" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html#f7b6ece1eaed4b566df65da96644c8f2">pqxx::result::__pad1__</a><code> [package]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00076.html">PQAlloc</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00076.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00076.js
--- 3.1-1.1/doc/html/Reference/a00076.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00076.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,16 @@
+var a00076 =
+[
+    [ "content_type", "a00076.html#a7fe52ebd1d2533f298caa5ffc975be66", null ],
+    [ "PQAlloc", "a00076.html#adf8536b0ab651d81247809a673f3bf42", null ],
+    [ "PQAlloc", "a00076.html#a402105c20c0fba99659dbea44fbd36b2", null ],
+    [ "~PQAlloc", "a00076.html#a8aded9ce9cf12f720f193ed303367bd1", null ],
+    [ "PQAlloc", "a00076.html#a43caacd4030a3dd949e9e44352c859dd", null ],
+    [ "get", "a00076.html#ac8d570bb46f0831c42a5b3fc0f803040", null ],
+    [ "operator bool", "a00076.html#a4550cd53958a269ac8c2e4e7a02d2f02", null ],
+    [ "operator!", "a00076.html#af32cad9f63309273527e4007a7d892ef", null ],
+    [ "operator*", "a00076.html#afaa858977fa3c7df8f6497afdf4f2803", null ],
+    [ "operator->", "a00076.html#a362f5103b150fb3913adb8923c7b1dbe", null ],
+    [ "operator=", "a00076.html#a93b56fd3623e58c1aa6ceaaff54bbe11", null ],
+    [ "reset", "a00076.html#a7bb9fd9d80b38ddbed8128b33806900d", null ],
+    [ "swap", "a00076.html#a681827ee20603fab0019324494e78455", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00077.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00077.html
--- 3.1-1.1/doc/html/Reference/a00077.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00077.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,596 +1,201 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result::const_fielditerator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::pqxx_exception Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>::<a class="el" href="a00077.html">const_fielditerator</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00077.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00225.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::pqxx_exception Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result::const_fielditerator Class Reference</h1><!-- doxytag: class="pqxx::result::const_fielditerator" --><!-- doxytag: inherits="pqxx::result::field" --><code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result::const_fielditerator:</div>
-<div class="dynsection">
-<p><center><img src="a00598.png" border="0" usemap="#a00599" alt="Inheritance graph"></center>
-<map name="a00599">
-<area shape="rect" href="a00079.html" title="pqxx::result::const_reverse_fielditerator" alt="" coords="5,162,277,188"><area shape="rect" href="a00081.html" title="Reference to a field in a result set." alt="" coords="77,7,205,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00600.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Arithmetic operators</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#497b63192e5a9a4710ca4293e9c320d8">operator+</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#bda1ecb40831ed4143b14a71f375ab03">operator-</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#5e304e228897af96ffdc3029eb0e5170">operator-</a> (<a class="el" href="a00077.html">const_fielditerator</a>) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#8de1143b9efd7d43a058320137ea82ce">operator+</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>, <a class="el" href="a00077.html">const_fielditerator</a>)</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#e36e7966b97f179cc4c7aefdb380b871">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00082.html#e8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00081.html">field</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ba4cd98f3fa431fd209e2472d2451e70">reference</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#d0bd9ced4070befef193fd8d5833b108">const_fielditerator</a> (const <a class="el" href="a00082.html">tuple</a> &amp;T, <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> C)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#906281ba2490a25fb8f6aa07d628d864">const_fielditerator</a> (const <a class="el" href="a00081.html">field</a> &amp;F)  throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Dereferencing operators</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#bc1be98d7b3677258fe94371dafffb51">operator-&gt;</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#d6ec720a271e8c8ef55d788a4ef4310e">operator*</a> () const </td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#c16edeb1eb2cf093da17f50bbfca1d28">operator++</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#c9fb1887ce58a5a7e54f4f07f03e7cb8">operator++</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#8f1bc52746ef28585dec38b5c2aa3c38">operator--</a> (int)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#f35b104d96b2539298f555f8d203c274">operator--</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#fff9ad42b2ee875271986e286eafb3e5">operator+=</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#97aff58264d121f88dad67b0af297934">operator-=</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#3ea200dc9d6c842992fac6051894c0d8">operator==</a> (const <a class="el" href="a00077.html">const_fielditerator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ccdf860872a8f8afc2f09962584a18da">operator!=</a> (const <a class="el" href="a00077.html">const_fielditerator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#d55b1f8087acb90293ac5b755fa7559a">operator&lt;</a> (const <a class="el" href="a00077.html">const_fielditerator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#50dbe2edddd9e19c30c0f759f99fd96c">operator&lt;=</a> (const <a class="el" href="a00077.html">const_fielditerator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#790cbb59aead02667d6b9d0ceb1a9403">operator&gt;</a> (const <a class="el" href="a00077.html">const_fielditerator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#15cc57f0a024f75b589c691bc365c718">operator&gt;=</a> (const <a class="el" href="a00077.html">const_fielditerator</a> &amp;i) const </td></tr>
+<p>Mixin base class to identify libpqxx-specific exception types.  
+ <a href="a00077.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::pqxx_exception:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00077.png" usemap="#pqxx::pqxx_exception_map" alt=""/>
+  <map id="pqxx::pqxx_exception_map" name="pqxx::pqxx_exception_map">
+<area href="a00004.html" title="Invalid argument passed to libpqxx, similar to std::invalid_argument." alt="pqxx::argument_error" shape="rect" coords="0,56,204,80"/>
+<area href="a00029.html" alt="pqxx::conversion_error" shape="rect" coords="214,56,418,80"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="428,56,632,80"/>
+<area href="a00051.html" title="Internal error in libpqxx library." alt="pqxx::internal_error" shape="rect" coords="642,56,846,80"/>
+<area href="a00079.html" title="Something is out of range, similar to std::out_of_range." alt="pqxx::range_error" shape="rect" coords="856,56,1060,80"/>
+<area href="a00116.html" title="Error in usage of libpqxx library, similar to std::logic_error." alt="pqxx::usage_error" shape="rect" coords="1070,56,1274,80"/>
+<area href="a00014.html" title="Exception class for lost or failed backend connection." alt="pqxx::broken_connection" shape="rect" coords="214,112,418,136"/>
+<area href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;" alt="pqxx::in_doubt_error" shape="rect" coords="428,112,632,136"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="642,112,846,136"/>
+<area href="a00105.html" alt="pqxx::too_many_connections" shape="rect" coords="214,168,418,192"/>
+<area href="a00031.html" title="Error in data provided to SQL statement." alt="pqxx::data_exception" shape="rect" coords="856,168,1060,192"/>
+<area href="a00040.html" title="Database feature not supported in current setup." alt="pqxx::feature_not_supported" shape="rect" coords="856,224,1060,248"/>
+<area href="a00048.html" alt="pqxx::insufficient_privilege" shape="rect" coords="856,280,1060,304"/>
+<area href="a00049.html" title="Resource shortage on the server." alt="pqxx::insufficient_resources" shape="rect" coords="856,336,1060,360"/>
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="856,392,1060,416"/>
+<area href="a00052.html" alt="pqxx::invalid_cursor_name" shape="rect" coords="856,448,1060,472"/>
+<area href="a00053.html" alt="pqxx::invalid_cursor_state" shape="rect" coords="856,504,1060,528"/>
+<area href="a00054.html" alt="pqxx::invalid_sql_statement_name" shape="rect" coords="856,560,1060,584"/>
+<area href="a00072.html" title="PL/pgSQL error." alt="pqxx::plpgsql_error" shape="rect" coords="856,616,1060,640"/>
+<area href="a00100.html" alt="pqxx::syntax_error" shape="rect" coords="856,672,1060,696"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="e36e7966b97f179cc4c7aefdb380b871"></a><!-- doxytag: member="pqxx::result::const_fielditerator::size_type" ref="e36e7966b97f179cc4c7aefdb380b871" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> <a class="el" href="a00077.html#e36e7966b97f179cc4c7aefdb380b871">pqxx::result::const_fielditerator::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00081.html#0ab6de6dd220f68122b41c71758ebe09">pqxx::result::field</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="17ba5e3a754d359042dfa48e5264ddf1"></a><!-- doxytag: member="pqxx::result::const_fielditerator::difference_type" ref="17ba5e3a754d359042dfa48e5264ddf1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00082.html#e8abaddcc9a8eeea270407617a0575ca">tuple::difference_type</a> <a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">pqxx::result::const_fielditerator::difference_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ba4cd98f3fa431fd209e2472d2451e70"></a><!-- doxytag: member="pqxx::result::const_fielditerator::reference" ref="ba4cd98f3fa431fd209e2472d2451e70" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00081.html">field</a> <a class="el" href="a00081.html">pqxx::result::const_fielditerator::reference</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d0bd9ced4070befef193fd8d5833b108"></a><!-- doxytag: member="pqxx::result::const_fielditerator::const_fielditerator" ref="d0bd9ced4070befef193fd8d5833b108" args="(const tuple &amp;T, tuple::size_type C)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::const_fielditerator::const_fielditerator           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00082.html">tuple</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01072">operator+()</a>, and <a class="el" href="a00241.html#l01081">operator-()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="906281ba2490a25fb8f6aa07d628d864"></a><!-- doxytag: member="pqxx::result::const_fielditerator::const_fielditerator" ref="906281ba2490a25fb8f6aa07d628d864" args="(const field &amp;F)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::const_fielditerator::const_fielditerator           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00081.html">field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>F</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="bc1be98d7b3677258fe94371dafffb51"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator-&gt;" ref="bc1be98d7b3677258fe94371dafffb51" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">pointer</a> pqxx::result::const_fielditerator::operator-&gt;           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d6ec720a271e8c8ef55d788a4ef4310e"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator*" ref="d6ec720a271e8c8ef55d788a4ef4310e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::const_fielditerator::operator*           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c16edeb1eb2cf093da17f50bbfca1d28"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator++" ref="c16edeb1eb2cf093da17f50bbfca1d28" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">pqxx::result::const_fielditerator</a> pqxx::result::const_fielditerator::operator++           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#51c35bad2747cbd6c90a267d59aa31ef">pqxx::result::const_reverse_fielditerator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00466">pqxx::result::field::m_col</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c9fb1887ce58a5a7e54f4f07f03e7cb8"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator++" ref="c9fb1887ce58a5a7e54f4f07f03e7cb8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator++           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#a5365b5264c106eee2c276007e4765d4">pqxx::result::const_reverse_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8f1bc52746ef28585dec38b5c2aa3c38"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator--" ref="8f1bc52746ef28585dec38b5c2aa3c38" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">pqxx::result::const_fielditerator</a> pqxx::result::const_fielditerator::operator--           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#a9bd8e32cf5caac0ec911d9518bf8410">pqxx::result::const_reverse_fielditerator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00466">pqxx::result::field::m_col</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f35b104d96b2539298f555f8d203c274"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator--" ref="f35b104d96b2539298f555f8d203c274" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator--           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#346cdf18a3340f2503555f19f71f21a0">pqxx::result::const_reverse_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fff9ad42b2ee875271986e286eafb3e5"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator+=" ref="fff9ad42b2ee875271986e286eafb3e5" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator+=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#b3b5c56b1d6b15f64d064dfbd26d8cff">pqxx::result::const_reverse_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="97aff58264d121f88dad67b0af297934"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator-=" ref="97aff58264d121f88dad67b0af297934" args="(difference_type i)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Mixin base class to identify libpqxx-specific exception types. </p>
+<p>If you wish to catch all exception types specific to libpqxx for some reason, catch this type. All of libpqxx's exception classes are derived from it through multiple-inheritance (they also fit into the standard library's exception hierarchy in more fitting places).</p>
+<p>This class is not derived from std::exception, since that could easily lead to exception classes with multiple std::exception base-class objects. As Bart Samwel points out, "catch" is subject to some nasty fineprint in such cases. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a9386d73e8176de81de9b1fe38afa6952"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_fielditerator</a>&amp; pqxx::result::const_fielditerator::operator-=           </td>
+          <td class="memname">pqxx::pqxx_exception::~pqxx_exception </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#a8e73b46b5e8b33d8c74bce11148632c">pqxx::result::const_reverse_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3ea200dc9d6c842992fac6051894c0d8"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator==" ref="3ea200dc9d6c842992fac6051894c0d8" args="(const const_fielditerator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_fielditerator::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ccdf860872a8f8afc2f09962584a18da"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator!=" ref="ccdf860872a8f8afc2f09962584a18da" args="(const const_fielditerator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_fielditerator::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d55b1f8087acb90293ac5b755fa7559a"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator&lt;" ref="d55b1f8087acb90293ac5b755fa7559a" args="(const const_fielditerator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_fielditerator::operator&lt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="50dbe2edddd9e19c30c0f759f99fd96c"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator&lt;=" ref="50dbe2edddd9e19c30c0f759f99fd96c" args="(const const_fielditerator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_fielditerator::operator&lt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="790cbb59aead02667d6b9d0ceb1a9403"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator&gt;" ref="790cbb59aead02667d6b9d0ceb1a9403" args="(const const_fielditerator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_fielditerator::operator&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="15cc57f0a024f75b589c691bc365c718"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator&gt;=" ref="15cc57f0a024f75b589c691bc365c718" args="(const const_fielditerator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_fielditerator::operator&gt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="497b63192e5a9a4710ca4293e9c320d8"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator+" ref="497b63192e5a9a4710ca4293e9c320d8" args="(difference_type) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">result::const_fielditerator</a> pqxx::result::const_fielditerator::operator+           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>o</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00079.html#bcb961f2b6c90f6036806f40ad46ab56">pqxx::result::const_reverse_fielditerator</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00241.html#l00464">pqxx::result::field::col()</a>, <a class="el" href="a00241.html#l00664">const_fielditerator()</a>, and <a class="el" href="a00241.html#l00465">pqxx::result::field::m_tup</a>.</p>
+<p>Support run-time polymorphism, and keep this class abstract. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="bda1ecb40831ed4143b14a71f375ab03"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator-" ref="bda1ecb40831ed4143b14a71f375ab03" args="(difference_type) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">result::const_fielditerator</a> pqxx::result::const_fielditerator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>o</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00464">pqxx::result::field::col()</a>, <a class="el" href="a00241.html#l00664">const_fielditerator()</a>, and <a class="el" href="a00241.html#l00465">pqxx::result::field::m_tup</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="5e304e228897af96ffdc3029eb0e5170"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator-" ref="5e304e228897af96ffdc3029eb0e5170" args="(const_fielditerator) const " -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ae74a691b4648e099e1e947f07d4a6284"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">result::const_fielditerator::difference_type</a> pqxx::result::const_fielditerator::operator-           </td>
+          <td class="memname">virtual const std::exception&amp; pqxx::pqxx_exception::base </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00382">pqxx::result::field::num()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="8de1143b9efd7d43a058320137ea82ce"></a><!-- doxytag: member="pqxx::result::const_fielditerator::operator+" ref="8de1143b9efd7d43a058320137ea82ce" args="(difference_type, const_fielditerator)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_fielditerator</a> operator+           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>o</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00077.html">result::const_fielditerator</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [friend]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
+<p>Return std::exception base-class object. </p>
+<p>Use this to get at the exception's what() function, or to downcast to a more specific type using dynamic_cast.</p>
+<p>Casting directly from <a class="el" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a> to a specific exception type is not likely to work since <a class="el" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a> is not (and could not safely be) derived from std::exception.</p>
+<p>For example, to test dynamically whether an exception is an <a class="el" href="a00090.html" title="Exception class for failed queries.">sql_error</a>:</p>
+<div class="fragment"><div class="line"><span class="keywordflow">try</span></div>
+<div class="line">{</div>
+<div class="line">  <span class="comment">// ...</span></div>
+<div class="line">}</div>
+<div class="line"><span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx::pqxx_exception</a> &amp;e)</div>
+<div class="line">{</div>
+<div class="line">  std::cerr &lt;&lt; e.<a class="code" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284" title="Return std::exception base-class object.">base</a>().what() &lt;&lt; std::endl;</div>
+<div class="line">  <span class="keyword">const</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">pqxx::sql_error</a> *s=<span class="keyword">dynamic_cast&lt;</span><span class="keyword">const </span><a class="code" href="a00090.html" title="Exception class for failed queries.">pqxx::sql_error</a>*<span class="keyword">&gt;</span>(&amp;e.<a class="code" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284" title="Return std::exception base-class object.">base</a>());</div>
+<div class="line">  <span class="keywordflow">if</span> (s) std::cerr &lt;&lt; <span class="stringliteral">&quot;Query was: &quot;</span> &lt;&lt; s-&gt;<a class="code" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5" title="The query whose execution triggered the exception.">query</a>() &lt;&lt; std::endl;</div>
+<div class="line">}</div>
+</div><!-- fragment --> 
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00077.html">pqxx_exception</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00077.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00077.js
--- 3.1-1.1/doc/html/Reference/a00077.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00077.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00077 =
+[
+    [ "~pqxx_exception", "a00077.html#a9386d73e8176de81de9b1fe38afa6952", null ],
+    [ "base", "a00077.html#ae74a691b4648e099e1e947f07d4a6284", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00077.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00077.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00078.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00078.html
--- 3.1-1.1/doc/html/Reference/a00078.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00078.html	2013-01-20 05:57:22.000000000 +0000
@@ -1,632 +1,279 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result::const_iterator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::prepare::internal::prepared_def Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>::<a class="el" href="a00078.html">const_iterator</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00078.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="a00312.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::prepare::internal::prepared_def Struct Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result::const_iterator Class Reference</h1><!-- doxytag: class="pqxx::result::const_iterator" --><!-- doxytag: inherits="pqxx::result::tuple" -->Iterator for rows (tuples) in a query <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result::const_iterator:</div>
-<div class="dynsection">
-<p><center><img src="a00601.png" border="0" usemap="#a00602" alt="Inheritance graph"></center>
-<map name="a00602">
-<area shape="rect" href="a00080.html" title="pqxx::result::const_reverse_iterator" alt="" coords="5,162,253,188"><area shape="rect" href="a00082.html" title="Reference to one row in a result." alt="" coords="61,7,197,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00603.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Arithmetic operators</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#6258eae13dd108996bd5aa271364d083">operator+</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>, <a class="el" href="a00078.html">const_iterator</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#3c180ae98bdbb8c91c99ec240699214e">operator+</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#e6c405d28fce372695d7fb2417542dae">operator-</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#c4d7e6a31016fa6ef151ed733f3981bf">operator-</a> (<a class="el" href="a00078.html">const_iterator</a>) const </td></tr>
-
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef const <a class="el" href="a00082.html">tuple</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#5ff9feab497260cb8c0149a617d67d87">pointer</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00082.html">tuple</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#d8f4dfb14796dbca4a2ea11cd3b94abf">reference</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#997e5c6c5280b00c6e0044b5802add69">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#db70d4f1b65017f0636f0f0d071c59d8">const_iterator</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#aa20e76817214772829e678fb69f1867">const_iterator</a> (const <a class="el" href="a00082.html">tuple</a> &amp;t)  throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Dereferencing operators</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#e3c7c25edc9892ee1dabf477aab9e395">operator-&gt;</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#aab7d3d96fecdb956ac2a99de48cc6ad">operator*</a> () const </td></tr>
 
-<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#ec42218111ecb316b02ff92360ef9850">operator++</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#502b4f48c95468df45e1171105e7c7ca">operator++</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#6dc388d260689833950a5e58965835e6">operator--</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#4b73b10bbd225e66fecb0f973bc7f646">operator--</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#ae4cfef8b752a742ea9309211a3e2cbb">operator+=</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#f90bb146374a2379b945408a11512826">operator-=</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#ee74d24ee0519333b2670832bc982ade">operator==</a> (const <a class="el" href="a00078.html">const_iterator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#9fa2c69ffd5abdcbe2ffe06e958bf0b0">operator!=</a> (const <a class="el" href="a00078.html">const_iterator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#d7d0e545c07afd1494ba108013017db4">operator&lt;</a> (const <a class="el" href="a00078.html">const_iterator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#bf44ad8f6cbe4151aa4f604346c3a798">operator&lt;=</a> (const <a class="el" href="a00078.html">const_iterator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#bcd73f13916b63ca0f58226743f08ad2">operator&gt;</a> (const <a class="el" href="a00078.html">const_iterator</a> &amp;i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#ac3ac92ff097a00fc3e4db4c492df39d">operator&gt;=</a> (const <a class="el" href="a00078.html">const_iterator</a> &amp;i) const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#c9149722b80a911706d9ad204417a69a">pqxx::result</a></td></tr>
+<p>Internal representation of a prepared statement definition.  
+ <a href="a00078.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00152_source.html">prepared_statement.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">param</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameter definition.  <a href="a00069.html#details">More...</a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3a8a05c0e9db9aa9423b99a62fc2b442"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a3a8a05c0e9db9aa9423b99a62fc2b442">prepared_def</a> ()</td></tr>
+<tr class="memitem:a52a320e063625faf69d1104d7dbfc13a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a52a320e063625faf69d1104d7dbfc13a">prepared_def</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:a0b3b0937ad3ed8611ad82a002b99623c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a0b3b0937ad3ed8611ad82a002b99623c">addparam</a> (const std::string &amp;sqltype, <a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>)</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a7b418648fe35168c261073cae42da08e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a7b418648fe35168c261073cae42da08e">definition</a></td></tr>
+<tr class="memdesc:a7b418648fe35168c261073cae42da08e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Text of prepared query.  <a href="#a7b418648fe35168c261073cae42da08e"></a><br/></td></tr>
+<tr class="memitem:a1093d2bc0481226a7903deef02519bbe"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="a00069.html">param</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a1093d2bc0481226a7903deef02519bbe">parameters</a></td></tr>
+<tr class="memdesc:a1093d2bc0481226a7903deef02519bbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameter list.  <a href="#a1093d2bc0481226a7903deef02519bbe"></a><br/></td></tr>
+<tr class="memitem:a11ef3d1042c1711d30b6e376f4b77dc5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a11ef3d1042c1711d30b6e376f4b77dc5">registered</a></td></tr>
+<tr class="memdesc:a11ef3d1042c1711d30b6e376f4b77dc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has this prepared statement been prepared in the current session?  <a href="#a11ef3d1042c1711d30b6e376f4b77dc5"></a><br/></td></tr>
+<tr class="memitem:a50b426f1be8afc41b445286c470f153d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a50b426f1be8afc41b445286c470f153d">complete</a></td></tr>
+<tr class="memdesc:a50b426f1be8afc41b445286c470f153d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this definition complete?  <a href="#a50b426f1be8afc41b445286c470f153d"></a><br/></td></tr>
+<tr class="memitem:a2c16c7e47fd8cb084fc159dbb57d5b35"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a2c16c7e47fd8cb084fc159dbb57d5b35">varargs</a></td></tr>
+<tr class="memdesc:a2c16c7e47fd8cb084fc159dbb57d5b35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does this statement accept variable arguments, as declared with etc()?  <a href="#a2c16c7e47fd8cb084fc159dbb57d5b35"></a><br/></td></tr>
+<tr class="memitem:a7e5954889d74c7d595c95eef1d8bff6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a7e5954889d74c7d595c95eef1d8bff6e">varargs_treatment</a></td></tr>
+<tr class="memdesc:a7e5954889d74c7d595c95eef1d8bff6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">How should parameters after the last declared one be treated?  <a href="#a7e5954889d74c7d595c95eef1d8bff6e"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Iterator for rows (tuples) in a query <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. 
-<p>
-A <a class="el" href="a00076.html" title="Query or command result set.">result</a>, once obtained, cannot be modified. Therefore there is no plain iterator type for <a class="el" href="a00076.html" title="Query or command result set.">result</a>. However its <a class="el" href="a00078.html" title="Iterator for rows (tuples) in a query result set.">const_iterator</a> type can be used to inspect its tuples without changing them. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="5ff9feab497260cb8c0149a617d67d87"></a><!-- doxytag: member="pqxx::result::const_iterator::pointer" ref="5ff9feab497260cb8c0149a617d67d87" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Internal representation of a prepared statement definition. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a3a8a05c0e9db9aa9423b99a62fc2b442"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">typedef const <a class="el" href="a00082.html">tuple</a>* <a class="el" href="a00082.html">pqxx::result::const_iterator::pointer</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00082.html#7f004c2ae584e59e06c4f94064ac2b4a">pqxx::result::tuple</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d8f4dfb14796dbca4a2ea11cd3b94abf"></a><!-- doxytag: member="pqxx::result::const_iterator::reference" ref="d8f4dfb14796dbca4a2ea11cd3b94abf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00082.html">tuple</a> <a class="el" href="a00082.html">pqxx::result::const_iterator::reference</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00082.html#3d6b3ef88e36e1122d48d47c533d2282">pqxx::result::tuple</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="997e5c6c5280b00c6e0044b5802add69"></a><!-- doxytag: member="pqxx::result::const_iterator::size_type" ref="997e5c6c5280b00c6e0044b5802add69" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00078.html#997e5c6c5280b00c6e0044b5802add69">pqxx::result::const_iterator::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="26d3352521f982371892fcd3f7887385"></a><!-- doxytag: member="pqxx::result::const_iterator::difference_type" ref="26d3352521f982371892fcd3f7887385" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">pqxx::result::const_iterator::difference_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00082.html#e8abaddcc9a8eeea270407617a0575ca">pqxx::result::tuple</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="db70d4f1b65017f0636f0f0d071c59d8"></a><!-- doxytag: member="pqxx::result::const_iterator::const_iterator" ref="db70d4f1b65017f0636f0f0d071c59d8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">pqxx::result::const_iterator::const_iterator</a>           </td>
+          <td class="memname">pqxx::prepare::internal::prepared_def::prepared_def </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00241.html#l01047">operator+()</a>, and <a class="el" href="a00241.html#l01055">operator-()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="aa20e76817214772829e678fb69f1867"></a><!-- doxytag: member="pqxx::result::const_iterator::const_iterator" ref="aa20e76817214772829e678fb69f1867" args="(const tuple &amp;t)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">pqxx::result::const_iterator::const_iterator</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00082.html">tuple</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="e3c7c25edc9892ee1dabf477aab9e395"></a><!-- doxytag: member="pqxx::result::const_iterator::operator-&gt;" ref="e3c7c25edc9892ee1dabf477aab9e395" args="() const " -->
+<a class="anchor" id="a52a320e063625faf69d1104d7dbfc13a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00077.html">pointer</a> pqxx::result::const_iterator::operator-&gt;           </td>
+          <td class="memname">pqxx::prepare::internal::prepared_def::prepared_def </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>def</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-The iterator "points to" its own <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a>, which is also itself. This allows a <a class="el" href="a00076.html" title="Query or command result set.">result</a> to be addressed as a two-dimensional container without going through the intermediate step of dereferencing the iterator. I hope this works out to be similar to C pointer/array semantics in useful cases.<p>
-IIRC Alex Stepanov, the inventor of the STL, once remarked that having this as standard behaviour for pointers would be useful in some algorithms. So even if this makes me look foolish, I would seem to be in distinguished company. 
 </div>
-</div><p>
-<a class="anchor" name="aab7d3d96fecdb956ac2a99de48cc6ad"></a><!-- doxytag: member="pqxx::result::const_iterator::operator*" ref="aab7d3d96fecdb956ac2a99de48cc6ad" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::const_iterator::operator*           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ec42218111ecb316b02ff92360ef9850"></a><!-- doxytag: member="pqxx::result::const_iterator::operator++" ref="ec42218111ecb316b02ff92360ef9850" args="(int)" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a0b3b0937ad3ed8611ad82a002b99623c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00078.html">pqxx::result::const_iterator</a> pqxx::result::const_iterator::operator++           </td>
+          <td class="memname">void pqxx::prepare::internal::prepared_def::addparam </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>sqltype</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00080.html#ea1b45c7e444e211ab2e8f632e9427a4">pqxx::result::const_reverse_iterator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00307">pqxx::result::tuple::m_Index</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="502b4f48c95468df45e1171105e7c7ca"></a><!-- doxytag: member="pqxx::result::const_iterator::operator++" ref="502b4f48c95468df45e1171105e7c7ca" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00078.html">const_iterator</a>&amp; pqxx::result::const_iterator::operator++           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00080.html#0c77b9c7c36fe68f437112776d98cc13">pqxx::result::const_reverse_iterator</a>.</p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00520">pqxx::result::const_reverse_iterator::operator--()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6dc388d260689833950a5e58965835e6"></a><!-- doxytag: member="pqxx::result::const_iterator::operator--" ref="6dc388d260689833950a5e58965835e6" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">pqxx::result::const_iterator</a> pqxx::result::const_iterator::operator--           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a>&#160;</td>
+          <td class="paramname"><em>treatment</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00080.html#48f104290f9daa59ce313ba935defe5c">pqxx::result::const_reverse_iterator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00307">pqxx::result::tuple::m_Index</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4b73b10bbd225e66fecb0f973bc7f646"></a><!-- doxytag: member="pqxx::result::const_iterator::operator--" ref="4b73b10bbd225e66fecb0f973bc7f646" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00078.html">const_iterator</a>&amp; pqxx::result::const_iterator::operator--           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
-<p>Reimplemented in <a class="el" href="a00080.html#80827d55cfa457eacd912edb7e031800">pqxx::result::const_reverse_iterator</a>.</p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00511">pqxx::result::const_reverse_iterator::operator++()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ae4cfef8b752a742ea9309211a3e2cbb"></a><!-- doxytag: member="pqxx::result::const_iterator::operator+=" ref="ae4cfef8b752a742ea9309211a3e2cbb" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">const_iterator</a>&amp; pqxx::result::const_iterator::operator+=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="f90bb146374a2379b945408a11512826"></a><!-- doxytag: member="pqxx::result::const_iterator::operator-=" ref="f90bb146374a2379b945408a11512826" args="(difference_type i)" -->
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="a50b426f1be8afc41b445286c470f153d"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00078.html">const_iterator</a>&amp; pqxx::result::const_iterator::operator-=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="memname">bool pqxx::prepare::internal::prepared_def::complete</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Is this definition complete? </p>
 
 </div>
-</div><p>
-<a class="anchor" name="ee74d24ee0519333b2670832bc982ade"></a><!-- doxytag: member="pqxx::result::const_iterator::operator==" ref="ee74d24ee0519333b2670832bc982ade" args="(const const_iterator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_iterator::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9fa2c69ffd5abdcbe2ffe06e958bf0b0"></a><!-- doxytag: member="pqxx::result::const_iterator::operator!=" ref="9fa2c69ffd5abdcbe2ffe06e958bf0b0" args="(const const_iterator &amp;i) const " -->
+<a class="anchor" id="a7b418648fe35168c261073cae42da08e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::result::const_iterator::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="memname">std::string pqxx::prepare::internal::prepared_def::definition</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Text of prepared query. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="d7d0e545c07afd1494ba108013017db4"></a><!-- doxytag: member="pqxx::result::const_iterator::operator&lt;" ref="d7d0e545c07afd1494ba108013017db4" args="(const const_iterator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_iterator::operator&lt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="bf44ad8f6cbe4151aa4f604346c3a798"></a><!-- doxytag: member="pqxx::result::const_iterator::operator&lt;=" ref="bf44ad8f6cbe4151aa4f604346c3a798" args="(const const_iterator &amp;i) const " -->
+<a class="anchor" id="a1093d2bc0481226a7903deef02519bbe"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::result::const_iterator::operator&lt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="memname">std::vector&lt;<a class="el" href="a00069.html">param</a>&gt; pqxx::prepare::internal::prepared_def::parameters</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Parameter list. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="bcd73f13916b63ca0f58226743f08ad2"></a><!-- doxytag: member="pqxx::result::const_iterator::operator&gt;" ref="bcd73f13916b63ca0f58226743f08ad2" args="(const const_iterator &amp;i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_iterator::operator&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="ac3ac92ff097a00fc3e4db4c492df39d"></a><!-- doxytag: member="pqxx::result::const_iterator::operator&gt;=" ref="ac3ac92ff097a00fc3e4db4c492df39d" args="(const const_iterator &amp;i) const " -->
+<a class="anchor" id="a11ef3d1042c1711d30b6e376f4b77dc5"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::result::const_iterator::operator&gt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00078.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="memname">bool pqxx::prepare::internal::prepared_def::registered</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Has this prepared statement been prepared in the current session? </p>
 
 </div>
-</div><p>
-<a class="anchor" name="3c180ae98bdbb8c91c99ec240699214e"></a><!-- doxytag: member="pqxx::result::const_iterator::operator+" ref="3c180ae98bdbb8c91c99ec240699214e" args="(difference_type) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">result::const_iterator</a> pqxx::result::const_iterator::operator+           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>o</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00491">const_iterator()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="e6c405d28fce372695d7fb2417542dae"></a><!-- doxytag: member="pqxx::result::const_iterator::operator-" ref="e6c405d28fce372695d7fb2417542dae" args="(difference_type) const " -->
+<a class="anchor" id="a2c16c7e47fd8cb084fc159dbb57d5b35"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00078.html">result::const_iterator</a> pqxx::result::const_iterator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>o</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="memname">bool pqxx::prepare::internal::prepared_def::varargs</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00241.html#l00491">const_iterator()</a>.</p>
+<p>Does this statement accept variable arguments, as declared with etc()? </p>
 
 </div>
-</div><p>
-<a class="anchor" name="c4d7e6a31016fa6ef151ed733f3981bf"></a><!-- doxytag: member="pqxx::result::const_iterator::operator-" ref="c4d7e6a31016fa6ef151ed733f3981bf" args="(const_iterator) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">result::const_iterator::difference_type</a> pqxx::result::const_iterator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html">const_iterator</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00285">pqxx::result::tuple::num()</a>.</p>
-
 </div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="c9149722b80a911706d9ad204417a69a"></a><!-- doxytag: member="pqxx::result::const_iterator::pqxx::result" ref="c9149722b80a911706d9ad204417a69a" args="" -->
+<a class="anchor" id="a7e5954889d74c7d595c95eef1d8bff6e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">friend class <a class="el" href="a00076.html">pqxx::result</a><code> [friend]</code>          </td>
+          <td class="memname"><a class="el" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">param_treatment</a> pqxx::prepare::internal::prepared_def::varargs_treatment</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>How should parameters after the last declared one be treated? </p>
 
 </div>
-</div><p>
-<a class="anchor" name="6258eae13dd108996bd5aa271364d083"></a><!-- doxytag: member="pqxx::result::const_iterator::operator+" ref="6258eae13dd108996bd5aa271364d083" args="(difference_type, const_iterator)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">const_iterator</a> operator+           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>o</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00078.html">result::const_iterator</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [friend]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
+<hr/>The documentation for this struct was generated from the following files:<ul>
+<li><a class="el" href="a00152_source.html">prepared_statement.hxx</a></li>
+<li>prepared_statement.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00192.html">prepare</a></li><li class="navelem"><a class="el" href="a00193.html">internal</a></li><li class="navelem"><a class="el" href="a00078.html">prepared_def</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00078.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00078.js
--- 3.1-1.1/doc/html/Reference/a00078.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00078.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,13 @@
+var a00078 =
+[
+    [ "param", "a00069.html", "a00069" ],
+    [ "prepared_def", "a00078.html#a3a8a05c0e9db9aa9423b99a62fc2b442", null ],
+    [ "prepared_def", "a00078.html#a52a320e063625faf69d1104d7dbfc13a", null ],
+    [ "addparam", "a00078.html#a0b3b0937ad3ed8611ad82a002b99623c", null ],
+    [ "complete", "a00078.html#a50b426f1be8afc41b445286c470f153d", null ],
+    [ "definition", "a00078.html#a7b418648fe35168c261073cae42da08e", null ],
+    [ "parameters", "a00078.html#a1093d2bc0481226a7903deef02519bbe", null ],
+    [ "registered", "a00078.html#a11ef3d1042c1711d30b6e376f4b77dc5", null ],
+    [ "varargs", "a00078.html#a2c16c7e47fd8cb084fc159dbb57d5b35", null ],
+    [ "varargs_treatment", "a00078.html#a7e5954889d74c7d595c95eef1d8bff6e", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00079.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00079.html
--- 3.1-1.1/doc/html/Reference/a00079.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00079.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,532 +1,142 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result::const_reverse_fielditerator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::range_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>::<a class="el" href="a00079.html">const_reverse_fielditerator</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00079.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00234.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::range_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result::const_reverse_fielditerator Class Reference</h1><!-- doxytag: class="pqxx::result::const_reverse_fielditerator" --><!-- doxytag: inherits="pqxx::result::const_fielditerator" --><code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result::const_reverse_fielditerator:</div>
-<div class="dynsection">
-<p><center><img src="a00604.png" border="0" usemap="#a00605" alt="Inheritance graph"></center>
-<map name="a00605">
-<area shape="rect" href="a00077.html" title="pqxx::result::const_fielditerator" alt="" coords="32,84,251,111"><area shape="rect" href="a00081.html" title="Reference to a field in a result set." alt="" coords="77,7,205,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00606.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#f6abd41616a8de8c16605fc4f84b4772">super</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#ba12ec37128048b166810bac273cf799">iterator_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#376a59da3f6fffd6627a1873ea3b5228">const_reverse_fielditerator</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#f0ef775d7c883132b7a6f8aeb3df2df3">const_reverse_fielditerator</a> (const <a class="el" href="a00077.html">super</a> &amp;rhs)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">iterator_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#5e1afd5bf1dbcee3972e83bb866aa98f">base</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#9fdd6003a88bc85a36c6dc046240b63d">operator=</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a5365b5264c106eee2c276007e4765d4">operator++</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#51c35bad2747cbd6c90a267d59aa31ef">operator++</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#346cdf18a3340f2503555f19f71f21a0">operator--</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a9bd8e32cf5caac0ec911d9518bf8410">operator--</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#b3b5c56b1d6b15f64d064dfbd26d8cff">operator+=</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#a8e73b46b5e8b33d8c74bce11148632c">operator-=</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
 
-<tr><td colspan="2"><div class="groupHeader">Arithmetic operators</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#bcb961f2b6c90f6036806f40ad46ab56">operator+</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#2dc27dbf36c0b966ebc25a87450d5c0b">operator-</a> (<a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#12f99190037d4b490500936a83092a74">operator-</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#4ba542847467824cde9db977878646a2">operator==</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#8d094c558482896eb9a5c292723eba7c">operator!=</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#f98fa99fc9c5358382b6fa47dda74e40">operator&lt;</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#62749ee41bfe939115ca79e4746b1299">operator&lt;=</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#b9264f0b9381e92d953a882de9f3ebb3">operator&gt;</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#5743ed64cc92b0fc704e0ba44441000b">operator&gt;=</a> (const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;rhs) const </td></tr>
+<p>Something is out of range, similar to std::out_of_range.  
+ <a href="a00079.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::range_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00079.png" usemap="#pqxx::range_error_map" alt=""/>
+  <map id="pqxx::range_error_map" name="pqxx::range_error_map">
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,129,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afe1f00814531af326e7fb11757f978e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html#afe1f00814531af326e7fb11757f978e9">range_error</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="f6abd41616a8de8c16605fc4f84b4772"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::super" ref="f6abd41616a8de8c16605fc4f84b4772" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00077.html">const_fielditerator</a> <a class="el" href="a00077.html">pqxx::result::const_reverse_fielditerator::super</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ba12ec37128048b166810bac273cf799"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::iterator_type" ref="ba12ec37128048b166810bac273cf799" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00077.html">const_fielditerator</a> <a class="el" href="a00077.html">pqxx::result::const_reverse_fielditerator::iterator_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="376a59da3f6fffd6627a1873ea3b5228"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::const_reverse_fielditerator" ref="376a59da3f6fffd6627a1873ea3b5228" args="(const const_reverse_fielditerator &amp;r)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::const_reverse_fielditerator::const_reverse_fielditerator           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>r</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f0ef775d7c883132b7a6f8aeb3df2df3"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::const_reverse_fielditerator" ref="f0ef775d7c883132b7a6f8aeb3df2df3" args="(const super &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::const_reverse_fielditerator::const_reverse_fielditerator           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">super</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="5e1afd5bf1dbcee3972e83bb866aa98f"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::base" ref="5e1afd5bf1dbcee3972e83bb866aa98f" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">pqxx::result::const_fielditerator</a> pqxx::result::const_reverse_fielditerator::base           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9fdd6003a88bc85a36c6dc046240b63d"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator=" ref="9fdd6003a88bc85a36c6dc046240b63d" args="(const const_reverse_fielditerator &amp;r)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>r</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a5365b5264c106eee2c276007e4765d4"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator++" ref="a5365b5264c106eee2c276007e4765d4" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator++           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#c9fb1887ce58a5a7e54f4f07f03e7cb8">pqxx::result::const_fielditerator</a>.</p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00537">operator++()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="51c35bad2747cbd6c90a267d59aa31ef"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator++" ref="51c35bad2747cbd6c90a267d59aa31ef" args="(int)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">pqxx::result::const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator++           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#c16edeb1eb2cf093da17f50bbfca1d28">pqxx::result::const_fielditerator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00763">operator++()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="346cdf18a3340f2503555f19f71f21a0"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator--" ref="346cdf18a3340f2503555f19f71f21a0" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator--           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#f35b104d96b2539298f555f8d203c274">pqxx::result::const_fielditerator</a>.</p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00546">operator--()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9bd8e32cf5caac0ec911d9518bf8410"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator--" ref="a9bd8e32cf5caac0ec911d9518bf8410" args="(int)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Something is out of range, similar to std::out_of_range. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="afe1f00814531af326e7fb11757f978e9"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00079.html">pqxx::result::const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator--           </td>
+          <td class="memname">pqxx::range_error::range_error </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#8f1bc52746ef28585dec38b5c2aa3c38">pqxx::result::const_fielditerator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00766">operator--()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b3b5c56b1d6b15f64d064dfbd26d8cff"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator+=" ref="b3b5c56b1d6b15f64d064dfbd26d8cff" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator+=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#fff9ad42b2ee875271986e286eafb3e5">pqxx::result::const_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a8e73b46b5e8b33d8c74bce11148632c"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator-=" ref="a8e73b46b5e8b33d8c74bce11148632c" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&amp; pqxx::result::const_reverse_fielditerator::operator-=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#97aff58264d121f88dad67b0af297934">pqxx::result::const_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bcb961f2b6c90f6036806f40ad46ab56"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator+" ref="bcb961f2b6c90f6036806f40ad46ab56" args="(difference_type i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator+           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00077.html#497b63192e5a9a4710ca4293e9c320d8">pqxx::result::const_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2dc27dbf36c0b966ebc25a87450d5c0b"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator-" ref="2dc27dbf36c0b966ebc25a87450d5c0b" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_fielditerator</a> pqxx::result::const_reverse_fielditerator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="12f99190037d4b490500936a83092a74"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator-" ref="12f99190037d4b490500936a83092a74" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html#17ba5e3a754d359042dfa48e5264ddf1">difference_type</a> pqxx::result::const_reverse_fielditerator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4ba542847467824cde9db977878646a2"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator==" ref="4ba542847467824cde9db977878646a2" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8d094c558482896eb9a5c292723eba7c"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator!=" ref="8d094c558482896eb9a5c292723eba7c" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f98fa99fc9c5358382b6fa47dda74e40"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator&lt;" ref="f98fa99fc9c5358382b6fa47dda74e40" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&lt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="62749ee41bfe939115ca79e4746b1299"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator&lt;=" ref="62749ee41bfe939115ca79e4746b1299" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&lt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b9264f0b9381e92d953a882de9f3ebb3"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator&gt;" ref="b9264f0b9381e92d953a882de9f3ebb3" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="5743ed64cc92b0fc704e0ba44441000b"></a><!-- doxytag: member="pqxx::result::const_reverse_fielditerator::operator&gt;=" ref="5743ed64cc92b0fc704e0ba44441000b" args="(const const_reverse_fielditerator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_fielditerator::operator&gt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_fielditerator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00079.html">range_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00079.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00079.js
--- 3.1-1.1/doc/html/Reference/a00079.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00079.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00079 =
+[
+    [ "range_error", "a00079.html#afe1f00814531af326e7fb11757f978e9", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00079.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00079.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00080.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00080.html
--- 3.1-1.1/doc/html/Reference/a00080.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00080.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,526 +1,163 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result::const_reverse_iterator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::reactivation_avoidance_counter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>::<a class="el" href="a00080.html">const_reverse_iterator</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00080.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00296.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::reactivation_avoidance_counter Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result::const_reverse_iterator Class Reference</h1><!-- doxytag: class="pqxx::result::const_reverse_iterator" --><!-- doxytag: inherits="pqxx::result::const_iterator" --><code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result::const_reverse_iterator:</div>
-<div class="dynsection">
-<p><center><img src="a00607.png" border="0" usemap="#a00608" alt="Inheritance graph"></center>
-<map name="a00608">
-<area shape="rect" href="a00078.html" title="Iterator for rows (tuples) in a query result set." alt="" coords="33,84,225,111"><area shape="rect" href="a00082.html" title="Reference to one row in a result." alt="" coords="61,7,197,34"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00609.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
-<a class="el" href="a00078.html">pqxx::result::const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#65a4d5295da3083b1a95ee5816c17cca">super</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <br>
-<a class="el" href="a00078.html">pqxx::result::const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#14f41e462253b5111dae817e330d7161">iterator_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#1abc4bcb318cbd3511a55c30dbb4cb4f">const_reverse_iterator</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#b1890406612d0e1775ae541d6495115a">const_reverse_iterator</a> (const <a class="el" href="a00077.html">const_iterator</a> &amp;rhs)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html">iterator_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#f0afdb9600704e015047eefae139bd27">base</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Manipulations</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#a1be073ae8f92550c8daeded9592feff">operator=</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#0c77b9c7c36fe68f437112776d98cc13">operator++</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#ea1b45c7e444e211ab2e8f632e9427a4">operator++</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#80827d55cfa457eacd912edb7e031800">operator--</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#48f104290f9daa59ce313ba935defe5c">operator--</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#b6a1ff51608be2f3bc57b39b95b6982e">operator+=</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#eaaba54980854dfa844f5624d2488c3a">operator-=</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Arithmetic operators</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#b592907b1ae0c5d4ae4757f452ff4cd1">operator+</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> i) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#d4107cee0d8c155632906d35170a8ba1">operator-</a> (<a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#1b943f674b441b3e57f69848538ef028">operator-</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#035719ef6920117a682d37cd3be589d1">operator==</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#9e869d43055bad39f53d19b8ecab40c5">operator!=</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#b4bb7b0527f65d596d9b8b8e1f3be5bf">operator&lt;</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#deb2392f2bd5ceca40e6dc8664580518">operator&lt;=</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#1bf17fc72dd2c01644ca8add3a5e13ad">operator&gt;</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#4efaf6aa4e3b50b28de6e8a0455cfe27">operator&gt;=</a> (const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;rhs) const </td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a87bd978d6269ea43fdcdf2f2eb278ef5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#a87bd978d6269ea43fdcdf2f2eb278ef5">reactivation_avoidance_counter</a> ()</td></tr>
+<tr class="memitem:a4f2bdaaec1119d4a66efe42faa17a0dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#a4f2bdaaec1119d4a66efe42faa17a0dd">add</a> (int n)  throw ()</td></tr>
+<tr class="memitem:a1560ca3d205af226866a1e388dc505f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#a1560ca3d205af226866a1e388dc505f2">clear</a> ()  throw ()</td></tr>
+<tr class="memitem:a1cc2be7fd873ff9c6fa91e3efb3293dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html#a1cc2be7fd873ff9c6fa91e3efb3293dd">get</a> () const   throw ()</td></tr>
 </table>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="65a4d5295da3083b1a95ee5816c17cca"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::super" ref="65a4d5295da3083b1a95ee5816c17cca" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00078.html">pqxx::result::const_iterator</a> <a class="el" href="a00078.html">pqxx::result::const_reverse_iterator::super</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="14f41e462253b5111dae817e330d7161"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::iterator_type" ref="14f41e462253b5111dae817e330d7161" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00078.html">pqxx::result::const_iterator</a> <a class="el" href="a00078.html">pqxx::result::const_reverse_iterator::iterator_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="1abc4bcb318cbd3511a55c30dbb4cb4f"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::const_reverse_iterator" ref="1abc4bcb318cbd3511a55c30dbb4cb4f" args="(const const_reverse_iterator &amp;rhs)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">pqxx::result::const_reverse_iterator::const_reverse_iterator</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b1890406612d0e1775ae541d6495115a"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::const_reverse_iterator" ref="b1890406612d0e1775ae541d6495115a" args="(const const_iterator &amp;rhs)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a87bd978d6269ea43fdcdf2f2eb278ef5"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00079.html">pqxx::result::const_reverse_iterator::const_reverse_iterator</a>           </td>
+          <td class="memname">pqxx::internal::reactivation_avoidance_counter::reactivation_avoidance_counter </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00077.html">const_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="f0afdb9600704e015047eefae139bd27"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::base" ref="f0afdb9600704e015047eefae139bd27" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html">pqxx::result::const_iterator</a> pqxx::result::const_reverse_iterator::base           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01067">pqxx::operator+()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="a1be073ae8f92550c8daeded9592feff"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator=" ref="a1be073ae8f92550c8daeded9592feff" args="(const const_reverse_iterator &amp;r)" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a4f2bdaaec1119d4a66efe42faa17a0dd"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator=           </td>
+          <td class="memname">void pqxx::internal::reactivation_avoidance_counter::add </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>r</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0c77b9c7c36fe68f437112776d98cc13"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator++" ref="0c77b9c7c36fe68f437112776d98cc13" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator++           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00078.html#502b4f48c95468df45e1171105e7c7ca">pqxx::result::const_iterator</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="ea1b45c7e444e211ab2e8f632e9427a4"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator++" ref="ea1b45c7e444e211ab2e8f632e9427a4" args="(int)" -->
+<a class="anchor" id="a1560ca3d205af226866a1e388dc505f2"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00080.html">pqxx::result::const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator++           </td>
+          <td class="memname">void pqxx::internal::reactivation_avoidance_counter::clear </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
-<p>Reimplemented from <a class="el" href="a00078.html#ec42218111ecb316b02ff92360ef9850">pqxx::result::const_iterator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00520">pqxx::result::const_iterator::operator--()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="80827d55cfa457eacd912edb7e031800"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator--" ref="80827d55cfa457eacd912edb7e031800" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator--           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00078.html#4b73b10bbd225e66fecb0f973bc7f646">pqxx::result::const_iterator</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="48f104290f9daa59ce313ba935defe5c"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator--" ref="48f104290f9daa59ce313ba935defe5c" args="(int)" -->
+<a class="anchor" id="a1cc2be7fd873ff9c6fa91e3efb3293dd"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00080.html">pqxx::result::const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator--           </td>
+          <td class="memname">int pqxx::internal::reactivation_avoidance_counter::get </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented from <a class="el" href="a00078.html#6dc388d260689833950a5e58965835e6">pqxx::result::const_iterator</a>.</p>
-
-<p>References <a class="el" href="a00241.html#l00518">pqxx::result::const_iterator::operator++()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="b6a1ff51608be2f3bc57b39b95b6982e"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator+=" ref="b6a1ff51608be2f3bc57b39b95b6982e" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator+=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="eaaba54980854dfa844f5624d2488c3a"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator-=" ref="eaaba54980854dfa844f5624d2488c3a" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a>&amp; pqxx::result::const_reverse_iterator::operator-=           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b592907b1ae0c5d4ae4757f452ff4cd1"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator+" ref="b592907b1ae0c5d4ae4757f452ff4cd1" args="(difference_type i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator+           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d4107cee0d8c155632906d35170a8ba1"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator-" ref="d4107cee0d8c155632906d35170a8ba1" args="(difference_type i)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">const_reverse_iterator</a> pqxx::result::const_reverse_iterator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1b943f674b441b3e57f69848538ef028"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator-" ref="1b943f674b441b3e57f69848538ef028" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">difference_type</a> pqxx::result::const_reverse_iterator::operator-           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="035719ef6920117a682d37cd3be589d1"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator==" ref="035719ef6920117a682d37cd3be589d1" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_iterator::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9e869d43055bad39f53d19b8ecab40c5"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator!=" ref="9e869d43055bad39f53d19b8ecab40c5" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_iterator::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b4bb7b0527f65d596d9b8b8e1f3be5bf"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator&lt;" ref="b4bb7b0527f65d596d9b8b8e1f3be5bf" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&lt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="deb2392f2bd5ceca40e6dc8664580518"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator&lt;=" ref="deb2392f2bd5ceca40e6dc8664580518" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&lt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1bf17fc72dd2c01644ca8add3a5e13ad"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator&gt;" ref="1bf17fc72dd2c01644ca8add3a5e13ad" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4efaf6aa4e3b50b28de6e8a0455cfe27"></a><!-- doxytag: member="pqxx::result::const_reverse_iterator::operator&gt;=" ref="4efaf6aa4e3b50b28de6e8a0455cfe27" args="(const const_reverse_iterator &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::const_reverse_iterator::operator&gt;=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00079.html">const_reverse_iterator</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00080.html">reactivation_avoidance_counter</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00080.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00080.js
--- 3.1-1.1/doc/html/Reference/a00080.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00080.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,7 @@
+var a00080 =
+[
+    [ "reactivation_avoidance_counter", "a00080.html#a87bd978d6269ea43fdcdf2f2eb278ef5", null ],
+    [ "add", "a00080.html#a4f2bdaaec1119d4a66efe42faa17a0dd", null ],
+    [ "clear", "a00080.html#a1560ca3d205af226866a1e388dc505f2", null ],
+    [ "get", "a00080.html#a1cc2be7fd873ff9c6fa91e3efb3293dd", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00081.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00081.html
--- 3.1-1.1/doc/html/Reference/a00081.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00081.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,616 +1,161 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result::field Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::reactivation_avoidance_exemption Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>::<a class="el" href="a00081.html">field</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00081.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00297.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::reactivation_avoidance_exemption Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result::field Class Reference</h1><!-- doxytag: class="pqxx::result::field" -->Reference to a <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> in a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result::field:</div>
-<div class="dynsection">
-<p><center><img src="a00610.png" border="0" usemap="#a00611" alt="Inheritance graph"></center>
-<map name="a00611">
-<area shape="rect" href="a00077.html" title="pqxx::result::const_fielditerator" alt="" coords="32,84,251,111"><area shape="rect" href="a00079.html" title="pqxx::result::const_reverse_fielditerator" alt="" coords="5,162,277,188"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00612.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#0ab6de6dd220f68122b41c71758ebe09">size_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#401e3e92abfa6bff1279037cb9fed43a">field</a> (const <a class="el" href="a00082.html">tuple</a> &amp;T, <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> C)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#401e3e92abfa6bff1279037cb9fed43a"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00081.html#abb1e376c0f431d8aaadab860998894d">to</a> (const char *&amp;Obj) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization: <code>to(const char *&amp;)</code>.  <a href="#abb1e376c0f431d8aaadab860998894d"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Comparison</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a7adcdf554e68ecea7b4e502c4952a03">operator==</a> (const <a class="el" href="a00081.html">field</a> &amp;) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte-by-byte comparison of two fields (all nulls are considered equal).  <a href="#a7adcdf554e68ecea7b4e502c4952a03"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#203d1875ccf5d841e3b41f8ae12ec1c3">operator!=</a> (const <a class="el" href="a00081.html">field</a> &amp;rhs) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Byte-by-byte comparison (all nulls are considered equal).  <a href="#203d1875ccf5d841e3b41f8ae12ec1c3"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Column information</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#cd43a9ead6e74a68fb816f0bb5ce8385">name</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Column name.  <a href="#cd43a9ead6e74a68fb816f0bb5ce8385"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#bb87d607c6f7094dd22a2c48a620f4c0">type</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Column type.  <a href="#bb87d607c6f7094dd22a2c48a620f4c0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a7e23b2225e1f7e49ab71aa4cee62aab">table</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a7e23b2225e1f7e49ab71aa4cee62aab"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#67b0e518d0e5aabd78e14487c4edfd5a">num</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#989bfa84c3b053422a01e8d4fd3c7461">table_column</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column number in its originating table did this column come from?  <a href="#989bfa84c3b053422a01e8d4fd3c7461"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Content access</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#8123fd1430eb4cfaa1f5095b44ceae86">c_str</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read as plain C string.  <a href="#8123fd1430eb4cfaa1f5095b44ceae86"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00081.html#07d2c570ce8028aaa2a1dd1a63a800f5">to</a> (T &amp;Obj) const </td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read value into Obj; or leave Obj untouched and return <code>false</code> if null.  <a href="#07d2c570ce8028aaa2a1dd1a63a800f5"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00081.html#bfcc5a7b5c859c195aec45481938e738">operator&gt;&gt;</a> (T &amp;Obj) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read value into Obj; or leave Obj untouched and return <code>false</code> if null.  <a href="#bfcc5a7b5c859c195aec45481938e738"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00081.html#6988e48e2a2d3af1d3cc1c0d9e09e950">to</a> (T &amp;Obj, const T &amp;Default) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read value into Obj; or use Default &amp; return <code>false</code> if null.  <a href="#6988e48e2a2d3af1d3cc1c0d9e09e950"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00081.html#2a9d36599b217ebfde2cac4633856ac0">as</a> (const T &amp;Default) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return value as object of given type, or Default if null.  <a href="#2a9d36599b217ebfde2cac4633856ac0"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00081.html#c1fc1b948ccb55079652b21b2b0b7abf">as</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return value as object of given type, or throw exception if null.  <a href="#c1fc1b948ccb55079652b21b2b0b7abf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#f22093669fdc6efa525f3935770bdea1">is_null</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html#0ab6de6dd220f68122b41c71758ebe09">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a9c27a211efe8ddbf0bc81c0c1ec8b60">size</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#7f88d75fd03f8052243dbe1051b91864">col</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html">tuple</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#cc7ac2f9767f0f5ca87ecefaf21e37e8">m_tup</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#dfa23ee248042a7a0cde53b3737387cf">m_col</a></td></tr>
+<p>Scoped exemption to reactivation avoidance.  
+ <a href="a00081.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae0b6ca7a0a7d33b88a0e0a3fb61ac240"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#ae0b6ca7a0a7d33b88a0e0a3fb61ac240">reactivation_avoidance_exemption</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C)</td></tr>
+<tr class="memitem:a3669e53c578ba7935d5b7bdaad0d5e0b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a3669e53c578ba7935d5b7bdaad0d5e0b">~reactivation_avoidance_exemption</a> ()</td></tr>
+<tr class="memitem:a8397728c755c1a8b4ade039406a4155c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a8397728c755c1a8b4ade039406a4155c">close_connection</a> ()  throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Reference to a <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> in a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. 
-<p>
-A <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> represents one entry in a <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a>. It represents an actual value in the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set, and can be converted to various types. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="0ab6de6dd220f68122b41c71758ebe09"></a><!-- doxytag: member="pqxx::result::field::size_type" ref="0ab6de6dd220f68122b41c71758ebe09" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef size_t <a class="el" href="a00081.html#0ab6de6dd220f68122b41c71758ebe09">pqxx::result::field::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00077.html#e36e7966b97f179cc4c7aefdb380b871">pqxx::result::const_fielditerator</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="401e3e92abfa6bff1279037cb9fed43a"></a><!-- doxytag: member="pqxx::result::field::field" ref="401e3e92abfa6bff1279037cb9fed43a" args="(const tuple &amp;T, tuple::size_type C)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Scoped exemption to reactivation avoidance. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae0b6ca7a0a7d33b88a0e0a3fb61ac240"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::result::field::field           </td>
+          <td class="memname">pqxx::internal::reactivation_avoidance_exemption::reactivation_avoidance_exemption </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00082.html">tuple</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructor. 
-<p>
-Create <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> as reference to a <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> in a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Tuple that this <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> is part of. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Column number of this <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a>. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a7adcdf554e68ecea7b4e502c4952a03"></a><!-- doxytag: member="pqxx::result::field::operator==" ref="a7adcdf554e68ecea7b4e502c4952a03" args="(const field &amp;) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::field::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00081.html">field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Byte-by-byte comparison of two fields (all nulls are considered equal). 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>null handling is still open to discussion and change!</dd></dl>
-Handling of null values differs from that in SQL where a comparison involving a null value yields null, so nulls are never considered equal to one another or even to themselves.<p>
-Null handling also probably differs from the closest equivalent in C++, which is the NaN (Not-a-Number) value, a singularity comparable to SQL's null. This is because the builtin == operator demands that a == a.<p>
-The usefulness of this operator is questionable. No interpretation whatsoever is imposed on the data; 0 and 0.0 are considered different, as are null vs. the empty string, or even different (but possibly equivalent and equally valid) encodings of the same Unicode character etc. 
-<p>References <a class="el" href="a00241.html#l00399">c_str()</a>, <a class="el" href="a00241.html#l00453">is_null()</a>, and <a class="el" href="a00241.html#l00454">size()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="203d1875ccf5d841e3b41f8ae12ec1c3"></a><!-- doxytag: member="pqxx::result::field::operator!=" ref="203d1875ccf5d841e3b41f8ae12ec1c3" args="(const field &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::field::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00081.html">field</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Byte-by-byte comparison (all nulls are considered equal). 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>See <a class="el" href="a00081.html#a7adcdf554e68ecea7b4e502c4952a03" title="Byte-by-byte comparison of two fields (all nulls are considered equal).">operator==()</a> for important information about this operator </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="cd43a9ead6e74a68fb816f0bb5ce8385"></a><!-- doxytag: member="pqxx::result::field::name" ref="cd43a9ead6e74a68fb816f0bb5ce8385" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* pqxx::result::field::name           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Column name. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="bb87d607c6f7094dd22a2c48a620f4c0"></a><!-- doxytag: member="pqxx::result::field::type" ref="bb87d607c6f7094dd22a2c48a620f4c0" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::field::type           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Column type. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a7e23b2225e1f7e49ab71aa4cee62aab"></a><!-- doxytag: member="pqxx::result::field::table" ref="a7e23b2225e1f7e49ab71aa4cee62aab" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::field::table           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
-</div>
-</div><p>
-<a class="anchor" name="67b0e518d0e5aabd78e14487c4edfd5a"></a><!-- doxytag: member="pqxx::result::field::num" ref="67b0e518d0e5aabd78e14487c4edfd5a" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::num           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01085">pqxx::result::const_fielditerator::operator-()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="989bfa84c3b053422a01e8d4fd3c7461"></a><!-- doxytag: member="pqxx::result::field::table_column" ref="989bfa84c3b053422a01e8d4fd3c7461" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::table_column           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What column number in its originating table did this column come from? 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8123fd1430eb4cfaa1f5095b44ceae86"></a><!-- doxytag: member="pqxx::result::field::c_str" ref="8123fd1430eb4cfaa1f5095b44ceae86" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char* pqxx::result::field::c_str           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read as plain C string. 
-<p>
-Since the field's data is stored internally in the form of a zero-terminated C string, this is the fastest way to read it. Use the <a class="el" href="a00081.html#07d2c570ce8028aaa2a1dd1a63a800f5" title="Read value into Obj; or leave Obj untouched and return false if null.">to()</a> or <a class="el" href="a00081.html#2a9d36599b217ebfde2cac4633856ac0" title="Return value as object of given type, or Default if null.">as()</a> functions to convert the string to other types such as <code>int</code>, or to C++ strings. 
-<p>Referenced by <a class="el" href="a00205.html#l00044">pqxx::binarystring::binarystring()</a>, <a class="el" href="a00241.html#l01007">pqxx::from_string()</a>, <a class="el" href="a00240.html#l00107">operator==()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="07d2c570ce8028aaa2a1dd1a63a800f5"></a><!-- doxytag: member="pqxx::result::field::to" ref="07d2c570ce8028aaa2a1dd1a63a800f5" args="(T &amp;Obj) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::field::to           </td>
-          <td>(</td>
-          <td class="paramtype">T &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read value into Obj; or leave Obj untouched and return <code>false</code> if null. 
-<p>
-
-<p>References <a class="el" href="a00241.html#l01007">pqxx::from_string()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="bfcc5a7b5c859c195aec45481938e738"></a><!-- doxytag: member="pqxx::result::field::operator&gt;&gt;" ref="bfcc5a7b5c859c195aec45481938e738" args="(T &amp;Obj) const " -->
+<a class="anchor" id="a3669e53c578ba7935d5b7bdaad0d5e0b"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::result::field::operator&gt;&gt;           </td>
+          <td class="memname">pqxx::internal::reactivation_avoidance_exemption::~reactivation_avoidance_exemption </td>
           <td>(</td>
-          <td class="paramtype">T &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read value into Obj; or leave Obj untouched and return <code>false</code> if null. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="6988e48e2a2d3af1d3cc1c0d9e09e950"></a><!-- doxytag: member="pqxx::result::field::to" ref="6988e48e2a2d3af1d3cc1c0d9e09e950" args="(T &amp;Obj, const T &amp;Default) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::field::to           </td>
-          <td>(</td>
-          <td class="paramtype">T &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>Default</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read value into Obj; or use Default &amp; return <code>false</code> if null. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2a9d36599b217ebfde2cac4633856ac0"></a><!-- doxytag: member="pqxx::result::field::as" ref="2a9d36599b217ebfde2cac4633856ac0" args="(const T &amp;Default) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">T pqxx::result::field::as           </td>
-          <td>(</td>
-          <td class="paramtype">const T &amp;&nbsp;</td>
-          <td class="paramname"> <em>Default</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Return value as object of given type, or Default if null. 
-<p>
-Note that unless the function is instantiated with an explicit template argument, the Default value's type also determines the <a class="el" href="a00076.html" title="Query or command result set.">result</a> type. 
-</div>
-</div><p>
-<a class="anchor" name="c1fc1b948ccb55079652b21b2b0b7abf"></a><!-- doxytag: member="pqxx::result::field::as" ref="c1fc1b948ccb55079652b21b2b0b7abf" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">T pqxx::result::field::as           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Return value as object of given type, or throw exception if null. 
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f22093669fdc6efa525f3935770bdea1"></a><!-- doxytag: member="pqxx::result::field::is_null" ref="f22093669fdc6efa525f3935770bdea1" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::field::is_null           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00107">operator==()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9c27a211efe8ddbf0bc81c0c1ec8b60"></a><!-- doxytag: member="pqxx::result::field::size" ref="a9c27a211efe8ddbf0bc81c0c1ec8b60" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html#0ab6de6dd220f68122b41c71758ebe09">size_type</a> pqxx::result::field::size           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00205.html#l00044">pqxx::binarystring::binarystring()</a>, <a class="el" href="a00241.html#l01007">pqxx::from_string()</a>, <a class="el" href="a00240.html#l00107">operator==()</a>, and <a class="el" href="a00241.html#l01012">pqxx::to_string()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="7f88d75fd03f8052243dbe1051b91864"></a><!-- doxytag: member="pqxx::result::field::col" ref="7f88d75fd03f8052243dbe1051b91864" args="() const " -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a8397728c755c1a8b4ade039406a4155c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::field::col           </td>
+          <td class="memname">void pqxx::internal::reactivation_avoidance_exemption::close_connection </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [protected]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01072">pqxx::result::const_fielditerator::operator+()</a>, and <a class="el" href="a00241.html#l01081">pqxx::result::const_fielditerator::operator-()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="abb1e376c0f431d8aaadab860998894d"></a><!-- doxytag: member="pqxx::result::field::to" ref="abb1e376c0f431d8aaadab860998894d" args="(const char *&amp;Obj) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::field::to           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Specialization: <code>to(const char *&amp;)</code>. 
-<p>
-The buffer has the same lifetime as the data in this <a class="el" href="a00076.html" title="Query or command result set.">result</a> (i.e. of this <a class="el" href="a00076.html" title="Query or command result set.">result</a> object, or the last remaining one copied from it etc.), so take care not to use it after the last <a class="el" href="a00076.html" title="Query or command result set.">result</a> object referring to this query <a class="el" href="a00076.html" title="Query or command result set.">result</a> is destroyed. 
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="cc7ac2f9767f0f5ca87ecefaf21e37e8"></a><!-- doxytag: member="pqxx::result::field::m_tup" ref="cc7ac2f9767f0f5ca87ecefaf21e37e8" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html">tuple</a> <a class="el" href="a00081.html#cc7ac2f9767f0f5ca87ecefaf21e37e8">pqxx::result::field::m_tup</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01072">pqxx::result::const_fielditerator::operator+()</a>, and <a class="el" href="a00241.html#l01081">pqxx::result::const_fielditerator::operator-()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="dfa23ee248042a7a0cde53b3737387cf"></a><!-- doxytag: member="pqxx::result::field::m_col" ref="dfa23ee248042a7a0cde53b3737387cf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> <a class="el" href="a00081.html#dfa23ee248042a7a0cde53b3737387cf">pqxx::result::field::m_col</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00485">pqxx::result::const_fielditerator::operator++()</a>, and <a class="el" href="a00240.html#l00494">pqxx::result::const_fielditerator::operator--()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+<li>connection_base.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00081.html">reactivation_avoidance_exemption</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00081.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00081.js
--- 3.1-1.1/doc/html/Reference/a00081.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00081.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00081 =
+[
+    [ "reactivation_avoidance_exemption", "a00081.html#ae0b6ca7a0a7d33b88a0e0a3fb61ac240", null ],
+    [ "~reactivation_avoidance_exemption", "a00081.html#a3669e53c578ba7935d5b7bdaad0d5e0b", null ],
+    [ "close_connection", "a00081.html#a8397728c755c1a8b4ade039406a4155c", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00082.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00082.html
--- 3.1-1.1/doc/html/Reference/a00082.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00082.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,1188 +1,172 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::result::tuple Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::refcount Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00076.html">result</a>::<a class="el" href="a00082.html">tuple</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00082.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00305.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::refcount Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::result::tuple Class Reference</h1><!-- doxytag: class="pqxx::result::tuple" -->Reference to one row in a <a class="el" href="a00076.html" title="Query or command result set.">result</a>.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::result::tuple:</div>
-<div class="dynsection">
-<p><center><img src="a00613.png" border="0" usemap="#a00614" alt="Inheritance graph"></center>
-<map name="a00614">
-<area shape="rect" href="a00078.html" title="Iterator for rows (tuples) in a query result set." alt="" coords="33,84,225,111"><area shape="rect" href="a00080.html" title="pqxx::result::const_reverse_iterator" alt="" coords="5,162,253,188"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00615.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef signed int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#e8abaddcc9a8eeea270407617a0575ca">difference_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#cd1cad6b3eb306521f7284bb53e86382">const_iterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00077.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#d37cf4380d4b70d7f2e4ad64a7bae40d">iterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00081.html">field</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#3d6b3ef88e36e1122d48d47c533d2282">reference</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00077.html">const_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#7f004c2ae584e59e06c4f94064ac2b4a">pointer</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#d9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00079.html">const_reverse_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#30192c24c9670837b9fd0c2aa9c258ce">reverse_iterator</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#e69c446f9084d6ff0f1a3cc7f321435b">tuple</a> (const <a class="el" href="a00076.html">result</a> *r, <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> i)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#14121b235049af873ec0b96e9fd44519">~tuple</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#2ef9928b68fa88d62b1e15d273520633">begin</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00077.html">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#c19dba7f5f671c45686919d0ec060099">end</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#10d7c4b02ec63fa480fe547f44cd845e">size</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#2d8ee3f102ab8bb06cfd51cde9587352">swap</a> (<a class="el" href="a00082.html">tuple</a> &amp;)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#5f40a7299b25840dd77ee1ff4c493b0e">rownumber</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#6b3a9a0f47c46941b03dd46ce5e911d1">num</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html">tuple</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#181ac1fa489005e938e238631d570e8a">slice</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> Begin, <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> End) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#2c3af72b2c5a4e13a5e17029b5393403">empty</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Comparison</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#918a77515e1d23f490633694e63a7536">operator==</a> (const <a class="el" href="a00082.html">tuple</a> &amp;) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#4a00ef94885ee35c1f2ff3a2e1af5813">operator!=</a> (const <a class="el" href="a00082.html">tuple</a> &amp;rhs) const   throw ()</td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Field access</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#2c014bad6e66d46cbbc73ec6e733d36b">front</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#740b56442337e243a4f180cb162e36df">back</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#b481120e759b2cd379442dea2b5807d4">rbegin</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00079.html">const_reverse_fielditerator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#afbe3642f659bbe799d0c958ca5b3288">rend</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#ebbd4074b7aac3fe7938016e8467ad4e">operator[]</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> i) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#a968f484cb595521a21984c19d782ec7">operator[]</a> (int i) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#7fd25fa711d53bccf273f5ea02b1e804">operator[]</a> (const char f[]) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#7d965761726e0aed78c742bef8a8367b">operator[]</a> (const std::string &amp;s) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#51a3e775aae505045237751cb77f168f">at</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>) const   throw (range_error)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#04d71d6aec9e22aceff66b3130963957">at</a> (int i) const   throw (range_error)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#a89da2b140c6755410e6649d67a24eaa">at</a> (const char[]) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00081.html">reference</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#04d2cc7ce46dee38809cd08e19874d53">at</a> (const std::string &amp;s) const </td></tr>
-
-<tr><td colspan="2"><div class="groupHeader">Column information</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#61cd4c1568c6b4e0aa4544def1a504c1">column_number</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist).  <a href="#61cd4c1568c6b4e0aa4544def1a504c1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#896d28adf75ea017058f0af63a9be544">column_number</a> (const char[]) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist).  <a href="#896d28adf75ea017058f0af63a9be544"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#79754e74ff65d23d9cdc3fc0f1010b10">column_type</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#79754e74ff65d23d9cdc3fc0f1010b10"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#55037e72efbabdb2689e4f24bfb7ffcb">column_type</a> (int ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#55037e72efbabdb2689e4f24bfb7ffcb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#77516aedd94a1b2f71cd223b8b8e158f">column_type</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#77516aedd94a1b2f71cd223b8b8e158f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#4ba6d8d10f3aa492131db8091a601dd3">column_type</a> (const char ColName[]) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of given column.  <a href="#4ba6d8d10f3aa492131db8091a601dd3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#a9c99b23b1b7b6bffee470efa8cf51d2">column_table</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a9c99b23b1b7b6bffee470efa8cf51d2"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#570a5885d199ebc832db445b2cbb3bd3">column_table</a> (int ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#570a5885d199ebc832db445b2cbb3bd3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#4be9f6a472a8ab323808e2ade47f8b32">column_table</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#4be9f6a472a8ab323808e2ade47f8b32"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#9436305528c77c8d517e1d298a7d19fc">table_column</a> (<a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column number in its table did this <a class="el" href="a00076.html" title="Query or command result set.">result</a> column come from?  <a href="#9436305528c77c8d517e1d298a7d19fc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#97b1294872efcae20c69ddff5c5e8934">table_column</a> (int ColNum) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column number in its table did this <a class="el" href="a00076.html" title="Query or command result set.">result</a> column come from?  <a href="#97b1294872efcae20c69ddff5c5e8934"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#0ba4830dc294d66b8158984ea901f338">table_column</a> (const std::string &amp;ColName) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">What column number in its table did this <a class="el" href="a00076.html" title="Query or command result set.">result</a> column come from?  <a href="#0ba4830dc294d66b8158984ea901f338"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00076.html">result</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#7586f8621d9e99b45b3e2b6cfd1b7d01">m_Home</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#c2f37dead6d71a6d32a4212765c90f50">m_Index</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#fc1068d9087d9f9e86869aed6449d3eb">m_Begin</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#131c33c09c3ceb166096685664507121">m_End</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#cd53905ae10cba58b4337aefe648aec6">field</a></td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a02b194d1c4db0d3dd7d97351443bb7bd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#a02b194d1c4db0d3dd7d97351443bb7bd">refcount</a> ()</td></tr>
+<tr class="memitem:a603b442ad845f46a19fa92970990a03e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#a603b442ad845f46a19fa92970990a03e">~refcount</a> ()</td></tr>
+<tr class="memitem:a7cf6cdeea44ec32c1c8b9d02f4c2f83c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#a7cf6cdeea44ec32c1c8b9d02f4c2f83c">makeref</a> (<a class="el" href="a00082.html">refcount</a> &amp;)  throw ()</td></tr>
+<tr class="memdesc:a7cf6cdeea44ec32c1c8b9d02f4c2f83c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create additional reference based on existing refcount object.  <a href="#a7cf6cdeea44ec32c1c8b9d02f4c2f83c"></a><br/></td></tr>
+<tr class="memitem:ad096a060aac9424435026f17b04d3772"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html#ad096a060aac9424435026f17b04d3772">loseref</a> ()  throw ()</td></tr>
+<tr class="memdesc:ad096a060aac9424435026f17b04d3772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drop this reference; return whether we were the last reference.  <a href="#ad096a060aac9424435026f17b04d3772"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Reference to one row in a <a class="el" href="a00076.html" title="Query or command result set.">result</a>. 
-<p>
-A <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a> represents one row (also called a <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a>) in a query <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. It also acts as a container mapping column numbers or names to <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> values (see below):<p>
-<div class="fragment"><pre class="fragment">        cout &lt;&lt; <a class="code" href="a00082.html#e69c446f9084d6ff0f1a3cc7f321435b">tuple</a>[<span class="stringliteral">"date"</span>].c_str() &lt;&lt; <span class="stringliteral">": "</span> &lt;&lt; <a class="code" href="a00082.html#e69c446f9084d6ff0f1a3cc7f321435b">tuple</a>[<span class="stringliteral">"name"</span>].c_str() &lt;&lt; endl;
-</pre></div><p>
-The <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a> itself acts like a (non-modifyable) container, complete with its own <a class="el" href="a00078.html" title="Iterator for rows (tuples) in a query result set.">const_iterator</a> and <a class="el" href="a00080.html">const_reverse_iterator</a>. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="04ab738e7b02c3e4c0abc3b36b05b105"></a><!-- doxytag: member="pqxx::result::tuple::size_type" ref="04ab738e7b02c3e4c0abc3b36b05b105" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned int <a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00078.html#997e5c6c5280b00c6e0044b5802add69">pqxx::result::const_iterator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e8abaddcc9a8eeea270407617a0575ca"></a><!-- doxytag: member="pqxx::result::tuple::difference_type" ref="e8abaddcc9a8eeea270407617a0575ca" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef signed int <a class="el" href="a00082.html#e8abaddcc9a8eeea270407617a0575ca">pqxx::result::tuple::difference_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00078.html#26d3352521f982371892fcd3f7887385">pqxx::result::const_iterator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cd1cad6b3eb306521f7284bb53e86382"></a><!-- doxytag: member="pqxx::result::tuple::const_iterator" ref="cd1cad6b3eb306521f7284bb53e86382" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00077.html">const_fielditerator</a> <a class="el" href="a00077.html">pqxx::result::tuple::const_iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d37cf4380d4b70d7f2e4ad64a7bae40d"></a><!-- doxytag: member="pqxx::result::tuple::iterator" ref="d37cf4380d4b70d7f2e4ad64a7bae40d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00077.html">const_iterator</a> <a class="el" href="a00077.html">pqxx::result::tuple::iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3d6b3ef88e36e1122d48d47c533d2282"></a><!-- doxytag: member="pqxx::result::tuple::reference" ref="3d6b3ef88e36e1122d48d47c533d2282" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00081.html">field</a> <a class="el" href="a00081.html">pqxx::result::tuple::reference</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00078.html#d8f4dfb14796dbca4a2ea11cd3b94abf">pqxx::result::const_iterator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7f004c2ae584e59e06c4f94064ac2b4a"></a><!-- doxytag: member="pqxx::result::tuple::pointer" ref="7f004c2ae584e59e06c4f94064ac2b4a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00077.html">const_fielditerator</a> <a class="el" href="a00077.html">pqxx::result::tuple::pointer</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Reimplemented in <a class="el" href="a00078.html#5ff9feab497260cb8c0149a617d67d87">pqxx::result::const_iterator</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d9505721c6c5e0ef30f4219acb984c32"></a><!-- doxytag: member="pqxx::result::tuple::const_reverse_iterator" ref="d9505721c6c5e0ef30f4219acb984c32" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00079.html">const_reverse_fielditerator</a> <a class="el" href="a00079.html">pqxx::result::tuple::const_reverse_iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="30192c24c9670837b9fd0c2aa9c258ce"></a><!-- doxytag: member="pqxx::result::tuple::reverse_iterator" ref="30192c24c9670837b9fd0c2aa9c258ce" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00079.html">const_reverse_iterator</a> <a class="el" href="a00079.html">pqxx::result::tuple::reverse_iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="e69c446f9084d6ff0f1a3cc7f321435b"></a><!-- doxytag: member="pqxx::result::tuple::tuple" ref="e69c446f9084d6ff0f1a3cc7f321435b" args="(const result *r, result::size_type i)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Helper class used in reference counting (doubly-linked circular list) Reference-counted smart-pointer for libpq-allocated resources. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a02b194d1c4db0d3dd7d97351443bb7bd"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::result::tuple::tuple           </td>
+          <td class="memname">pqxx::internal::refcount::refcount </td>
           <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00076.html">result</a> *&nbsp;</td>
-          <td class="paramname"> <em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd>Do not use this constructor. It will become private. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="14121b235049af873ec0b96e9fd44519"></a><!-- doxytag: member="pqxx::result::tuple::~tuple" ref="14121b235049af873ec0b96e9fd44519" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::result::tuple::~tuple           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="918a77515e1d23f490633694e63a7536"></a><!-- doxytag: member="pqxx::result::tuple::operator==" ref="918a77515e1d23f490633694e63a7536" args="(const tuple &amp;) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::tuple::operator==           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00082.html">tuple</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4a00ef94885ee35c1f2ff3a2e1af5813"></a><!-- doxytag: member="pqxx::result::tuple::operator!=" ref="4a00ef94885ee35c1f2ff3a2e1af5813" args="(const tuple &amp;rhs) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::tuple::operator!=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00082.html">tuple</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2ef9928b68fa88d62b1e15d273520633"></a><!-- doxytag: member="pqxx::result::tuple::begin" ref="2ef9928b68fa88d62b1e15d273520633" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_iterator</a> pqxx::result::tuple::begin           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01043">rend()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c19dba7f5f671c45686919d0ec060099"></a><!-- doxytag: member="pqxx::result::tuple::end" ref="c19dba7f5f671c45686919d0ec060099" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00077.html">const_iterator</a> pqxx::result::tuple::end           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01041">rbegin()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2c014bad6e66d46cbbc73ec6e733d36b"></a><!-- doxytag: member="pqxx::result::tuple::front" ref="2c014bad6e66d46cbbc73ec6e733d36b" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::front           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="740b56442337e243a4f180cb162e36df"></a><!-- doxytag: member="pqxx::result::tuple::back" ref="740b56442337e243a4f180cb162e36df" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::back           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="b481120e759b2cd379442dea2b5807d4"></a><!-- doxytag: member="pqxx::result::tuple::rbegin" ref="b481120e759b2cd379442dea2b5807d4" args="() const " -->
+<a class="anchor" id="a603b442ad845f46a19fa92970990a03e"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00079.html">result::tuple::const_reverse_iterator</a> pqxx::result::tuple::rbegin           </td>
+          <td class="memname">pqxx::internal::refcount::~refcount </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00241.html#l00169">end()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="afbe3642f659bbe799d0c958ca5b3288"></a><!-- doxytag: member="pqxx::result::tuple::rend" ref="afbe3642f659bbe799d0c958ca5b3288" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00079.html">result::tuple::const_reverse_iterator</a> pqxx::result::tuple::rend           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00167">begin()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="ebbd4074b7aac3fe7938016e8467ad4e"></a><!-- doxytag: member="pqxx::result::tuple::operator[]" ref="ebbd4074b7aac3fe7938016e8467ad4e" args="(size_type i) const " -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="ad096a060aac9424435026f17b04d3772"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::operator[]           </td>
+          <td class="memname">bool pqxx::internal::refcount::loseref </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00240.html#l00385">at()</a>.</p>
+<p>Drop this reference; return whether we were the last reference. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="a968f484cb595521a21984c19d782ec7"></a><!-- doxytag: member="pqxx::result::tuple::operator[]" ref="a968f484cb595521a21984c19d782ec7" args="(int i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::operator[]           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="7fd25fa711d53bccf273f5ea02b1e804"></a><!-- doxytag: member="pqxx::result::tuple::operator[]" ref="7fd25fa711d53bccf273f5ea02b1e804" args="(const char f[]) const " -->
+<a class="anchor" id="a7cf6cdeea44ec32c1c8b9d02f4c2f83c"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::operator[]           </td>
+          <td class="memname">void pqxx::internal::refcount::makeref </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>f</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramtype"><a class="el" href="a00082.html">refcount</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Create additional reference based on existing refcount object. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="7d965761726e0aed78c742bef8a8367b"></a><!-- doxytag: member="pqxx::result::tuple::operator[]" ref="7d965761726e0aed78c742bef8a8367b" args="(const std::string &amp;s) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::operator[]           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>s</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="51a3e775aae505045237751cb77f168f"></a><!-- doxytag: member="pqxx::result::tuple::at" ref="51a3e775aae505045237751cb77f168f" args="(size_type) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">pqxx::result::field</a> pqxx::result::tuple::at           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw (<a class="el" href="a00071.html">range_error</a>)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00182">operator[]()</a>, and <a class="el" href="a00241.html#l00198">size()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="04d71d6aec9e22aceff66b3130963957"></a><!-- doxytag: member="pqxx::result::tuple::at" ref="04d71d6aec9e22aceff66b3130963957" args="(int i) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::at           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw (<a class="el" href="a00071.html">range_error</a>)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a89da2b140c6755410e6649d67a24eaa"></a><!-- doxytag: member="pqxx::result::tuple::at" ref="a89da2b140c6755410e6649d67a24eaa" args="(const char[]) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">pqxx::result::field</a> pqxx::result::tuple::at           </td>
-          <td>(</td>
-          <td class="paramtype">const &nbsp;</td>
-          <td class="paramname"> <em>char</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00209">column_number()</a>, <a class="el" href="a00241.html#l00305">field</a>, and <a class="el" href="a00241.html#l00308">m_Begin</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="04d2cc7ce46dee38809cd08e19874d53"></a><!-- doxytag: member="pqxx::result::tuple::at" ref="04d2cc7ce46dee38809cd08e19874d53" args="(const std::string &amp;s) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00081.html">reference</a> pqxx::result::tuple::at           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>s</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="10d7c4b02ec63fa480fe547f44cd845e"></a><!-- doxytag: member="pqxx::result::tuple::size" ref="10d7c4b02ec63fa480fe547f44cd845e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::size           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00385">at()</a>, and <a class="el" href="a00240.html#l00443">slice()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2d8ee3f102ab8bb06cfd51cde9587352"></a><!-- doxytag: member="pqxx::result::tuple::swap" ref="2d8ee3f102ab8bb06cfd51cde9587352" args="(tuple &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::result::tuple::swap           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html">tuple</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>rhs</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="5f40a7299b25840dd77ee1ff4c493b0e"></a><!-- doxytag: member="pqxx::result::tuple::rownumber" ref="5f40a7299b25840dd77ee1ff4c493b0e" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> pqxx::result::tuple::rownumber           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="61cd4c1568c6b4e0aa4544def1a504c1"></a><!-- doxytag: member="pqxx::result::tuple::column_number" ref="61cd4c1568c6b4e0aa4544def1a504c1" args="(const std::string &amp;ColName) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::column_number           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of given column (throws exception if it doesn't exist). 
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00378">at()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="896d28adf75ea017058f0af63a9be544"></a><!-- doxytag: member="pqxx::result::tuple::column_number" ref="896d28adf75ea017058f0af63a9be544" args="(const char[]) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a> pqxx::result::tuple::column_number           </td>
-          <td>(</td>
-          <td class="paramtype">const &nbsp;</td>
-          <td class="paramname"> <em>char</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of given column (throws exception if it doesn't exist). 
-<p>
-
-<p>References <a class="el" href="a00240.html#l00396">pqxx::result::column_name()</a>, <a class="el" href="a00240.html#l00431">pqxx::result::column_number()</a>, <a class="el" href="a00241.html#l00308">m_Begin</a>, <a class="el" href="a00241.html#l00309">m_End</a>, <a class="el" href="a00241.html#l00306">m_Home</a>, and <a class="el" href="a00241.html#l00811">pqxx::result::result()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="79754e74ff65d23d9cdc3fc0f1010b10"></a><!-- doxytag: member="pqxx::result::tuple::column_type" ref="79754e74ff65d23d9cdc3fc0f1010b10" args="(size_type ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Type of given column. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="55037e72efbabdb2689e4f24bfb7ffcb"></a><!-- doxytag: member="pqxx::result::tuple::column_type" ref="55037e72efbabdb2689e4f24bfb7ffcb" args="(int ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Type of given column. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="77516aedd94a1b2f71cd223b8b8e158f"></a><!-- doxytag: member="pqxx::result::tuple::column_type" ref="77516aedd94a1b2f71cd223b8b8e158f" args="(const std::string &amp;ColName) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Type of given column. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4ba6d8d10f3aa492131db8091a601dd3"></a><!-- doxytag: member="pqxx::result::tuple::column_type" ref="4ba6d8d10f3aa492131db8091a601dd3" args="(const char ColName[]) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Type of given column. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9c99b23b1b7b6bffee470efa8cf51d2"></a><!-- doxytag: member="pqxx::result::tuple::column_table" ref="a9c99b23b1b7b6bffee470efa8cf51d2" args="(size_type ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_table           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
-</div>
-</div><p>
-<a class="anchor" name="570a5885d199ebc832db445b2cbb3bd3"></a><!-- doxytag: member="pqxx::result::tuple::column_table" ref="570a5885d199ebc832db445b2cbb3bd3" args="(int ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_table           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
-</div>
-</div><p>
-<a class="anchor" name="4be9f6a472a8ab323808e2ade47f8b32"></a><!-- doxytag: member="pqxx::result::tuple::column_table" ref="4be9f6a472a8ab323808e2ade47f8b32" args="(const std::string &amp;ColName) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_table           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What table did this column come from? Requires PostgreSQL 7.4 C API. 
-<p>
-Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.<p>
-If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. 
-</div>
-</div><p>
-<a class="anchor" name="9436305528c77c8d517e1d298a7d19fc"></a><!-- doxytag: member="pqxx::result::tuple::table_column" ref="9436305528c77c8d517e1d298a7d19fc" args="(size_type ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::table_column           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What column number in its table did this <a class="el" href="a00076.html" title="Query or command result set.">result</a> column come from? 
-<p>
-A meaningful answer can be given only if the column in question comes directly from a column in a table. If the column is computed in any other way, a logic_error will be thrown.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>ColNum</em>&nbsp;</td><td>a zero-based column number in this <a class="el" href="a00076.html" title="Query or command result set.">result</a> set </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>a zero-based column number in originating table</dd></dl>
-Requires libpq from PostgreSQL 7.4 or better, as well as a server version of at least 7.4. 
-</div>
-</div><p>
-<a class="anchor" name="97b1294872efcae20c69ddff5c5e8934"></a><!-- doxytag: member="pqxx::result::tuple::table_column" ref="97b1294872efcae20c69ddff5c5e8934" args="(int ColNum) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::table_column           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>ColNum</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What column number in its table did this <a class="el" href="a00076.html" title="Query or command result set.">result</a> column come from? 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0ba4830dc294d66b8158984ea901f338"></a><!-- doxytag: member="pqxx::result::tuple::table_column" ref="0ba4830dc294d66b8158984ea901f338" args="(const std::string &amp;ColName) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::table_column           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>ColName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-What column number in its table did this <a class="el" href="a00076.html" title="Query or command result set.">result</a> column come from? 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="6b3a9a0f47c46941b03dd46ce5e911d1"></a><!-- doxytag: member="pqxx::result::tuple::num" ref="6b3a9a0f47c46941b03dd46ce5e911d1" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> pqxx::result::tuple::num           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00241.html#l01059">pqxx::result::const_iterator::operator-()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="181ac1fa489005e938e238631d570e8a"></a><!-- doxytag: member="pqxx::result::tuple::slice" ref="181ac1fa489005e938e238631d570e8a" args="(size_type Begin, size_type End) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html">pqxx::result::tuple</a> pqxx::result::tuple::slice           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>Begin</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>End</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Produce a slice of this <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a>, containing the given range of columns.<p>
-The slice runs from the range's starting column to the range's end column, exclusive. It looks just like a normal <a class="el" href="a00076.html" title="Query or command result set.">result</a> <a class="el" href="a00082.html" title="Reference to one row in a result.">tuple</a>, except slices can be empty.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Slicing is a relatively new feature, and not all software may be prepared to deal with empty slices. If there is any chance that your program might be creating empty slices and passing them to code that may not be designed with the possibility of empty tuples in mind, be sure to test for that case. </dd></dl>
-
-<p>References <a class="el" href="a00241.html#l00308">m_Begin</a>, <a class="el" href="a00241.html#l00309">m_End</a>, <a class="el" href="a00241.html#l00811">pqxx::result::result()</a>, and <a class="el" href="a00241.html#l00198">size()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2c3af72b2c5a4e13a5e17029b5393403"></a><!-- doxytag: member="pqxx::result::tuple::empty" ref="2c3af72b2c5a4e13a5e17029b5393403" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::result::tuple::empty           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00308">m_Begin</a>, and <a class="el" href="a00241.html#l00309">m_End</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="cd53905ae10cba58b4337aefe648aec6"></a><!-- doxytag: member="pqxx::result::tuple::field" ref="cd53905ae10cba58b4337aefe648aec6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class <a class="el" href="a00081.html">field</a><code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00378">at()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="7586f8621d9e99b45b3e2b6cfd1b7d01"></a><!-- doxytag: member="pqxx::result::tuple::m_Home" ref="7586f8621d9e99b45b3e2b6cfd1b7d01" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const <a class="el" href="a00076.html">result</a>* <a class="el" href="a00082.html#7586f8621d9e99b45b3e2b6cfd1b7d01">pqxx::result::tuple::m_Home</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00413">column_number()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c2f37dead6d71a6d32a4212765c90f50"></a><!-- doxytag: member="pqxx::result::tuple::m_Index" ref="c2f37dead6d71a6d32a4212765c90f50" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00082.html#c2f37dead6d71a6d32a4212765c90f50">pqxx::result::tuple::m_Index</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00464">pqxx::result::const_iterator::operator++()</a>, and <a class="el" href="a00240.html#l00473">pqxx::result::const_iterator::operator--()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fc1068d9087d9f9e86869aed6449d3eb"></a><!-- doxytag: member="pqxx::result::tuple::m_Begin" ref="fc1068d9087d9f9e86869aed6449d3eb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> <a class="el" href="a00082.html#fc1068d9087d9f9e86869aed6449d3eb">pqxx::result::tuple::m_Begin</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00378">at()</a>, <a class="el" href="a00240.html#l00413">column_number()</a>, <a class="el" href="a00240.html#l00455">empty()</a>, and <a class="el" href="a00240.html#l00443">slice()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="131c33c09c3ceb166096685664507121"></a><!-- doxytag: member="pqxx::result::tuple::m_End" ref="131c33c09c3ceb166096685664507121" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00082.html#04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> <a class="el" href="a00082.html#131c33c09c3ceb166096685664507121">pqxx::result::tuple::m_End</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00240.html#l00413">column_number()</a>, <a class="el" href="a00240.html#l00455">empty()</a>, and <a class="el" href="a00240.html#l00443">slice()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+<li>util.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00082.html">refcount</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00082.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00082.js
--- 3.1-1.1/doc/html/Reference/a00082.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00082.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,7 @@
+var a00082 =
+[
+    [ "refcount", "a00082.html#a02b194d1c4db0d3dd7d97351443bb7bd", null ],
+    [ "~refcount", "a00082.html#a603b442ad845f46a19fa92970990a03e", null ],
+    [ "loseref", "a00082.html#ad096a060aac9424435026f17b04d3772", null ],
+    [ "makeref", "a00082.html#a7cf6cdeea44ec32c1c8b9d02f4c2f83c", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00083.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00083.html
--- 3.1-1.1/doc/html/Reference/a00083.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00083.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,221 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::result_data Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::restrict_violation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00083.html">result_data</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00083.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00238.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::restrict_violation Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::result_data Struct Reference</h1><!-- doxytag: class="pqxx::internal::result_data" -->Information shared between all copies of a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00241.html">result.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00659.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#d3eb8879b449cb170d8cbc1f5ffcf684">result_data</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#7da78cfb86f1377a92eb1bd4239476f1">result_data</a> (<a class="el" href="a00188.html#ec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *, int <a class="el" href="a00083.html#3bdb1a6958a07cacd033ab39abc89295">protocol</a>, const std::string &amp;, int <a class="el" href="a00083.html#c7f36cd7d3afbe419ad40276faf2db8f">encoding_code</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#e52d3d02d53af5b5600c3c645c136f72">~result_data</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00188.html#ec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#0bbee9d3a58999269eee962760410d84">data</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Underlying libpq-managed <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="#0bbee9d3a58999269eee962760410d84"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#3bdb1a6958a07cacd033ab39abc89295">protocol</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frontend/backend protocol version.  <a href="#3bdb1a6958a07cacd033ab39abc89295"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#d19126c932dcfd619f21138c4a48e2e8">query</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query string that yielded this <a class="el" href="a00076.html" title="Query or command result set.">result</a>.  <a href="#d19126c932dcfd619f21138c4a48e2e8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#c7f36cd7d3afbe419ad40276faf2db8f">encoding_code</a></td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::restrict_violation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00083.png" usemap="#pqxx::restrict_violation_map" alt=""/>
+  <map id="pqxx::restrict_violation_map" name="pqxx::restrict_violation_map">
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="0,168,204,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,204,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,204,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,204,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a595aad1240047206570109fb06936695"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a595aad1240047206570109fb06936695">restrict_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a3c6a6fa4c970502389cded0863f83122"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html#a3c6a6fa4c970502389cded0863f83122">restrict_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00050"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00050')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00050.html">pqxx::integrity_constraint_violation</a></td></tr>
+<tr class="memitem:a9fa871a08c23b2722a42fa545cecd2ab inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a505ae8d71add1a4c19e69f5cf96cea9d inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Information shared between all copies of a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d3eb8879b449cb170d8cbc1f5ffcf684"></a><!-- doxytag: member="pqxx::internal::result_data::result_data" ref="d3eb8879b449cb170d8cbc1f5ffcf684" args="()" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a595aad1240047206570109fb06936695"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::result_data::result_data           </td>
+          <td class="memname">pqxx::restrict_violation::restrict_violation </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7da78cfb86f1377a92eb1bd4239476f1"></a><!-- doxytag: member="pqxx::internal::result_data::result_data" ref="7da78cfb86f1377a92eb1bd4239476f1" args="(pqxx::internal::pq::PGresult *, int protocol, const std::string &amp;, int encoding_code)" -->
+</div>
+<a class="anchor" id="a3c6a6fa4c970502389cded0863f83122"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::result_data::result_data           </td>
+          <td class="memname">pqxx::restrict_violation::restrict_violation </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00188.html#ec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *&nbsp;</td>
-          <td class="paramname"> <em>d</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>protocol</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>q</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>encoding_code</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e52d3d02d53af5b5600c3c645c136f72"></a><!-- doxytag: member="pqxx::internal::result_data::~result_data" ref="e52d3d02d53af5b5600c3c645c136f72" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::internal::result_data::~result_data           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00241.html#l00055">data</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="0bbee9d3a58999269eee962760410d84"></a><!-- doxytag: member="pqxx::internal::result_data::data" ref="0bbee9d3a58999269eee962760410d84" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00188.html#ec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a>* <a class="el" href="a00083.html#0bbee9d3a58999269eee962760410d84">pqxx::internal::result_data::data</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Underlying libpq-managed <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This member is duplicated in the <a class="el" href="a00076.html" title="Query or command result set.">result</a> object as a performance shortcut. </dd></dl>
-
-<p>Referenced by <a class="el" href="a00240.html#l00053">~result_data()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3bdb1a6958a07cacd033ab39abc89295"></a><!-- doxytag: member="pqxx::internal::result_data::protocol" ref="3bdb1a6958a07cacd033ab39abc89295" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="a00083.html#3bdb1a6958a07cacd033ab39abc89295">pqxx::internal::result_data::protocol</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Frontend/backend protocol version. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d19126c932dcfd619f21138c4a48e2e8"></a><!-- doxytag: member="pqxx::internal::result_data::query" ref="d19126c932dcfd619f21138c4a48e2e8" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">std ::string <a class="el" href="a00083.html#d19126c932dcfd619f21138c4a48e2e8">pqxx::internal::result_data::query</a>          </td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Query string that yielded this <a class="el" href="a00076.html" title="Query or command result set.">result</a>. 
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="c7f36cd7d3afbe419ad40276faf2db8f"></a><!-- doxytag: member="pqxx::internal::result_data::encoding_code" ref="c7f36cd7d3afbe419ad40276faf2db8f" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="a00083.html#c7f36cd7d3afbe419ad40276faf2db8f">pqxx::internal::result_data::encoding_code</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00083.html">restrict_violation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following files:<ul>
-<li><a class="el" href="a00241.html">result.hxx</a><li><a class="el" href="a00150.html">result.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00083.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00083.js
--- 3.1-1.1/doc/html/Reference/a00083.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00083.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00083 =
+[
+    [ "restrict_violation", "a00083.html#a595aad1240047206570109fb06936695", null ],
+    [ "restrict_violation", "a00083.html#a3c6a6fa4c970502389cded0863f83122", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00083.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00083.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00084.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00084.html
--- 3.1-1.1/doc/html/Reference/a00084.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00084.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,176 +1,1030 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00084.html">robusttransaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00084.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00269.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt; Class Template Reference<br>
-<small>
-[<a class="el" href="a00199.html">Transaction classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::robusttransaction" --><!-- doxytag: inherits="pqxx::basic_robusttransaction" -->Slightly slower, better-fortified version of <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00243.html">robusttransaction.hxx</a>&gt;</code>
-<p>
+
+<p>Query or command result set.  
+ <a href="a00084.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;:</div>
-<div class="dynsection">
-<p><center><img src="a00621.png" border="0" usemap="#a00622" alt="Inheritance graph"></center>
-<map name="a00622">
-<area shape="rect" href="a00008.html" title="pqxx::basic_robusttransaction" alt="" coords="53,238,264,265"><area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="85,161,232,188"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="75,84,243,110"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="63,6,255,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
+Inheritance diagram for pqxx::result:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00084.png" usemap="#pqxx::result_map" alt=""/>
+  <map id="pqxx::result_map" name="pqxx::result_map">
+<area href="a00076.html" alt="pqxx::internal::PQAlloc&lt; const internal::result_data, internal::freemem_result_data &gt;" shape="rect" coords="0,0,481,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">const_fielditerator</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">const_iterator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator for rows (tuples) in a query result set.  <a href="a00026.html#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">const_reverse_fielditerator</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">const_reverse_iterator</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html">field</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to a field in a result set.  <a href="a00041.html#details">More...</a><br/></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html">tuple</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to one row in a result.  <a href="a00110.html#details">More...</a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a9e02bbf1126802fd7fd64df989e03940"><td class="memItemLeft" align="right" valign="top">typedef unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a></td></tr>
+<tr class="memitem:abec7f7f4d7ed030f38b2a123b632b818"><td class="memItemLeft" align="right" valign="top">typedef signed long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">difference_type</a></td></tr>
+<tr class="memitem:a164e5a080d9969d55b3fed9f2c137ce8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">reference</a></td></tr>
+<tr class="memitem:a16732cbff5bf11cefd68471577344551"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00026.html">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a16732cbff5bf11cefd68471577344551">pointer</a></td></tr>
+<tr class="memitem:af58348511860d19ddbfb5f621ce99e7b"><td class="memItemLeft" align="right" valign="top">typedef std::iterator<br class="typebreak"/>
+&lt; std::random_access_iterator_tag, <br class="typebreak"/>
+const <a class="el" href="a00110.html">tuple</a>, <br class="typebreak"/>
+<a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>, <br class="typebreak"/>
+<a class="el" href="a00026.html">const_iterator</a>, <a class="el" href="a00110.html">tuple</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#af58348511860d19ddbfb5f621ce99e7b">const_iterator_base</a></td></tr>
+<tr class="memitem:afa18f18140865290a1e7a3461cc604f4"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00026.html">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#afa18f18140865290a1e7a3461cc604f4">iterator</a></td></tr>
+<tr class="memitem:a95891ed8c127338b022f98365cce1e91"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00028.html">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a95891ed8c127338b022f98365cce1e91">reverse_iterator</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aad8b1fd5e42dbfc4a4d75c0a1b0c6ddb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#aad8b1fd5e42dbfc4a4d75c0a1b0c6ddb">result</a> ()  throw ()</td></tr>
+<tr class="memitem:a1d7279ca68e1d4da8da2829bb34e3b80"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a1d7279ca68e1d4da8da2829bb34e3b80">result</a> (const <a class="el" href="a00084.html">result</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a6e2e28a20a517c6c3f4e4c9407fbe288"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a6e2e28a20a517c6c3f4e4c9407fbe288">operator=</a> (const <a class="el" href="a00084.html">result</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a0071af142f658bffd98b8325c1674119"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00028.html">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a0071af142f658bffd98b8325c1674119">rbegin</a> () const </td></tr>
+<tr class="memitem:a0bc04ac2094a4a2b92f2f54b37ab5369"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00028.html">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a0bc04ac2094a4a2b92f2f54b37ab5369">rend</a> () const </td></tr>
+<tr class="memitem:a4da8b68228a85639c4bcc0499cff338a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00026.html">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a4da8b68228a85639c4bcc0499cff338a">begin</a> () const   throw ()</td></tr>
+<tr class="memitem:a1bb5a3f08176752a21e5902f634ef7be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00026.html">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a1bb5a3f08176752a21e5902f634ef7be">end</a> () const   throw ()</td></tr>
+<tr class="memitem:a68dd2275bab0b4e254573ee664738904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a68dd2275bab0b4e254573ee664738904">front</a> () const   throw ()</td></tr>
+<tr class="memitem:ab60d18b1e9d4666c28551da2ad0e37d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#ab60d18b1e9d4666c28551da2ad0e37d5">back</a> () const   throw ()</td></tr>
+<tr class="memitem:a4dccf162cd4081bbe2824ba29d546e90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a4dccf162cd4081bbe2824ba29d546e90">size</a> () const   throw ()</td></tr>
+<tr class="memitem:a7ee3d9e31a9f81b366cf04f1f73b5df2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a7ee3d9e31a9f81b366cf04f1f73b5df2">empty</a> () const   throw ()</td></tr>
+<tr class="memitem:a51879f289b45e502f320b34dbbe023ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a51879f289b45e502f320b34dbbe023ca">capacity</a> () const   throw ()</td></tr>
+<tr class="memitem:a2f3a766be0d57b86db847585ed1f2fc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a2f3a766be0d57b86db847585ed1f2fc4">swap</a> (<a class="el" href="a00084.html">result</a> &amp;)  throw ()</td></tr>
+<tr class="memitem:a3aac4e676b132a3499e70bb83bcc4bec"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a3aac4e676b132a3499e70bb83bcc4bec">operator[]</a> (<a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a> i) const   throw ()</td></tr>
+<tr class="memitem:ae65f1edabcfc8528eebc4b53861fed2f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#ae65f1edabcfc8528eebc4b53861fed2f">at</a> (<a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>) const   throw (range_error)</td></tr>
+<tr class="memitem:a77542a235a4ca711267e30d84492ce3b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a77542a235a4ca711267e30d84492ce3b">clear</a> ()  throw ()</td></tr>
+<tr class="memitem:a1741df34f160c410d8d28dddc44e6015"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a1741df34f160c410d8d28dddc44e6015">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a1741df34f160c410d8d28dddc44e6015"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query that produced this result, if available (empty string otherwise)  <a href="#a1741df34f160c410d8d28dddc44e6015"></a><br/></td></tr>
+<tr class="memitem:a939ae251d3e8435a113157ec1443b90e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a939ae251d3e8435a113157ec1443b90e">inserted_oid</a> () const </td></tr>
+<tr class="memdesc:a939ae251d3e8435a113157ec1443b90e"><td class="mdescLeft">&#160;</td><td class="mdescRight">If command was <code>INSERT</code> of 1 row, return oid of inserted row.  <a href="#a939ae251d3e8435a113157ec1443b90e"></a><br/></td></tr>
+<tr class="memitem:a5b614d6a33d0ce60282f6bf3cdf97409"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a5b614d6a33d0ce60282f6bf3cdf97409">affected_rows</a> () const </td></tr>
+<tr class="memdesc:a5b614d6a33d0ce60282f6bf3cdf97409"><td class="mdescLeft">&#160;</td><td class="mdescRight">If command was <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE:</code> number of affected rows.  <a href="#a5b614d6a33d0ce60282f6bf3cdf97409"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparisons</div></td></tr>
+<tr class="memitem:acddfe7ea1003815ef4e738bb6c84d221"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#acddfe7ea1003815ef4e738bb6c84d221">operator==</a> (const <a class="el" href="a00084.html">result</a> &amp;) const   throw ()</td></tr>
+<tr class="memitem:aced900b0f7d44652107e4df89df9023f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#aced900b0f7d44652107e4df89df9023f">operator!=</a> (const <a class="el" href="a00084.html">result</a> &amp;rhs) const   throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Column information</div></td></tr>
+<tr class="memitem:acb946d7d458528ce4a6b4cd0fce95e7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#acb946d7d458528ce4a6b4cd0fce95e7e">columns</a> () const   throw ()</td></tr>
+<tr class="memdesc:acb946d7d458528ce4a6b4cd0fce95e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of columns in result.  <a href="#acb946d7d458528ce4a6b4cd0fce95e7e"></a><br/></td></tr>
+<tr class="memitem:aed461aece290e5e28b7eca971e71198d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#aed461aece290e5e28b7eca971e71198d">column_number</a> (const char ColName[]) const </td></tr>
+<tr class="memdesc:aed461aece290e5e28b7eca971e71198d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist)  <a href="#aed461aece290e5e28b7eca971e71198d"></a><br/></td></tr>
+<tr class="memitem:afd40988f258ee059b0e76dac6480d8b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#afd40988f258ee059b0e76dac6480d8b3">column_number</a> (const std::string &amp;Name) const </td></tr>
+<tr class="memdesc:afd40988f258ee059b0e76dac6480d8b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist)  <a href="#afd40988f258ee059b0e76dac6480d8b3"></a><br/></td></tr>
+<tr class="memitem:a21afe937e085a4b3346080c389a12fb7"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a21afe937e085a4b3346080c389a12fb7">column_name</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> Number) const </td></tr>
+<tr class="memdesc:a21afe937e085a4b3346080c389a12fb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of column with this number (throws exception if it doesn't exist)  <a href="#a21afe937e085a4b3346080c389a12fb7"></a><br/></td></tr>
+<tr class="memitem:a887f5867a4c241990ffb697097ddc2c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a887f5867a4c241990ffb697097ddc2c9">column_type</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a887f5867a4c241990ffb697097ddc2c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a887f5867a4c241990ffb697097ddc2c9"></a><br/></td></tr>
+<tr class="memitem:a8f7e6221f552199a88b3cfb787bd03c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a8f7e6221f552199a88b3cfb787bd03c2">column_type</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a8f7e6221f552199a88b3cfb787bd03c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a8f7e6221f552199a88b3cfb787bd03c2"></a><br/></td></tr>
+<tr class="memitem:af56d00ec20a26b2dfeb3a83b481cf243"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#af56d00ec20a26b2dfeb3a83b481cf243">column_type</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:af56d00ec20a26b2dfeb3a83b481cf243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#af56d00ec20a26b2dfeb3a83b481cf243"></a><br/></td></tr>
+<tr class="memitem:a33ab612efd39b727d6e1e151a6c354f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a33ab612efd39b727d6e1e151a6c354f6">column_type</a> (const char ColName[]) const </td></tr>
+<tr class="memdesc:a33ab612efd39b727d6e1e151a6c354f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a33ab612efd39b727d6e1e151a6c354f6"></a><br/></td></tr>
+<tr class="memitem:a4d4688bc1e1752a5bdb6b3737f3aa2db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a4d4688bc1e1752a5bdb6b3737f3aa2db">column_table</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a4d4688bc1e1752a5bdb6b3737f3aa2db"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a4d4688bc1e1752a5bdb6b3737f3aa2db"></a><br/></td></tr>
+<tr class="memitem:ac5027b980639d8d0304ab32fb3052d73"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#ac5027b980639d8d0304ab32fb3052d73">column_table</a> (int ColNum) const </td></tr>
+<tr class="memdesc:ac5027b980639d8d0304ab32fb3052d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#ac5027b980639d8d0304ab32fb3052d73"></a><br/></td></tr>
+<tr class="memitem:a91a2dd4512530363cdf1240a0aeba46c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a91a2dd4512530363cdf1240a0aeba46c">column_table</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a91a2dd4512530363cdf1240a0aeba46c"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a91a2dd4512530363cdf1240a0aeba46c"></a><br/></td></tr>
+<tr class="memitem:a20487e0b75717f8a10d7221f1f1d3fd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a20487e0b75717f8a10d7221f1f1d3fd8">table_column</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a20487e0b75717f8a10d7221f1f1d3fd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column in its table did this column come from?  <a href="#a20487e0b75717f8a10d7221f1f1d3fd8"></a><br/></td></tr>
+<tr class="memitem:adadfb3831c89409ff3ff74a49b5b5bdd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#adadfb3831c89409ff3ff74a49b5b5bdd">table_column</a> (int ColNum) const </td></tr>
+<tr class="memdesc:adadfb3831c89409ff3ff74a49b5b5bdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column in its table did this column come from?  <a href="#adadfb3831c89409ff3ff74a49b5b5bdd"></a><br/></td></tr>
+<tr class="memitem:ad8ecab8bcc022fe5a489e2d2fded14bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#ad8ecab8bcc022fe5a489e2d2fded14bd">table_column</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:ad8ecab8bcc022fe5a489e2d2fded14bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column in its table did this column come from?  <a href="#ad8ecab8bcc022fe5a489e2d2fded14bd"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a6bfc6726088b9b429e2cebb4497be55d"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a6bfc6726088b9b429e2cebb4497be55d">pqxx::result::field</a></td></tr>
+<tr class="memitem:a137c5ab03f8e5975fe822571cfa796e4"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a137c5ab03f8e5975fe822571cfa796e4">pqxx::internal::gate::result_creation</a></td></tr>
+<tr class="memitem:a9fe15fed7d74b4ae0718cf9ae64427bf"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#a9fe15fed7d74b4ae0718cf9ae64427bf">pqxx::internal::gate::result_connection</a></td></tr>
+<tr class="memitem:ad7ebaaac4647f20a915fd6aa735cd1e5"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#ad7ebaaac4647f20a915fd6aa735cd1e5">pqxx::internal::gate::result_sql_cursor</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00076"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00076')"><img src="closed.png" alt="-"/>&nbsp;Private Types inherited from <a class="el" href="a00076.html">pqxx::internal::PQAlloc< const internal::result_data, internal::freemem_result_data ></a></td></tr>
+<tr class="memitem:a7fe52ebd1d2533f298caa5ffc975be66 inherit pub_types_a00076"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="a00085.html">internal::result_data</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a></td></tr>
+<tr class="inherit_header pub_methods_a00076"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00076')"><img src="closed.png" alt="-"/>&nbsp;Private Member Functions inherited from <a class="el" href="a00076.html">pqxx::internal::PQAlloc< const internal::result_data, internal::freemem_result_data ></a></td></tr>
+<tr class="memitem:adf8536b0ab651d81247809a673f3bf42 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#adf8536b0ab651d81247809a673f3bf42">PQAlloc</a> ()  throw ()</td></tr>
+<tr class="memitem:a402105c20c0fba99659dbea44fbd36b2 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a402105c20c0fba99659dbea44fbd36b2">PQAlloc</a> (const <a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a43caacd4030a3dd949e9e44352c859dd inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a43caacd4030a3dd949e9e44352c859dd">PQAlloc</a> (const <a class="el" href="a00085.html">internal::result_data</a> *obj)  throw ()</td></tr>
+<tr class="memdesc:a43caacd4030a3dd949e9e44352c859dd inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assume ownership of a pointer.  <a href="#a43caacd4030a3dd949e9e44352c859dd"></a><br/></td></tr>
+<tr class="memitem:a8aded9ce9cf12f720f193ed303367bd1 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a8aded9ce9cf12f720f193ed303367bd1">~PQAlloc</a> ()  throw ()</td></tr>
+<tr class="memitem:a93b56fd3623e58c1aa6ceaaff54bbe11 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00076.html">PQAlloc</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a93b56fd3623e58c1aa6ceaaff54bbe11">operator=</a> (const <a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a681827ee20603fab0019324494e78455 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a681827ee20603fab0019324494e78455">swap</a> (<a class="el" href="a00076.html">PQAlloc</a> &amp;rhs)  throw ()</td></tr>
+<tr class="memitem:a4550cd53958a269ac8c2e4e7a02d2f02 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a4550cd53958a269ac8c2e4e7a02d2f02">operator bool</a> () const  throw ()</td></tr>
+<tr class="memdesc:a4550cd53958a269ac8c2e4e7a02d2f02 inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this pointer non-null?  <a href="#a4550cd53958a269ac8c2e4e7a02d2f02"></a><br/></td></tr>
+<tr class="memitem:af32cad9f63309273527e4007a7d892ef inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#af32cad9f63309273527e4007a7d892ef">operator!</a> () const  throw ()</td></tr>
+<tr class="memdesc:af32cad9f63309273527e4007a7d892ef inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this pointer null?  <a href="#af32cad9f63309273527e4007a7d892ef"></a><br/></td></tr>
+<tr class="memitem:a362f5103b150fb3913adb8923c7b1dbe inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00085.html">internal::result_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a362f5103b150fb3913adb8923c7b1dbe">operator-&gt;</a> () const  throw (std::logic_error)</td></tr>
+<tr class="memdesc:a362f5103b150fb3913adb8923c7b1dbe inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference pointer.  <a href="#a362f5103b150fb3913adb8923c7b1dbe"></a><br/></td></tr>
+<tr class="memitem:afaa858977fa3c7df8f6497afdf4f2803 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00085.html">internal::result_data</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#afaa858977fa3c7df8f6497afdf4f2803">operator*</a> () const  throw (std::logic_error)</td></tr>
+<tr class="memdesc:afaa858977fa3c7df8f6497afdf4f2803 inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference pointer.  <a href="#afaa858977fa3c7df8f6497afdf4f2803"></a><br/></td></tr>
+<tr class="memitem:ac8d570bb46f0831c42a5b3fc0f803040 inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00085.html">internal::result_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ac8d570bb46f0831c42a5b3fc0f803040">get</a> () const  throw ()</td></tr>
+<tr class="memdesc:ac8d570bb46f0831c42a5b3fc0f803040 inherit pub_methods_a00076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain underlying pointer.  <a href="#ac8d570bb46f0831c42a5b3fc0f803040"></a><br/></td></tr>
+<tr class="memitem:a7bb9fd9d80b38ddbed8128b33806900d inherit pub_methods_a00076"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a7bb9fd9d80b38ddbed8128b33806900d">reset</a> ()  throw ()</td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Query or command result set. </p>
+<p>This behaves as a container (as defined by the C++ standard library) and provides random access const iterators to iterate over its tuples. A tuple can also be accessed by indexing a result R by the tuple's zero-based number:</p>
+<div class="fragment"><div class="line"><span class="keywordflow">for</span> (<a class="code" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> i=0; i &lt; R.<a class="code" href="a00084.html#a4dccf162cd4081bbe2824ba29d546e90">size</a>(); ++i) Process(R[i]);</div>
+</div><!-- fragment --><p>Result sets in libpqxx are lightweight, reference-counted wrapper objects (following the Proxy design pattern) that are small and cheap to copy. Think of a result object as a "smart pointer" to an underlying result set.</p>
+<dl class="section warning"><dt>Warning</dt><dd>The result set that a result object points to is not thread-safe. If you copy a result object, it still refers to the same underlying result set. So never copy, destroy, query, or otherwise access a result while another thread may be copying, destroying, querying, or otherwise accessing the same result set&ndash;even if it is doing so through a different result object! </dd></dl>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="af58348511860d19ddbfb5f621ce99e7b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::iterator&lt;std::random_access_iterator_tag, const <a class="el" href="a00110.html">tuple</a>, <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>, <a class="el" href="a00026.html">const_iterator</a>, <a class="el" href="a00110.html">tuple</a>&gt; <a class="el" href="a00084.html#af58348511860d19ddbfb5f621ce99e7b">pqxx::result::const_iterator_base</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="abec7f7f4d7ed030f38b2a123b632b818"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef signed long <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">pqxx::result::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afa18f18140865290a1e7a3461cc604f4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00026.html">const_iterator</a> <a class="el" href="a00084.html#afa18f18140865290a1e7a3461cc604f4">pqxx::result::iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-<a href="a00623.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00048.html">isolation_traits</a><br>
-&lt; ISOLATIONLEVEL &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#8fb228809bd42b2936ada9f9573d30d6">isolation_tag</a></td></tr>
+</div>
+</div>
+<a class="anchor" id="a16732cbff5bf11cefd68471577344551"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00026.html">const_iterator</a> <a class="el" href="a00084.html#a16732cbff5bf11cefd68471577344551">pqxx::result::pointer</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Isolation level is read_committed by default.  <a href="#8fb228809bd42b2936ada9f9573d30d6"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#e28452f4e178b6c548f6294fee803632">robusttransaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C, const std::string &amp;Name=std::string())</td></tr>
+</div>
+</div>
+<a class="anchor" id="a164e5a080d9969d55b3fed9f2c137ce8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html">tuple</a> <a class="el" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">pqxx::result::reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor.  <a href="#e28452f4e178b6c548f6294fee803632"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html#f1b175fd37479937c936f172803f40bb">~robusttransaction</a> ()  throw ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="a95891ed8c127338b022f98365cce1e91"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00028.html">const_reverse_iterator</a> <a class="el" href="a00084.html#a95891ed8c127338b022f98365cce1e91">pqxx::result::reverse_iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt;<br>
- class pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;</h3>
+</div>
+</div>
+<a class="anchor" id="a9e02bbf1126802fd7fd64df989e03940"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef unsigned long <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">pqxx::result::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aad8b1fd5e42dbfc4a4d75c0a1b0c6ddb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::result </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1d7279ca68e1d4da8da2829bb34e3b80"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::result </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a5b614d6a33d0ce60282f6bf3cdf97409"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">pqxx::result::size_type</a> pqxx::result::affected_rows </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>If command was <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE:</code> number of affected rows. </p>
+<dl class="section return"><dt>Returns</dt><dd>Number of affected rows if last command was <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE</code>; zero for all other commands. </dd></dl>
+
+<p>Referenced by <a class="el" href="a00089.html#a2aefb76b1cea234cc687735a3f8bc51a">pqxx::internal::sql_cursor::move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae65f1edabcfc8528eebc4b53861fed2f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="a00110.html">pqxx::result::tuple</a> pqxx::result::at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw (<a class="el" href="a00079.html">range_error</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab60d18b1e9d4666c28551da2ad0e37d5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">reference</a> pqxx::result::back </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4da8b68228a85639c4bcc0499cff338a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html">const_iterator</a> pqxx::result::begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a51879f289b45e502f320b34dbbe023ca"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a> pqxx::result::capacity </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a77542a235a4ca711267e30d84492ce3b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::result::clear </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00107.html#a84df458282939ef38cfddfaa07bea1d8">pqxx::transaction_base::reactivation_avoidance_clear()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a21afe937e085a4b3346080c389a12fb7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char * pqxx::result::column_name </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td>
+          <td class="paramname"><em>Number</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Name of column with this number (throws exception if it doesn't exist) </p>
+
+<p>References <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aed461aece290e5e28b7eca971e71198d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a> pqxx::result::column_number </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>ColName</em>[]</td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of given column (throws exception if it doesn't exist) </p>
+
+<p>Referenced by <a class="el" href="a00110.html#a896d28adf75ea017058f0af63a9be544">pqxx::result::tuple::column_number()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afd40988f258ee059b0e76dac6480d8b3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::column_number </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of given column (throws exception if it doesn't exist) </p>
+
+<p>References <a class="el" href="a00084.html#afd40988f258ee059b0e76dac6480d8b3">column_number()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#afd40988f258ee059b0e76dac6480d8b3">column_number()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4d4688bc1e1752a5bdb6b3737f3aa2db"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_table </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac5027b980639d8d0304ab32fb3052d73"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_table </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+<p>References <a class="el" href="a00084.html#ac5027b980639d8d0304ab32fb3052d73">column_table()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#ac5027b980639d8d0304ab32fb3052d73">column_table()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a91a2dd4512530363cdf1240a0aeba46c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_table </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+<p>References <a class="el" href="a00084.html#a91a2dd4512530363cdf1240a0aeba46c">column_table()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#a91a2dd4512530363cdf1240a0aeba46c">column_table()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a887f5867a4c241990ffb697097ddc2c9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">pqxx::oid</a> pqxx::result::column_type </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
 
-Slightly slower, better-fortified version of <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-<a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> is similar to <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, but spends more effort (and performance!) to deal with the hopefully rare case that the connection to the backend is lost just as the current <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is being committed. In this case, there is no way to determine whether the backend managed to commit the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> before noticing the loss of connection.<p>
-In such cases, this class tries to reconnect to the database and figure out what happened. It will need to store and manage some information (pretty much a user-level <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> log) in the back-end for each and every <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> just on the off chance that this problem might occur. This service level was made optional since you may not want to pay this overhead where it is not necessary. Certainly the use of this class makes no sense for local connections, or for transactions that read the database but never modify it, or for noncritical database manipulations.<p>
-Besides being slower, it's theoretically possible that <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> actually fails more instead of less often than a normal <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. This is due to the added work and complexity. What <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> tries to achieve is to be more deterministic, not more successful per se.<p>
-When a user first uses a <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> in a database, the class will attempt to create a log table there to keep vital transaction-related state information in. This table, located in that same database, will be called pqxxlog_*user*, where *user* is the PostgreSQL username for that user. If the log table can not be created, the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> fails immediately.<p>
-If the user does not have permission to create the log table, the database administrator may create one for him beforehand, and give ownership (or at least full insert/update rights) to the user. The table must contain two non-unique fields (which will never be null): "name" (of text type, <code>varchar(256)</code> by default) and "date" (of <code>timestamp</code> type). Older versions of <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> also added a unique "id" field; this field is now obsolete and the log table's implicit oids are used instead. The log tables' names may be made configurable in a future version of libpqxx.<p>
-The <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> log table contains records describing unfinished transactions, i.e. ones that have been started but not, as far as the client knows, committed or aborted. This can mean any of the following:<p>
-<ol>
-<li>
-The <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is in progress. Since backend transactions can't run for extended periods of time, this can only be the case if the log record's timestamp (compared to the server's clock) is not very old, provided of course that the server's system clock hasn't just made a radical jump. </li>
-<li>
-The client's connection to the server was lost, just when the client was committing the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, and the client so far has not been able to re-establish the connection to verify whether the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> was actually completed or rolled back by the server. This is a serious (and luckily a rare) condition and requires manual inspection of the database to determine what happened. The <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> will emit clear and specific warnings to this effect, and will identify the log record describing the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in question. </li>
-<li>
-The <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> was completed (either by commit or by rollback), but the client's connection was durably lost just as it tried to clean up the log record. Again, <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> will emit a clear and specific warning to tell you about this and request that the record be deleted as soon as possible. </li>
-<li>
-The client has gone offline at any time while in one of the preceding states. This also requires manual intervention, but the client obviously is not able to issue a warning. </li>
-</ol>
-<p>
-It is safe to drop a log table when it is not in use (ie., it is empty or all records in it represent states 2-4 above). Each <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> will attempt to recreate the table at its next time of use. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="8fb228809bd42b2936ada9f9573d30d6"></a><!-- doxytag: member="pqxx::robusttransaction::isolation_tag" ref="8fb228809bd42b2936ada9f9573d30d6" args="" -->
+<p>References <a class="el" href="a00174.html#a1abfa7aae5089dad48d69a60a9e557e3">pqxx::oid_none</a>, and <a class="el" href="a00174.html#aa757786089f3db83d44e536a37340355">pqxx::to_string()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8f7e6221f552199a88b3cfb787bd03c2"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00048.html">isolation_traits</a>&lt;ISOLATIONLEVEL&gt; <a class="el" href="a00084.html">pqxx::robusttransaction</a>&lt; ISOLATIONLEVEL &gt;::<a class="el" href="a00048.html">isolation_tag</a>          </td>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_type </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
+
+<p>References <a class="el" href="a00084.html#a8f7e6221f552199a88b3cfb787bd03c2">column_type()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#a8f7e6221f552199a88b3cfb787bd03c2">column_type()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="af56d00ec20a26b2dfeb3a83b481cf243"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_type </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
 
-<p>
-Isolation level is read_committed by default. 
-<p>
+<p>References <a class="el" href="a00084.html#af56d00ec20a26b2dfeb3a83b481cf243">column_type()</a>.</p>
 
-<p>Reimplemented from <a class="el" href="a00008.html#ad0757a015b2ddfe476e3d83f812bbff">pqxx::basic_robusttransaction</a>.</p>
+<p>Referenced by <a class="el" href="a00084.html#af56d00ec20a26b2dfeb3a83b481cf243">column_type()</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="e28452f4e178b6c548f6294fee803632"></a><!-- doxytag: member="pqxx::robusttransaction::robusttransaction" ref="e28452f4e178b6c548f6294fee803632" args="(connection_base &amp;C, const std::string &amp;Name=std::string())" -->
+</div>
+<a class="anchor" id="a33ab612efd39b727d6e1e151a6c354f6"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00084.html">pqxx::robusttransaction</a>&lt; ISOLATIONLEVEL &gt;::<a class="el" href="a00084.html">robusttransaction</a>           </td>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::column_type </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>ColName</em>[]</td><td>)</td>
+          <td> const</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
+
+<p>References <a class="el" href="a00084.html#a33ab612efd39b727d6e1e151a6c354f6">column_type()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#a33ab612efd39b727d6e1e151a6c354f6">column_type()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acb946d7d458528ce4a6b4cd0fce95e7e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a> pqxx::result::columns </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of columns in result. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7ee3d9e31a9f81b366cf04f1f73b5df2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
+          <td class="memname">bool pqxx::result::empty </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00045.html#a8b87babe29cf2797a624b2c8fa10d05f">pqxx::icursor_iterator::operator==()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a1bb5a3f08176752a21e5902f634ef7be"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00026.html">result::const_iterator</a> pqxx::result::end </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Constructor. 
-<p>
-Creates <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> of given name <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Connection that this <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> should live inside. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Name</em>&nbsp;</td><td>optional human-readable name for this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> </td></tr>
-  </table>
-</dl>
+</div>
+</div>
+<a class="anchor" id="a68dd2275bab0b4e254573ee664738904"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">reference</a> pqxx::result::front </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f1b175fd37479937c936f172803f40bb"></a><!-- doxytag: member="pqxx::robusttransaction::~robusttransaction" ref="f1b175fd37479937c936f172803f40bb" args="()" -->
+</div>
+<a class="anchor" id="a939ae251d3e8435a113157ec1443b90e"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">virtual <a class="el" href="a00084.html">pqxx::robusttransaction</a>&lt; ISOLATIONLEVEL &gt;::~<a class="el" href="a00084.html">robusttransaction</a>           </td>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">pqxx::oid</a> pqxx::result::inserted_oid </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>If command was <code>INSERT</code> of 1 row, return oid of inserted row. </p>
+<dl class="section return"><dt>Returns</dt><dd>Identifier of inserted row if exactly one row was inserted, or oid_none otherwise. </dd></dl>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aced900b0f7d44652107e4df89df9023f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a6e2e28a20a517c6c3f4e4c9407fbe288"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">result</a>&amp; pqxx::result::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00243.html">robusttransaction.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="acddfe7ea1003815ef4e738bb6c84d221"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3aac4e676b132a3499e70bb83bcc4bec"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="a00110.html">tuple</a> pqxx::result::operator[] </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1741df34f160c410d8d28dddc44e6015"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const string &amp; pqxx::result::query </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Query that produced this result, if available (empty string otherwise) </p>
+
+</div>
+</div>
+<a class="anchor" id="a0071af142f658bffd98b8325c1674119"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00028.html">const_reverse_iterator</a> pqxx::result::rbegin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0bc04ac2094a4a2b92f2f54b37ab5369"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00028.html">const_reverse_iterator</a> pqxx::result::rend </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4dccf162cd4081bbe2824ba29d546e90"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">pqxx::result::size_type</a> pqxx::result::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00089.html#ac356fb51140719a5703d8c5c6784ebb5">pqxx::internal::sql_cursor::fetch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2f3a766be0d57b86db847585ed1f2fc4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::result::swap </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00084.html">result</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a20487e0b75717f8a10d7221f1f1d3fd8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::table_column </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a>&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column in its table did this column come from? </p>
+
+</div>
+</div>
+<a class="anchor" id="adadfb3831c89409ff3ff74a49b5b5bdd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::table_column </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column in its table did this column come from? </p>
+
+<p>References <a class="el" href="a00084.html#adadfb3831c89409ff3ff74a49b5b5bdd">table_column()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#adadfb3831c89409ff3ff74a49b5b5bdd">table_column()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad8ecab8bcc022fe5a489e2d2fded14bd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">tuple::size_type</a> pqxx::result::table_column </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column in its table did this column come from? </p>
+
+<p>References <a class="el" href="a00084.html#ad8ecab8bcc022fe5a489e2d2fded14bd">table_column()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00084.html#ad8ecab8bcc022fe5a489e2d2fded14bd">table_column()</a>.</p>
+
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="a9fe15fed7d74b4ae0718cf9ae64427bf"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::result_connection</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a137c5ab03f8e5975fe822571cfa796e4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::result_creation</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad7ebaaac4647f20a915fd6aa735cd1e5"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::result_sql_cursor</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6bfc6726088b9b429e2cebb4497be55d"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class <a class="el" href="a00041.html">pqxx::result::field</a></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00084.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00084.js
--- 3.1-1.1/doc/html/Reference/a00084.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00084.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,55 @@
+var a00084 =
+[
+    [ "const_fielditerator", "a00025.html", "a00025" ],
+    [ "const_iterator", "a00026.html", "a00026" ],
+    [ "const_reverse_fielditerator", "a00027.html", "a00027" ],
+    [ "const_reverse_iterator", "a00028.html", "a00028" ],
+    [ "field", "a00041.html", "a00041" ],
+    [ "tuple", "a00110.html", "a00110" ],
+    [ "const_iterator_base", "a00084.html#af58348511860d19ddbfb5f621ce99e7b", null ],
+    [ "difference_type", "a00084.html#abec7f7f4d7ed030f38b2a123b632b818", null ],
+    [ "iterator", "a00084.html#afa18f18140865290a1e7a3461cc604f4", null ],
+    [ "pointer", "a00084.html#a16732cbff5bf11cefd68471577344551", null ],
+    [ "reference", "a00084.html#a164e5a080d9969d55b3fed9f2c137ce8", null ],
+    [ "reverse_iterator", "a00084.html#a95891ed8c127338b022f98365cce1e91", null ],
+    [ "size_type", "a00084.html#a9e02bbf1126802fd7fd64df989e03940", null ],
+    [ "result", "a00084.html#aad8b1fd5e42dbfc4a4d75c0a1b0c6ddb", null ],
+    [ "result", "a00084.html#a1d7279ca68e1d4da8da2829bb34e3b80", null ],
+    [ "affected_rows", "a00084.html#a5b614d6a33d0ce60282f6bf3cdf97409", null ],
+    [ "at", "a00084.html#ae65f1edabcfc8528eebc4b53861fed2f", null ],
+    [ "back", "a00084.html#ab60d18b1e9d4666c28551da2ad0e37d5", null ],
+    [ "begin", "a00084.html#a4da8b68228a85639c4bcc0499cff338a", null ],
+    [ "capacity", "a00084.html#a51879f289b45e502f320b34dbbe023ca", null ],
+    [ "clear", "a00084.html#a77542a235a4ca711267e30d84492ce3b", null ],
+    [ "column_name", "a00084.html#a21afe937e085a4b3346080c389a12fb7", null ],
+    [ "column_number", "a00084.html#aed461aece290e5e28b7eca971e71198d", null ],
+    [ "column_number", "a00084.html#afd40988f258ee059b0e76dac6480d8b3", null ],
+    [ "column_table", "a00084.html#a4d4688bc1e1752a5bdb6b3737f3aa2db", null ],
+    [ "column_table", "a00084.html#ac5027b980639d8d0304ab32fb3052d73", null ],
+    [ "column_table", "a00084.html#a91a2dd4512530363cdf1240a0aeba46c", null ],
+    [ "column_type", "a00084.html#a887f5867a4c241990ffb697097ddc2c9", null ],
+    [ "column_type", "a00084.html#a8f7e6221f552199a88b3cfb787bd03c2", null ],
+    [ "column_type", "a00084.html#af56d00ec20a26b2dfeb3a83b481cf243", null ],
+    [ "column_type", "a00084.html#a33ab612efd39b727d6e1e151a6c354f6", null ],
+    [ "columns", "a00084.html#acb946d7d458528ce4a6b4cd0fce95e7e", null ],
+    [ "empty", "a00084.html#a7ee3d9e31a9f81b366cf04f1f73b5df2", null ],
+    [ "end", "a00084.html#a1bb5a3f08176752a21e5902f634ef7be", null ],
+    [ "front", "a00084.html#a68dd2275bab0b4e254573ee664738904", null ],
+    [ "inserted_oid", "a00084.html#a939ae251d3e8435a113157ec1443b90e", null ],
+    [ "operator!=", "a00084.html#aced900b0f7d44652107e4df89df9023f", null ],
+    [ "operator=", "a00084.html#a6e2e28a20a517c6c3f4e4c9407fbe288", null ],
+    [ "operator==", "a00084.html#acddfe7ea1003815ef4e738bb6c84d221", null ],
+    [ "operator[]", "a00084.html#a3aac4e676b132a3499e70bb83bcc4bec", null ],
+    [ "query", "a00084.html#a1741df34f160c410d8d28dddc44e6015", null ],
+    [ "rbegin", "a00084.html#a0071af142f658bffd98b8325c1674119", null ],
+    [ "rend", "a00084.html#a0bc04ac2094a4a2b92f2f54b37ab5369", null ],
+    [ "size", "a00084.html#a4dccf162cd4081bbe2824ba29d546e90", null ],
+    [ "swap", "a00084.html#a2f3a766be0d57b86db847585ed1f2fc4", null ],
+    [ "table_column", "a00084.html#a20487e0b75717f8a10d7221f1f1d3fd8", null ],
+    [ "table_column", "a00084.html#adadfb3831c89409ff3ff74a49b5b5bdd", null ],
+    [ "table_column", "a00084.html#ad8ecab8bcc022fe5a489e2d2fded14bd", null ],
+    [ "pqxx::internal::gate::result_connection", "a00084.html#a9fe15fed7d74b4ae0718cf9ae64427bf", null ],
+    [ "pqxx::internal::gate::result_creation", "a00084.html#a137c5ab03f8e5975fe822571cfa796e4", null ],
+    [ "pqxx::internal::gate::result_sql_cursor", "a00084.html#ad7ebaaac4647f20a915fd6aa735cd1e5", null ],
+    [ "pqxx::result::field", "a00084.html#a6bfc6726088b9b429e2cebb4497be55d", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00084.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00084.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00085.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00085.html
--- 3.1-1.1/doc/html/Reference/a00085.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00085.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,285 +1,241 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::scoped_array&lt; T &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::result_data Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00085.html">scoped_array</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00085.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="a00299.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::result_data Struct Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::scoped_array&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::internal::scoped_array" --><code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00671.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#c5ba5559e184842746b13c9545c0ac73">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#2a9085342769fddc1cc5a8c6287b0892">difference_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#38e241073d5b8b235f1d9d35980a8639">scoped_array</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#f0349dcca1c6261e641eebf127324a41">scoped_array</a> (<a class="el" href="a00085.html#c5ba5559e184842746b13c9545c0ac73">size_type</a> n)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#b139e833e327beb370470269e09e85a6">scoped_array</a> (T *t)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#92873171917fe692165825e4cc5d0b50">~scoped_array</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#f8afa32de4971796d6d15d73b7590b0a">get</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#c3891140f89ff6e3e43a818767431c23">operator*</a> () const   throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename INDEX&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00085.html#edbec807d9e287655341f02204cac449">operator[]</a> (INDEX i) const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00085.html">scoped_array</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#f0ac2a40f4e23eb28cde185d629a2678">operator=</a> (T *t)  throw ()</td></tr>
+<p>Information shared between all copies of a result set.  
+ <a href="a00085.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad3eb8879b449cb170d8cbc1f5ffcf684"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#ad3eb8879b449cb170d8cbc1f5ffcf684">result_data</a> ()</td></tr>
+<tr class="memitem:a7da78cfb86f1377a92eb1bd4239476f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#a7da78cfb86f1377a92eb1bd4239476f1">result_data</a> (<a class="el" href="a00191.html#aec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *, int <a class="el" href="a00085.html#a3bdb1a6958a07cacd033ab39abc89295">protocol</a>, const std::string &amp;, int <a class="el" href="a00085.html#ac7f36cd7d3afbe419ad40276faf2db8f">encoding_code</a>)</td></tr>
+<tr class="memitem:ae52d3d02d53af5b5600c3c645c136f72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#ae52d3d02d53af5b5600c3c645c136f72">~result_data</a> ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0bbee9d3a58999269eee962760410d84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00191.html#aec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#a0bbee9d3a58999269eee962760410d84">data</a></td></tr>
+<tr class="memdesc:a0bbee9d3a58999269eee962760410d84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Underlying libpq-managed result set.  <a href="#a0bbee9d3a58999269eee962760410d84"></a><br/></td></tr>
+<tr class="memitem:a3bdb1a6958a07cacd033ab39abc89295"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#a3bdb1a6958a07cacd033ab39abc89295">protocol</a></td></tr>
+<tr class="memdesc:a3bdb1a6958a07cacd033ab39abc89295"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frontend/backend protocol version.  <a href="#a3bdb1a6958a07cacd033ab39abc89295"></a><br/></td></tr>
+<tr class="memitem:aeab2796c6969955a896b67d88d13afdd"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#aeab2796c6969955a896b67d88d13afdd">query</a></td></tr>
+<tr class="memdesc:aeab2796c6969955a896b67d88d13afdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query string that yielded this result.  <a href="#aeab2796c6969955a896b67d88d13afdd"></a><br/></td></tr>
+<tr class="memitem:ac7f36cd7d3afbe419ad40276faf2db8f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html#ac7f36cd7d3afbe419ad40276faf2db8f">encoding_code</a></td></tr>
 </table>
-<h3>template&lt;typename T&gt;<br>
- class pqxx::internal::scoped_array&lt; T &gt;</h3>
-
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="c5ba5559e184842746b13c9545c0ac73"></a><!-- doxytag: member="pqxx::internal::scoped_array::size_type" ref="c5ba5559e184842746b13c9545c0ac73" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Information shared between all copies of a result set. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad3eb8879b449cb170d8cbc1f5ffcf684"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef size_t <a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00085.html#c5ba5559e184842746b13c9545c0ac73">size_type</a>          </td>
+          <td class="memname">pqxx::internal::result_data::result_data </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2a9085342769fddc1cc5a8c6287b0892"></a><!-- doxytag: member="pqxx::internal::scoped_array::difference_type" ref="2a9085342769fddc1cc5a8c6287b0892" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef long <a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00085.html#2a9085342769fddc1cc5a8c6287b0892">difference_type</a>          </td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="38e241073d5b8b235f1d9d35980a8639"></a><!-- doxytag: member="pqxx::internal::scoped_array::scoped_array" ref="38e241073d5b8b235f1d9d35980a8639" args="()" -->
+<a class="anchor" id="a7da78cfb86f1377a92eb1bd4239476f1"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00085.html">scoped_array</a>           </td>
+          <td class="memname">pqxx::internal::result_data::result_data </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype"><a class="el" href="a00191.html#aec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *&#160;</td>
+          <td class="paramname"><em>d</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f0349dcca1c6261e641eebf127324a41"></a><!-- doxytag: member="pqxx::internal::scoped_array::scoped_array" ref="f0349dcca1c6261e641eebf127324a41" args="(size_type n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00085.html">scoped_array</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00085.html#c5ba5559e184842746b13c9545c0ac73">size_type</a>&nbsp;</td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>protocol</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b139e833e327beb370470269e09e85a6"></a><!-- doxytag: member="pqxx::internal::scoped_array::scoped_array" ref="b139e833e327beb370470269e09e85a6" args="(T *t)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00085.html">scoped_array</a>           </td>
-          <td>(</td>
-          <td class="paramtype">T *&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>encoding_code</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="92873171917fe692165825e4cc5d0b50"></a><!-- doxytag: member="pqxx::internal::scoped_array::~scoped_array" ref="92873171917fe692165825e4cc5d0b50" args="()" -->
+</div>
+<a class="anchor" id="ae52d3d02d53af5b5600c3c645c136f72"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::~<a class="el" href="a00085.html">scoped_array</a>           </td>
+          <td class="memname">pqxx::internal::result_data::~result_data </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="f8afa32de4971796d6d15d73b7590b0a"></a><!-- doxytag: member="pqxx::internal::scoped_array::get" ref="f8afa32de4971796d6d15d73b7590b0a" args="() const " -->
+</div>
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="a0bbee9d3a58999269eee962760410d84"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">T* <a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::get           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="memname"><a class="el" href="a00191.html#aec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a>* pqxx::internal::result_data::data</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-<p>Referenced by <a class="el" href="a00218.html#l01404">pqxx::connection_base::esc()</a>, <a class="el" href="a00257.html#l00047">pqxx::internal::parameterized_invocation::exec()</a>, and <a class="el" href="a00238.html#l00073">pqxx::prepare::invocation::exec()</a>.</p>
+<p>Underlying libpq-managed result set. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This member is duplicated in the result object as a performance shortcut. </dd></dl>
 
 </div>
-</div><p>
-<a class="anchor" name="c3891140f89ff6e3e43a818767431c23"></a><!-- doxytag: member="pqxx::internal::scoped_array::operator*" ref="c3891140f89ff6e3e43a818767431c23" args="() const " -->
+</div>
+<a class="anchor" id="ac7f36cd7d3afbe419ad40276faf2db8f"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">T&amp; <a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::operator*           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="memname">int pqxx::internal::result_data::encoding_code</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="edbec807d9e287655341f02204cac449"></a><!-- doxytag: member="pqxx::internal::scoped_array::operator[]" ref="edbec807d9e287655341f02204cac449" args="(INDEX i) const " -->
+</div>
+<a class="anchor" id="a3bdb1a6958a07cacd033ab39abc89295"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
-<div class="memtemplate">
-template&lt;typename INDEX&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">T&amp; <a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::operator[]           </td>
-          <td>(</td>
-          <td class="paramtype">INDEX&nbsp;</td>
-          <td class="paramname"> <em>i</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="memname">int pqxx::internal::result_data::protocol</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Frontend/backend protocol version. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="f0ac2a40f4e23eb28cde185d629a2678"></a><!-- doxytag: member="pqxx::internal::scoped_array::operator=" ref="f0ac2a40f4e23eb28cde185d629a2678" args="(T *t)" -->
+</div>
+<a class="anchor" id="aeab2796c6969955a896b67d88d13afdd"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00085.html">scoped_array</a>&amp; <a class="el" href="a00085.html">pqxx::internal::scoped_array</a>&lt; T &gt;::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">T *&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="memname">std::string pqxx::internal::result_data::query</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Query string that yielded this result. </p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00085.html">result_data</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00085.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00085.js
--- 3.1-1.1/doc/html/Reference/a00085.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00085.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,10 @@
+var a00085 =
+[
+    [ "result_data", "a00085.html#ad3eb8879b449cb170d8cbc1f5ffcf684", null ],
+    [ "result_data", "a00085.html#a7da78cfb86f1377a92eb1bd4239476f1", null ],
+    [ "~result_data", "a00085.html#ae52d3d02d53af5b5600c3c645c136f72", null ],
+    [ "data", "a00085.html#a0bbee9d3a58999269eee962760410d84", null ],
+    [ "encoding_code", "a00085.html#ac7f36cd7d3afbe419ad40276faf2db8f", null ],
+    [ "protocol", "a00085.html#a3bdb1a6958a07cacd033ab39abc89295", null ],
+    [ "query", "a00085.html#aeab2796c6969955a896b67d88d13afdd", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00086.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00086.html
--- 3.1-1.1/doc/html/Reference/a00086.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00086.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,160 +1,288 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::scoped_noticer Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00086.html">scoped_noticer</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00086.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00279.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt; Class Template Reference<div class="ingroups"><a class="el" href="a00202.html">Transaction classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::scoped_noticer Class Reference</h1><!-- doxytag: class="pqxx::scoped_noticer" -->Temporarily set different <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> for connection, then restore old one.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00219.html">connection_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::scoped_noticer:</div>
-<div class="dynsection">
-<p><center><img src="a00457.png" border="0" usemap="#a00458" alt="Inheritance graph"></center>
-<map name="a00458">
-<area shape="rect" href="a00029.html" title="Temporarily disable the notice processor." alt="" coords="5,84,160,110"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00459.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#296496bb9919c4673236347dcc461dab">scoped_noticer</a> (<a class="el" href="a00020.html">connection_base</a> &amp;c, std::auto_ptr&lt; <a class="el" href="a00057.html">noticer</a> &gt; t)  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start period where different <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> applies to connection.  <a href="#296496bb9919c4673236347dcc461dab"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#c4392882401ac69ab46ee9a51e500de4">~scoped_noticer</a> ()</td></tr>
 
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#b2942e4ae61aa62357e193314e1945a8">scoped_noticer</a> (<a class="el" href="a00020.html">connection_base</a> &amp;c, <a class="el" href="a00057.html">noticer</a> *t)  throw ()</td></tr>
+<p>Slightly slower, better-fortified version of transaction.  
+ <a href="a00086.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take ownership of given <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a>, and start using it.  <a href="#b2942e4ae61aa62357e193314e1945a8"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00156_source.html">robusttransaction.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00086.png" usemap="#pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;_map" alt=""/>
+  <map id="pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;_map" name="pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;_map">
+<area href="a00011.html" alt="pqxx::basic_robusttransaction" shape="rect" coords="0,168,269,192"/>
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="0,112,269,136"/>
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="0,56,269,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,269,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8fb228809bd42b2936ada9f9573d30d6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; ISOLATIONLEVEL &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a8fb228809bd42b2936ada9f9573d30d6">isolation_tag</a></td></tr>
+<tr class="inherit_header pub_types_a00011"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00011')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00011.html">pqxx::basic_robusttransaction</a></td></tr>
+<tr class="memitem:aad0757a015b2ddfe476e3d83f812bbff inherit pub_types_a00011"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#aad0757a015b2ddfe476e3d83f812bbff">isolation_tag</a></td></tr>
+<tr class="memdesc:aad0757a015b2ddfe476e3d83f812bbff inherit pub_types_a00011"><td class="mdescLeft">&#160;</td><td class="mdescRight">Isolation level is read_committed by default.  <a href="#aad0757a015b2ddfe476e3d83f812bbff"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae28452f4e178b6c548f6294fee803632"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#ae28452f4e178b6c548f6294fee803632">robusttransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;Name=std::string())</td></tr>
+<tr class="memdesc:ae28452f4e178b6c548f6294fee803632"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ae28452f4e178b6c548f6294fee803632"></a><br/></td></tr>
+<tr class="memitem:af1b175fd37479937c936f172803f40bb"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#af1b175fd37479937c936f172803f40bb">~robusttransaction</a> ()  throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00011"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00011')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00011.html">pqxx::basic_robusttransaction</a></td></tr>
+<tr class="memitem:a4fa796f8dff9f236c36f292898eaeaad inherit pub_methods_a00011"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#a4fa796f8dff9f236c36f292898eaeaad">~basic_robusttransaction</a> ()=0</td></tr>
+<tr class="inherit_header pub_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:ace1dc32cc5ab0d51481518e659675b79 inherit pub_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ace1dc32cc5ab0d51481518e659675b79">~dbtransaction</a> ()</td></tr>
+<tr class="inherit_header pub_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:ad5ddea378795d92908af4b65e59d585a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ad5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
+<tr class="memitem:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
+<tr class="memdesc:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction.  <a href="#ab2cf42c4821aff7ff1cd906af9165725"></a><br/></td></tr>
+<tr class="memitem:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
+<tr class="memdesc:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the transaction.  <a href="#a955f2497216d9eae268ac662b46d5a45"></a><br/></td></tr>
+<tr class="memitem:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga98dee516d429520627fd94f5ccb2b023">esc</a> (const char str[]) const </td></tr>
+<tr class="memdesc:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga98dee516d429520627fd94f5ccb2b023"></a><br/></td></tr>
+<tr class="memitem:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb">esc</a> (const char str[], size_t maxlen) const </td></tr>
+<tr class="memdesc:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb"></a><br/></td></tr>
+<tr class="memitem:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244">esc</a> (const std::string &amp;str) const </td></tr>
+<tr class="memdesc:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244"></a><br/></td></tr>
+<tr class="memitem:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6048218f7af70cd0423429d54203749c">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
+<tr class="memdesc:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga6048218f7af70cd0423429d54203749c"></a><br/></td></tr>
+<tr class="memitem:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
+<tr class="memdesc:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga489c7438da9241486297a451a8579dc1"></a><br/></td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff">quote</a> (const T &amp;t) const </td></tr>
+<tr class="memdesc:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff"></a><br/></td></tr>
+<tr class="memitem:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memdesc:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query.  <a href="#aed91d0b8029795b477470e854c907c4b"></a><br/></td></tr>
+<tr class="memitem:a938732e87f924fee764cddd8390de20f inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memitem:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">internal::parameterized_invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
+<tr class="memdesc:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameterize a statement.  <a href="#a6ec73bd0d2a37553c8518e0ef428dee4"></a><br/></td></tr>
+<tr class="memitem:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
+<tr class="memdesc:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection this transaction is running in.  <a href="#aed167261c4d76876241b5f615b9b8c7a"></a><br/></td></tr>
+<tr class="memitem:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
+<tr class="memdesc:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable in this connection.  <a href="#ab7510be596a5a14014064c884a10fd93"></a><br/></td></tr>
+<tr class="memitem:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#a87f5147f2dc2dfbcc3b5aef4b461be86"></a><br/></td></tr>
+<tr class="memitem:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">prepare::invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
+<tr class="memdesc:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute prepared statement.  <a href="#a1357ac4f6330284129c91882a169276d"></a><br/></td></tr>
+<tr class="memitem:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
+<tr class="memdesc:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#a99f99eb85906a7541119c9098a36d799"></a><br/></td></tr>
+<tr class="memitem:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
+<tr class="memdesc:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#aa90bc6e1219ff68ef11e1d04b76c205c"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00011"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00011')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00011.html">pqxx::basic_robusttransaction</a></td></tr>
+<tr class="memitem:a0761b12be4f64a7bccba1d2e7bf3d4a2 inherit pro_methods_a00011"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#a0761b12be4f64a7bccba1d2e7bf3d4a2">basic_robusttransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;IsolationLevel, const std::string &amp;table_name=std::string())</td></tr>
+<tr class="inherit_header pro_static_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a4e35ec39c80f088ebe239b15a16488de inherit pro_static_methods_a00032"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Temporarily set different <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> for connection, then restore old one. 
-<p>
-Set different <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> in given connection for the duration of the scoped_noticer's lifetime. After that, the original <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> is restored.<p>
-No effort is made to respect any new <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> that may have been set in the meantime, so don't do that. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="296496bb9919c4673236347dcc461dab"></a><!-- doxytag: member="pqxx::scoped_noticer::scoped_noticer" ref="296496bb9919c4673236347dcc461dab" args="(connection_base &amp;c, std::auto_ptr&lt; noticer &gt; t)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt;<br/>
+class pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;</h3>
+
+<p>Slightly slower, better-fortified version of transaction. </p>
+<p>robusttransaction is similar to transaction, but spends more effort (and performance!) to deal with the hopefully rare case that the connection to the backend is lost just as the current transaction is being committed. In this case, there is no way to determine whether the backend managed to commit the transaction before noticing the loss of connection.</p>
+<p>In such cases, this class tries to reconnect to the database and figure out what happened. It will need to store and manage some information (pretty much a user-level transaction log) in the back-end for each and every transaction just on the off chance that this problem might occur. This service level was made optional since you may not want to pay this overhead where it is not necessary. Certainly the use of this class makes no sense for local connections, or for transactions that read the database but never modify it, or for noncritical database manipulations.</p>
+<p>Besides being slower, it's theoretically possible that robusttransaction actually fails more instead of less often than a normal transaction. This is due to the added work and complexity. What robusttransaction tries to achieve is to be more deterministic, not more successful per se.</p>
+<p>When a user first uses a robusttransaction in a database, the class will attempt to create a log table there to keep vital transaction-related state information in. This table, located in that same database, will be called pqxxlog_*user*, where <em>user</em> is the PostgreSQL username for that user. If the log table can not be created, the transaction fails immediately.</p>
+<p>If the user does not have permission to create the log table, the database administrator may create one for him beforehand, and give ownership (or at least full insert/update rights) to the user. The table must contain two non-unique fields (which will never be null): "name" (of text type, <code>varchar(256)</code> by default) and "date" (of <code>timestamp</code> type). Older versions of robusttransaction also added a unique "id" field; this field is now obsolete and the log table's implicit oids are used instead. The log tables' names may be made configurable in a future version of libpqxx.</p>
+<p>The transaction log table contains records describing unfinished transactions, i.e. ones that have been started but not, as far as the client knows, committed or aborted. This can mean any of the following:</p>
+<ol>
+<li>
+The transaction is in progress. Since backend transactions can't run for extended periods of time, this can only be the case if the log record's timestamp (compared to the server's clock) is not very old, provided of course that the server's system clock hasn't just made a radical jump. </li>
+<li>
+The client's connection to the server was lost, just when the client was committing the transaction, and the client so far has not been able to re-establish the connection to verify whether the transaction was actually completed or rolled back by the server. This is a serious (and luckily a rare) condition and requires manual inspection of the database to determine what happened. The robusttransaction will emit clear and specific warnings to this effect, and will identify the log record describing the transaction in question. </li>
+<li>
+The transaction was completed (either by commit or by rollback), but the client's connection was durably lost just as it tried to clean up the log record. Again, robusttransaction will emit a clear and specific warning to tell you about this and request that the record be deleted as soon as possible. </li>
+<li>
+The client has gone offline at any time while in one of the preceding states. This also requires manual intervention, but the client obviously is not able to issue a warning. </li>
+</ol>
+<p>It is safe to drop a log table when it is not in use (ie., it is empty or all records in it represent states 2-4 above). Each robusttransaction will attempt to recreate the table at its next time of use. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a8fb228809bd42b2936ada9f9573d30d6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00056.html">isolation_traits</a>&lt;ISOLATIONLEVEL&gt; <a class="el" href="a00086.html">pqxx::robusttransaction</a>&lt; ISOLATIONLEVEL &gt;::<a class="el" href="a00011.html#aad0757a015b2ddfe476e3d83f812bbff">isolation_tag</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae28452f4e178b6c548f6294fee803632"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::scoped_noticer::scoped_noticer           </td>
+          <td class="memname"><a class="el" href="a00086.html">pqxx::robusttransaction</a>&lt; ISOLATIONLEVEL &gt;::<a class="el" href="a00086.html">robusttransaction</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>c</em>, </td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">std::auto_ptr&lt; <a class="el" href="a00057.html">noticer</a> &gt;&nbsp;</td>
-          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em> = <code>std::string()</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-Start period where different <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> applies to connection. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>connection object whose <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> should be temporarily changed </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>temporary <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> object to use; will be destroyed on completion </td></tr>
+<p>Constructor. </p>
+<p>Creates robusttransaction of given name </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">C</td><td>Connection that this robusttransaction should live inside. </td></tr>
+    <tr><td class="paramname">Name</td><td>optional human-readable name for this transaction </td></tr>
   </table>
+  </dd>
 </dl>
 
 </div>
-</div><p>
-<a class="anchor" name="c4392882401ac69ab46ee9a51e500de4"></a><!-- doxytag: member="pqxx::scoped_noticer::~scoped_noticer" ref="c4392882401ac69ab46ee9a51e500de4" args="()" -->
+</div>
+<a class="anchor" id="af1b175fd37479937c936f172803f40bb"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::scoped_noticer::~scoped_noticer           </td>
+          <td class="memname">virtual <a class="el" href="a00086.html">pqxx::robusttransaction</a>&lt; ISOLATIONLEVEL &gt;::~<a class="el" href="a00086.html">robusttransaction</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00218.html#l00488">pqxx::connection_base::set_noticer()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="b2942e4ae61aa62357e193314e1945a8"></a><!-- doxytag: member="pqxx::scoped_noticer::scoped_noticer" ref="b2942e4ae61aa62357e193314e1945a8" args="(connection_base &amp;c, noticer *t)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::scoped_noticer::scoped_noticer           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00057.html">noticer</a> *&nbsp;</td>
-          <td class="paramname"> <em>t</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%">  throw ()<code> [protected]</code></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Take ownership of given <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a>, and start using it. 
-<p>
-This constructor is not public because its interface does not express the fact that the <a class="el" href="a00086.html" title="Temporarily set different noticer for connection, then restore old one.">scoped_noticer</a> takes ownership of the <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> through an <code>auto_ptr</code>. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00219.html">connection_base.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00156_source.html">robusttransaction.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00086.html">robusttransaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00086.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00086.js
--- 3.1-1.1/doc/html/Reference/a00086.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00086.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00086 =
+[
+    [ "isolation_tag", "a00086.html#a8fb228809bd42b2936ada9f9573d30d6", null ],
+    [ "robusttransaction", "a00086.html#ae28452f4e178b6c548f6294fee803632", null ],
+    [ "~robusttransaction", "a00086.html#af1b175fd37479937c936f172803f40bb", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00086.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00086.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00087.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00087.html
--- 3.1-1.1/doc/html/Reference/a00087.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00087.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,401 +1,302 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::sql_cursor Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::scoped_array&lt; T &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00087.html">sql_cursor</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00087.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00307.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::scoped_array&lt; T &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::sql_cursor Class Reference</h1><!-- doxytag: class="pqxx::internal::sql_cursor" --><!-- doxytag: inherits="pqxx::cursor_base" -->Cursor with SQL positioning semantics.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00222.html">cursor.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::internal::sql_cursor:</div>
-<div class="dynsection">
-<p><center><img src="a00656.png" border="0" usemap="#a00657" alt="Inheritance graph"></center>
-<map name="a00657">
-<area shape="rect" href="a00023.html" title="Common definitions for cursor types." alt="" coords="27,6,163,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00658.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#78ee80852828a1221357352ce77b9597">sql_cursor</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;t, const std::string &amp;query, const std::string &amp;cname, <a class="el" href="a00023.html#591ac7d2302288890c04e6159eb6d30e">cursor_base::accesspolicy</a> ap, <a class="el" href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c212">cursor_base::updatepolicy</a> up, <a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a> op, bool hold)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#4e8540e040830b7834749c51d1eb39c0">sql_cursor</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;t, const std::string &amp;cname, <a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a> op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#5957a76f8d79ad8eae5feee9722eff40">~sql_cursor</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#c356fb51140719a5703d8c5c6784ebb5">fetch</a> (<a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> rows, <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;displacement)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#7c17e5396e312c2f3e0f66db3d0e4a90">fetch</a> (<a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> rows)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#2aefb76b1cea234cc687735a3f8bc51a">move</a> (<a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> rows, <a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;displacement)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#31a9e2e6f5276c06120111df47f9ac5f">move</a> (<a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> rows)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#5a8ff4f51d2a249f1e772e0953452684">pos</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Current position, or -1 for unknown.  <a href="#5a8ff4f51d2a249f1e772e0953452684"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#3ae9feae24d5eab6cf30867351cee54e">endpos</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End position, or -1 for unknown.  <a href="#3ae9feae24d5eab6cf30867351cee54e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00076.html">result</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#f02410eca37436cb84547357d0b5a38e">empty_result</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return zero-row <a class="el" href="a00076.html" title="Query or command result set.">result</a> for this cursor.  <a href="#f02410eca37436cb84547357d0b5a38e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#866cc9ec5bc766135e80a38901833e37">close</a> ()  throw ()</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ac5ba5559e184842746b13c9545c0ac73"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#ac5ba5559e184842746b13c9545c0ac73">size_type</a></td></tr>
+<tr class="memitem:a2a9085342769fddc1cc5a8c6287b0892"><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#a2a9085342769fddc1cc5a8c6287b0892">difference_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a38e241073d5b8b235f1d9d35980a8639"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#a38e241073d5b8b235f1d9d35980a8639">scoped_array</a> ()</td></tr>
+<tr class="memitem:af0349dcca1c6261e641eebf127324a41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#af0349dcca1c6261e641eebf127324a41">scoped_array</a> (<a class="el" href="a00087.html#ac5ba5559e184842746b13c9545c0ac73">size_type</a> n)</td></tr>
+<tr class="memitem:ab139e833e327beb370470269e09e85a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#ab139e833e327beb370470269e09e85a6">scoped_array</a> (T *t)</td></tr>
+<tr class="memitem:a92873171917fe692165825e4cc5d0b50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#a92873171917fe692165825e4cc5d0b50">~scoped_array</a> ()</td></tr>
+<tr class="memitem:af8afa32de4971796d6d15d73b7590b0a"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#af8afa32de4971796d6d15d73b7590b0a">get</a> () const   throw ()</td></tr>
+<tr class="memitem:ac3891140f89ff6e3e43a818767431c23"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#ac3891140f89ff6e3e43a818767431c23">operator*</a> () const   throw ()</td></tr>
+<tr class="memitem:aada7488a2fb51e6d81cdd86469f43ada"><td class="memTemplParams" colspan="2">template&lt;typename INDEX &gt; </td></tr>
+<tr class="memitem:aada7488a2fb51e6d81cdd86469f43ada"><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00087.html#aada7488a2fb51e6d81cdd86469f43ada">operator[]</a> (INDEX i) const   throw ()</td></tr>
+<tr class="memitem:af0ac2a40f4e23eb28cde185d629a2678"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00087.html">scoped_array</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#af0ac2a40f4e23eb28cde185d629a2678">operator=</a> (T *t)  throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Cursor with SQL positioning semantics. 
-<p>
-Thin wrapper around an SQL cursor, with SQL's ideas of positioning.<p>
-SQL cursors have pre-increment/pre-decrement semantics, with on either end of the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set a special position that does not repesent a row. This class models SQL cursors for the purpose of implementing more C++-like semantics on top.<p>
-Positions of actual rows are numbered starting at 1. Position 0 exists but does not refer to a row. There is a similar non-row position at the end of the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.<p>
-Don't use this at home. You deserve better. Use the stateles_cursor instead. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="78ee80852828a1221357352ce77b9597"></a><!-- doxytag: member="pqxx::internal::sql_cursor::sql_cursor" ref="78ee80852828a1221357352ce77b9597" args="(transaction_base &amp;t, const std::string &amp;query, const std::string &amp;cname, cursor_base::accesspolicy ap, cursor_base::updatepolicy up, cursor_base::ownershippolicy op, bool hold)" -->
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a2a9085342769fddc1cc5a8c6287b0892"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::sql_cursor::sql_cursor           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>query</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>cname</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#591ac7d2302288890c04e6159eb6d30e">cursor_base::accesspolicy</a>&nbsp;</td>
-          <td class="paramname"> <em>ap</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#ba6fa56f1ef2d25c3c73240de6b9c212">cursor_base::updatepolicy</a>&nbsp;</td>
-          <td class="paramname"> <em>up</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a>&nbsp;</td>
-          <td class="paramname"> <em>op</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>hold</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="memname">typedef long <a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00087.html#a2a9085342769fddc1cc5a8c6287b0892">difference_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="4e8540e040830b7834749c51d1eb39c0"></a><!-- doxytag: member="pqxx::internal::sql_cursor::sql_cursor" ref="4e8540e040830b7834749c51d1eb39c0" args="(transaction_base &amp;t, const std::string &amp;cname, cursor_base::ownershippolicy op)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::internal::sql_cursor::sql_cursor           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>cname</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a>&nbsp;</td>
-          <td class="paramname"> <em>op</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="5957a76f8d79ad8eae5feee9722eff40"></a><!-- doxytag: member="pqxx::internal::sql_cursor::~sql_cursor" ref="5957a76f8d79ad8eae5feee9722eff40" args="()" -->
+<a class="anchor" id="ac5ba5559e184842746b13c9545c0ac73"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::sql_cursor::~sql_cursor           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="memname">typedef size_t <a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00087.html#ac5ba5559e184842746b13c9545c0ac73">size_type</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="c356fb51140719a5703d8c5c6784ebb5"></a><!-- doxytag: member="pqxx::internal::sql_cursor::fetch" ref="c356fb51140719a5703d8c5c6784ebb5" args="(difference_type rows, difference_type &amp;displacement)" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a38e241073d5b8b235f1d9d35980a8639"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html">result</a> pqxx::internal::sql_cursor::fetch           </td>
+          <td class="memname"><a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00087.html">scoped_array</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>rows</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>displacement</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00222.html#l00139">pqxx::cursor_base::name()</a>, and <a class="el" href="a00240.html#l00119">pqxx::result::size()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00221.html#l00319">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7c17e5396e312c2f3e0f66db3d0e4a90"></a><!-- doxytag: member="pqxx::internal::sql_cursor::fetch" ref="7c17e5396e312c2f3e0f66db3d0e4a90" args="(difference_type rows)" -->
+</div>
+<a class="anchor" id="af0349dcca1c6261e641eebf127324a41"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html">result</a> pqxx::internal::sql_cursor::fetch           </td>
+          <td class="memname"><a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00087.html">scoped_array</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>rows</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype"><a class="el" href="a00087.html#ac5ba5559e184842746b13c9545c0ac73">size_type</a>&#160;</td>
+          <td class="paramname"><em>n</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="2aefb76b1cea234cc687735a3f8bc51a"></a><!-- doxytag: member="pqxx::internal::sql_cursor::move" ref="2aefb76b1cea234cc687735a3f8bc51a" args="(difference_type rows, difference_type &amp;displacement)" -->
+</div>
+<a class="anchor" id="ab139e833e327beb370470269e09e85a6"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> pqxx::internal::sql_cursor::move           </td>
+          <td class="memname"><a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::<a class="el" href="a00087.html">scoped_array</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>rows</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>displacement</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00240.html#l00280">pqxx::result::affected_rows()</a>, <a class="el" href="a00241.html#l01007">pqxx::from_string()</a>, and <a class="el" href="a00222.html#l00139">pqxx::cursor_base::name()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00221.html#l00393">pqxx::icursorstream::ignore()</a>, <a class="el" href="a00221.html#l00312">pqxx::internal::obtain_stateless_cursor_size()</a>, and <a class="el" href="a00221.html#l00319">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="31a9e2e6f5276c06120111df47f9ac5f"></a><!-- doxytag: member="pqxx::internal::sql_cursor::move" ref="31a9e2e6f5276c06120111df47f9ac5f" args="(difference_type rows)" -->
+</div>
+<a class="anchor" id="a92873171917fe692165825e4cc5d0b50"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::internal::sql_cursor::move           </td>
+          <td class="memname"><a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::~<a class="el" href="a00087.html">scoped_array</a> </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>rows</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="5a8ff4f51d2a249f1e772e0953452684"></a><!-- doxytag: member="pqxx::internal::sql_cursor::pos" ref="5a8ff4f51d2a249f1e772e0953452684" args="() const " -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="af8afa32de4971796d6d15d73b7590b0a"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::internal::sql_cursor::pos           </td>
+          <td class="memname">T* <a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::get </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Current position, or -1 for unknown. 
-<p>
-The starting position, just before the first row, counts as position zero.<p>
-Position may be unknown if (and only if) this cursor was adopted, and has never hit its starting position (position zero). 
-<p>Referenced by <a class="el" href="a00221.html#l00319">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+<p>Referenced by <a class="el" href="a00199.html#gae711f65dd793a70629f97a2e0e54d8db">pqxx::connection_base::esc()</a>, <a class="el" href="a00070.html#abc61b203c68554dc43ccead818683b4a">pqxx::internal::parameterized_invocation::exec()</a>, and <a class="el" href="a00055.html#af937364fbb9bf4cead8c646220a4507d">pqxx::prepare::invocation::exec()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="3ae9feae24d5eab6cf30867351cee54e"></a><!-- doxytag: member="pqxx::internal::sql_cursor::endpos" ref="3ae9feae24d5eab6cf30867351cee54e" args="() const " -->
+</div>
+<a class="anchor" id="ac3891140f89ff6e3e43a818767431c23"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00023.html#746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::internal::sql_cursor::endpos           </td>
+          <td class="memname">T&amp; <a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::operator* </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-End position, or -1 for unknown. 
-<p>
-Returns the final position, just after the last row in the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. The starting position, just before the first row, counts as position zero.<p>
-End position is unknown until it is encountered during use. 
-<p>Referenced by <a class="el" href="a00221.html#l00312">pqxx::internal::obtain_stateless_cursor_size()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f02410eca37436cb84547357d0b5a38e"></a><!-- doxytag: member="pqxx::internal::sql_cursor::empty_result" ref="f02410eca37436cb84547357d0b5a38e" args="() const " -->
+</div>
+<a class="anchor" id="af0ac2a40f4e23eb28cde185d629a2678"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">const <a class="el" href="a00076.html">result</a>&amp; pqxx::internal::sql_cursor::empty_result           </td>
+          <td class="memname"><a class="el" href="a00087.html">scoped_array</a>&amp; <a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::operator= </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype">T *&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Return zero-row <a class="el" href="a00076.html" title="Query or command result set.">result</a> for this cursor. 
-<p>
-
-<p>Referenced by <a class="el" href="a00221.html#l00319">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="866cc9ec5bc766135e80a38901833e37"></a><!-- doxytag: member="pqxx::internal::sql_cursor::close" ref="866cc9ec5bc766135e80a38901833e37" args="()" -->
+</div>
+<a class="anchor" id="aada7488a2fb51e6d81cdd86469f43ada"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename T&gt; </div>
+<div class="memtemplate">
+template&lt;typename INDEX &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::sql_cursor::close           </td>
+          <td class="memname">T&amp; <a class="el" href="a00087.html">pqxx::internal::scoped_array</a>&lt; T &gt;::operator[] </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramtype">INDEX&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00222.html#l00106">pqxx::cursor_base::loose</a>, <a class="el" href="a00222.html#l00139">pqxx::cursor_base::name()</a>, and <a class="el" href="a00222.html#l00104">pqxx::cursor_base::owned</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00222.html">cursor.hxx</a><li><a class="el" href="a00131.html">cursor.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00087.html">scoped_array</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00087.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00087.js
--- 3.1-1.1/doc/html/Reference/a00087.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00087.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,13 @@
+var a00087 =
+[
+    [ "difference_type", "a00087.html#a2a9085342769fddc1cc5a8c6287b0892", null ],
+    [ "size_type", "a00087.html#ac5ba5559e184842746b13c9545c0ac73", null ],
+    [ "scoped_array", "a00087.html#a38e241073d5b8b235f1d9d35980a8639", null ],
+    [ "scoped_array", "a00087.html#af0349dcca1c6261e641eebf127324a41", null ],
+    [ "scoped_array", "a00087.html#ab139e833e327beb370470269e09e85a6", null ],
+    [ "~scoped_array", "a00087.html#a92873171917fe692165825e4cc5d0b50", null ],
+    [ "get", "a00087.html#af8afa32de4971796d6d15d73b7590b0a", null ],
+    [ "operator*", "a00087.html#ac3891140f89ff6e3e43a818767431c23", null ],
+    [ "operator=", "a00087.html#af0ac2a40f4e23eb28cde185d629a2678", null ],
+    [ "operator[]", "a00087.html#aada7488a2fb51e6d81cdd86469f43ada", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00088.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00088.html
--- 3.1-1.1/doc/html/Reference/a00088.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00088.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,184 +1,209 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::sql_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::scoped_noticer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00088.html">sql_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00088.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="a00217.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::scoped_noticer Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::sql_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::sql_error" --><!-- doxytag: inherits="pqxx::failure" -->Exception class for failed queries.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::sql_error:</div>
-<div class="dynsection">
-<p><center><img src="a00484.png" border="0" usemap="#a00485" alt="Inheritance graph"></center>
-<map name="a00485">
-<area shape="rect" href="a00024.html" title="Error in data provided to SQL statement." alt="" coords="568,5,725,32"><area shape="rect" href="a00033.html" title="Database feature not supported in current setup." alt="" coords="544,56,749,82"><area shape="rect" href="a00040.html" title="pqxx::insufficient_privilege" alt="" coords="553,106,740,133"><area shape="rect" href="a00041.html" title="Resource shortage on the server." alt="" coords="548,157,745,184"><area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="525,208,768,234"><area shape="rect" href="a00044.html" title="pqxx::invalid_cursor_name" alt="" coords="552,258,741,285"><area shape="rect" href="a00045.html" title="pqxx::invalid_cursor_state" alt="" coords="553,309,740,336"><area shape="rect" href="a00046.html" title="pqxx::invalid_sql_statement_name" alt="" coords="525,360,768,386"><area shape="rect" href="a00063.html" title="PL/pgSQL error." alt="" coords="576,410,717,437"><area shape="rect" href="a00098.html" title="pqxx::syntax_error" alt="" coords="577,537,716,564"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="213,233,312,260"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="7,233,164,260"><area shape="rect" href="a00030.html" title="pqxx::disk_full" alt="" coords="868,5,977,32"><area shape="rect" href="a00060.html" title="pqxx::out_of_memory" alt="" coords="843,56,1003,82"><area shape="rect" href="a00015.html" title="pqxx::check_violation" alt="" coords="845,106,1000,133"><area shape="rect" href="a00035.html" title="pqxx::foreign_key_violation" alt="" coords="827,157,1019,184"><area shape="rect" href="a00056.html" title="pqxx::not_null_violation" alt="" coords="839,208,1007,234"><area shape="rect" href="a00075.html" title="pqxx::restrict_violation" alt="" coords="841,258,1004,285"><area shape="rect" href="a00112.html" title="pqxx::unique_violation" alt="" coords="841,309,1004,336"><area shape="rect" href="a00064.html" title="pqxx::plpgsql_no_data_found" alt="" coords="820,360,1025,386"><area shape="rect" href="a00065.html" title="Exception raised in PL/pgSQL procedure." alt="" coords="852,410,993,437"><area shape="rect" href="a00066.html" title="pqxx::plpgsql_too_many_rows" alt="" coords="817,461,1028,488"><area shape="rect" href="a00108.html" title="pqxx::undefined_column" alt="" coords="835,512,1011,538"><area shape="rect" href="a00109.html" title="pqxx::undefined_function" alt="" coords="833,562,1012,589"><area shape="rect" href="a00110.html" title="pqxx::undefined_table" alt="" coords="843,613,1003,640"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00486.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#d2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#ffcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#f3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<p>Temporarily set different noticer for connection, then restore old one.  
+ <a href="a00088.html#details">More...</a></p>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#477598fd2f749aa2e0c66295a818a0f5"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00132_source.html">connection_base.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::scoped_noticer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00088.png" usemap="#pqxx::scoped_noticer_map" alt=""/>
+  <map id="pqxx::scoped_noticer_map" name="pqxx::scoped_noticer_map">
+<area href="a00036.html" title="Temporarily disable the notice processor." alt="pqxx::disable_noticer" shape="rect" coords="0,56,130,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a296496bb9919c4673236347dcc461dab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#a296496bb9919c4673236347dcc461dab">scoped_noticer</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt; t)  throw ()</td></tr>
+<tr class="memdesc:a296496bb9919c4673236347dcc461dab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start period where different noticer applies to connection.  <a href="#a296496bb9919c4673236347dcc461dab"></a><br/></td></tr>
+<tr class="memitem:ac4392882401ac69ab46ee9a51e500de4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#ac4392882401ac69ab46ee9a51e500de4">~scoped_noticer</a> ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ab2942e4ae61aa62357e193314e1945a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#ab2942e4ae61aa62357e193314e1945a8">scoped_noticer</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, <a class="el" href="a00065.html">noticer</a> *t)  throw ()</td></tr>
+<tr class="memdesc:ab2942e4ae61aa62357e193314e1945a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take ownership of given noticer, and start using it.  <a href="#ab2942e4ae61aa62357e193314e1945a8"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception class for failed queries. 
-<p>
-Carries a copy of the failed query in addition to a regular error message <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d2f7fa865d0410824b39ac27dab99d92"></a><!-- doxytag: member="pqxx::sql_error::sql_error" ref="d2f7fa865d0410824b39ac27dab99d92" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Temporarily set different noticer for connection, then restore old one. </p>
+<p>Set different noticer in given connection for the duration of the <a class="el" href="a00088.html" title="Temporarily set different noticer for connection, then restore old one.">scoped_noticer</a>'s lifetime. After that, the original noticer is restored.</p>
+<p>No effort is made to respect any new noticer that may have been set in the meantime, so don't do that. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a296496bb9919c4673236347dcc461dab"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::sql_error::sql_error           </td>
+          <td class="memname">pqxx::scoped_noticer::scoped_noticer </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>c</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::auto_ptr&lt; <a class="el" href="a00065.html">noticer</a> &gt;&#160;</td>
+          <td class="paramname"><em>t</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Start period where different noticer applies to connection. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>connection object whose noticer should be temporarily changed </td></tr>
+    <tr><td class="paramname">t</td><td>temporary noticer object to use; will be destroyed on completion </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<a class="anchor" name="ffcbefe5ad9a1cae7073d170f85352d0"></a><!-- doxytag: member="pqxx::sql_error::sql_error" ref="ffcbefe5ad9a1cae7073d170f85352d0" args="(const std::string &amp;)" -->
+</div>
+<a class="anchor" id="ac4392882401ac69ab46ee9a51e500de4"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::sql_error::sql_error           </td>
+          <td class="memname">pqxx::scoped_noticer::~scoped_noticer </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f3e94ddc4c6428d5a1d7763936a5b781"></a><!-- doxytag: member="pqxx::sql_error::sql_error" ref="f3e94ddc4c6428d5a1d7763936a5b781" args="(const std::string &amp;, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="ab2942e4ae61aa62357e193314e1945a8"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::sql_error::sql_error           </td>
+          <td class="memname">pqxx::scoped_noticer::scoped_noticer </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>, </td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>c</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00065.html">noticer</a> *&#160;</td>
+          <td class="paramname"><em>t</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7db2ae4924fda2aec297cfa1c8363ec7"></a><!-- doxytag: member="pqxx::sql_error::~sql_error" ref="7db2ae4924fda2aec297cfa1c8363ec7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::sql_error::~sql_error           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>Take ownership of given noticer, and start using it. </p>
+<p>This constructor is not public because its interface does not express the fact that the <a class="el" href="a00088.html" title="Temporarily set different noticer for connection, then restore old one.">scoped_noticer</a> takes ownership of the noticer through an <code>auto_ptr</code>. </p>
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="477598fd2f749aa2e0c66295a818a0f5"></a><!-- doxytag: member="pqxx::sql_error::query" ref="477598fd2f749aa2e0c66295a818a0f5" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const string &amp; pqxx::sql_error::query           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The query whose execution triggered the exception. 
-<p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00132_source.html">connection_base.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00088.html">scoped_noticer</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00088.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00088.js
--- 3.1-1.1/doc/html/Reference/a00088.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00088.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,6 @@
+var a00088 =
+[
+    [ "scoped_noticer", "a00088.html#a296496bb9919c4673236347dcc461dab", null ],
+    [ "~scoped_noticer", "a00088.html#ac4392882401ac69ab46ee9a51e500de4", null ],
+    [ "scoped_noticer", "a00088.html#ab2942e4ae61aa62357e193314e1945a8", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00088.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00088.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00089.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00089.html
--- 3.1-1.1/doc/html/Reference/a00089.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00089.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,305 +1,450 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::stateless_cursor&lt; up, op &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::sql_cursor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00089.html">stateless_cursor</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00089.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00298.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::sql_cursor Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::stateless_cursor&lt; up, op &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::stateless_cursor" -->"Stateless cursor" class: easy API for retrieving parts of <a class="el" href="a00076.html" title="Query or command result set.">result</a> sets  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00222.html">cursor.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00469.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#85ee6b4652b659565fede97bb00b4232">size_type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#f9cfc40abd39a68880b0df6d618e41fb">difference_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a042b1c72b16911a4f2e1c73be3d8942">stateless_cursor</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;trans, const std::string &amp;query, const std::string &amp;cname, bool hold)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create cursor.  <a href="#a042b1c72b16911a4f2e1c73be3d8942"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#8231490bf29aa7686c4daa3b1fc97ed1">stateless_cursor</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;trans, const std::string adopted_cursor)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adopt existing scrolling SQL cursor.  <a href="#8231490bf29aa7686c4daa3b1fc97ed1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#20a0b658655a3b10543abd35717dd633">close</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00089.html#85ee6b4652b659565fede97bb00b4232">size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#e278f24bab98d3946061934a48992067">size</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of rows in cursor's <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="#e278f24bab98d3946061934a48992067"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#97046479f709ae621473c48ed7a0932d">retrieve</a> (<a class="el" href="a00089.html#f9cfc40abd39a68880b0df6d618e41fb">difference_type</a> begin_pos, <a class="el" href="a00089.html#f9cfc40abd39a68880b0df6d618e41fb">difference_type</a> end_pos)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve rows from begin_pos (inclusive) to end_pos (exclusive).  <a href="#97046479f709ae621473c48ed7a0932d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#6381b78c73ae32e4453d629a36081ffd">name</a> () const   throw ()</td></tr>
+<p>Cursor with SQL positioning semantics.  
+ <a href="a00089.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00135_source.html">cursor.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::internal::sql_cursor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00089.png" usemap="#pqxx::internal::sql_cursor_map" alt=""/>
+  <map id="pqxx::internal::sql_cursor_map" name="pqxx::internal::sql_cursor_map">
+<area href="a00030.html" title="Common definitions for cursor types." alt="pqxx::cursor_base" shape="rect" coords="0,0,150,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a78ee80852828a1221357352ce77b9597"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a78ee80852828a1221357352ce77b9597">sql_cursor</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t, const std::string &amp;query, const std::string &amp;cname, <a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">cursor_base::accesspolicy</a> ap, <a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">cursor_base::updatepolicy</a> up, <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a> op, bool hold)</td></tr>
+<tr class="memitem:a4e8540e040830b7834749c51d1eb39c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a4e8540e040830b7834749c51d1eb39c0">sql_cursor</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t, const std::string &amp;cname, <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a> op)</td></tr>
+<tr class="memitem:a5957a76f8d79ad8eae5feee9722eff40"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a5957a76f8d79ad8eae5feee9722eff40">~sql_cursor</a> ()  throw ()</td></tr>
+<tr class="memitem:ac356fb51140719a5703d8c5c6784ebb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#ac356fb51140719a5703d8c5c6784ebb5">fetch</a> (<a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> rows, <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;displacement)</td></tr>
+<tr class="memitem:a7c17e5396e312c2f3e0f66db3d0e4a90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a7c17e5396e312c2f3e0f66db3d0e4a90">fetch</a> (<a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> rows)</td></tr>
+<tr class="memitem:a2aefb76b1cea234cc687735a3f8bc51a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a2aefb76b1cea234cc687735a3f8bc51a">move</a> (<a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> rows, <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;displacement)</td></tr>
+<tr class="memitem:a31a9e2e6f5276c06120111df47f9ac5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a31a9e2e6f5276c06120111df47f9ac5f">move</a> (<a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> rows)</td></tr>
+<tr class="memitem:a5a8ff4f51d2a249f1e772e0953452684"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a5a8ff4f51d2a249f1e772e0953452684">pos</a> () const   throw ()</td></tr>
+<tr class="memdesc:a5a8ff4f51d2a249f1e772e0953452684"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current position, or -1 for unknown.  <a href="#a5a8ff4f51d2a249f1e772e0953452684"></a><br/></td></tr>
+<tr class="memitem:a3ae9feae24d5eab6cf30867351cee54e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a3ae9feae24d5eab6cf30867351cee54e">endpos</a> () const   throw ()</td></tr>
+<tr class="memdesc:a3ae9feae24d5eab6cf30867351cee54e"><td class="mdescLeft">&#160;</td><td class="mdescRight">End position, or -1 for unknown.  <a href="#a3ae9feae24d5eab6cf30867351cee54e"></a><br/></td></tr>
+<tr class="memitem:af02410eca37436cb84547357d0b5a38e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00084.html">result</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#af02410eca37436cb84547357d0b5a38e">empty_result</a> () const   throw ()</td></tr>
+<tr class="memdesc:af02410eca37436cb84547357d0b5a38e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return zero-row result for this cursor.  <a href="#af02410eca37436cb84547357d0b5a38e"></a><br/></td></tr>
+<tr class="memitem:a866cc9ec5bc766135e80a38901833e37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a866cc9ec5bc766135e80a38901833e37">close</a> ()  throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00030"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00030')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00030.html">pqxx::cursor_base</a></td></tr>
+<tr class="memitem:ab46d430e0ecfa545ff3764f867654caf inherit pub_methods_a00030"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#ab46d430e0ecfa545ff3764f867654caf">name</a> () const   throw ()</td></tr>
+<tr class="memdesc:ab46d430e0ecfa545ff3764f867654caf inherit pub_methods_a00030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of underlying SQL cursor.  <a href="#ab46d430e0ecfa545ff3764f867654caf"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00030"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00030')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00030.html">pqxx::cursor_base</a></td></tr>
+<tr class="memitem:a591ac7d2302288890c04e6159eb6d30e inherit pub_types_a00030"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">accesspolicy</a> { <a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf">forward_only</a>, 
+<a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30ea7f6c1ed7719885433353a78946b2c5f3">random_access</a>
+ }</td></tr>
+<tr class="memdesc:a591ac7d2302288890c04e6159eb6d30e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor access-pattern policy.  <a href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">More...</a><br/></td></tr>
+<tr class="memitem:aba6fa56f1ef2d25c3c73240de6b9c212 inherit pub_types_a00030"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">updatepolicy</a> { <a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a8122c0c4a5eb9c9dbf27ab40a2686eb0">read_only</a>, 
+<a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a12fa229ee3e760f1ca86d66304554b63">update</a>
+ }</td></tr>
+<tr class="memdesc:aba6fa56f1ef2d25c3c73240de6b9c212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor update policy.  <a href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">More...</a><br/></td></tr>
+<tr class="memitem:a8d5f8214ede2ab27dd588defc2847330 inherit pub_types_a00030"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">ownershippolicy</a> { <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">owned</a>, 
+<a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a4c37408c49492bfe9f012812226dd1fd">loose</a>
+ }</td></tr>
+<tr class="memdesc:a8d5f8214ede2ab27dd588defc2847330"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cursor destruction policy.  <a href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">More...</a><br/></td></tr>
+<tr class="memitem:a732bb16c01dc3266d424267252d4f1b0 inherit pub_types_a00030"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">size_type</a></td></tr>
+<tr class="memitem:a746c725327e1dfd598708bfeb8834992 inherit pub_types_a00030"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a></td></tr>
+<tr class="inherit_header pub_static_methods_a00030"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_a00030')"><img src="closed.png" alt="-"/>&nbsp;Static Public Member Functions inherited from <a class="el" href="a00030.html">pqxx::cursor_base</a></td></tr>
+<tr class="memitem:a56b530ba6b18f3fcdb5b93a0087922c9 inherit pub_static_methods_a00030"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a56b530ba6b18f3fcdb5b93a0087922c9">all</a> ()  throw ()</td></tr>
+<tr class="memdesc:a56b530ba6b18f3fcdb5b93a0087922c9 inherit pub_static_methods_a00030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read until end.  <a href="#a56b530ba6b18f3fcdb5b93a0087922c9"></a><br/></td></tr>
+<tr class="memitem:a2a10af042c1ece1f5faf55479ada0319 inherit pub_static_methods_a00030"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a2a10af042c1ece1f5faf55479ada0319">next</a> ()  throw ()</td></tr>
+<tr class="memdesc:a2a10af042c1ece1f5faf55479ada0319 inherit pub_static_methods_a00030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read one row only.  <a href="#a2a10af042c1ece1f5faf55479ada0319"></a><br/></td></tr>
+<tr class="memitem:aed642c9d80cddf181853d36c6e8ccb93 inherit pub_static_methods_a00030"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#aed642c9d80cddf181853d36c6e8ccb93">prior</a> ()  throw ()</td></tr>
+<tr class="memdesc:aed642c9d80cddf181853d36c6e8ccb93 inherit pub_static_methods_a00030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read backwards, one row only.  <a href="#aed642c9d80cddf181853d36c6e8ccb93"></a><br/></td></tr>
+<tr class="memitem:ae1e1a28e596a78fa8ed8c4eeccbe6369 inherit pub_static_methods_a00030"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369">backward_all</a> ()  throw ()</td></tr>
+<tr class="memdesc:ae1e1a28e596a78fa8ed8c4eeccbe6369 inherit pub_static_methods_a00030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Special value: read backwards from current position back to origin.  <a href="#ae1e1a28e596a78fa8ed8c4eeccbe6369"></a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00030"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00030')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00030.html">pqxx::cursor_base</a></td></tr>
+<tr class="memitem:a92ebe0bfff015fc1d85ab30d1ac97ef4 inherit pro_methods_a00030"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a92ebe0bfff015fc1d85ab30d1ac97ef4">cursor_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;Name, bool embellish_name=true)</td></tr>
+<tr class="inherit_header pro_attribs_a00030"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00030')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00030.html">pqxx::cursor_base</a></td></tr>
+<tr class="memitem:a947b286d508fad4a1823f8b13a5ccef3 inherit pro_attribs_a00030"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html#a947b286d508fad4a1823f8b13a5ccef3">m_name</a></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt;<br>
- class pqxx::stateless_cursor&lt; up, op &gt;</h3>
-
-"Stateless cursor" class: easy API for retrieving parts of <a class="el" href="a00076.html" title="Query or command result set.">result</a> sets 
-<p>
-This is a front-end for SQL cursors, but with a more C++-like API.<p>
-Actually, <a class="el" href="a00089.html" title="&quot;Stateless cursor&quot; class: easy API for retrieving parts of result sets">stateless_cursor</a> feels entirely different from SQL cursors. You don't keep track of positions, fetches, and moves; you just say which rows you want. See the <a class="el" href="a00089.html#97046479f709ae621473c48ed7a0932d" title="Retrieve rows from begin_pos (inclusive) to end_pos (exclusive).">retrieve()</a> member function. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="85ee6b4652b659565fede97bb00b4232"></a><!-- doxytag: member="pqxx::stateless_cursor::size_type" ref="85ee6b4652b659565fede97bb00b4232" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Cursor with SQL positioning semantics. </p>
+<p>Thin wrapper around an SQL cursor, with SQL's ideas of positioning.</p>
+<p>SQL cursors have pre-increment/pre-decrement semantics, with on either end of the result set a special position that does not repesent a row. This class models SQL cursors for the purpose of implementing more C++-like semantics on top.</p>
+<p>Positions of actual rows are numbered starting at 1. Position 0 exists but does not refer to a row. There is a similar non-row position at the end of the result set.</p>
+<p>Don't use this at home. You deserve better. Use the stateles_cursor instead. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a78ee80852828a1221357352ce77b9597"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00076.html#9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00089.html#85ee6b4652b659565fede97bb00b4232">size_type</a>          </td>
+          <td class="memname">pqxx::internal::sql_cursor::sql_cursor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>t</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f9cfc40abd39a68880b0df6d618e41fb"></a><!-- doxytag: member="pqxx::stateless_cursor::difference_type" ref="f9cfc40abd39a68880b0df6d618e41fb" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00076.html#bec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00089.html#f9cfc40abd39a68880b0df6d618e41fb">difference_type</a>          </td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>query</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="a042b1c72b16911a4f2e1c73be3d8942"></a><!-- doxytag: member="pqxx::stateless_cursor::stateless_cursor" ref="a042b1c72b16911a4f2e1c73be3d8942" args="(transaction_base &amp;trans, const std::string &amp;query, const std::string &amp;cname, bool hold)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00089.html">stateless_cursor</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>trans</em>, </td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>cname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">cursor_base::accesspolicy</a>&#160;</td>
+          <td class="paramname"><em>ap</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>query</em>, </td>
+          <td class="paramtype"><a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">cursor_base::updatepolicy</a>&#160;</td>
+          <td class="paramname"><em>up</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>cname</em>, </td>
+          <td class="paramtype"><a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a>&#160;</td>
+          <td class="paramname"><em>op</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>hold</em></td><td>&nbsp;</td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>hold</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Create cursor. 
-<p>
+<p>References <a class="el" href="a00023.html#a1aa330287775aa1ff83f94714f772673">pqxx::connection_base::activate()</a>, <a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc">pqxx::connection_base::cap_cursor_scroll</a>, <a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb">pqxx::connection_base::cap_cursor_update</a>, <a class="el" href="a00023.html#a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4">pqxx::connection_base::cap_cursor_with_hold</a>, <a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">pqxx::transaction_base::conn()</a>, <a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">pqxx::transaction_base::exec()</a>, <a class="el" href="a00030.html#a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf">pqxx::cursor_base::forward_only</a>, <a class="el" href="a00030.html#ab46d430e0ecfa545ff3764f867654caf">pqxx::cursor_base::name()</a>, <a class="el" href="a00023.html#aefdde864e05f88e84d748236b93659e7">pqxx::connection_base::supports()</a>, and <a class="el" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a12fa229ee3e760f1ca86d66304554b63">pqxx::cursor_base::update</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="8231490bf29aa7686c4daa3b1fc97ed1"></a><!-- doxytag: member="pqxx::stateless_cursor::stateless_cursor" ref="8231490bf29aa7686c4daa3b1fc97ed1" args="(transaction_base &amp;trans, const std::string adopted_cursor)" -->
+</div>
+<a class="anchor" id="a4e8540e040830b7834749c51d1eb39c0"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00089.html">stateless_cursor</a>           </td>
+          <td class="memname">pqxx::internal::sql_cursor::sql_cursor </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>trans</em>, </td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>cname</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string&nbsp;</td>
-          <td class="paramname"> <em>adopted_cursor</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">cursor_base::ownershippolicy</a>&#160;</td>
+          <td class="paramname"><em>op</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">pqxx::cursor_base::owned</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a5957a76f8d79ad8eae5feee9722eff40"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::internal::sql_cursor::~sql_cursor </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Adopt existing scrolling SQL cursor. 
-<p>
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a866cc9ec5bc766135e80a38901833e37"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::internal::sql_cursor::close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00222.html#l00167">pqxx::cursor_base::backward_all()</a>.</p>
+<p>References <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a4c37408c49492bfe9f012812226dd1fd">pqxx::cursor_base::loose</a>, and <a class="el" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">pqxx::cursor_base::owned</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="20a0b658655a3b10543abd35717dd633"></a><!-- doxytag: member="pqxx::stateless_cursor::close" ref="20a0b658655a3b10543abd35717dd633" args="()" -->
+</div>
+<a class="anchor" id="af02410eca37436cb84547357d0b5a38e"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::close           </td>
+          <td class="memname">const <a class="el" href="a00084.html">result</a>&amp; pqxx::internal::sql_cursor::empty_result </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Return zero-row result for this cursor. </p>
+
+<p>Referenced by <a class="el" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a3ae9feae24d5eab6cf30867351cee54e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::internal::sql_cursor::endpos </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>End position, or -1 for unknown. </p>
+<p>Returns the final position, just after the last row in the result set. The starting position, just before the first row, counts as position zero.</p>
+<p>End position is unknown until it is encountered during use. </p>
 
+<p>Referenced by <a class="el" href="a00189.html#a1d4ccde33cf0aa77b96d2dd358235f25">pqxx::internal::obtain_stateless_cursor_size()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<a class="anchor" name="e278f24bab98d3946061934a48992067"></a><!-- doxytag: member="pqxx::stateless_cursor::size" ref="e278f24bab98d3946061934a48992067" args="()" -->
+<a class="anchor" id="ac356fb51140719a5703d8c5c6784ebb5"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00089.html#85ee6b4652b659565fede97bb00b4232">size_type</a> <a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::size           </td>
+          <td class="memname"><a class="el" href="a00084.html">result</a> pqxx::internal::sql_cursor::fetch </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td>
+          <td class="paramname"><em>rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;&#160;</td>
+          <td class="paramname"><em>displacement</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00084.html#a4dccf162cd4081bbe2824ba29d546e90">pqxx::result::size()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a7c17e5396e312c2f3e0f66db3d0e4a90"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">result</a> pqxx::internal::sql_cursor::fetch </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td>
+          <td class="paramname"><em>rows</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Number of rows in cursor's <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. 
-<p>
-<dl class="note" compact><dt><b>Note:</b></dt><dd>This function is not const; it may need to scroll to find the size of the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. </dd></dl>
+<p>References <a class="el" href="a00089.html#a7c17e5396e312c2f3e0f66db3d0e4a90">fetch()</a>.</p>
 
-<p>References <a class="el" href="a00221.html#l00312">pqxx::internal::obtain_stateless_cursor_size()</a>.</p>
+<p>Referenced by <a class="el" href="a00089.html#a7c17e5396e312c2f3e0f66db3d0e4a90">fetch()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="97046479f709ae621473c48ed7a0932d"></a><!-- doxytag: member="pqxx::stateless_cursor::retrieve" ref="97046479f709ae621473c48ed7a0932d" args="(difference_type begin_pos, difference_type end_pos)" -->
+</div>
+<a class="anchor" id="a2aefb76b1cea234cc687735a3f8bc51a"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html">result</a> <a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::retrieve           </td>
+          <td class="memname"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> pqxx::internal::sql_cursor::move </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00089.html#f9cfc40abd39a68880b0df6d618e41fb">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>begin_pos</em>, </td>
+          <td class="paramtype"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td>
+          <td class="paramname"><em>rows</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="a00089.html#f9cfc40abd39a68880b0df6d618e41fb">difference_type</a>&nbsp;</td>
-          <td class="paramname"> <em>end_pos</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> &amp;&#160;</td>
+          <td class="paramname"><em>displacement</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Retrieve rows from begin_pos (inclusive) to end_pos (exclusive). 
-<p>
-Rows are numbered starting from 0 to <a class="el" href="a00089.html#e278f24bab98d3946061934a48992067" title="Number of rows in cursor&#39;s result set.">size()</a>-1.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>begin_pos</em>&nbsp;</td><td>First row to retrieve. May be one row beyond the end of the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set, to avoid errors for empty <a class="el" href="a00076.html" title="Query or command result set.">result</a> sets. Otherwise, must be a valid row number in the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>end_pos</em>&nbsp;</td><td>Row up to which to fetch. Rows are returned ordered from begin_pos to end_pos, i.e. in ascending order if begin_pos &lt; end_pos but in descending order if begin_pos &gt; end_pos. The end_pos may be arbitrarily inside or outside the <a class="el" href="a00076.html" title="Query or command result set.">result</a> set; only existing rows are included in the <a class="el" href="a00076.html" title="Query or command result set.">result</a>. </td></tr>
-  </table>
-</dl>
+<p>References <a class="el" href="a00084.html#a5b614d6a33d0ce60282f6bf3cdf97409">pqxx::result::affected_rows()</a>, and <a class="el" href="a00174.html#a51b79d3de677d63ecc25c1d8ab152890">pqxx::from_string()</a>.</p>
 
-<p>References <a class="el" href="a00221.html#l00319">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+<p>Referenced by <a class="el" href="a00189.html#a1d4ccde33cf0aa77b96d2dd358235f25">pqxx::internal::obtain_stateless_cursor_size()</a>, and <a class="el" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="6381b78c73ae32e4453d629a36081ffd"></a><!-- doxytag: member="pqxx::stateless_cursor::name" ref="6381b78c73ae32e4453d629a36081ffd" args="() const " -->
+</div>
+<a class="anchor" id="a31a9e2e6f5276c06120111df47f9ac5f"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">const std ::string&amp; <a class="el" href="a00089.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::name           </td>
+          <td class="memname"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::internal::sql_cursor::move </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>&#160;</td>
+          <td class="paramname"><em>rows</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00089.html#a31a9e2e6f5276c06120111df47f9ac5f">move()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00089.html#a31a9e2e6f5276c06120111df47f9ac5f">move()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a5a8ff4f51d2a249f1e772e0953452684"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> pqxx::internal::sql_cursor::pos </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Current position, or -1 for unknown. </p>
+<p>The starting position, just before the first row, counts as position zero.</p>
+<p>Position may be unknown if (and only if) this cursor was adopted, and has never hit its starting position (position zero). </p>
+
+<p>Referenced by <a class="el" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00222.html">cursor.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00135_source.html">cursor.hxx</a></li>
+<li>cursor.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00089.html">sql_cursor</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00089.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00089.js
--- 3.1-1.1/doc/html/Reference/a00089.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00089.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,14 @@
+var a00089 =
+[
+    [ "sql_cursor", "a00089.html#a78ee80852828a1221357352ce77b9597", null ],
+    [ "sql_cursor", "a00089.html#a4e8540e040830b7834749c51d1eb39c0", null ],
+    [ "~sql_cursor", "a00089.html#a5957a76f8d79ad8eae5feee9722eff40", null ],
+    [ "close", "a00089.html#a866cc9ec5bc766135e80a38901833e37", null ],
+    [ "empty_result", "a00089.html#af02410eca37436cb84547357d0b5a38e", null ],
+    [ "endpos", "a00089.html#a3ae9feae24d5eab6cf30867351cee54e", null ],
+    [ "fetch", "a00089.html#ac356fb51140719a5703d8c5c6784ebb5", null ],
+    [ "fetch", "a00089.html#a7c17e5396e312c2f3e0f66db3d0e4a90", null ],
+    [ "move", "a00089.html#a2aefb76b1cea234cc687735a3f8bc51a", null ],
+    [ "move", "a00089.html#a31a9e2e6f5276c06120111df47f9ac5f", null ],
+    [ "pos", "a00089.html#a5a8ff4f51d2a249f1e772e0953452684", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00089.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00089.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00090.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00090.html
--- 3.1-1.1/doc/html/Reference/a00090.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00090.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,56 +1,243 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::string_traits&lt; T &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::sql_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00090.html">string_traits</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00090.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00228.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::sql_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::string_traits&lt; T &gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits" -->Traits class for use in string conversions.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
+
+<p>Exception class for failed queries.  
+ <a href="a00090.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::sql_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00090.png" usemap="#pqxx::sql_error_map" alt=""/>
+  <map id="pqxx::sql_error_map" name="pqxx::sql_error_map">
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,204,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,204,24"/>
+<area href="a00031.html" title="Error in data provided to SQL statement." alt="pqxx::data_exception" shape="rect" coords="214,168,418,192"/>
+<area href="a00040.html" title="Database feature not supported in current setup." alt="pqxx::feature_not_supported" shape="rect" coords="214,224,418,248"/>
+<area href="a00048.html" alt="pqxx::insufficient_privilege" shape="rect" coords="214,280,418,304"/>
+<area href="a00049.html" title="Resource shortage on the server." alt="pqxx::insufficient_resources" shape="rect" coords="214,336,418,360"/>
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="214,392,418,416"/>
+<area href="a00052.html" alt="pqxx::invalid_cursor_name" shape="rect" coords="214,448,418,472"/>
+<area href="a00053.html" alt="pqxx::invalid_cursor_state" shape="rect" coords="214,504,418,528"/>
+<area href="a00054.html" alt="pqxx::invalid_sql_statement_name" shape="rect" coords="214,560,418,584"/>
+<area href="a00072.html" title="PL/pgSQL error." alt="pqxx::plpgsql_error" shape="rect" coords="214,616,418,640"/>
+<area href="a00100.html" alt="pqxx::syntax_error" shape="rect" coords="214,672,418,696"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Exception class for failed queries. </p>
+<p>Carries a copy of the failed query in addition to a regular error message </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad2f7fa865d0410824b39ac27dab99d92"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::sql_error::sql_error </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="affcbefe5ad9a1cae7073d170f85352d0"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::sql_error::sql_error </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="af3e94ddc4c6428d5a1d7763936a5b781"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::sql_error::sql_error </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7db2ae4924fda2aec297cfa1c8363ec7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::sql_error::~sql_error </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename T&gt;<br>
- struct pqxx::string_traits&lt; T &gt;</h3>
-
-Traits class for use in string conversions. 
-<p>
-Specialize this template for a type that you wish to add to_string and from_string support for. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a477598fd2f749aa2e0c66295a818a0f5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const string &amp; pqxx::sql_error::query </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The query whose execution triggered the exception. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00090.html">sql_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00090.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00090.js
--- 3.1-1.1/doc/html/Reference/a00090.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00090.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00090 =
+[
+    [ "sql_error", "a00090.html#ad2f7fa865d0410824b39ac27dab99d92", null ],
+    [ "sql_error", "a00090.html#affcbefe5ad9a1cae7073d170f85352d0", null ],
+    [ "sql_error", "a00090.html#af3e94ddc4c6428d5a1d7763936a5b781", null ],
+    [ "~sql_error", "a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7", null ],
+    [ "query", "a00090.html#a477598fd2f749aa2e0c66295a818a0f5", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00090.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00090.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00091.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00091.html
--- 3.1-1.1/doc/html/Reference/a00091.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00091.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,165 +1,323 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx::string_traits&lt; char * &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::stateless_cursor&lt; up, op &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00091.html">pqxx::string_traits&lt; char * &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00091.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00221.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::stateless_cursor&lt; up, op &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx::string_traits&lt; char * &gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits&lt; char * &gt;" -->String traits for non-const C-style string ("pointer to char").  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00625.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#2e289dfb94858b5bb870a9c5fd2472a6">name</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#245110eae65856dcb22977900d7fd679">has_null</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#8c6fabceef4526842e0a170ac60064e6">is_null</a> (const char *t)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#17364c67f3ab2de3e580e58490043da5">null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#4a1f4a6004b6ffca85674f710b2042c2">to_string</a> (char *Obj)</td></tr>
+<p>"Stateless cursor" class: easy API for retrieving parts of result sets  
+ <a href="a00091.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00135_source.html">cursor.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a85ee6b4652b659565fede97bb00b4232"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a85ee6b4652b659565fede97bb00b4232">size_type</a></td></tr>
+<tr class="memitem:af9cfc40abd39a68880b0df6d618e41fb"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa042b1c72b16911a4f2e1c73be3d8942"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#aa042b1c72b16911a4f2e1c73be3d8942">stateless_cursor</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;trans, const std::string &amp;query, const std::string &amp;cname, bool hold)</td></tr>
+<tr class="memdesc:aa042b1c72b16911a4f2e1c73be3d8942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create cursor.  <a href="#aa042b1c72b16911a4f2e1c73be3d8942"></a><br/></td></tr>
+<tr class="memitem:a8231490bf29aa7686c4daa3b1fc97ed1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a8231490bf29aa7686c4daa3b1fc97ed1">stateless_cursor</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;trans, const std::string adopted_cursor)</td></tr>
+<tr class="memdesc:a8231490bf29aa7686c4daa3b1fc97ed1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adopt existing scrolling SQL cursor.  <a href="#a8231490bf29aa7686c4daa3b1fc97ed1"></a><br/></td></tr>
+<tr class="memitem:a20a0b658655a3b10543abd35717dd633"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a20a0b658655a3b10543abd35717dd633">close</a> ()  throw ()</td></tr>
+<tr class="memitem:ae278f24bab98d3946061934a48992067"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00091.html#a85ee6b4652b659565fede97bb00b4232">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#ae278f24bab98d3946061934a48992067">size</a> ()</td></tr>
+<tr class="memdesc:ae278f24bab98d3946061934a48992067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of rows in cursor's result set.  <a href="#ae278f24bab98d3946061934a48992067"></a><br/></td></tr>
+<tr class="memitem:a97046479f709ae621473c48ed7a0932d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a97046479f709ae621473c48ed7a0932d">retrieve</a> (<a class="el" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a> begin_pos, <a class="el" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a> end_pos)</td></tr>
+<tr class="memdesc:a97046479f709ae621473c48ed7a0932d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve rows from begin_pos (inclusive) to end_pos (exclusive)  <a href="#a97046479f709ae621473c48ed7a0932d"></a><br/></td></tr>
+<tr class="memitem:a9b99a8f9ef260f11a32b29e917bdacda"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a9b99a8f9ef260f11a32b29e917bdacda">name</a> () const   throw ()</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- struct pqxx::pqxx::string_traits&lt; char * &gt;</h3>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt;<br/>
+class pqxx::stateless_cursor&lt; up, op &gt;</h3>
+
+<p>"Stateless cursor" class: easy API for retrieving parts of result sets </p>
+<p>This is a front-end for SQL cursors, but with a more C++-like API.</p>
+<p>Actually, <a class="el" href="a00091.html" title="&quot;Stateless cursor&quot; class: easy API for retrieving parts of result sets">stateless_cursor</a> feels entirely different from SQL cursors. You don't keep track of positions, fetches, and moves; you just say which rows you want. See the <a class="el" href="a00091.html#a97046479f709ae621473c48ed7a0932d" title="Retrieve rows from begin_pos (inclusive) to end_pos (exclusive)">retrieve()</a> member function. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="af9cfc40abd39a68880b0df6d618e41fb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-String traits for non-const C-style string ("pointer to char"). <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="2e289dfb94858b5bb870a9c5fd2472a6"></a><!-- doxytag: member="pqxx::string_traits&lt; char * &gt;::name" ref="2e289dfb94858b5bb870a9c5fd2472a6" args="()" -->
+</div>
+</div>
+<a class="anchor" id="a85ee6b4652b659565fede97bb00b4232"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; char * &gt;::name           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="memname">typedef <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00091.html#a85ee6b4652b659565fede97bb00b4232">size_type</a></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aa042b1c72b16911a4f2e1c73be3d8942"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00091.html">stateless_cursor</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>trans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>query</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>cname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>hold</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Create cursor. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="245110eae65856dcb22977900d7fd679"></a><!-- doxytag: member="pqxx::string_traits&lt; char * &gt;::has_null" ref="245110eae65856dcb22977900d7fd679" args="()" -->
+</div>
+<a class="anchor" id="a8231490bf29aa7686c4daa3b1fc97ed1"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; char * &gt;::has_null           </td>
+          <td class="memname"><a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::<a class="el" href="a00091.html">stateless_cursor</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>trans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string&#160;</td>
+          <td class="paramname"><em>adopted_cursor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+
+<p>Adopt existing scrolling SQL cursor. </p>
 
-<p>
+<p>References <a class="el" href="a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369">pqxx::cursor_base::backward_all()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="8c6fabceef4526842e0a170ac60064e6"></a><!-- doxytag: member="pqxx::string_traits&lt; char * &gt;::is_null" ref="8c6fabceef4526842e0a170ac60064e6" args="(const char *t)" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a20a0b658655a3b10543abd35717dd633"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; char * &gt;::is_null           </td>
+          <td class="memname">void <a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::close </td>
           <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="17364c67f3ab2de3e580e58490043da5"></a><!-- doxytag: member="pqxx::string_traits&lt; char * &gt;::null" ref="17364c67f3ab2de3e580e58490043da5" args="()" -->
+</div>
+<a class="anchor" id="a9b99a8f9ef260f11a32b29e917bdacda"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; char * &gt;::null           </td>
+          <td class="memname">const std::string&amp; <a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a97046479f709ae621473c48ed7a0932d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">result</a> <a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::retrieve </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a>&#160;</td>
+          <td class="paramname"><em>begin_pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a>&#160;</td>
+          <td class="paramname"><em>end_pos</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Retrieve rows from begin_pos (inclusive) to end_pos (exclusive) </p>
+<p>Rows are numbered starting from 0 to <a class="el" href="a00091.html#ae278f24bab98d3946061934a48992067" title="Number of rows in cursor&#39;s result set.">size()</a>-1.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">begin_pos</td><td>First row to retrieve. May be one row beyond the end of the result set, to avoid errors for empty result sets. Otherwise, must be a valid row number in the result set. </td></tr>
+    <tr><td class="paramname">end_pos</td><td>Row up to which to fetch. Rows are returned ordered from begin_pos to end_pos, i.e. in ascending order if begin_pos &lt; end_pos but in descending order if begin_pos &gt; end_pos. The end_pos may be arbitrarily inside or outside the result set; only existing rows are included in the result. </td></tr>
+  </table>
+  </dd>
+</dl>
 
+<p>References <a class="el" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<a class="anchor" name="4a1f4a6004b6ffca85674f710b2042c2"></a><!-- doxytag: member="pqxx::string_traits&lt; char * &gt;::to_string" ref="4a1f4a6004b6ffca85674f710b2042c2" args="(char *Obj)" -->
+<a class="anchor" id="ae278f24bab98d3946061934a48992067"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;cursor_base::updatepolicy up, cursor_base::ownershippolicy op&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">static std ::string pqxx::pqxx::string_traits&lt; char * &gt;::to_string           </td>
+          <td class="memname"><a class="el" href="a00091.html#a85ee6b4652b659565fede97bb00b4232">size_type</a> <a class="el" href="a00091.html">pqxx::stateless_cursor</a>&lt; up, op &gt;::size </td>
           <td>(</td>
-          <td class="paramtype">char *&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
+
+<p>Number of rows in cursor's result set. </p>
+<dl class="section note"><dt>Note</dt><dd>This function is not const; it may need to scroll to find the size of the result set. </dd></dl>
 
-<p>
+<p>References <a class="el" href="a00189.html#a1d4ccde33cf0aa77b96d2dd358235f25">pqxx::internal::obtain_stateless_cursor_size()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00135_source.html">cursor.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00091.html">stateless_cursor</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00091.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00091.js
--- 3.1-1.1/doc/html/Reference/a00091.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00091.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,11 @@
+var a00091 =
+[
+    [ "difference_type", "a00091.html#af9cfc40abd39a68880b0df6d618e41fb", null ],
+    [ "size_type", "a00091.html#a85ee6b4652b659565fede97bb00b4232", null ],
+    [ "stateless_cursor", "a00091.html#aa042b1c72b16911a4f2e1c73be3d8942", null ],
+    [ "stateless_cursor", "a00091.html#a8231490bf29aa7686c4daa3b1fc97ed1", null ],
+    [ "close", "a00091.html#a20a0b658655a3b10543abd35717dd633", null ],
+    [ "name", "a00091.html#a9b99a8f9ef260f11a32b29e917bdacda", null ],
+    [ "retrieve", "a00091.html#a97046479f709ae621473c48ed7a0932d", null ],
+    [ "size", "a00091.html#ae278f24bab98d3946061934a48992067", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00092.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00092.html
--- 3.1-1.1/doc/html/Reference/a00092.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00092.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,208 +1,98 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx::string_traits&lt; char[N]&gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; T &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00092.html">pqxx::string_traits&lt; char[N]&gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00092.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; T &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx::string_traits&lt; char[N]&gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits&lt; char[N]&gt;" -->String traits for C-style string constant ("array of char").  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00626.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a0cdfe9d9adc629bc81134682244f2d5">name</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#3c0bf101145289c790680eb3024ee448">has_null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#d436886a0e0b43a39fe540f716233660">is_null</a> (const char t[])</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#ebe52b8f5f3e8f3287cb5aae0c81e818">null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#835d9fd26b63b5474723ae9acab55799">from_string</a> (const char Str[], const char *&amp;Obj)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#38188dd8f64c854afb3f8fc0f423499d">to_string</a> (const char Obj[])</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;size_t N&gt;<br>
- struct pqxx::pqxx::string_traits&lt; char[N]&gt;</h3>
-
-String traits for C-style string constant ("array of char"). <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a0cdfe9d9adc629bc81134682244f2d5"></a><!-- doxytag: member="pqxx::string_traits&lt; char[N]&gt;::name" ref="a0cdfe9d9adc629bc81134682244f2d5" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;size_t N&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; char[N]&gt;::name           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3c0bf101145289c790680eb3024ee448"></a><!-- doxytag: member="pqxx::string_traits&lt; char[N]&gt;::has_null" ref="3c0bf101145289c790680eb3024ee448" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;size_t N&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; char[N]&gt;::has_null           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
 
-<p>
+<p>Traits class for use in string conversions.  
+ <a href="a00092.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename T&gt;<br/>
+struct pqxx::string_traits&lt; T &gt;</h3>
+
+<p>Traits class for use in string conversions. </p>
+<p>Specialize this template for a type that you wish to add to_string and from_string support for. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00092.html">string_traits</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-</div><p>
-<a class="anchor" name="d436886a0e0b43a39fe540f716233660"></a><!-- doxytag: member="pqxx::string_traits&lt; char[N]&gt;::is_null" ref="d436886a0e0b43a39fe540f716233660" args="(const char t[])" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;size_t N&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; char[N]&gt;::is_null           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>t</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ebe52b8f5f3e8f3287cb5aae0c81e818"></a><!-- doxytag: member="pqxx::string_traits&lt; char[N]&gt;::null" ref="ebe52b8f5f3e8f3287cb5aae0c81e818" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;size_t N&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; char[N]&gt;::null           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="835d9fd26b63b5474723ae9acab55799"></a><!-- doxytag: member="pqxx::string_traits&lt; char[N]&gt;::from_string" ref="835d9fd26b63b5474723ae9acab55799" args="(const char Str[], const char *&amp;Obj)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;size_t N&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">static void pqxx::pqxx::string_traits&lt; char[N]&gt;::from_string           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Str</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="38188dd8f64c854afb3f8fc0f423499d"></a><!-- doxytag: member="pqxx::string_traits&lt; char[N]&gt;::to_string" ref="38188dd8f64c854afb3f8fc0f423499d" args="(const char Obj[])" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;size_t N&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">static std ::string pqxx::pqxx::string_traits&lt; char[N]&gt;::to_string           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00093.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00093.html
--- 3.1-1.1/doc/html/Reference/a00093.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00093.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,196 +1,227 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx::string_traits&lt; const char * &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; char * &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00093.html">pqxx::string_traits&lt; const char * &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00093.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00281.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; char * &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx::string_traits&lt; const char * &gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits&lt; const char * &gt;" -->String traits for C-style string ("pointer to const char").  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00624.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a6e5a4be9470d3eb6cce5fe0f3ec7129">name</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#f0921847d9a641838056ed1dd542cded">has_null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#5b49195e941e26687a863aa924279aef">is_null</a> (const char *t)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#14cb06e11e5095892a491d85230212ee">null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#7b7deb3bc7bb340f5d5fc9d38b13da69">from_string</a> (const char Str[], const char *&amp;Obj)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#938a47ceb86e2c5851c9b07b0484de4a">to_string</a> (const char *Obj)</td></tr>
+<p>String traits for non-const C-style string ("pointer to char")  
+ <a href="a00093.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a7f786743db515467f7c88cb4eb4c3655"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a7f786743db515467f7c88cb4eb4c3655">name</a> ()</td></tr>
+<tr class="memitem:a552d464626e8e33a6f58089a2ad78cb0"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a552d464626e8e33a6f58089a2ad78cb0">has_null</a> ()</td></tr>
+<tr class="memitem:a5e81eb017d2ae5e0dc0aabf7e8c0d07d"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a5e81eb017d2ae5e0dc0aabf7e8c0d07d">is_null</a> (const char *t)</td></tr>
+<tr class="memitem:a51d90ce760af54b3fb1fa08e3205f386"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a51d90ce760af54b3fb1fa08e3205f386">null</a> ()</td></tr>
+<tr class="memitem:a68b55550446061fd956d8777c97ffffb"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a68b55550446061fd956d8777c97ffffb">to_string</a> (char *Obj)</td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- struct pqxx::pqxx::string_traits&lt; const char * &gt;</h3>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;&gt;<br/>
+struct pqxx::string_traits&lt; char * &gt;</h3>
 
-String traits for C-style string ("pointer to const char"). <hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a6e5a4be9470d3eb6cce5fe0f3ec7129"></a><!-- doxytag: member="pqxx::string_traits&lt; const char * &gt;::name" ref="a6e5a4be9470d3eb6cce5fe0f3ec7129" args="()" -->
+<p>String traits for non-const C-style string ("pointer to char") </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="a552d464626e8e33a6f58089a2ad78cb0"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; const char * &gt;::name           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char * &gt;::has_null </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f0921847d9a641838056ed1dd542cded"></a><!-- doxytag: member="pqxx::string_traits&lt; const char * &gt;::has_null" ref="f0921847d9a641838056ed1dd542cded" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; const char * &gt;::has_null           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="5b49195e941e26687a863aa924279aef"></a><!-- doxytag: member="pqxx::string_traits&lt; const char * &gt;::is_null" ref="5b49195e941e26687a863aa924279aef" args="(const char *t)" -->
+<a class="anchor" id="a5e81eb017d2ae5e0dc0aabf7e8c0d07d"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; const char * &gt;::is_null           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char * &gt;::is_null </td>
           <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="14cb06e11e5095892a491d85230212ee"></a><!-- doxytag: member="pqxx::string_traits&lt; const char * &gt;::null" ref="14cb06e11e5095892a491d85230212ee" args="()" -->
+</div>
+<a class="anchor" id="a7f786743db515467f7c88cb4eb4c3655"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; const char * &gt;::null           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char * &gt;::name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="7b7deb3bc7bb340f5d5fc9d38b13da69"></a><!-- doxytag: member="pqxx::string_traits&lt; const char * &gt;::from_string" ref="7b7deb3bc7bb340f5d5fc9d38b13da69" args="(const char Str[], const char *&amp;Obj)" -->
+</div>
+<a class="anchor" id="a51d90ce760af54b3fb1fa08e3205f386"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static void pqxx::pqxx::string_traits&lt; const char * &gt;::from_string           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char * &gt;::null </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Str</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const char *&amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [static]</code></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="938a47ceb86e2c5851c9b07b0484de4a"></a><!-- doxytag: member="pqxx::string_traits&lt; const char * &gt;::to_string" ref="938a47ceb86e2c5851c9b07b0484de4a" args="(const char *Obj)" -->
+</div>
+<a class="anchor" id="a68b55550446061fd956d8777c97ffffb"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static std ::string pqxx::pqxx::string_traits&lt; const char * &gt;::to_string           </td>
+          <td class="memname">static std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char * &gt;::to_string </td>
           <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00093.html">string_traits< char * ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00093.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00093.js
--- 3.1-1.1/doc/html/Reference/a00093.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00093.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00093 =
+[
+    [ "has_null", "a00093.html#a552d464626e8e33a6f58089a2ad78cb0", null ],
+    [ "is_null", "a00093.html#a5e81eb017d2ae5e0dc0aabf7e8c0d07d", null ],
+    [ "name", "a00093.html#a7f786743db515467f7c88cb4eb4c3655", null ],
+    [ "null", "a00093.html#a51d90ce760af54b3fb1fa08e3205f386", null ],
+    [ "to_string", "a00093.html#a68b55550446061fd956d8777c97ffffb", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00094.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00094.html
--- 3.1-1.1/doc/html/Reference/a00094.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00094.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,163 +1,274 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx::string_traits&lt; const std::string &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; char[N]&gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00094.html">pqxx::string_traits&lt; const std::string &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00094.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00282.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; char[N]&gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx::string_traits&lt; const std::string &gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits&lt; const std::string &gt;" --><code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00628.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a4e73f5672ea44516af7b411e0e10757">name</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#1bbe61c0a4cc4931ef3753dd2c3d1de6">has_null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#6561d48156438f029e03830473c26f9f">is_null</a> (const std::string &amp;)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#0cd5fb0a0a57ea578d7df256e4b71f28">null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#8228bad2a7554a96b5c1c78d4569b969">to_string</a> (const std::string &amp;Obj)</td></tr>
+<p>String traits for C-style string constant ("array of char")  
+ <a href="a00094.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a492de5b973073ced2b6df88ef2e2deb1"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a492de5b973073ced2b6df88ef2e2deb1">name</a> ()</td></tr>
+<tr class="memitem:a3eb1069f8c250f8d19f20ce53cb200a9"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a3eb1069f8c250f8d19f20ce53cb200a9">has_null</a> ()</td></tr>
+<tr class="memitem:adc93379fe5f2ddc78e1f8144c0f735ab"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#adc93379fe5f2ddc78e1f8144c0f735ab">is_null</a> (const char t[])</td></tr>
+<tr class="memitem:a758dc122ae4ab3926b0110baa7146cc5"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a758dc122ae4ab3926b0110baa7146cc5">null</a> ()</td></tr>
+<tr class="memitem:a5cbb125963a89a699067083b427af668"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a5cbb125963a89a699067083b427af668">from_string</a> (const char Str[], const char *&amp;Obj)</td></tr>
+<tr class="memitem:af1b0d4263b555e6a90dbf6a2e2e7b73e"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#af1b0d4263b555e6a90dbf6a2e2e7b73e">to_string</a> (const char Obj[])</td></tr>
 </table>
-<h3>template&lt;&gt;<br>
- struct pqxx::pqxx::string_traits&lt; const std::string &gt;</h3>
-
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a4e73f5672ea44516af7b411e0e10757"></a><!-- doxytag: member="pqxx::string_traits&lt; const std::string &gt;::name" ref="a4e73f5672ea44516af7b411e0e10757" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;size_t N&gt;<br/>
+struct pqxx::string_traits&lt; char[N]&gt;</h3>
+
+<p>String traits for C-style string constant ("array of char") </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="a5cbb125963a89a699067083b427af668"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t N&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; const std::string &gt;::name           </td>
+          <td class="memname">static void <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char[N]&gt;::from_string </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Str</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&amp;&#160;</td>
+          <td class="paramname"><em>Obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="1bbe61c0a4cc4931ef3753dd2c3d1de6"></a><!-- doxytag: member="pqxx::string_traits&lt; const std::string &gt;::has_null" ref="1bbe61c0a4cc4931ef3753dd2c3d1de6" args="()" -->
+</div>
+<a class="anchor" id="a3eb1069f8c250f8d19f20ce53cb200a9"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t N&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; const std::string &gt;::has_null           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char[N]&gt;::has_null </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="6561d48156438f029e03830473c26f9f"></a><!-- doxytag: member="pqxx::string_traits&lt; const std::string &gt;::is_null" ref="6561d48156438f029e03830473c26f9f" args="(const std::string &amp;)" -->
+</div>
+<a class="anchor" id="adc93379fe5f2ddc78e1f8144c0f735ab"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t N&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; const std::string &gt;::is_null           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char[N]&gt;::is_null </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>t</em>[]</td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="0cd5fb0a0a57ea578d7df256e4b71f28"></a><!-- doxytag: member="pqxx::string_traits&lt; const std::string &gt;::null" ref="0cd5fb0a0a57ea578d7df256e4b71f28" args="()" -->
+</div>
+<a class="anchor" id="a492de5b973073ced2b6df88ef2e2deb1"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t N&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const std ::string pqxx::pqxx::string_traits&lt; const std::string &gt;::null           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char[N]&gt;::name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00245.html#l00313">pqxx::internal::throw_null_conversion()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="8228bad2a7554a96b5c1c78d4569b969"></a><!-- doxytag: member="pqxx::string_traits&lt; const std::string &gt;::to_string" ref="8228bad2a7554a96b5c1c78d4569b969" args="(const std::string &amp;Obj)" -->
+</div>
+<a class="anchor" id="a758dc122ae4ab3926b0110baa7146cc5"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;size_t N&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const std ::string pqxx::pqxx::string_traits&lt; const std::string &gt;::to_string           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char[N]&gt;::null </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="af1b0d4263b555e6a90dbf6a2e2e7b73e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;size_t N&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; char[N]&gt;::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Obj</em>[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00094.html">string_traits< char[N]></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00094.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00094.js
--- 3.1-1.1/doc/html/Reference/a00094.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00094.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00094 =
+[
+    [ "from_string", "a00094.html#a5cbb125963a89a699067083b427af668", null ],
+    [ "has_null", "a00094.html#a3eb1069f8c250f8d19f20ce53cb200a9", null ],
+    [ "is_null", "a00094.html#adc93379fe5f2ddc78e1f8144c0f735ab", null ],
+    [ "name", "a00094.html#a492de5b973073ced2b6df88ef2e2deb1", null ],
+    [ "null", "a00094.html#a758dc122ae4ab3926b0110baa7146cc5", null ],
+    [ "to_string", "a00094.html#af1b0d4263b555e6a90dbf6a2e2e7b73e", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00095.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00095.html
--- 3.1-1.1/doc/html/Reference/a00095.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00095.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,194 +1,262 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx::string_traits&lt; std::string &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; const char * &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00095.html">pqxx::string_traits&lt; std::string &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00095.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00280.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; const char * &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx::string_traits&lt; std::string &gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits&lt; std::string &gt;" --><code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00627.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#13229c4707e6e2e14c64cc2dcaebcd50">name</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#f457c5d1d45520e43e6254e08797d9cc">has_null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#0bba5eee21a1f0e71232b227816a1acb">is_null</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a3c0092ea9d3a0f1afe7da9a41535d6d">null</a> ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#5183dcb681a1d8d42b7802ed37c503d7">from_string</a> (const char Str[], std::string &amp;Obj)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#de11bd9d05e11df2aa88d4a74c3f69c8">to_string</a> (const std::string &amp;Obj)</td></tr>
+<p>String traits for C-style string ("pointer to const char")  
+ <a href="a00095.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aace614dae201b284a833a71a0c22a085"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#aace614dae201b284a833a71a0c22a085">name</a> ()</td></tr>
+<tr class="memitem:ab0f7f0134b588e97fcaab7b97cb56e3c"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#ab0f7f0134b588e97fcaab7b97cb56e3c">has_null</a> ()</td></tr>
+<tr class="memitem:a3385572be2064f973ae3ac4096a1793a"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a3385572be2064f973ae3ac4096a1793a">is_null</a> (const char *t)</td></tr>
+<tr class="memitem:a5781caab7530905af3c4d03315af6622"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a5781caab7530905af3c4d03315af6622">null</a> ()</td></tr>
+<tr class="memitem:aa2b58df8411416882fd615947f4b46c8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#aa2b58df8411416882fd615947f4b46c8">from_string</a> (const char Str[], const char *&amp;Obj)</td></tr>
+<tr class="memitem:a256159442e5ffa53fd9e8e08efbb8f95"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a256159442e5ffa53fd9e8e08efbb8f95">to_string</a> (const char *Obj)</td></tr>
 </table>
-<h3>template&lt;&gt;<br>
- struct pqxx::pqxx::string_traits&lt; std::string &gt;</h3>
-
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="13229c4707e6e2e14c64cc2dcaebcd50"></a><!-- doxytag: member="pqxx::string_traits&lt; std::string &gt;::name" ref="13229c4707e6e2e14c64cc2dcaebcd50" args="()" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;&gt;<br/>
+struct pqxx::string_traits&lt; const char * &gt;</h3>
+
+<p>String traits for C-style string ("pointer to const char") </p>
+</div><h2>Member Function Documentation</h2>
+<a class="anchor" id="aa2b58df8411416882fd615947f4b46c8"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; std::string &gt;::name           </td>
+          <td class="memname">static void <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const char * &gt;::from_string </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Str</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&amp;&#160;</td>
+          <td class="paramname"><em>Obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f457c5d1d45520e43e6254e08797d9cc"></a><!-- doxytag: member="pqxx::string_traits&lt; std::string &gt;::has_null" ref="f457c5d1d45520e43e6254e08797d9cc" args="()" -->
+</div>
+<a class="anchor" id="ab0f7f0134b588e97fcaab7b97cb56e3c"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; std::string &gt;::has_null           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const char * &gt;::has_null </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="0bba5eee21a1f0e71232b227816a1acb"></a><!-- doxytag: member="pqxx::string_traits&lt; std::string &gt;::is_null" ref="0bba5eee21a1f0e71232b227816a1acb" args="(const std::string &amp;)" -->
+</div>
+<a class="anchor" id="a3385572be2064f973ae3ac4096a1793a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; std::string &gt;::is_null           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const char * &gt;::is_null </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="a3c0092ea9d3a0f1afe7da9a41535d6d"></a><!-- doxytag: member="pqxx::string_traits&lt; std::string &gt;::null" ref="a3c0092ea9d3a0f1afe7da9a41535d6d" args="()" -->
+</div>
+<a class="anchor" id="aace614dae201b284a833a71a0c22a085"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static std ::string pqxx::pqxx::string_traits&lt; std::string &gt;::null           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const char * &gt;::name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00245.html#l00313">pqxx::internal::throw_null_conversion()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="5183dcb681a1d8d42b7802ed37c503d7"></a><!-- doxytag: member="pqxx::string_traits&lt; std::string &gt;::from_string" ref="5183dcb681a1d8d42b7802ed37c503d7" args="(const char Str[], std::string &amp;Obj)" -->
+</div>
+<a class="anchor" id="a5781caab7530905af3c4d03315af6622"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static void pqxx::pqxx::string_traits&lt; std::string &gt;::from_string           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const char * &gt;::null </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Str</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [static]</code></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="de11bd9d05e11df2aa88d4a74c3f69c8"></a><!-- doxytag: member="pqxx::string_traits&lt; std::string &gt;::to_string" ref="de11bd9d05e11df2aa88d4a74c3f69c8" args="(const std::string &amp;Obj)" -->
+</div>
+<a class="anchor" id="a256159442e5ffa53fd9e8e08efbb8f95"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static std ::string pqxx::pqxx::string_traits&lt; std::string &gt;::to_string           </td>
+          <td class="memname">static std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const char * &gt;::to_string </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00095.html">string_traits< const char * ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00095.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00095.js
--- 3.1-1.1/doc/html/Reference/a00095.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00095.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00095 =
+[
+    [ "from_string", "a00095.html#aa2b58df8411416882fd615947f4b46c8", null ],
+    [ "has_null", "a00095.html#ab0f7f0134b588e97fcaab7b97cb56e3c", null ],
+    [ "is_null", "a00095.html#a3385572be2064f973ae3ac4096a1793a", null ],
+    [ "name", "a00095.html#aace614dae201b284a833a71a0c22a085", null ],
+    [ "null", "a00095.html#a5781caab7530905af3c4d03315af6622", null ],
+    [ "to_string", "a00095.html#a256159442e5ffa53fd9e8e08efbb8f95", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00096.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00096.html
--- 3.1-1.1/doc/html/Reference/a00096.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00096.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,194 +1,221 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::pqxx::string_traits&lt; std::stringstream &gt; Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; const std::string &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00096.html">pqxx::string_traits&lt; std::stringstream &gt;</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00096.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00284.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; const std::string &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::pqxx::string_traits&lt; std::stringstream &gt; Struct Template Reference<br>
-<small>
-[<a class="el" href="a00194.html">String conversion</a>]</small>
-</h1><!-- doxytag: class="pqxx::string_traits&lt; std::stringstream &gt;" --><code>#include &lt;<a class="el" href="a00246.html">strconv.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00629.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ea263d28dfe8eb881b1a5ab925977154">name</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#1d609c82c56322e6b41f69336fc80b2c">has_null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#e38743b948d9fdc679bf2f6fd1ed6b1c">is_null</a> (const std::stringstream &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::stringstream&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#1cb492e840be157be2da6fadb402d237">null</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#f57a08bfa772f72ac3f2ea85448fc248">from_string</a> (const char Str[], std::stringstream &amp;Obj)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#ae662495e26acb4afe779e6f6454127f">to_string</a> (const std::stringstream &amp;Obj)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a8f32f29c6ff79aabb58e7daca55efdb1"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a8f32f29c6ff79aabb58e7daca55efdb1">name</a> ()</td></tr>
+<tr class="memitem:aa120743b3bd1bd2143f7b042112a1100"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#aa120743b3bd1bd2143f7b042112a1100">has_null</a> ()</td></tr>
+<tr class="memitem:afdab04a864d400d282546595c4447be3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#afdab04a864d400d282546595c4447be3">is_null</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:a2a8565fbc2819d0ae348df080d9d7d45"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#a2a8565fbc2819d0ae348df080d9d7d45">null</a> ()</td></tr>
+<tr class="memitem:aee488ad2b0284dc58feb87cf7d4ec0e2"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html#aee488ad2b0284dc58feb87cf7d4ec0e2">to_string</a> (const std::string &amp;Obj)</td></tr>
 </table>
-<h3>template&lt;&gt;<br>
- struct pqxx::pqxx::string_traits&lt; std::stringstream &gt;</h3>
-
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="ea263d28dfe8eb881b1a5ab925977154"></a><!-- doxytag: member="pqxx::string_traits&lt; std::stringstream &gt;::name" ref="ea263d28dfe8eb881b1a5ab925977154" args="()" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="aa120743b3bd1bd2143f7b042112a1100"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static const char* pqxx::pqxx::string_traits&lt; std::stringstream &gt;::name           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const std::string &gt;::has_null </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="1d609c82c56322e6b41f69336fc80b2c"></a><!-- doxytag: member="pqxx::string_traits&lt; std::stringstream &gt;::has_null" ref="1d609c82c56322e6b41f69336fc80b2c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; std::stringstream &gt;::has_null           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
 </div>
-</div><p>
-<a class="anchor" name="e38743b948d9fdc679bf2f6fd1ed6b1c"></a><!-- doxytag: member="pqxx::string_traits&lt; std::stringstream &gt;::is_null" ref="e38743b948d9fdc679bf2f6fd1ed6b1c" args="(const std::stringstream &amp;)" -->
+<a class="anchor" id="afdab04a864d400d282546595c4447be3"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static bool pqxx::pqxx::string_traits&lt; std::stringstream &gt;::is_null           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const std::string &gt;::is_null </td>
           <td>(</td>
-          <td class="paramtype">const std::stringstream &amp;&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="1cb492e840be157be2da6fadb402d237"></a><!-- doxytag: member="pqxx::string_traits&lt; std::stringstream &gt;::null" ref="1cb492e840be157be2da6fadb402d237" args="()" -->
+</div>
+<a class="anchor" id="a8f32f29c6ff79aabb58e7daca55efdb1"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static std ::stringstream pqxx::pqxx::string_traits&lt; std::stringstream &gt;::null           </td>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const std::string &gt;::name </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00245.html#l00313">pqxx::internal::throw_null_conversion()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f57a08bfa772f72ac3f2ea85448fc248"></a><!-- doxytag: member="pqxx::string_traits&lt; std::stringstream &gt;::from_string" ref="f57a08bfa772f72ac3f2ea85448fc248" args="(const char Str[], std::stringstream &amp;Obj)" -->
+</div>
+<a class="anchor" id="a2a8565fbc2819d0ae348df080d9d7d45"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static void pqxx::pqxx::string_traits&lt; std::stringstream &gt;::from_string           </td>
+          <td class="memname">static const std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const std::string &gt;::null </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Str</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">std::stringstream &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [static]</code></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00189.html#a97c9781c1d455b437ccca7514c1cec18">pqxx::internal::throw_null_conversion()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="ae662495e26acb4afe779e6f6454127f"></a><!-- doxytag: member="pqxx::string_traits&lt; std::stringstream &gt;::to_string" ref="ae662495e26acb4afe779e6f6454127f" args="(const std::stringstream &amp;Obj)" -->
+</div>
+<a class="anchor" id="aee488ad2b0284dc58feb87cf7d4ec0e2"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">static std ::string pqxx::pqxx::string_traits&lt; std::stringstream &gt;::to_string           </td>
+          <td class="memname">static const std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; const std::string &gt;::to_string </td>
           <td>(</td>
-          <td class="paramtype">const std::stringstream &amp;&nbsp;</td>
-          <td class="paramname"> <em>Obj</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [static]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00246.html">strconv.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00096.html">string_traits< const std::string ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00096.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00096.js
--- 3.1-1.1/doc/html/Reference/a00096.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00096.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,8 @@
+var a00096 =
+[
+    [ "has_null", "a00096.html#aa120743b3bd1bd2143f7b042112a1100", null ],
+    [ "is_null", "a00096.html#afdab04a864d400d282546595c4447be3", null ],
+    [ "name", "a00096.html#a8f32f29c6ff79aabb58e7daca55efdb1", null ],
+    [ "null", "a00096.html#a2a8565fbc2819d0ae348df080d9d7d45", null ],
+    [ "to_string", "a00096.html#aee488ad2b0284dc58feb87cf7d4ec0e2", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00097.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00097.html
--- 3.1-1.1/doc/html/Reference/a00097.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00097.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,122 +1,256 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::subtransaction Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; std::string &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00097.html">subtransaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00097.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00283.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; std::string &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::subtransaction Class Reference</h1><!-- doxytag: class="pqxx::subtransaction" --><!-- doxytag: inherits="pqxx::internal::transactionfocus,pqxx::dbtransaction" -->"Transaction" nested within another <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00248.html">subtransaction.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::subtransaction:</div>
-<div class="dynsection">
-<p><center><img src="a00630.png" border="0" usemap="#a00631" alt="Inheritance graph"></center>
-<map name="a00631">
-<area shape="rect" href="a00106.html" title="pqxx::internal::transactionfocus" alt="" coords="5,161,227,188"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="133,7,325,33"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="217,84,385,111"><area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="251,161,397,188"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00632.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ae82c1f8ef12d5c780313a0528825372">subtransaction</a> (<a class="el" href="a00025.html">dbtransaction</a> &amp;T, const std::string &amp;Name=std::string())</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-"Transaction" nested within another <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> 
-<p>
-A <a class="el" href="a00097.html" title="&quot;Transaction&quot; nested within another transaction">subtransaction</a> can be executed inside a backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, or inside another <a class="el" href="a00097.html" title="&quot;Transaction&quot; nested within another transaction">subtransaction</a>. This can be useful when, for example, statements in a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> may harmlessly fail and you don't want them to abort the entire <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. Here's an example of how a temporary table may be dropped before re-creating it, without failing if the table did not exist:<p>
-<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> do_job(connection_base &amp;C)
- {
-   <span class="keyword">const</span> <span class="keywordtype">string</span> temptable = <span class="stringliteral">"fleetingtable"</span>;
-
-   <span class="comment">// Since we're dealing with a temporary table here, disallow automatic</span>
-   <span class="comment">// recovery of the connection in case it breaks.</span>
-   C.inhibit_reactivation(<span class="keyword">true</span>);
-
-   <a class="code" href="a00199.html#g82685329d6fd91f5ab30772d266fe5f0" title="Bog-standard, default transaction type.">work</a> W(C, <span class="stringliteral">"do_job"</span>);
-   do_firstpart(W);
-
-   <span class="comment">// Attempt to delete our temporary table if it already existed</span>
-   <span class="keywordflow">try</span>
-   {
-     <a class="code" href="a00097.html#ae82c1f8ef12d5c780313a0528825372">subtransaction</a> S(W, <span class="stringliteral">"droptemp"</span>);
-     W.exec(<span class="stringliteral">"DROP TABLE "</span> + temptable);
-   }
-   <span class="keywordflow">catch</span> (<span class="keyword">const</span> undefined_table &amp;)
-   {
-     <span class="comment">// Table did not exist.  Which is what we were hoping to achieve anyway.</span>
-     <span class="comment">// Carry on without regrets.</span>
-   }
-
-   W.exec(<span class="stringliteral">"CREATE TEMP TABLE "</span> + fleetingtable +
-          <span class="stringliteral">"(bar integer, splat varchar)"</span>);
-
-   do_lastpart(W);
- }
-</pre></div><p>
-There are no isolation levels inside a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. They are not needed because all actions within the same backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> are always performed sequentially anyway. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ae82c1f8ef12d5c780313a0528825372"></a><!-- doxytag: member="pqxx::subtransaction::subtransaction" ref="ae82c1f8ef12d5c780313a0528825372" args="(dbtransaction &amp;T, const std::string &amp;Name=std::string())" -->
+
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a2b582fcdd58e83012f111d2c6daa4bb6"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#a2b582fcdd58e83012f111d2c6daa4bb6">name</a> ()</td></tr>
+<tr class="memitem:a0c8b270690a4e950acfd0670c8705cb4"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#a0c8b270690a4e950acfd0670c8705cb4">has_null</a> ()</td></tr>
+<tr class="memitem:a042390d6d2b08a908b78bc7741e8dc55"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#a042390d6d2b08a908b78bc7741e8dc55">is_null</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:ade264b724da3d0a7e05fe78cb3e4220f"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#ade264b724da3d0a7e05fe78cb3e4220f">null</a> ()</td></tr>
+<tr class="memitem:a6465318808c87143b12749de6049f615"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#a6465318808c87143b12749de6049f615">from_string</a> (const char Str[], std::string &amp;Obj)</td></tr>
+<tr class="memitem:a766e009cf12622f50242fe6a6577280f"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html#a766e009cf12622f50242fe6a6577280f">to_string</a> (const std::string &amp;Obj)</td></tr>
+</table>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a6465318808c87143b12749de6049f615"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::subtransaction::subtransaction           </td>
+          <td class="memname">static void <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::string &gt;::from_string </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00025.html">dbtransaction</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Str</em>[], </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
+          <td class="paramtype">std::string &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0c8b270690a4e950acfd0670c8705cb4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::string &gt;::has_null </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a042390d6d2b08a908b78bc7741e8dc55"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::string &gt;::is_null </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2b582fcdd58e83012f111d2c6daa4bb6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::string &gt;::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ade264b724da3d0a7e05fe78cb3e4220f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::string &gt;::null </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00189.html#a97c9781c1d455b437ccca7514c1cec18">pqxx::internal::throw_null_conversion()</a>.</p>
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a766e009cf12622f50242fe6a6577280f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::string &gt;::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00248.html">subtransaction.hxx</a><li><a class="el" href="a00157.html">subtransaction.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00097.html">string_traits< std::string ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00097.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00097.js
--- 3.1-1.1/doc/html/Reference/a00097.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00097.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00097 =
+[
+    [ "from_string", "a00097.html#a6465318808c87143b12749de6049f615", null ],
+    [ "has_null", "a00097.html#a0c8b270690a4e950acfd0670c8705cb4", null ],
+    [ "is_null", "a00097.html#a042390d6d2b08a908b78bc7741e8dc55", null ],
+    [ "name", "a00097.html#a2b582fcdd58e83012f111d2c6daa4bb6", null ],
+    [ "null", "a00097.html#ade264b724da3d0a7e05fe78cb3e4220f", null ],
+    [ "to_string", "a00097.html#a766e009cf12622f50242fe6a6577280f", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00098.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00098.html
--- 3.1-1.1/doc/html/Reference/a00098.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00098.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,256 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::syntax_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::string_traits&lt; std::stringstream &gt; Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00098.html">syntax_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00098.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="a00285.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::string_traits&lt; std::stringstream &gt; Struct Template Reference<div class="ingroups"><a class="el" href="a00197.html">String conversion</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::syntax_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::syntax_error" --><!-- doxytag: inherits="pqxx::sql_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::syntax_error:</div>
-<div class="dynsection">
-<p><center><img src="a00538.png" border="0" usemap="#a00539" alt="Inheritance graph"></center>
-<map name="a00539">
-<area shape="rect" href="a00108.html" title="pqxx::undefined_column" alt="" coords="5,316,181,342"><area shape="rect" href="a00109.html" title="pqxx::undefined_function" alt="" coords="205,316,384,342"><area shape="rect" href="a00110.html" title="pqxx::undefined_table" alt="" coords="408,316,568,342"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="237,161,352,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="245,84,344,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="216,6,373,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00540.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#4f9f763f575081c79c255f7e6e0d852a">syntax_error</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#35ecbf64c26b9c3d4798725cbc3f25b9">syntax_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00159_source.html">strconv.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:affca0f8d647300fa83fadf6fbcbda597"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#affca0f8d647300fa83fadf6fbcbda597">name</a> ()</td></tr>
+<tr class="memitem:ad692793979ca664813f93e907b1b6508"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#ad692793979ca664813f93e907b1b6508">has_null</a> ()</td></tr>
+<tr class="memitem:a628dc63f6f52e68ac01324cbe980019a"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a628dc63f6f52e68ac01324cbe980019a">is_null</a> (const std::stringstream &amp;)</td></tr>
+<tr class="memitem:aeda8297c0d566194c18f6ab91adf6124"><td class="memItemLeft" align="right" valign="top">static std::stringstream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#aeda8297c0d566194c18f6ab91adf6124">null</a> ()</td></tr>
+<tr class="memitem:acde79ea60c125524dd0373798da9c246"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#acde79ea60c125524dd0373798da9c246">from_string</a> (const char Str[], std::stringstream &amp;Obj)</td></tr>
+<tr class="memitem:a6a04f64b953a11ca660727a1586cbe8a"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a6a04f64b953a11ca660727a1586cbe8a">to_string</a> (const std::stringstream &amp;Obj)</td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="4f9f763f575081c79c255f7e6e0d852a"></a><!-- doxytag: member="pqxx::syntax_error::syntax_error" ref="4f9f763f575081c79c255f7e6e0d852a" args="(const std::string &amp;err)" -->
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="acde79ea60c125524dd0373798da9c246"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::syntax_error::syntax_error           </td>
+          <td class="memname">static void <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::stringstream &gt;::from_string </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Str</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::stringstream &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="35ecbf64c26b9c3d4798725cbc3f25b9"></a><!-- doxytag: member="pqxx::syntax_error::syntax_error" ref="35ecbf64c26b9c3d4798725cbc3f25b9" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="ad692793979ca664813f93e907b1b6508"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::syntax_error::syntax_error           </td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::stringstream &gt;::has_null </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a628dc63f6f52e68ac01324cbe980019a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname">static bool <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::stringstream &gt;::is_null </td>
+          <td>(</td>
+          <td class="paramtype">const std::stringstream &amp;&#160;</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="affca0f8d647300fa83fadf6fbcbda597"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
+          <td class="memname">static const char* <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::stringstream &gt;::name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aeda8297c0d566194c18f6ab91adf6124"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static std::stringstream <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::stringstream &gt;::null </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00189.html#a97c9781c1d455b437ccca7514c1cec18">pqxx::internal::throw_null_conversion()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="a6a04f64b953a11ca660727a1586cbe8a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static std::string <a class="el" href="a00092.html">pqxx::string_traits</a>&lt; std::stringstream &gt;::to_string </td>
+          <td>(</td>
+          <td class="paramtype">const std::stringstream &amp;&#160;</td>
+          <td class="paramname"><em>Obj</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00159_source.html">strconv.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00098.html">string_traits< std::stringstream ></a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00098.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00098.js
--- 3.1-1.1/doc/html/Reference/a00098.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00098.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00098 =
+[
+    [ "from_string", "a00098.html#acde79ea60c125524dd0373798da9c246", null ],
+    [ "has_null", "a00098.html#ad692793979ca664813f93e907b1b6508", null ],
+    [ "is_null", "a00098.html#a628dc63f6f52e68ac01324cbe980019a", null ],
+    [ "name", "a00098.html#affca0f8d647300fa83fadf6fbcbda597", null ],
+    [ "null", "a00098.html#aeda8297c0d566194c18f6ab91adf6124", null ],
+    [ "to_string", "a00098.html#a6a04f64b953a11ca660727a1586cbe8a", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00099.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00099.html
--- 3.1-1.1/doc/html/Reference/a00099.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00099.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,406 +1,258 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::tablereader Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::subtransaction Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00099.html">tablereader</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00099.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00286.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::subtransaction Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::tablereader Class Reference</h1><!-- doxytag: class="pqxx::tablereader" --><!-- doxytag: inherits="pqxx::tablestream" -->Efficiently pull data directly out of a table.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00250.html">tablereader.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::tablereader:</div>
-<div class="dynsection">
-<p><center><img src="a00633.png" border="0" usemap="#a00634" alt="Inheritance graph"></center>
-<map name="a00634">
-<area shape="rect" href="a00100.html" title="Base class for streaming data to/from database tables." alt="" coords="48,161,184,188"><area shape="rect" href="a00106.html" title="pqxx::internal::transactionfocus" alt="" coords="5,84,227,111"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="20,7,212,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00635.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#bdaa2d21ae6f3bbb52b8cb6c75870ff5">tablereader</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;Name, const std::string &amp;Null=std::string())</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ITER&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00099.html#3eb41a73a3e6ee9a61f7ee7336c61db6">tablereader</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;Name, ITER begincolumns, ITER endcolumns)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read only the given sequence of columns.  <a href="#3eb41a73a3e6ee9a61f7ee7336c61db6"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ITER&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00099.html#d665d8883118a3ac637179590d057a16">tablereader</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;Name, ITER begincolumns, ITER endcolumns, const std::string &amp;Null)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#84da29cd4c12724f74891631ade8f1d5">~tablereader</a> ()  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00099.html">tablereader</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00099.html#c38a5cfe3a259adcc75e495f37cdc4b8">operator&gt;&gt;</a> (TUPLE &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#4010de33fe9ec72cbbc19c3dd81c8959">operator bool</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#ae84e7e743e090f9c29220f37074cf40">operator!</a> () const   throw ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#a70c070397bcd38df197b05c33614100">get_raw_line</a> (std::string &amp;Line)</td></tr>
+<p>"Transaction" nested within another transaction  
+ <a href="a00099.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a line of raw, unparsed table data.  <a href="#a70c070397bcd38df197b05c33614100"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00099.html#874d8fd075e9bb785eefbfbdd45fe637">tokenize</a> (std::string, TUPLE &amp;) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#4028c87ef2895f34a824f09970476e24">complete</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finish stream action, check for errors, and detach from <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#4028c87ef2895f34a824f09970476e24"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00161_source.html">subtransaction.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::subtransaction:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00099.png" usemap="#pqxx::subtransaction_map" alt=""/>
+  <map id="pqxx::subtransaction_map" name="pqxx::subtransaction_map">
+<area href="a00108.html" alt="pqxx::internal::transactionfocus" shape="rect" coords="0,112,184,136"/>
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="194,112,378,136"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,56,184,80"/>
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="194,56,378,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="194,0,378,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aae82c1f8ef12d5c780313a0528825372"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#aae82c1f8ef12d5c780313a0528825372">subtransaction</a> (<a class="el" href="a00032.html">dbtransaction</a> &amp;T, const std::string &amp;Name=std::string())</td></tr>
+<tr class="inherit_header pub_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:ac1ad1a201cacde2cd35182dd3bfb66fa inherit pub_methods_a00108"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t)</td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+<tr class="inherit_header pub_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:ace1dc32cc5ab0d51481518e659675b79 inherit pub_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ace1dc32cc5ab0d51481518e659675b79">~dbtransaction</a> ()</td></tr>
+<tr class="inherit_header pub_methods_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:ad5ddea378795d92908af4b65e59d585a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ad5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
+<tr class="memitem:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
+<tr class="memdesc:ab2cf42c4821aff7ff1cd906af9165725 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction.  <a href="#ab2cf42c4821aff7ff1cd906af9165725"></a><br/></td></tr>
+<tr class="memitem:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
+<tr class="memdesc:a955f2497216d9eae268ac662b46d5a45 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the transaction.  <a href="#a955f2497216d9eae268ac662b46d5a45"></a><br/></td></tr>
+<tr class="memitem:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga98dee516d429520627fd94f5ccb2b023">esc</a> (const char str[]) const </td></tr>
+<tr class="memdesc:ga98dee516d429520627fd94f5ccb2b023 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga98dee516d429520627fd94f5ccb2b023"></a><br/></td></tr>
+<tr class="memitem:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb">esc</a> (const char str[], size_t maxlen) const </td></tr>
+<tr class="memdesc:ga38cc55d0d7637dd53a6508e2bc4beadb inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb"></a><br/></td></tr>
+<tr class="memitem:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244">esc</a> (const std::string &amp;str) const </td></tr>
+<tr class="memdesc:ga80bbd3626005768e0d39bdfb6930e244 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244"></a><br/></td></tr>
+<tr class="memitem:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6048218f7af70cd0423429d54203749c">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
+<tr class="memdesc:ga6048218f7af70cd0423429d54203749c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga6048218f7af70cd0423429d54203749c"></a><br/></td></tr>
+<tr class="memitem:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
+<tr class="memdesc:ga489c7438da9241486297a451a8579dc1 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga489c7438da9241486297a451a8579dc1"></a><br/></td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff">quote</a> (const T &amp;t) const </td></tr>
+<tr class="memdesc:ga263a180c5d0decf645aca3fc1ed4d6ff inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff"></a><br/></td></tr>
+<tr class="memitem:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memdesc:aed91d0b8029795b477470e854c907c4b inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query.  <a href="#aed91d0b8029795b477470e854c907c4b"></a><br/></td></tr>
+<tr class="memitem:a938732e87f924fee764cddd8390de20f inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memitem:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">internal::parameterized_invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
+<tr class="memdesc:a6ec73bd0d2a37553c8518e0ef428dee4 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameterize a statement.  <a href="#a6ec73bd0d2a37553c8518e0ef428dee4"></a><br/></td></tr>
+<tr class="memitem:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
+<tr class="memdesc:aed167261c4d76876241b5f615b9b8c7a inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection this transaction is running in.  <a href="#aed167261c4d76876241b5f615b9b8c7a"></a><br/></td></tr>
+<tr class="memitem:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
+<tr class="memdesc:ab7510be596a5a14014064c884a10fd93 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable in this connection.  <a href="#ab7510be596a5a14014064c884a10fd93"></a><br/></td></tr>
+<tr class="memitem:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a87f5147f2dc2dfbcc3b5aef4b461be86 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#a87f5147f2dc2dfbcc3b5aef4b461be86"></a><br/></td></tr>
+<tr class="memitem:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">prepare::invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
+<tr class="memdesc:a1357ac4f6330284129c91882a169276d inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute prepared statement.  <a href="#a1357ac4f6330284129c91882a169276d"></a><br/></td></tr>
+<tr class="memitem:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
+<tr class="memdesc:a99f99eb85906a7541119c9098a36d799 inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#a99f99eb85906a7541119c9098a36d799"></a><br/></td></tr>
+<tr class="memitem:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
+<tr class="memdesc:aa90bc6e1219ff68ef11e1d04b76c205c inherit pub_methods_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#aa90bc6e1219ff68ef11e1d04b76c205c"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00107"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00107')"><img src="closed.png" alt="-"/>&nbsp;Public Types inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af5e1900b64239bac292f5505f7799654">isolation_tag</a></td></tr>
+<tr class="memdesc:af5e1900b64239bac292f5505f7799654 inherit pub_types_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#af5e1900b64239bac292f5505f7799654"></a><br/></td></tr>
+<tr class="inherit_header pro_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a267f75f541c85a38605fb6b8c66d1e0a inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a267f75f541c85a38605fb6b8c66d1e0a">register_me</a> ()</td></tr>
+<tr class="memitem:a53309d8e6bb85774cb16bf6a340cb558 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a53309d8e6bb85774cb16bf6a340cb558">unregister_me</a> ()  throw ()</td></tr>
+<tr class="memitem:adae9df5aee401ccb6f1d77024d524322 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#adae9df5aee401ccb6f1d77024d524322">reg_pending_error</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memitem:a474a6ca017e7a313bc33e7b2b5a2d1d7 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a474a6ca017e7a313bc33e7b2b5a2d1d7">registered</a> () const   throw ()</td></tr>
+<tr class="inherit_header pro_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a49d5c0050ec02eba8440b1bdb20a1539 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a49d5c0050ec02eba8440b1bdb20a1539">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, const std::string &amp;IsolationString, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a12e833c152ed73fabe7c4c30020140e2 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a12e833c152ed73fabe7c4c30020140e2">dbtransaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;, bool direct=true, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>)</td></tr>
+<tr class="memitem:a601f599d9c5cca86ce84a77bdac941db inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a601f599d9c5cca86ce84a77bdac941db">start_backend_transaction</a> ()</td></tr>
+<tr class="memdesc:a601f599d9c5cca86ce84a77bdac941db inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a transaction on the backend and set desired isolation level.  <a href="#a601f599d9c5cca86ce84a77bdac941db"></a><br/></td></tr>
+<tr class="memitem:a0b4da4b562a51ec0f03a9abf75acd14c inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a0b4da4b562a51ec0f03a9abf75acd14c">do_begin</a> ()</td></tr>
+<tr class="memdesc:a0b4da4b562a51ec0f03a9abf75acd14c inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: begin backend transaction.  <a href="#a0b4da4b562a51ec0f03a9abf75acd14c"></a><br/></td></tr>
+<tr class="memitem:a9b3e988901d4bec05d414543314a945b inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a9b3e988901d4bec05d414543314a945b">do_exec</a> (const char Query[])</td></tr>
+<tr class="memdesc:a9b3e988901d4bec05d414543314a945b inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: perform query.  <a href="#a9b3e988901d4bec05d414543314a945b"></a><br/></td></tr>
+<tr class="memitem:ae434c2ec625a55ec8c6c4f57d1cb0a54 inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#ae434c2ec625a55ec8c6c4f57d1cb0a54">do_commit</a> ()=0</td></tr>
+<tr class="memdesc:ae434c2ec625a55ec8c6c4f57d1cb0a54 inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived class: commit backend transaction.  <a href="#ae434c2ec625a55ec8c6c4f57d1cb0a54"></a><br/></td></tr>
+<tr class="memitem:a38c5eb7ae19ad150f89e951261873aba inherit pro_methods_a00032"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a38c5eb7ae19ad150f89e951261873aba">do_abort</a> ()</td></tr>
+<tr class="memdesc:a38c5eb7ae19ad150f89e951261873aba inherit pro_methods_a00032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sensible default implemented here: abort backend transaction.  <a href="#a38c5eb7ae19ad150f89e951261873aba"></a><br/></td></tr>
+<tr class="inherit_header pro_static_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a4e35ec39c80f088ebe239b15a16488de inherit pro_static_methods_a00032"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
+<tr class="inherit_header pro_attribs_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a9924dff8ce3203ca9fb9e584800ef9f4 inherit pro_attribs_a00108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Efficiently pull data directly out of a table. 
-<p>
-A <a class="el" href="a00099.html" title="Efficiently pull data directly out of a table.">tablereader</a> provides efficient read access to a database table. This is not as flexible as a normal query using the <a class="el" href="a00076.html" title="Query or command result set.">result</a> class however: <ul>
-<li>
-Can only dump tables, not views or arbitrary queries </li>
-<li>
-Has no knowledge of metadata </li>
-<li>
-Is unable to reorder, rename, omit or enrich fields </li>
-<li>
-Does not support filtering of records </li>
-</ul>
-<p>
-On the other hand, it can read rows of data and transform them into any container or container-like object that supports STL back-inserters. Since the <a class="el" href="a00099.html" title="Efficiently pull data directly out of a table.">tablereader</a> has no knowledge of the types of data expected, it treats all fields as strings. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="bdaa2d21ae6f3bbb52b8cb6c75870ff5"></a><!-- doxytag: member="pqxx::tablereader::tablereader" ref="bdaa2d21ae6f3bbb52b8cb6c75870ff5" args="(transaction_base &amp;, const std::string &amp;Name, const std::string &amp;Null=std::string())" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::tablereader::tablereader           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Null</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3eb41a73a3e6ee9a61f7ee7336c61db6"></a><!-- doxytag: member="pqxx::tablereader::tablereader" ref="3eb41a73a3e6ee9a61f7ee7336c61db6" args="(transaction_base &amp;, const std::string &amp;Name, ITER begincolumns, ITER endcolumns)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename ITER&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::tablereader::tablereader           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>begincolumns</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>endcolumns</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read only the given sequence of columns. 
-<p>
-<dl class="since" compact><dt><b>Since:</b></dt><dd>PostgreSQL backend 7.3 </dd></dl>
-
-<p>References <a class="el" href="a00252.html#l00086">pqxx::tablestream::columnlist()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d665d8883118a3ac637179590d057a16"></a><!-- doxytag: member="pqxx::tablereader::tablereader" ref="d665d8883118a3ac637179590d057a16" args="(transaction_base &amp;, const std::string &amp;Name, ITER begincolumns, ITER endcolumns, const std::string &amp;Null)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename ITER&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::tablereader::tablereader           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>begincolumns</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>endcolumns</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Null</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00252.html#l00086">pqxx::tablestream::columnlist()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="84da29cd4c12724f74891631ade8f1d5"></a><!-- doxytag: member="pqxx::tablereader::~tablereader" ref="84da29cd4c12724f74891631ade8f1d5" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::tablereader::~tablereader           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, <a class="el" href="a00258.html#l00068">pqxx::internal::transactionfocus::m_Trans</a>, and <a class="el" href="a00257.html#l00513">pqxx::internal::transactionfocus::reg_pending_error()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="c38a5cfe3a259adcc75e495f37cdc4b8"></a><!-- doxytag: member="pqxx::tablereader::operator&gt;&gt;" ref="c38a5cfe3a259adcc75e495f37cdc4b8" args="(TUPLE &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00099.html">tablereader</a> &amp; pqxx::tablereader::operator&gt;&gt;           </td>
-          <td>(</td>
-          <td class="paramtype">TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00249.html#l00064">get_raw_line()</a>, and <a class="el" href="a00250.html#l00140">tokenize()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4010de33fe9ec72cbbc19c3dd81c8959"></a><!-- doxytag: member="pqxx::tablereader::operator bool" ref="4010de33fe9ec72cbbc19c3dd81c8959" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::tablereader::operator bool           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ae84e7e743e090f9c29220f37074cf40"></a><!-- doxytag: member="pqxx::tablereader::operator!" ref="ae84e7e743e090f9c29220f37074cf40" args="() const " -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>"Transaction" nested within another transaction </p>
+<p>A subtransaction can be executed inside a backend transaction, or inside another subtransaction. This can be useful when, for example, statements in a transaction may harmlessly fail and you don't want them to abort the entire transaction. Here's an example of how a temporary table may be dropped before re-creating it, without failing if the table did not exist:</p>
+<div class="fragment"><div class="line"><span class="keywordtype">void</span> do_job(connection_base &amp;C)</div>
+<div class="line">{</div>
+<div class="line">  <span class="keyword">const</span> <span class="keywordtype">string</span> temptable = <span class="stringliteral">&quot;fleetingtable&quot;</span>;</div>
+<div class="line"></div>
+<div class="line">  <span class="comment">// Since we&#39;re dealing with a temporary table here, disallow automatic</span></div>
+<div class="line">  <span class="comment">// recovery of the connection in case it breaks.</span></div>
+<div class="line">  C.inhibit_reactivation(<span class="keyword">true</span>);</div>
+<div class="line"></div>
+<div class="line">  <a class="code" href="a00202.html#ga82685329d6fd91f5ab30772d266fe5f0" title="Bog-standard, default transaction type.">work</a> W(C, <span class="stringliteral">&quot;do_job&quot;</span>);</div>
+<div class="line">  do_firstpart(W);</div>
+<div class="line"></div>
+<div class="line">  <span class="comment">// Attempt to delete our temporary table if it already existed</span></div>
+<div class="line">  <span class="keywordflow">try</span></div>
+<div class="line">  {</div>
+<div class="line">    <a class="code" href="a00099.html#aae82c1f8ef12d5c780313a0528825372">subtransaction</a> S(W, <span class="stringliteral">&quot;droptemp&quot;</span>);</div>
+<div class="line">    W.exec(<span class="stringliteral">&quot;DROP TABLE &quot;</span> + temptable);</div>
+<div class="line">  }</div>
+<div class="line">  <span class="keywordflow">catch</span> (<span class="keyword">const</span> undefined_table &amp;)</div>
+<div class="line">  {</div>
+<div class="line">    <span class="comment">// Table did not exist.  Which is what we were hoping to achieve anyway.</span></div>
+<div class="line">    <span class="comment">// Carry on without regrets.</span></div>
+<div class="line">  }</div>
+<div class="line"></div>
+<div class="line">  W.exec(<span class="stringliteral">&quot;CREATE TEMP TABLE &quot;</span> + fleetingtable +</div>
+<div class="line">         <span class="stringliteral">&quot;(bar integer, splat varchar)&quot;</span>);</div>
+<div class="line"></div>
+<div class="line">  do_lastpart(W);</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>There are no isolation levels inside a transaction. They are not needed because all actions within the same backend transaction are always performed sequentially anyway. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aae82c1f8ef12d5c780313a0528825372"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::tablereader::operator!           </td>
+          <td class="memname">pqxx::subtransaction::subtransaction </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a70c070397bcd38df197b05c33614100"></a><!-- doxytag: member="pqxx::tablereader::get_raw_line" ref="a70c070397bcd38df197b05c33614100" args="(std::string &amp;Line)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::tablereader::get_raw_line           </td>
-          <td>(</td>
-          <td class="paramtype">std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Line</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Read a line of raw, unparsed table data. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Line</em>&nbsp;</td><td>Variable to hold the raw data line read from the table. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether a line could be read </dd></dl>
-
-<p>References <a class="el" href="a00258.html#l00068">pqxx::internal::transactionfocus::m_Trans</a>.</p>
-
-<p>Referenced by <a class="el" href="a00253.html#l00065">pqxx::tablewriter::operator&lt;&lt;()</a>, and <a class="el" href="a00250.html#l00151">operator&gt;&gt;()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="874d8fd075e9bb785eefbfbdd45fe637"></a><!-- doxytag: member="pqxx::tablereader::tokenize" ref="874d8fd075e9bb785eefbfbdd45fe637" args="(std::string, TUPLE &amp;) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::tablereader::tokenize           </td>
-          <td>(</td>
-          <td class="paramtype">std::string&nbsp;</td>
-          <td class="paramname"> <em>Line</em>, </td>
+          <td class="paramtype"><a class="el" href="a00032.html">dbtransaction</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em> = <code>std::string()</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"> const</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00250.html#l00151">operator&gt;&gt;()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="4028c87ef2895f34a824f09970476e24"></a><!-- doxytag: member="pqxx::tablereader::complete" ref="4028c87ef2895f34a824f09970476e24" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::tablereader::complete           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Finish stream action, check for errors, and detach from <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-It is recommended that you call this function before the tablestream's destructor is run. This function will check any final errors which may not become apparent until the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is committed otherwise.<p>
-As an added benefit, this will free up the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> while the <a class="el" href="a00100.html" title="Base class for streaming data to/from database tables.">tablestream</a> object itself still exists. 
-<p>Implements <a class="el" href="a00100.html#0241100d03b034b8e7b59201a6a1b88f">pqxx::tablestream</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00250.html">tablereader.hxx</a><li><a class="el" href="a00159.html">tablereader.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00161_source.html">subtransaction.hxx</a></li>
+<li>subtransaction.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00099.html">subtransaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00099.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00099.js
--- 3.1-1.1/doc/html/Reference/a00099.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00099.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00099 =
+[
+    [ "subtransaction", "a00099.html#aae82c1f8ef12d5c780313a0528825372", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00099.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00099.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00100.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00100.html
--- 3.1-1.1/doc/html/Reference/a00100.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00100.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,258 +1,177 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::tablestream Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::syntax_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00100.html">tablestream</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00100.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00246.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::syntax_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::tablestream Class Reference</h1><!-- doxytag: class="pqxx::tablestream" --><!-- doxytag: inherits="pqxx::internal::transactionfocus" -->Base class for streaming data to/from database tables.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00252.html">tablestream.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::tablestream:</div>
-<div class="dynsection">
-<p><center><img src="a00636.png" border="0" usemap="#a00637" alt="Inheritance graph"></center>
-<map name="a00637">
-<area shape="rect" href="a00099.html" title="Efficiently pull data directly out of a table." alt="" coords="5,239,139,265"><area shape="rect" href="a00101.html" title="Efficiently write data directly to a database table." alt="" coords="163,239,288,265"><area shape="rect" href="a00106.html" title="pqxx::internal::transactionfocus" alt="" coords="37,84,259,111"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="52,7,244,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00638.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#5cfaacb3b52d957c8df94b91f3f1fe40">tablestream</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;Trans, const std::string &amp;Null=std::string())</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#6d024cd5f02bb5c2a6eb00ca11bde772">~tablestream</a> ()=0  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#0241100d03b034b8e7b59201a6a1b88f">complete</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finish stream action, check for errors, and detach from <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#0241100d03b034b8e7b59201a6a1b88f"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#9be2913d9346a84966bec594a809745f">NullStr</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#48f61b76226df70a8eaa334b6f53575a">is_finished</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#8206b4b9b8dc8139e7b9be97d3c91d95">base_close</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ITER&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">static std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00100.html#b513ec3a0610b3500dc18eced77b3d6f">columnlist</a> (ITER colbegin, ITER colend)</td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a comma-separated column list from given sequence.  <a href="#b513ec3a0610b3500dc18eced77b3d6f"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::syntax_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00100.png" usemap="#pqxx::syntax_error_map" alt=""/>
+  <map id="pqxx::syntax_error_map" name="pqxx::syntax_error_map">
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="161,112,312,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="161,56,312,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="161,0,312,24"/>
+<area href="a00111.html" alt="pqxx::undefined_column" shape="rect" coords="0,224,151,248"/>
+<area href="a00112.html" alt="pqxx::undefined_function" shape="rect" coords="161,224,312,248"/>
+<area href="a00113.html" alt="pqxx::undefined_table" shape="rect" coords="322,224,473,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4f9f763f575081c79c255f7e6e0d852a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a4f9f763f575081c79c255f7e6e0d852a">syntax_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a35ecbf64c26b9c3d4798725cbc3f25b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a35ecbf64c26b9c3d4798725cbc3f25b9">syntax_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for streaming data to/from database tables. 
-<p>
-A Tablestream enables optimized batch read or write access to a database table using PostgreSQL's <code>COPY TO STDOUT</code> and <code>COPY FROM STDIN</code> commands, respectively. These capabilities are implemented by its subclasses <a class="el" href="a00099.html" title="Efficiently pull data directly out of a table.">tablereader</a> and <a class="el" href="a00101.html" title="Efficiently write data directly to a database table.">tablewriter</a>.<p>
-A Tablestream exists in the context of a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, and no other streams or queries may be applied to that <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> as long as the stream remains open. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="5cfaacb3b52d957c8df94b91f3f1fe40"></a><!-- doxytag: member="pqxx::tablestream::tablestream" ref="5cfaacb3b52d957c8df94b91f3f1fe40" args="(transaction_base &amp;Trans, const std::string &amp;Null=std::string())" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a4f9f763f575081c79c255f7e6e0d852a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::tablestream::tablestream           </td>
+          <td class="memname">pqxx::syntax_error::syntax_error </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>Trans</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Null</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00251.html#l00026">tablestream()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00251.html#l00026">tablestream()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6d024cd5f02bb5c2a6eb00ca11bde772"></a><!-- doxytag: member="pqxx::tablestream::~tablestream" ref="6d024cd5f02bb5c2a6eb00ca11bde772" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::tablestream::~tablestream           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0241100d03b034b8e7b59201a6a1b88f"></a><!-- doxytag: member="pqxx::tablestream::complete" ref="0241100d03b034b8e7b59201a6a1b88f" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void pqxx::tablestream::complete           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [pure virtual]</code></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Finish stream action, check for errors, and detach from <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-It is recommended that you call this function before the tablestream's destructor is run. This function will check for any final errors which may not become apparent until the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is committed otherwise.<p>
-As an added benefit, this will free up the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> while the <a class="el" href="a00100.html" title="Base class for streaming data to/from database tables.">tablestream</a> object itself still exists. 
-<p>Implemented in <a class="el" href="a00099.html#4028c87ef2895f34a824f09970476e24">pqxx::tablereader</a>, and <a class="el" href="a00101.html#4dd97d641c5ccb16e2abbeaa2f0a50bc">pqxx::tablewriter</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9be2913d9346a84966bec594a809745f"></a><!-- doxytag: member="pqxx::tablestream::NullStr" ref="9be2913d9346a84966bec594a809745f" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const std ::string&amp; pqxx::tablestream::NullStr           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00254.html#l00217">pqxx::tablewriter::generate()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="48f61b76226df70a8eaa334b6f53575a"></a><!-- doxytag: member="pqxx::tablestream::is_finished" ref="48f61b76226df70a8eaa334b6f53575a" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool pqxx::tablestream::is_finished           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00251.html#l00041">base_close()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="8206b4b9b8dc8139e7b9be97d3c91d95"></a><!-- doxytag: member="pqxx::tablestream::base_close" ref="8206b4b9b8dc8139e7b9be97d3c91d95" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::tablestream::base_close           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00252.html#l00067">is_finished()</a>, and <a class="el" href="a00257.html#l00505">pqxx::internal::transactionfocus::unregister_me()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="b513ec3a0610b3500dc18eced77b3d6f"></a><!-- doxytag: member="pqxx::tablestream::columnlist" ref="b513ec3a0610b3500dc18eced77b3d6f" args="(ITER colbegin, ITER colend)" -->
+<a class="anchor" id="a35ecbf64c26b9c3d4798725cbc3f25b9"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename ITER&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">std::string pqxx::tablestream::columnlist           </td>
+          <td class="memname">pqxx::syntax_error::syntax_error </td>
           <td>(</td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>colbegin</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>colend</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"><code> [static, protected]</code></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Construct a comma-separated column list from given sequence. 
-<p>
-
-<p>References <a class="el" href="a00262.html#l00404">pqxx::separated_list()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00250.html#l00114">pqxx::tablereader::tablereader()</a>, and <a class="el" href="a00254.html#l00172">pqxx::tablewriter::tablewriter()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00252.html">tablestream.hxx</a><li><a class="el" href="a00161.html">tablestream.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00100.html">syntax_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00100.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00100.js
--- 3.1-1.1/doc/html/Reference/a00100.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00100.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00100 =
+[
+    [ "syntax_error", "a00100.html#a4f9f763f575081c79c255f7e6e0d852a", null ],
+    [ "syntax_error", "a00100.html#a35ecbf64c26b9c3d4798725cbc3f25b9", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00100.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00100.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00101.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00101.html
--- 3.1-1.1/doc/html/Reference/a00101.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00101.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,591 +1,439 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::tablewriter Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::tablereader Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00101.html">tablewriter</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00101.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00287.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::tablereader Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::tablewriter Class Reference</h1><!-- doxytag: class="pqxx::tablewriter" --><!-- doxytag: inherits="pqxx::tablestream" -->Efficiently write data directly to a database table.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00254.html">tablewriter.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::tablewriter:</div>
-<div class="dynsection">
-<p><center><img src="a00639.png" border="0" usemap="#a00640" alt="Inheritance graph"></center>
-<map name="a00640">
-<area shape="rect" href="a00100.html" title="Base class for streaming data to/from database tables." alt="" coords="48,161,184,188"><area shape="rect" href="a00106.html" title="pqxx::internal::transactionfocus" alt="" coords="5,84,227,111"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="20,7,212,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00641.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#219cfed40ab2c1858b89e630e140e984">size_type</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#f491ceeea1fb81f185c4460176ef594a">tablewriter</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;WName, const std::string &amp;Null=std::string())</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ITER&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#d6ef3a20a02c6d90b82c4f9b313b8ba9">tablewriter</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;, const std::string &amp;WName, ITER begincolumns, ITER endcolumns)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write only the given sequence of columns.  <a href="#d6ef3a20a02c6d90b82c4f9b313b8ba9"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename ITER&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#33ed76dcf4239c1b59d072baefdbf40a">tablewriter</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;T, const std::string &amp;WName, ITER begincolumns, ITER endcolumns, const std::string &amp;Null)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write only the given sequence of columns, with customized "null" string.  <a href="#33ed76dcf4239c1b59d072baefdbf40a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#3332310804e226da6d83c33f932290cc">~tablewriter</a> ()  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IT&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#d1cb2cefd3372ade01dfecc204d5caf0">insert</a> (IT Begin, IT End)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#47019be71e577fbfd6dda63693fc4c6d">insert</a> (const TUPLE &amp;)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IT&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#6e8797176effb221f999f7db7a72c823">push_back</a> (IT Begin, IT End)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#57b422363e6126946a742ab1814f90a3">push_back</a> (const TUPLE &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#2fbc9559232987cab54d30add357a2cb">reserve</a> (<a class="el" href="a00101.html#219cfed40ab2c1858b89e630e140e984">size_type</a>)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00101.html">tablewriter</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#ae6889c1caf9ee296f68ae84ee1453a2">operator&lt;&lt;</a> (const TUPLE &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00101.html">tablewriter</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#471da19c2f19ee8a205428a8e4c338ed">operator&lt;&lt;</a> (<a class="el" href="a00099.html">tablereader</a> &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy table from one database to another.  <a href="#471da19c2f19ee8a205428a8e4c338ed"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename IT&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#fc25db49ef4aec1d46b0cdc97304edcd">generate</a> (IT Begin, IT End) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Translate tuple of data to a string in DBMS-specific format.  <a href="#fc25db49ef4aec1d46b0cdc97304edcd"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename TUPLE&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#2ebcdfd1873322d0c50e5732e7b56252">generate</a> (const TUPLE &amp;) const </td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#4dd97d641c5ccb16e2abbeaa2f0a50bc">complete</a> ()</td></tr>
+<p>Efficiently pull data directly out of a table.  
+ <a href="a00101.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finish stream action, check for errors, and detach from <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#4dd97d641c5ccb16e2abbeaa2f0a50bc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#c4b1eaf8b157f40e377cdcaa5d07e233">write_raw_line</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write line of raw data (e.g. obtained from <a class="el" href="a00099.html#a70c070397bcd38df197b05c33614100" title="Read a line of raw, unparsed table data.">tablereader.get_raw_line</a>).  <a href="#c4b1eaf8b157f40e377cdcaa5d07e233"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00163_source.html">tablereader.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::tablereader:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00101.png" usemap="#pqxx::tablereader_map" alt=""/>
+  <map id="pqxx::tablereader_map" name="pqxx::tablereader_map">
+<area href="a00102.html" title="Base class for streaming data to/from database tables." alt="pqxx::tablestream" shape="rect" coords="0,112,184,136"/>
+<area href="a00108.html" alt="pqxx::internal::transactionfocus" shape="rect" coords="0,56,184,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,184,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abdaa2d21ae6f3bbb52b8cb6c75870ff5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#abdaa2d21ae6f3bbb52b8cb6c75870ff5">tablereader</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;Name, const std::string &amp;Null=std::string())</td></tr>
+<tr class="memitem:a07a03ef6630e8e5e0e8103b9b9bce6d5"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:a07a03ef6630e8e5e0e8103b9b9bce6d5"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#a07a03ef6630e8e5e0e8103b9b9bce6d5">tablereader</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;Name, ITER begincolumns, ITER endcolumns)</td></tr>
+<tr class="memdesc:a07a03ef6630e8e5e0e8103b9b9bce6d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read only the given sequence of columns.  <a href="#a07a03ef6630e8e5e0e8103b9b9bce6d5"></a><br/></td></tr>
+<tr class="memitem:ad233a53fdc5622adf57f353794a3c62f"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:ad233a53fdc5622adf57f353794a3c62f"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#ad233a53fdc5622adf57f353794a3c62f">tablereader</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;Name, ITER begincolumns, ITER endcolumns, const std::string &amp;Null)</td></tr>
+<tr class="memitem:a84da29cd4c12724f74891631ade8f1d5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#a84da29cd4c12724f74891631ade8f1d5">~tablereader</a> ()  throw ()</td></tr>
+<tr class="memitem:adbb71a08559825b55b801771b6161d56"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:adbb71a08559825b55b801771b6161d56"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00101.html">tablereader</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#adbb71a08559825b55b801771b6161d56">operator&gt;&gt;</a> (TUPLE &amp;)</td></tr>
+<tr class="memitem:a4010de33fe9ec72cbbc19c3dd81c8959"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#a4010de33fe9ec72cbbc19c3dd81c8959">operator bool</a> () const   throw ()</td></tr>
+<tr class="memitem:aae84e7e743e090f9c29220f37074cf40"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#aae84e7e743e090f9c29220f37074cf40">operator!</a> () const   throw ()</td></tr>
+<tr class="memitem:aa70c070397bcd38df197b05c33614100"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#aa70c070397bcd38df197b05c33614100">get_raw_line</a> (std::string &amp;Line)</td></tr>
+<tr class="memdesc:aa70c070397bcd38df197b05c33614100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a line of raw, unparsed table data.  <a href="#aa70c070397bcd38df197b05c33614100"></a><br/></td></tr>
+<tr class="memitem:a235d3894806c150e2db680ebe5c766d1"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:a235d3894806c150e2db680ebe5c766d1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00101.html#a235d3894806c150e2db680ebe5c766d1">tokenize</a> (std::string, TUPLE &amp;) const </td></tr>
+<tr class="memitem:a4028c87ef2895f34a824f09970476e24"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html#a4028c87ef2895f34a824f09970476e24">complete</a> ()</td></tr>
+<tr class="memdesc:a4028c87ef2895f34a824f09970476e24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish stream action, check for errors, and detach from transaction.  <a href="#a4028c87ef2895f34a824f09970476e24"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00102"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00102')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00102.html">pqxx::tablestream</a></td></tr>
+<tr class="memitem:a5cfaacb3b52d957c8df94b91f3f1fe40 inherit pub_methods_a00102"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a5cfaacb3b52d957c8df94b91f3f1fe40">tablestream</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;Trans, const std::string &amp;Null=std::string())</td></tr>
+<tr class="memitem:a6d024cd5f02bb5c2a6eb00ca11bde772 inherit pub_methods_a00102"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a6d024cd5f02bb5c2a6eb00ca11bde772">~tablestream</a> ()=0  throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:ac1ad1a201cacde2cd35182dd3bfb66fa inherit pub_methods_a00108"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t)</td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00102"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00102')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00102.html">pqxx::tablestream</a></td></tr>
+<tr class="memitem:afdac33bb17371652a6328b689d29a411 inherit pro_methods_a00102"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#afdac33bb17371652a6328b689d29a411">NullStr</a> () const </td></tr>
+<tr class="memitem:a48f61b76226df70a8eaa334b6f53575a inherit pro_methods_a00102"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a48f61b76226df70a8eaa334b6f53575a">is_finished</a> () const   throw ()</td></tr>
+<tr class="memitem:a8206b4b9b8dc8139e7b9be97d3c91d95 inherit pro_methods_a00102"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a8206b4b9b8dc8139e7b9be97d3c91d95">base_close</a> ()</td></tr>
+<tr class="inherit_header pro_static_methods_a00102"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00102')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00102.html">pqxx::tablestream</a></td></tr>
+<tr class="memitem:ae36c9e2bd18b6ed8a6c942ba616154b2 inherit pro_static_methods_a00102"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:ae36c9e2bd18b6ed8a6c942ba616154b2"><td class="memTemplItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">columnlist</a> (ITER colbegin, ITER colend)</td></tr>
+<tr class="memdesc:ae36c9e2bd18b6ed8a6c942ba616154b2 inherit pro_static_methods_a00102"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a comma-separated column list from given sequence.  <a href="#ae36c9e2bd18b6ed8a6c942ba616154b2"></a><br/></td></tr>
+<tr class="inherit_header pro_attribs_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a9924dff8ce3203ca9fb9e584800ef9f4 inherit pro_attribs_a00108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Efficiently write data directly to a database table. 
-<p>
-A <a class="el" href="a00101.html" title="Efficiently write data directly to a database table.">tablewriter</a> provides a Spartan but efficient way of writing data tuples into a table. It provides a plethora of STL-like insertion methods: it has <a class="el" href="a00101.html#d1cb2cefd3372ade01dfecc204d5caf0">insert()</a> methods, <a class="el" href="a00101.html#6e8797176effb221f999f7db7a72c823">push_back()</a>, as well as an overloaded insertion operator (<code>&lt;&lt;</code>), and it supports inserters created by std::back_inserter(). All of these are templatized so you can use any container type or iterator range to feed tuples into the table.<p>
-Note that in each case, a container or range represents the fields of a single tuple--not a collection of tuples. <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="219cfed40ab2c1858b89e630e140e984"></a><!-- doxytag: member="pqxx::tablewriter::size_type" ref="219cfed40ab2c1858b89e630e140e984" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef unsigned <a class="el" href="a00101.html#219cfed40ab2c1858b89e630e140e984">pqxx::tablewriter::size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="f491ceeea1fb81f185c4460176ef594a"></a><!-- doxytag: member="pqxx::tablewriter::tablewriter" ref="f491ceeea1fb81f185c4460176ef594a" args="(transaction_base &amp;, const std::string &amp;WName, const std::string &amp;Null=std::string())" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Efficiently pull data directly out of a table. </p>
+<p>A tablereader provides efficient read access to a database table. This is not as flexible as a normal query using the result class however: </p>
+<ul>
+<li>
+Can only dump tables, not views or arbitrary queries </li>
+<li>
+Has no knowledge of metadata </li>
+<li>
+Is unable to reorder, rename, omit or enrich fields </li>
+<li>
+Does not support filtering of records </li>
+</ul>
+<p>On the other hand, it can read rows of data and transform them into any container or container-like object that supports STL back-inserters. Since the tablereader has no knowledge of the types of data expected, it treats all fields as strings. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="abdaa2d21ae6f3bbb52b8cb6c75870ff5"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::tablewriter::tablewriter           </td>
+          <td class="memname">pqxx::tablereader::tablereader </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>WName</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Null</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Null</em> = <code>std::string()</code>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="d6ef3a20a02c6d90b82c4f9b313b8ba9"></a><!-- doxytag: member="pqxx::tablewriter::tablewriter" ref="d6ef3a20a02c6d90b82c4f9b313b8ba9" args="(transaction_base &amp;, const std::string &amp;WName, ITER begincolumns, ITER endcolumns)" -->
+</div>
+<a class="anchor" id="a07a03ef6630e8e5e0e8103b9b9bce6d5"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename ITER&gt; </div>
+template&lt;typename ITER &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::tablewriter::tablewriter           </td>
+          <td class="memname">pqxx::tablereader::tablereader </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>WName</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>begincolumns</em>, </td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>begincolumns</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>endcolumns</em></td><td>&nbsp;</td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>endcolumns</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Write only the given sequence of columns. 
-<p>
-<dl class="since" compact><dt><b>Since:</b></dt><dd>PostgreSQL backend 7.3.</dd></dl>
-This constructor takes a sequence of names of columns to write to. Only those columns will be written, and they will be taken from your input data in that order. 
-<p>References <a class="el" href="a00252.html#l00086">pqxx::tablestream::columnlist()</a>.</p>
+<p>Read only the given sequence of columns. </p>
+<dl class="section since"><dt>Since</dt><dd>PostgreSQL backend 7.3 </dd></dl>
 
+<p>References <a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">pqxx::tablestream::columnlist()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<a class="anchor" name="33ed76dcf4239c1b59d072baefdbf40a"></a><!-- doxytag: member="pqxx::tablewriter::tablewriter" ref="33ed76dcf4239c1b59d072baefdbf40a" args="(transaction_base &amp;T, const std::string &amp;WName, ITER begincolumns, ITER endcolumns, const std::string &amp;Null)" -->
+<a class="anchor" id="ad233a53fdc5622adf57f353794a3c62f"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename ITER&gt; </div>
+template&lt;typename ITER &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::tablewriter::tablewriter           </td>
+          <td class="memname">pqxx::tablereader::tablereader </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>, </td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>WName</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Name</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>begincolumns</em>, </td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>begincolumns</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">ITER&nbsp;</td>
-          <td class="paramname"> <em>endcolumns</em>, </td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>endcolumns</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Null</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Null</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Write only the given sequence of columns, with customized "null" string. 
-<p>
-<dl class="since" compact><dt><b>Since:</b></dt><dd>PostgreSQL backend 7.3.</dd></dl>
-This constructor takes a sequence of names of columns to write to. Only those columns will be written, and they will be taken from your input data in that order.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>The <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> that this <a class="el" href="a00101.html" title="Efficiently write data directly to a database table.">tablewriter</a> will operate on. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>WName</em>&nbsp;</td><td>A name for this table writer, to help with debugging. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>begincolumns</em>&nbsp;</td><td>Beginning of a sequence of names of columns to write. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>endcolumns</em>&nbsp;</td><td>End of a sequence of names of columns to write. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Null</em>&nbsp;</td><td>The string that is used in your input data to denote null. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00252.html#l00086">pqxx::tablestream::columnlist()</a>.</p>
+<p>References <a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">pqxx::tablestream::columnlist()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="3332310804e226da6d83c33f932290cc"></a><!-- doxytag: member="pqxx::tablewriter::~tablewriter" ref="3332310804e226da6d83c33f932290cc" args="()" -->
+</div>
+<a class="anchor" id="a84da29cd4c12724f74891631ade8f1d5"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::tablewriter::~tablewriter           </td>
+          <td class="memname">pqxx::tablereader::~tablereader </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, <a class="el" href="a00258.html#l00068">pqxx::internal::transactionfocus::m_Trans</a>, and <a class="el" href="a00257.html#l00513">pqxx::internal::transactionfocus::reg_pending_error()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d1cb2cefd3372ade01dfecc204d5caf0"></a><!-- doxytag: member="pqxx::tablewriter::insert" ref="d1cb2cefd3372ade01dfecc204d5caf0" args="(IT Begin, IT End)" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a4028c87ef2895f34a824f09970476e24"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename IT&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::tablewriter::insert           </td>
+          <td class="memname">void pqxx::tablereader::complete </td>
           <td>(</td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>Begin</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>End</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00254.html#l00217">generate()</a>, and <a class="el" href="a00253.html#l00074">write_raw_line()</a>.</p>
+<p>Finish stream action, check for errors, and detach from transaction. </p>
+<p>It is recommended that you call this function before the tablestream's destructor is run. This function will check any final errors which may not become apparent until the transaction is committed otherwise.</p>
+<p>As an added benefit, this will free up the transaction while the tablestream object itself still exists. </p>
 
-<p>Referenced by <a class="el" href="a00254.html#l00236">insert()</a>, <a class="el" href="a00254.html#l00254">operator&lt;&lt;()</a>, and <a class="el" href="a00254.html#l00242">push_back()</a>.</p>
+<p>Implements <a class="el" href="a00102.html#a0241100d03b034b8e7b59201a6a1b88f">pqxx::tablestream</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="47019be71e577fbfd6dda63693fc4c6d"></a><!-- doxytag: member="pqxx::tablewriter::insert" ref="47019be71e577fbfd6dda63693fc4c6d" args="(const TUPLE &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::tablewriter::insert           </td>
-          <td>(</td>
-          <td class="paramtype">const TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00254.html#l00230">insert()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="6e8797176effb221f999f7db7a72c823"></a><!-- doxytag: member="pqxx::tablewriter::push_back" ref="6e8797176effb221f999f7db7a72c823" args="(IT Begin, IT End)" -->
+<a class="anchor" id="aa70c070397bcd38df197b05c33614100"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename IT&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::tablewriter::push_back           </td>
+          <td class="memname">bool pqxx::tablereader::get_raw_line </td>
           <td>(</td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>Begin</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">std::string &amp;&#160;</td>
+          <td class="paramname"><em>Line</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>End</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Read a line of raw, unparsed table data. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Line</td><td>Variable to hold the raw data line read from the table. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Whether a line could be read </dd></dl>
 
-<p>References <a class="el" href="a00254.html#l00230">insert()</a>.</p>
+<p>Referenced by <a class="el" href="a00103.html#a471da19c2f19ee8a205428a8e4c338ed">pqxx::tablewriter::operator&lt;&lt;()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="57b422363e6126946a742ab1814f90a3"></a><!-- doxytag: member="pqxx::tablewriter::push_back" ref="57b422363e6126946a742ab1814f90a3" args="(const TUPLE &amp;)" -->
+</div>
+<a class="anchor" id="a4010de33fe9ec72cbbc19c3dd81c8959"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::tablewriter::push_back           </td>
+          <td class="memname">pqxx::tablereader::operator bool </td>
           <td>(</td>
-          <td class="paramtype">const TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00254.html#l00230">insert()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="2fbc9559232987cab54d30add357a2cb"></a><!-- doxytag: member="pqxx::tablewriter::reserve" ref="2fbc9559232987cab54d30add357a2cb" args="(size_type)" -->
+</div>
+<a class="anchor" id="aae84e7e743e090f9c29220f37074cf40"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::tablewriter::reserve           </td>
+          <td class="memname">bool pqxx::tablereader::operator! </td>
           <td>(</td>
-          <td class="paramtype"><a class="el" href="a00101.html#219cfed40ab2c1858b89e630e140e984">size_type</a>&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="ae6889c1caf9ee296f68ae84ee1453a2"></a><!-- doxytag: member="pqxx::tablewriter::operator&lt;&lt;" ref="ae6889c1caf9ee296f68ae84ee1453a2" args="(const TUPLE &amp;)" -->
+</div>
+<a class="anchor" id="adbb71a08559825b55b801771b6161d56"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
+template&lt;typename TUPLE &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00101.html">tablewriter</a> &amp; pqxx::tablewriter::operator&lt;&lt;           </td>
+          <td class="memname"><a class="el" href="a00101.html">tablereader</a> &amp; pqxx::tablereader::operator&gt;&gt; </td>
           <td>(</td>
-          <td class="paramtype">const TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-
-<p>References <a class="el" href="a00254.html#l00230">insert()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="471da19c2f19ee8a205428a8e4c338ed"></a><!-- doxytag: member="pqxx::tablewriter::operator&lt;&lt;" ref="471da19c2f19ee8a205428a8e4c338ed" args="(tablereader &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00101.html">pqxx::tablewriter</a> &amp; pqxx::tablewriter::operator&lt;&lt;           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00099.html">pqxx::tablereader</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>R</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
 </div>
-<div class="memdoc">
-
-<p>
-Copy table from one database to another. 
-<p>
-
-<p>References <a class="el" href="a00249.html#l00064">pqxx::tablereader::get_raw_line()</a>, and <a class="el" href="a00253.html#l00074">write_raw_line()</a>.</p>
-
 </div>
-</div><p>
-<a class="anchor" name="fc25db49ef4aec1d46b0cdc97304edcd"></a><!-- doxytag: member="pqxx::tablewriter::generate" ref="fc25db49ef4aec1d46b0cdc97304edcd" args="(IT Begin, IT End) const " -->
+<a class="anchor" id="a235d3894806c150e2db680ebe5c766d1"></a>
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename IT&gt; </div>
+template&lt;typename TUPLE &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">std::string pqxx::tablewriter::generate           </td>
+          <td class="memname">void pqxx::tablereader::tokenize </td>
           <td>(</td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>Begin</em>, </td>
+          <td class="paramtype">std::string&#160;</td>
+          <td class="paramname"><em>Line</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">IT&nbsp;</td>
-          <td class="paramname"> <em>End</em></td><td>&nbsp;</td>
+          <td class="paramtype">TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"> const</td>
+          <td></td><td> const</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Translate tuple of data to a string in DBMS-specific format. 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This is definitely not portable between databases. </dd></dl>
-
-<p>References <a class="el" href="a00252.html#l00066">pqxx::tablestream::NullStr()</a>, and <a class="el" href="a00262.html#l00404">pqxx::separated_list()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00254.html#l00224">generate()</a>, and <a class="el" href="a00254.html#l00230">insert()</a>.</p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="2ebcdfd1873322d0c50e5732e7b56252"></a><!-- doxytag: member="pqxx::tablewriter::generate" ref="2ebcdfd1873322d0c50e5732e7b56252" args="(const TUPLE &amp;) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename TUPLE&gt; </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">std::string pqxx::tablewriter::generate           </td>
-          <td>(</td>
-          <td class="paramtype">const TUPLE &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00254.html#l00217">generate()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4dd97d641c5ccb16e2abbeaa2f0a50bc"></a><!-- doxytag: member="pqxx::tablewriter::complete" ref="4dd97d641c5ccb16e2abbeaa2f0a50bc" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::tablewriter::complete           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Finish stream action, check for errors, and detach from <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-It is recommended that you call this function before the tablestream's destructor is run. This function will check any final errors which may not become apparent until the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is committed otherwise.<p>
-As an added benefit, this will free up the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> while the <a class="el" href="a00100.html" title="Base class for streaming data to/from database tables.">tablestream</a> object itself still exists. 
-<p>Implements <a class="el" href="a00100.html#0241100d03b034b8e7b59201a6a1b88f">pqxx::tablestream</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c4b1eaf8b157f40e377cdcaa5d07e233"></a><!-- doxytag: member="pqxx::tablewriter::write_raw_line" ref="c4b1eaf8b157f40e377cdcaa5d07e233" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::tablewriter::write_raw_line           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Line</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Write line of raw data (e.g. obtained from <a class="el" href="a00099.html#a70c070397bcd38df197b05c33614100" title="Read a line of raw, unparsed table data.">tablereader.get_raw_line</a>). 
-<p>
-
-<p>References <a class="el" href="a00258.html#l00068">pqxx::internal::transactionfocus::m_Trans</a>.</p>
-
-<p>Referenced by <a class="el" href="a00254.html#l00230">insert()</a>, and <a class="el" href="a00253.html#l00065">operator&lt;&lt;()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00254.html">tablewriter.hxx</a><li><a class="el" href="a00163.html">tablewriter.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00163_source.html">tablereader.hxx</a></li>
+<li>tablereader.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00101.html">tablereader</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00101.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00101.js
--- 3.1-1.1/doc/html/Reference/a00101.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00101.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,13 @@
+var a00101 =
+[
+    [ "tablereader", "a00101.html#abdaa2d21ae6f3bbb52b8cb6c75870ff5", null ],
+    [ "tablereader", "a00101.html#a07a03ef6630e8e5e0e8103b9b9bce6d5", null ],
+    [ "tablereader", "a00101.html#ad233a53fdc5622adf57f353794a3c62f", null ],
+    [ "~tablereader", "a00101.html#a84da29cd4c12724f74891631ade8f1d5", null ],
+    [ "complete", "a00101.html#a4028c87ef2895f34a824f09970476e24", null ],
+    [ "get_raw_line", "a00101.html#aa70c070397bcd38df197b05c33614100", null ],
+    [ "operator bool", "a00101.html#a4010de33fe9ec72cbbc19c3dd81c8959", null ],
+    [ "operator!", "a00101.html#aae84e7e743e090f9c29220f37074cf40", null ],
+    [ "operator>>", "a00101.html#adbb71a08559825b55b801771b6161d56", null ],
+    [ "tokenize", "a00101.html#a235d3894806c150e2db680ebe5c766d1", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00101.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00101.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00102.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00102.html
--- 3.1-1.1/doc/html/Reference/a00102.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00102.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,189 +1,356 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::thread_safety_model Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::tablestream Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00102.html">thread_safety_model</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00102.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
+<a href="a00288.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::tablestream Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::thread_safety_model Struct Reference</h1><!-- doxytag: class="pqxx::thread_safety_model" -->Descriptor of library's thread-safety model.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-
-<p>
-<a href="a00652.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#c9720d695f70efb40cb3c5967208f2ef">have_strerror_r</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Does standard C library offer <code>strerror_r</code>?  <a href="#c9720d695f70efb40cb3c5967208f2ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#3fe3fa8e530712e5228d2b5379871540">safe_libpq</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the underlying libpq build thread-safe?  <a href="#3fe3fa8e530712e5228d2b5379871540"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#ce2546ec39e30e8793cc4a296216f259">safe_query_cancel</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is canceling queries thread-safe?  <a href="#ce2546ec39e30e8793cc4a296216f259"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#db5c47ea21c35c73432de0d0b7e80bdb">safe_result_copy</a></td></tr>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Are copies of <a class="el" href="a00076.html" title="Query or command result set.">pqxx::result</a> and <a class="el" href="a00010.html">pqxx::binarystring</a> objects thread-safe?  <a href="#db5c47ea21c35c73432de0d0b7e80bdb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#be3528c0d2e42d6e98d80f0b45d79002">safe_kerberos</a></td></tr>
+<p>Base class for streaming data to/from database tables.  
+ <a href="a00102.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is Kerberos thread-safe?  <a href="#be3528c0d2e42d6e98d80f0b45d79002"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#791d4d9e3c9955a848be805d5ba28b0f">description</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A human-readable description of any thread-safety issues.  <a href="#791d4d9e3c9955a848be805d5ba28b0f"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00165_source.html">tablestream.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::tablestream:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00102.png" usemap="#pqxx::tablestream_map" alt=""/>
+  <map id="pqxx::tablestream_map" name="pqxx::tablestream_map">
+<area href="a00108.html" alt="pqxx::internal::transactionfocus" shape="rect" coords="97,56,281,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="97,0,281,24"/>
+<area href="a00101.html" title="Efficiently pull data directly out of a table." alt="pqxx::tablereader" shape="rect" coords="0,168,184,192"/>
+<area href="a00103.html" title="Efficiently write data directly to a database table." alt="pqxx::tablewriter" shape="rect" coords="194,168,378,192"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5cfaacb3b52d957c8df94b91f3f1fe40"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a5cfaacb3b52d957c8df94b91f3f1fe40">tablestream</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;Trans, const std::string &amp;Null=std::string())</td></tr>
+<tr class="memitem:a6d024cd5f02bb5c2a6eb00ca11bde772"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a6d024cd5f02bb5c2a6eb00ca11bde772">~tablestream</a> ()=0  throw ()</td></tr>
+<tr class="memitem:a0241100d03b034b8e7b59201a6a1b88f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a0241100d03b034b8e7b59201a6a1b88f">complete</a> ()=0</td></tr>
+<tr class="memdesc:a0241100d03b034b8e7b59201a6a1b88f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish stream action, check for errors, and detach from transaction.  <a href="#a0241100d03b034b8e7b59201a6a1b88f"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:ac1ad1a201cacde2cd35182dd3bfb66fa inherit pub_methods_a00108"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t)</td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:afdac33bb17371652a6328b689d29a411"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#afdac33bb17371652a6328b689d29a411">NullStr</a> () const </td></tr>
+<tr class="memitem:a48f61b76226df70a8eaa334b6f53575a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a48f61b76226df70a8eaa334b6f53575a">is_finished</a> () const   throw ()</td></tr>
+<tr class="memitem:a8206b4b9b8dc8139e7b9be97d3c91d95"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a8206b4b9b8dc8139e7b9be97d3c91d95">base_close</a> ()</td></tr>
+<tr class="inherit_header pro_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a267f75f541c85a38605fb6b8c66d1e0a inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a267f75f541c85a38605fb6b8c66d1e0a">register_me</a> ()</td></tr>
+<tr class="memitem:a53309d8e6bb85774cb16bf6a340cb558 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a53309d8e6bb85774cb16bf6a340cb558">unregister_me</a> ()  throw ()</td></tr>
+<tr class="memitem:adae9df5aee401ccb6f1d77024d524322 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#adae9df5aee401ccb6f1d77024d524322">reg_pending_error</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memitem:a474a6ca017e7a313bc33e7b2b5a2d1d7 inherit pro_methods_a00108"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a474a6ca017e7a313bc33e7b2b5a2d1d7">registered</a> () const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae36c9e2bd18b6ed8a6c942ba616154b2"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:ae36c9e2bd18b6ed8a6c942ba616154b2"><td class="memTemplItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">columnlist</a> (ITER colbegin, ITER colend)</td></tr>
+<tr class="memdesc:ae36c9e2bd18b6ed8a6c942ba616154b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a comma-separated column list from given sequence.  <a href="#ae36c9e2bd18b6ed8a6c942ba616154b2"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a9924dff8ce3203ca9fb9e584800ef9f4 inherit pro_attribs_a00108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Descriptor of library's thread-safety model. 
-<p>
-This describes what the library knows about various risks to thread-safety. <hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="c9720d695f70efb40cb3c5967208f2ef"></a><!-- doxytag: member="pqxx::thread_safety_model::have_strerror_r" ref="c9720d695f70efb40cb3c5967208f2ef" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Base class for streaming data to/from database tables. </p>
+<p>A Tablestream enables optimized batch read or write access to a database table using PostgreSQL's <code>COPY TO STDOUT</code> and <code>COPY FROM STDIN</code> commands, respectively. These capabilities are implemented by its subclasses tablereader and tablewriter.</p>
+<p>A Tablestream exists in the context of a transaction, and no other streams or queries may be applied to that transaction as long as the stream remains open. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5cfaacb3b52d957c8df94b91f3f1fe40"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00102.html#c9720d695f70efb40cb3c5967208f2ef">pqxx::thread_safety_model::have_strerror_r</a>          </td>
+          <td class="memname">pqxx::tablestream::tablestream </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>Trans</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Null</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00102.html#a5cfaacb3b52d957c8df94b91f3f1fe40">tablestream()</a>.</p>
 
-<p>
-Does standard C library offer <code>strerror_r</code>? 
-<p>
-If not, its <code>strerror</code> implementation may still be thread-safe. Check your compiler's manual.<p>
-Without <code>strerror_r</code> or a thread-safe <code>strerror</code>, the library can't safely obtain descriptions of certain run-time errors. In that case, your application must serialize all use of libpqxx. 
-<p>Referenced by <a class="el" href="a00261.html#l00057">pqxx::describe_thread_safety()</a>.</p>
+<p>Referenced by <a class="el" href="a00102.html#a5cfaacb3b52d957c8df94b91f3f1fe40">tablestream()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="3fe3fa8e530712e5228d2b5379871540"></a><!-- doxytag: member="pqxx::thread_safety_model::safe_libpq" ref="3fe3fa8e530712e5228d2b5379871540" args="" -->
+</div>
+<a class="anchor" id="a6d024cd5f02bb5c2a6eb00ca11bde772"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00102.html#3fe3fa8e530712e5228d2b5379871540">pqxx::thread_safety_model::safe_libpq</a>          </td>
+          <td class="memname">pqxx::tablestream::~tablestream </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is the underlying libpq build thread-safe? 
-<p>
-A <code>"false"</code> here may mean one of two things: either the libpq build is not thread-safe, or it is a thread-safe build of an older version that did not offer thread-safety information.<p>
-In that case, the best fix is to rebuild libpqxx against (a thread-safe build of) a newer libpq version. 
-<p>Referenced by <a class="el" href="a00261.html#l00057">pqxx::describe_thread_safety()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="ce2546ec39e30e8793cc4a296216f259"></a><!-- doxytag: member="pqxx::thread_safety_model::safe_query_cancel" ref="ce2546ec39e30e8793cc4a296216f259" args="" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a8206b4b9b8dc8139e7b9be97d3c91d95"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00102.html#ce2546ec39e30e8793cc4a296216f259">pqxx::thread_safety_model::safe_query_cancel</a>          </td>
+          <td class="memname">void pqxx::tablestream::base_close </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is canceling queries thread-safe? 
-<p>
-If not, avoid use of the <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pqxx::pipeline</a> class in threaded programs. Or better, rebuild libpqxx against a newer libpq version. 
-<p>Referenced by <a class="el" href="a00261.html#l00057">pqxx::describe_thread_safety()</a>.</p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="db5c47ea21c35c73432de0d0b7e80bdb"></a><!-- doxytag: member="pqxx::thread_safety_model::safe_result_copy" ref="db5c47ea21c35c73432de0d0b7e80bdb" args="" -->
+</div>
+<a class="anchor" id="ae36c9e2bd18b6ed8a6c942ba616154b2"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename ITER &gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00102.html#db5c47ea21c35c73432de0d0b7e80bdb">pqxx::thread_safety_model::safe_result_copy</a>          </td>
+          <td class="memname">std::string pqxx::tablestream::columnlist </td>
+          <td>(</td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>colbegin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>colend</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct a comma-separated column list from given sequence. </p>
 
-<p>
-Are copies of <a class="el" href="a00076.html" title="Query or command result set.">pqxx::result</a> and <a class="el" href="a00010.html">pqxx::binarystring</a> objects thread-safe? 
-<p>
-If <code>true</code>, it's safe to copy an object of either of these types (copying these is done very efficiently, so don't worry about data size) and hand the copy off to another thread. The other thread may access the copy freely without any concurrency concerns. 
-<p>Referenced by <a class="el" href="a00261.html#l00057">pqxx::describe_thread_safety()</a>.</p>
+<p>References <a class="el" href="a00174.html#ad97fec1db4afab602cfcf189109df23b">pqxx::separated_list()</a>.</p>
 
+<p>Referenced by <a class="el" href="a00101.html#a07a03ef6630e8e5e0e8103b9b9bce6d5">pqxx::tablereader::tablereader()</a>, and <a class="el" href="a00103.html#a0cba43b103518b8e01c4d2f099a6d6dd">pqxx::tablewriter::tablewriter()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<a class="anchor" name="be3528c0d2e42d6e98d80f0b45d79002"></a><!-- doxytag: member="pqxx::thread_safety_model::safe_kerberos" ref="be3528c0d2e42d6e98d80f0b45d79002" args="" -->
+<a class="anchor" id="a0241100d03b034b8e7b59201a6a1b88f"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool <a class="el" href="a00102.html#be3528c0d2e42d6e98d80f0b45d79002">pqxx::thread_safety_model::safe_kerberos</a>          </td>
+          <td class="memname">virtual void pqxx::tablestream::complete </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Finish stream action, check for errors, and detach from transaction. </p>
+<p>It is recommended that you call this function before the tablestream's destructor is run. This function will check for any final errors which may not become apparent until the transaction is committed otherwise.</p>
+<p>As an added benefit, this will free up the transaction while the tablestream object itself still exists. </p>
 
-<p>
-Is Kerberos thread-safe? 
-<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Is currently always <code>false</code>.</dd></dl>
-If your application uses Kerberos, all accesses to libpqxx or Kerberos must be serialized. Confine their use to a single thread, or protect it with a global lock. 
-<p>Referenced by <a class="el" href="a00261.html#l00057">pqxx::describe_thread_safety()</a>.</p>
+<p>Implemented in <a class="el" href="a00103.html#a4dd97d641c5ccb16e2abbeaa2f0a50bc">pqxx::tablewriter</a>, and <a class="el" href="a00101.html#a4028c87ef2895f34a824f09970476e24">pqxx::tablereader</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="791d4d9e3c9955a848be805d5ba28b0f"></a><!-- doxytag: member="pqxx::thread_safety_model::description" ref="791d4d9e3c9955a848be805d5ba28b0f" args="" -->
+</div>
+<a class="anchor" id="a48f61b76226df70a8eaa334b6f53575a"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">std ::string <a class="el" href="a00102.html#791d4d9e3c9955a848be805d5ba28b0f">pqxx::thread_safety_model::description</a>          </td>
+          <td class="memname">bool pqxx::tablestream::is_finished </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
-A human-readable description of any thread-safety issues. 
-<p>
+</div>
+</div>
+<a class="anchor" id="afdac33bb17371652a6328b689d29a411"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string&amp; pqxx::tablestream::NullStr </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00261.html#l00057">pqxx::describe_thread_safety()</a>.</p>
+<p>Referenced by <a class="el" href="a00103.html#a3f3bbf204195b04a00ea942c5f298c94">pqxx::tablewriter::generate()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00165_source.html">tablestream.hxx</a></li>
+<li>tablestream.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00102.html">tablestream</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00102.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00102.js
--- 3.1-1.1/doc/html/Reference/a00102.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00102.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,10 @@
+var a00102 =
+[
+    [ "tablestream", "a00102.html#a5cfaacb3b52d957c8df94b91f3f1fe40", null ],
+    [ "~tablestream", "a00102.html#a6d024cd5f02bb5c2a6eb00ca11bde772", null ],
+    [ "base_close", "a00102.html#a8206b4b9b8dc8139e7b9be97d3c91d95", null ],
+    [ "columnlist", "a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2", null ],
+    [ "complete", "a00102.html#a0241100d03b034b8e7b59201a6a1b88f", null ],
+    [ "is_finished", "a00102.html#a48f61b76226df70a8eaa334b6f53575a", null ],
+    [ "NullStr", "a00102.html#afdac33bb17371652a6328b689d29a411", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00102.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00102.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00103.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00103.html
--- 3.1-1.1/doc/html/Reference/a00103.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00103.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,80 +1,605 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::too_many_connections Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::tablewriter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00103.html">too_many_connections</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00103.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00289.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::tablewriter Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::too_many_connections Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::too_many_connections" --><!-- doxytag: inherits="pqxx::broken_connection" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p>Efficiently write data directly to a database table.  
+ <a href="a00103.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00167_source.html">tablewriter.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::too_many_connections:</div>
-<div class="dynsection">
-<p><center><img src="a00562.png" border="0" usemap="#a00563" alt="Inheritance graph"></center>
-<map name="a00563">
-<area shape="rect" href="a00011.html" title="Exception class for lost or failed backend connection." alt="" coords="20,161,199,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="60,84,159,111"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="31,7,188,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00564.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#d613a4a06c35fc29cdb838427250d727">too_many_connections</a> (const std::string &amp;err)</td></tr>
+Inheritance diagram for pqxx::tablewriter:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00103.png" usemap="#pqxx::tablewriter_map" alt=""/>
+  <map id="pqxx::tablewriter_map" name="pqxx::tablewriter_map">
+<area href="a00102.html" title="Base class for streaming data to/from database tables." alt="pqxx::tablestream" shape="rect" coords="0,112,184,136"/>
+<area href="a00108.html" alt="pqxx::internal::transactionfocus" shape="rect" coords="0,56,184,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,184,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a219cfed40ab2c1858b89e630e140e984"><td class="memItemLeft" align="right" valign="top">typedef unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#a219cfed40ab2c1858b89e630e140e984">size_type</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af491ceeea1fb81f185c4460176ef594a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#af491ceeea1fb81f185c4460176ef594a">tablewriter</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;WName, const std::string &amp;Null=std::string())</td></tr>
+<tr class="memitem:a0cba43b103518b8e01c4d2f099a6d6dd"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:a0cba43b103518b8e01c4d2f099a6d6dd"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#a0cba43b103518b8e01c4d2f099a6d6dd">tablewriter</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;, const std::string &amp;WName, ITER begincolumns, ITER endcolumns)</td></tr>
+<tr class="memdesc:a0cba43b103518b8e01c4d2f099a6d6dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write only the given sequence of columns.  <a href="#a0cba43b103518b8e01c4d2f099a6d6dd"></a><br/></td></tr>
+<tr class="memitem:af975d6cde30bbff394e88229448d8019"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:af975d6cde30bbff394e88229448d8019"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#af975d6cde30bbff394e88229448d8019">tablewriter</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;T, const std::string &amp;WName, ITER begincolumns, ITER endcolumns, const std::string &amp;Null)</td></tr>
+<tr class="memdesc:af975d6cde30bbff394e88229448d8019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write only the given sequence of columns, with customized "null" string.  <a href="#af975d6cde30bbff394e88229448d8019"></a><br/></td></tr>
+<tr class="memitem:a3332310804e226da6d83c33f932290cc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#a3332310804e226da6d83c33f932290cc">~tablewriter</a> ()  throw ()</td></tr>
+<tr class="memitem:a4cf8a6eb3e06f010ab153666d645d6d1"><td class="memTemplParams" colspan="2">template&lt;typename IT &gt; </td></tr>
+<tr class="memitem:a4cf8a6eb3e06f010ab153666d645d6d1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert</a> (IT Begin, IT End)</td></tr>
+<tr class="memitem:a0a312200fceabbd9b81c3db4169e06ec"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:a0a312200fceabbd9b81c3db4169e06ec"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#a0a312200fceabbd9b81c3db4169e06ec">insert</a> (const TUPLE &amp;)</td></tr>
+<tr class="memitem:aa77830abd7d255e513940092e68bcbb0"><td class="memTemplParams" colspan="2">template&lt;typename IT &gt; </td></tr>
+<tr class="memitem:aa77830abd7d255e513940092e68bcbb0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#aa77830abd7d255e513940092e68bcbb0">push_back</a> (IT Begin, IT End)</td></tr>
+<tr class="memitem:a6686c385a22f6790a1962584a1b09d79"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:a6686c385a22f6790a1962584a1b09d79"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#a6686c385a22f6790a1962584a1b09d79">push_back</a> (const TUPLE &amp;)</td></tr>
+<tr class="memitem:a2fbc9559232987cab54d30add357a2cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#a2fbc9559232987cab54d30add357a2cb">reserve</a> (<a class="el" href="a00103.html#a219cfed40ab2c1858b89e630e140e984">size_type</a>)</td></tr>
+<tr class="memitem:ab99429233e750f61fac91dbb205c6676"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:ab99429233e750f61fac91dbb205c6676"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00103.html">tablewriter</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#ab99429233e750f61fac91dbb205c6676">operator&lt;&lt;</a> (const TUPLE &amp;)</td></tr>
+<tr class="memitem:a471da19c2f19ee8a205428a8e4c338ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00103.html">tablewriter</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#a471da19c2f19ee8a205428a8e4c338ed">operator&lt;&lt;</a> (<a class="el" href="a00101.html">tablereader</a> &amp;)</td></tr>
+<tr class="memdesc:a471da19c2f19ee8a205428a8e4c338ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy table from one database to another.  <a href="#a471da19c2f19ee8a205428a8e4c338ed"></a><br/></td></tr>
+<tr class="memitem:a3f3bbf204195b04a00ea942c5f298c94"><td class="memTemplParams" colspan="2">template&lt;typename IT &gt; </td></tr>
+<tr class="memitem:a3f3bbf204195b04a00ea942c5f298c94"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#a3f3bbf204195b04a00ea942c5f298c94">generate</a> (IT Begin, IT End) const </td></tr>
+<tr class="memdesc:a3f3bbf204195b04a00ea942c5f298c94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate tuple of data to a string in DBMS-specific format.  <a href="#a3f3bbf204195b04a00ea942c5f298c94"></a><br/></td></tr>
+<tr class="memitem:aff6a89343e60c12a55b1d6e6346b6dc2"><td class="memTemplParams" colspan="2">template&lt;typename TUPLE &gt; </td></tr>
+<tr class="memitem:aff6a89343e60c12a55b1d6e6346b6dc2"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00103.html#aff6a89343e60c12a55b1d6e6346b6dc2">generate</a> (const TUPLE &amp;) const </td></tr>
+<tr class="memitem:a4dd97d641c5ccb16e2abbeaa2f0a50bc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#a4dd97d641c5ccb16e2abbeaa2f0a50bc">complete</a> ()</td></tr>
+<tr class="memdesc:a4dd97d641c5ccb16e2abbeaa2f0a50bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finish stream action, check for errors, and detach from transaction.  <a href="#a4dd97d641c5ccb16e2abbeaa2f0a50bc"></a><br/></td></tr>
+<tr class="memitem:ac4b1eaf8b157f40e377cdcaa5d07e233"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html#ac4b1eaf8b157f40e377cdcaa5d07e233">write_raw_line</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:ac4b1eaf8b157f40e377cdcaa5d07e233"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write line of raw data (e.g. obtained from <a class="el" href="a00101.html#aa70c070397bcd38df197b05c33614100" title="Read a line of raw, unparsed table data.">tablereader.get_raw_line</a>).  <a href="#ac4b1eaf8b157f40e377cdcaa5d07e233"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00102"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00102')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00102.html">pqxx::tablestream</a></td></tr>
+<tr class="memitem:a5cfaacb3b52d957c8df94b91f3f1fe40 inherit pub_methods_a00102"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a5cfaacb3b52d957c8df94b91f3f1fe40">tablestream</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;Trans, const std::string &amp;Null=std::string())</td></tr>
+<tr class="memitem:a6d024cd5f02bb5c2a6eb00ca11bde772 inherit pub_methods_a00102"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a6d024cd5f02bb5c2a6eb00ca11bde772">~tablestream</a> ()=0  throw ()</td></tr>
+<tr class="inherit_header pub_methods_a00108"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00108')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:ac1ad1a201cacde2cd35182dd3bfb66fa inherit pub_methods_a00108"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t)</td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00102"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00102')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00102.html">pqxx::tablestream</a></td></tr>
+<tr class="memitem:afdac33bb17371652a6328b689d29a411 inherit pro_methods_a00102"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#afdac33bb17371652a6328b689d29a411">NullStr</a> () const </td></tr>
+<tr class="memitem:a48f61b76226df70a8eaa334b6f53575a inherit pro_methods_a00102"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a48f61b76226df70a8eaa334b6f53575a">is_finished</a> () const   throw ()</td></tr>
+<tr class="memitem:a8206b4b9b8dc8139e7b9be97d3c91d95 inherit pro_methods_a00102"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html#a8206b4b9b8dc8139e7b9be97d3c91d95">base_close</a> ()</td></tr>
+<tr class="inherit_header pro_static_methods_a00102"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00102')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00102.html">pqxx::tablestream</a></td></tr>
+<tr class="memitem:ae36c9e2bd18b6ed8a6c942ba616154b2 inherit pro_static_methods_a00102"><td class="memTemplParams" colspan="2">template&lt;typename ITER &gt; </td></tr>
+<tr class="memitem:ae36c9e2bd18b6ed8a6c942ba616154b2"><td class="memTemplItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">columnlist</a> (ITER colbegin, ITER colend)</td></tr>
+<tr class="memdesc:ae36c9e2bd18b6ed8a6c942ba616154b2 inherit pro_static_methods_a00102"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a comma-separated column list from given sequence.  <a href="#ae36c9e2bd18b6ed8a6c942ba616154b2"></a><br/></td></tr>
+<tr class="inherit_header pro_attribs_a00108"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00108')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00108.html">pqxx::internal::transactionfocus</a></td></tr>
+<tr class="memitem:a9924dff8ce3203ca9fb9e584800ef9f4 inherit pro_attribs_a00108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Efficiently write data directly to a database table. </p>
+<p>A tablewriter provides a Spartan but efficient way of writing data tuples into a table. It provides a plethora of STL-like insertion methods: it has <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a> methods, <a class="el" href="a00103.html#aa77830abd7d255e513940092e68bcbb0">push_back()</a>, as well as an overloaded insertion operator (<code>&lt;&lt;</code>), and it supports inserters created by std::back_inserter(). All of these are templatized so you can use any container type or iterator range to feed tuples into the table.</p>
+<p>Note that in each case, a container or range represents the fields of a single tuple&ndash;not a collection of tuples. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a219cfed40ab2c1858b89e630e140e984"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef unsigned <a class="el" href="a00103.html#a219cfed40ab2c1858b89e630e140e984">pqxx::tablewriter::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="af491ceeea1fb81f185c4460176ef594a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::tablewriter::tablewriter </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>WName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Null</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a0cba43b103518b8e01c4d2f099a6d6dd"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ITER &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::tablewriter::tablewriter </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>WName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>begincolumns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>endcolumns</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write only the given sequence of columns. </p>
+<dl class="section since"><dt>Since</dt><dd>PostgreSQL backend 7.3.</dd></dl>
+<p>This constructor takes a sequence of names of columns to write to. Only those columns will be written, and they will be taken from your input data in that order. </p>
+
+<p>References <a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">pqxx::tablestream::columnlist()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af975d6cde30bbff394e88229448d8019"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename ITER &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::tablewriter::tablewriter </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>T</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>WName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>begincolumns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ITER&#160;</td>
+          <td class="paramname"><em>endcolumns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Null</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Write only the given sequence of columns, with customized "null" string. </p>
+<dl class="section since"><dt>Since</dt><dd>PostgreSQL backend 7.3.</dd></dl>
+<p>This constructor takes a sequence of names of columns to write to. Only those columns will be written, and they will be taken from your input data in that order.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>The transaction that this tablewriter will operate on. </td></tr>
+    <tr><td class="paramname">WName</td><td>A name for this table writer, to help with debugging. </td></tr>
+    <tr><td class="paramname">begincolumns</td><td>Beginning of a sequence of names of columns to write. </td></tr>
+    <tr><td class="paramname">endcolumns</td><td>End of a sequence of names of columns to write. </td></tr>
+    <tr><td class="paramname">Null</td><td>The string that is used in your input data to denote null. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00102.html#ae36c9e2bd18b6ed8a6c942ba616154b2">pqxx::tablestream::columnlist()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3332310804e226da6d83c33f932290cc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::tablewriter::~tablewriter </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a4dd97d641c5ccb16e2abbeaa2f0a50bc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::complete </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d613a4a06c35fc29cdb838427250d727"></a><!-- doxytag: member="pqxx::too_many_connections::too_many_connections" ref="d613a4a06c35fc29cdb838427250d727" args="(const std::string &amp;err)" -->
+</div><div class="memdoc">
+
+<p>Finish stream action, check for errors, and detach from transaction. </p>
+<p>It is recommended that you call this function before the tablestream's destructor is run. This function will check any final errors which may not become apparent until the transaction is committed otherwise.</p>
+<p>As an added benefit, this will free up the transaction while the tablestream object itself still exists. </p>
+
+<p>Implements <a class="el" href="a00102.html#a0241100d03b034b8e7b59201a6a1b88f">pqxx::tablestream</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3f3bbf204195b04a00ea942c5f298c94"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename IT &gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::too_many_connections::too_many_connections           </td>
+          <td class="memname">std::string pqxx::tablewriter::generate </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>Begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>End</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Translate tuple of data to a string in DBMS-specific format. </p>
+<dl class="section warning"><dt>Warning</dt><dd>This is definitely not portable between databases. </dd></dl>
+
+<p>References <a class="el" href="a00102.html#afdac33bb17371652a6328b689d29a411">pqxx::tablestream::NullStr()</a>, and <a class="el" href="a00174.html#ad97fec1db4afab602cfcf189109df23b">pqxx::separated_list()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00103.html#aff6a89343e60c12a55b1d6e6346b6dc2">generate()</a>, and <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aff6a89343e60c12a55b1d6e6346b6dc2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TUPLE &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string pqxx::tablewriter::generate </td>
+          <td>(</td>
+          <td class="paramtype">const TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00103.html#a3f3bbf204195b04a00ea942c5f298c94">generate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4cf8a6eb3e06f010ab153666d645d6d1"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename IT &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::insert </td>
+          <td>(</td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>Begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>End</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00103.html#a3f3bbf204195b04a00ea942c5f298c94">generate()</a>, and <a class="el" href="a00103.html#ac4b1eaf8b157f40e377cdcaa5d07e233">write_raw_line()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00103.html#a0a312200fceabbd9b81c3db4169e06ec">insert()</a>, <a class="el" href="a00103.html#ab99429233e750f61fac91dbb205c6676">operator&lt;&lt;()</a>, and <a class="el" href="a00103.html#aa77830abd7d255e513940092e68bcbb0">push_back()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0a312200fceabbd9b81c3db4169e06ec"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TUPLE &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::insert </td>
+          <td>(</td>
+          <td class="paramtype">const TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab99429233e750f61fac91dbb205c6676"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TUPLE &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00103.html">tablewriter</a> &amp; pqxx::tablewriter::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype">const TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a471da19c2f19ee8a205428a8e4c338ed"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00103.html">pqxx::tablewriter</a> &amp; pqxx::tablewriter::operator&lt;&lt; </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00101.html">pqxx::tablereader</a> &amp;&#160;</td>
+          <td class="paramname"><em>R</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Copy table from one database to another. </p>
+
+<p>References <a class="el" href="a00101.html#aa70c070397bcd38df197b05c33614100">pqxx::tablereader::get_raw_line()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa77830abd7d255e513940092e68bcbb0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename IT &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::push_back </td>
+          <td>(</td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>Begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IT&#160;</td>
+          <td class="paramname"><em>End</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6686c385a22f6790a1962584a1b09d79"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TUPLE &gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::push_back </td>
+          <td>(</td>
+          <td class="paramtype">const TUPLE &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2fbc9559232987cab54d30add357a2cb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::reserve </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00103.html#a219cfed40ab2c1858b89e630e140e984">size_type</a>&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ac4b1eaf8b157f40e377cdcaa5d07e233"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::tablewriter::write_raw_line </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Line</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
+<p>Write line of raw data (e.g. obtained from <a class="el" href="a00101.html#aa70c070397bcd38df197b05c33614100" title="Read a line of raw, unparsed table data.">tablereader.get_raw_line</a>). </p>
+
+<p>Referenced by <a class="el" href="a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1">insert()</a>.</p>
+
+</div>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00167_source.html">tablewriter.hxx</a></li>
+<li>tablewriter.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00103.html">tablewriter</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:52 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00103.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00103.js
--- 3.1-1.1/doc/html/Reference/a00103.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00103.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,19 @@
+var a00103 =
+[
+    [ "size_type", "a00103.html#a219cfed40ab2c1858b89e630e140e984", null ],
+    [ "tablewriter", "a00103.html#af491ceeea1fb81f185c4460176ef594a", null ],
+    [ "tablewriter", "a00103.html#a0cba43b103518b8e01c4d2f099a6d6dd", null ],
+    [ "tablewriter", "a00103.html#af975d6cde30bbff394e88229448d8019", null ],
+    [ "~tablewriter", "a00103.html#a3332310804e226da6d83c33f932290cc", null ],
+    [ "complete", "a00103.html#a4dd97d641c5ccb16e2abbeaa2f0a50bc", null ],
+    [ "generate", "a00103.html#a3f3bbf204195b04a00ea942c5f298c94", null ],
+    [ "generate", "a00103.html#aff6a89343e60c12a55b1d6e6346b6dc2", null ],
+    [ "insert", "a00103.html#a4cf8a6eb3e06f010ab153666d645d6d1", null ],
+    [ "insert", "a00103.html#a0a312200fceabbd9b81c3db4169e06ec", null ],
+    [ "operator<<", "a00103.html#ab99429233e750f61fac91dbb205c6676", null ],
+    [ "operator<<", "a00103.html#a471da19c2f19ee8a205428a8e4c338ed", null ],
+    [ "push_back", "a00103.html#aa77830abd7d255e513940092e68bcbb0", null ],
+    [ "push_back", "a00103.html#a6686c385a22f6790a1962584a1b09d79", null ],
+    [ "reserve", "a00103.html#a2fbc9559232987cab54d30add357a2cb", null ],
+    [ "write_raw_line", "a00103.html#ac4b1eaf8b157f40e377cdcaa5d07e233", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00103.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00103.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00104.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00104.html
--- 3.1-1.1/doc/html/Reference/a00104.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00104.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,205 +1,219 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::thread_safety_model Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00104.html">transaction</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00104.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="a00294.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::thread_safety_model Struct Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt; Class Template Reference<br>
-<small>
-[<a class="el" href="a00199.html">Transaction classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::transaction" --><!-- doxytag: inherits="pqxx::basic_transaction" -->Standard back-end <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, templatized on isolation level.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00256.html">transaction.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;:</div>
-<div class="dynsection">
-<p><center><img src="a00645.png" border="0" usemap="#a00646" alt="Inheritance graph"></center>
-<map name="a00646">
-<area shape="rect" href="a00009.html" title="pqxx::basic_transaction" alt="" coords="93,238,264,265"><area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="105,161,252,188"><area shape="rect" href="a00105.html" title="pqxx::transaction_base" alt="" coords="95,84,263,110"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="83,6,275,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00647.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00048.html">isolation_traits</a><br>
-&lt; ISOLATIONLEVEL &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#01e7ecea76d7d12c295e6979759eb754">isolation_tag</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#01e7ecea76d7d12c295e6979759eb754"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#5ad879f746d13f51e469c67665b5d3f9">transaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C, const std::string &amp;TName)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#5ad879f746d13f51e469c67665b5d3f9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#664bdb9c889f946c162cac14bdbe6b7b">transaction</a> (<a class="el" href="a00020.html">connection_base</a> &amp;C)</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#028f5dc23672e38c82a8fd91cd4e4ee0">~transaction</a> ()  throw ()</td></tr>
+<p>Descriptor of library's thread-safety model.  
+ <a href="a00104.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ac9720d695f70efb40cb3c5967208f2ef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#ac9720d695f70efb40cb3c5967208f2ef">have_strerror_r</a></td></tr>
+<tr class="memdesc:ac9720d695f70efb40cb3c5967208f2ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does standard C library offer <code>strerror_r</code>?  <a href="#ac9720d695f70efb40cb3c5967208f2ef"></a><br/></td></tr>
+<tr class="memitem:a3fe3fa8e530712e5228d2b5379871540"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#a3fe3fa8e530712e5228d2b5379871540">safe_libpq</a></td></tr>
+<tr class="memdesc:a3fe3fa8e530712e5228d2b5379871540"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the underlying libpq build thread-safe?  <a href="#a3fe3fa8e530712e5228d2b5379871540"></a><br/></td></tr>
+<tr class="memitem:ace2546ec39e30e8793cc4a296216f259"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#ace2546ec39e30e8793cc4a296216f259">safe_query_cancel</a></td></tr>
+<tr class="memdesc:ace2546ec39e30e8793cc4a296216f259"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is canceling queries thread-safe?  <a href="#ace2546ec39e30e8793cc4a296216f259"></a><br/></td></tr>
+<tr class="memitem:adb5c47ea21c35c73432de0d0b7e80bdb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#adb5c47ea21c35c73432de0d0b7e80bdb">safe_result_copy</a></td></tr>
+<tr class="memdesc:adb5c47ea21c35c73432de0d0b7e80bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Are copies of <a class="el" href="a00084.html" title="Query or command result set.">pqxx::result</a> and <a class="el" href="a00013.html">pqxx::binarystring</a> objects thread-safe?  <a href="#adb5c47ea21c35c73432de0d0b7e80bdb"></a><br/></td></tr>
+<tr class="memitem:abe3528c0d2e42d6e98d80f0b45d79002"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#abe3528c0d2e42d6e98d80f0b45d79002">safe_kerberos</a></td></tr>
+<tr class="memdesc:abe3528c0d2e42d6e98d80f0b45d79002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is Kerberos thread-safe?  <a href="#abe3528c0d2e42d6e98d80f0b45d79002"></a><br/></td></tr>
+<tr class="memitem:adddd2eaf6dbc5feca29ce00f91b4d648"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html#adddd2eaf6dbc5feca29ce00f91b4d648">description</a></td></tr>
+<tr class="memdesc:adddd2eaf6dbc5feca29ce00f91b4d648"><td class="mdescLeft">&#160;</td><td class="mdescRight">A human-readable description of any thread-safety issues.  <a href="#adddd2eaf6dbc5feca29ce00f91b4d648"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt;<br>
- class pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;</h3>
-
-Standard back-end <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, templatized on isolation level. 
-<p>
-This is the type you'll normally want to use to represent a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> on the database.<p>
-While you may choose to create your own <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> object to interface to the database backend, it is recommended that you wrap your <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> code into a <a class="el" href="a00107.html">transactor</a> code instead and let the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> be created for you. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00169.html">pqxx/transactor.hxx</a></dd></dl>
-If you should find that using a <a class="el" href="a00107.html">transactor</a> makes your code less portable or too complex, go ahead, create your own <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> anyway.<p>
-Usage example: double all wages<p>
-<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="a00197.html#g26edb910e4563d1115e22c627914e98b" title="The &amp;quot;standard&amp;quot; connection type: connect to database right now.">connection</a> C;
- <a class="code" href="a00199.html#g82685329d6fd91f5ab30772d266fe5f0" title="Bog-standard, default transaction type.">work</a> T(C);
- <span class="keywordflow">try</span>
- {
-   T.exec(<span class="stringliteral">"UPDATE employees SET wage=wage*2"</span>);
-   T.commit();  <span class="comment">// NOTE: do this inside try block</span>
- }
- <span class="keywordflow">catch</span> (<span class="keyword">const</span> exception &amp;e)
- {
-   cerr &lt;&lt; e.what() &lt;&lt; endl;
-   T.abort();           <span class="comment">// Usually not needed; same happens when T's life ends.</span>
- }
-</pre></div> <hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="01e7ecea76d7d12c295e6979759eb754"></a><!-- doxytag: member="pqxx::transaction::isolation_tag" ref="01e7ecea76d7d12c295e6979759eb754" args="" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Descriptor of library's thread-safety model. </p>
+<p>This describes what the library knows about various risks to thread-safety. </p>
+</div><h2>Member Data Documentation</h2>
+<a class="anchor" id="adddd2eaf6dbc5feca29ce00f91b4d648"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">typedef <a class="el" href="a00048.html">isolation_traits</a>&lt;ISOLATIONLEVEL&gt; <a class="el" href="a00104.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::<a class="el" href="a00048.html">isolation_tag</a>          </td>
+          <td class="memname">std::string pqxx::thread_safety_model::description</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-If nothing else is known, our isolation level is at least read_committed. 
-<p>
+<p>A human-readable description of any thread-safety issues. </p>
 
-<p>Reimplemented from <a class="el" href="a00105.html#f5e1900b64239bac292f5505f7799654">pqxx::transaction_base</a>.</p>
+<p>Referenced by <a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e">pqxx::describe_thread_safety()</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="5ad879f746d13f51e469c67665b5d3f9"></a><!-- doxytag: member="pqxx::transaction::transaction" ref="5ad879f746d13f51e469c67665b5d3f9" args="(connection_base &amp;C, const std::string &amp;TName)" -->
+</div>
+<a class="anchor" id="ac9720d695f70efb40cb3c5967208f2ef"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00104.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::<a class="el" href="a00104.html">transaction</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>, </td>
+          <td class="memname">bool pqxx::thread_safety_model::have_strerror_r</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Does standard C library offer <code>strerror_r</code>? </p>
+<p>If not, its <code>strerror</code> implementation may still be thread-safe. Check your compiler's manual.</p>
+<p>Without <code>strerror_r</code> or a thread-safe <code>strerror</code>, the library can't safely obtain descriptions of certain run-time errors. In that case, your application must serialize all use of libpqxx. </p>
+
+<p>Referenced by <a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e">pqxx::describe_thread_safety()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abe3528c0d2e42d6e98d80f0b45d79002"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>TName</em></td><td>&nbsp;</td>
+          <td class="memname">bool pqxx::thread_safety_model::safe_kerberos</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Is Kerberos thread-safe? </p>
+<dl class="section warning"><dt>Warning</dt><dd>Is currently always <code>false</code>.</dd></dl>
+<p>If your application uses Kerberos, all accesses to libpqxx or Kerberos must be serialized. Confine their use to a single thread, or protect it with a global lock. </p>
+
+<p>Referenced by <a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e">pqxx::describe_thread_safety()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3fe3fa8e530712e5228d2b5379871540"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit]</code></td>
+          <td class="memname">bool pqxx::thread_safety_model::safe_libpq</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
-Create a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Connection for this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> to operate on </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>TName</em>&nbsp;</td><td>Optional name for <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>; must begin with a letter and may contain letters and digits only </td></tr>
-  </table>
-</dl>
+<p>Is the underlying libpq build thread-safe? </p>
+<p>A <code>"false"</code> here may mean one of two things: either the libpq build is not thread-safe, or it is a thread-safe build of an older version that did not offer thread-safety information.</p>
+<p>In that case, the best fix is to rebuild libpqxx against (a thread-safe build of) a newer libpq version. </p>
 
-<p>References <a class="el" href="a00257.html#l00325">pqxx::transaction_base::Begin()</a>.</p>
+<p>Referenced by <a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e">pqxx::describe_thread_safety()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="664bdb9c889f946c162cac14bdbe6b7b"></a><!-- doxytag: member="pqxx::transaction::transaction" ref="664bdb9c889f946c162cac14bdbe6b7b" args="(connection_base &amp;C)" -->
+</div>
+<a class="anchor" id="ace2546ec39e30e8793cc4a296216f259"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00104.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::<a class="el" href="a00104.html">transaction</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>C</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">bool pqxx::thread_safety_model::safe_query_cancel</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Is canceling queries thread-safe? </p>
+<p>If not, avoid use of the <a class="el" href="a00071.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pqxx::pipeline</a> class in threaded programs. Or better, rebuild libpqxx against a newer libpq version. </p>
 
-<p>References <a class="el" href="a00257.html#l00325">pqxx::transaction_base::Begin()</a>.</p>
+<p>Referenced by <a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e">pqxx::describe_thread_safety()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="028f5dc23672e38c82a8fd91cd4e4ee0"></a><!-- doxytag: member="pqxx::transaction::~transaction" ref="028f5dc23672e38c82a8fd91cd4e4ee0" args="()" -->
+</div>
+<a class="anchor" id="adb5c47ea21c35c73432de0d0b7e80bdb"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">virtual <a class="el" href="a00104.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::~<a class="el" href="a00104.html">transaction</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
+          <td class="memname">bool pqxx::thread_safety_model::safe_result_copy</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+</div><div class="memdoc">
 
-<p>
+<p>Are copies of <a class="el" href="a00084.html" title="Query or command result set.">pqxx::result</a> and <a class="el" href="a00013.html">pqxx::binarystring</a> objects thread-safe? </p>
+<p>If <code>true</code>, it's safe to copy an object of either of these types (copying these is done very efficiently, so don't worry about data size) and hand the copy off to another thread. The other thread may access the copy freely without any concurrency concerns. </p>
 
-<p>References <a class="el" href="a00258.html#l00293">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00257.html#l00348">pqxx::transaction_base::End()</a>.</p>
+<p>Referenced by <a class="el" href="a00174.html#aac7c904372c0bffcd8c8b121f2c3f13e">pqxx::describe_thread_safety()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00256.html">transaction.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00104.html">thread_safety_model</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00104.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00104.js
--- 3.1-1.1/doc/html/Reference/a00104.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00104.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00104 =
+[
+    [ "description", "a00104.html#adddd2eaf6dbc5feca29ce00f91b4d648", null ],
+    [ "have_strerror_r", "a00104.html#ac9720d695f70efb40cb3c5967208f2ef", null ],
+    [ "safe_kerberos", "a00104.html#abe3528c0d2e42d6e98d80f0b45d79002", null ],
+    [ "safe_libpq", "a00104.html#a3fe3fa8e530712e5228d2b5379871540", null ],
+    [ "safe_query_cancel", "a00104.html#ace2546ec39e30e8793cc4a296216f259", null ],
+    [ "safe_result_copy", "a00104.html#adb5c47ea21c35c73432de0d0b7e80bdb", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00105.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00105.html
--- 3.1-1.1/doc/html/Reference/a00105.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00105.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,849 +1,143 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::transaction_base Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::too_many_connections Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00105.html">transaction_base</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00105.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00254.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::too_many_connections Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::transaction_base Class Reference</h1><!-- doxytag: class="pqxx::transaction_base" --><!-- doxytag: inherits="pqxx::internal::namedclass" --><code>#include &lt;<a class="el" href="a00258.html">transaction_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::transaction_base:</div>
-<div class="dynsection">
-<p><center><img src="a00648.png" border="0" usemap="#a00649" alt="Inheritance graph"></center>
-<map name="a00649">
-<area shape="rect" href="a00025.html" title="pqxx::dbtransaction" alt="" coords="469,56,616,83"><area shape="rect" href="a00055.html" title="pqxx::nontransaction" alt="" coords="465,107,620,134"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="5,82,197,108"><area shape="rect" href="a00008.html" title="pqxx::basic_robusttransaction" alt="" coords="671,6,881,32"><area shape="rect" href="a00009.html" title="pqxx::basic_transaction" alt="" coords="691,56,861,83"><area shape="rect" href="a00097.html" title="&quot;Transaction&quot; nested within another transaction" alt="" coords="699,107,853,134"><area shape="rect" href="a00084.html" title="Slightly slower, better&#45;fortified version of transaction." alt="" coords="952,6,1259,32"><area shape="rect" href="a00104.html" title="Standard back&#45;end transaction, templatized on isolation level." alt="" coords="932,56,1279,83"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00650.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00048.html">isolation_traits</a><br>
-&lt; read_committed &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#f5e1900b64239bac292f5505f7799654">isolation_tag</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#f5e1900b64239bac292f5505f7799654"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#d5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#b2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Commit the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#b2cf42c4821aff7ff1cd906af9165725"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abort the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#955f2497216d9eae268ac662b46d5a45"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g392c92f5ae4ee675dddc1e10d5d1ebfb">esc</a> (const char str[]) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape string for use as SQL string literal in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="a00196.html#g392c92f5ae4ee675dddc1e10d5d1ebfb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gc6f7e057105ccf54bfcde01dabbec326">esc</a> (const char str[], size_t maxlen) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape string for use as SQL string literal in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="a00196.html#gc6f7e057105ccf54bfcde01dabbec326"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g94e4260c184cf6242e471659c7b288e4">esc</a> (const std::string &amp;str) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape string for use as SQL string literal in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="a00196.html#g94e4260c184cf6242e471659c7b288e4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gd8ad632a47ec00739c9c9a61452dc98d">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="a00196.html#gd8ad632a47ec00739c9c9a61452dc98d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="a00196.html#g489c7438da9241486297a451a8579dc1"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00196.html#g558cf87de1ea1b3b86b5cdcc77574c57">quote</a> (const T &amp;t) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00196.html#g558cf87de1ea1b3b86b5cdcc77574c57"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#ed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute query.  <a href="#ed91d0b8029795b477470e854c907c4b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00061.html">internal::parameterized_invocation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameterize a statement.  <a href="#6ec73bd0d2a37553c8518e0ef428dee4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#ed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connection this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is running in.  <a href="#ed167261c4d76876241b5f615b9b8c7a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#b7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set session variable in this connection.  <a href="#b7510be596a5a14014064c884a10fd93"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#87f5147f2dc2dfbcc3b5aef4b461be86"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Prepared statements</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00047.html">prepare::invocation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute prepared statement.  <a href="#1357ac4f6330284129c91882a169276d"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">Error/warning output</div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Have connection process warning message.  <a href="#99f99eb85906a7541119c9098a36d799"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#a90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Have connection process warning message.  <a href="#a90bc6e1219ff68ef11e1d04b76c205c"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#92fc088d2f2c3e1e5992b4e14c703684">transaction_base</a> (<a class="el" href="a00020.html">connection_base</a> &amp;c, bool direct=true)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> (to be called by implementation classes only).  <a href="#92fc088d2f2c3e1e5992b4e14c703684"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#1d2a8554499cbd93ff8c2bf5c15843ff">Begin</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> (to be called by implementing class).  <a href="#1d2a8554499cbd93ff8c2bf5c15843ff"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#f2ddcd7f1def9dfd3f15c0f3242b9136">End</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. To be called by implementing class' destructor.  <a href="#f2ddcd7f1def9dfd3f15c0f3242b9136"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#a80a7816f63c425c28cd4037aaa8cf8f">do_begin</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be implemented by derived implementation class: start <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#a80a7816f63c425c28cd4037aaa8cf8f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#6f587ae3bda7a32c8828984e7c4aa16e">do_exec</a> (const char Query[])=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be implemented by derived implementation class: perform query.  <a href="#6f587ae3bda7a32c8828984e7c4aa16e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#475695c55439007cd2438fb184ed8be3">do_commit</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be implemented by derived implementation class: commit <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#475695c55439007cd2438fb184ed8be3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#8fc9a363bcf7defb3c829a633c04ae6c">do_abort</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be implemented by derived implementation class: abort <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="#8fc9a363bcf7defb3c829a633c04ae6c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#c80f81e53c31f3a2052dc24fc6bbb7ee">DirectExec</a> (const char C[], int Retries=0)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute query on connection directly.  <a href="#c80f81e53c31f3a2052dc24fc6bbb7ee"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#84df458282939ef38cfddfaa07bea1d8">reactivation_avoidance_clear</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forget about any reactivation-blocking resources we tried to allocate.  <a href="#84df458282939ef38cfddfaa07bea1d8"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00072.html">internal::reactivation_avoidance_counter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#dc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resources allocated in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> that make reactivation impossible.  <a href="#dc48441869caf6a4b84911cd6984c36a"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#cf16920b6582767aae17d6c57770e853">pqxx::internal::gate::transaction_transactionfocus</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#fbc1622f03aeb05c34ac44f1c5c179dc">pqxx::internal::gate::transaction_tablereader</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#02ad6878f438fc51b297b32e7512e244">pqxx::internal::gate::transaction_tablewriter</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#e689290143788842755389246915b9f2">pqxx::internal::gate::transaction_subtransaction</a></td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::too_many_connections:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00105.png" usemap="#pqxx::too_many_connections_map" alt=""/>
+  <map id="pqxx::too_many_connections_map" name="pqxx::too_many_connections_map">
+<area href="a00014.html" title="Exception class for lost or failed backend connection." alt="pqxx::broken_connection" shape="rect" coords="0,112,172,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,172,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,172,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad613a4a06c35fc29cdb838427250d727"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html#ad613a4a06c35fc29cdb838427250d727">too_many_connections</a> (const std::string &amp;err)</td></tr>
+<tr class="inherit_header pub_methods_a00014"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00014')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00014.html">pqxx::broken_connection</a></td></tr>
+<tr class="memitem:abead818453c7c47646f924c0b6cbff7d inherit pub_methods_a00014"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#abead818453c7c47646f924c0b6cbff7d">broken_connection</a> ()</td></tr>
+<tr class="memitem:a003c1c85d2c6c40f6d5b985394aa34b2 inherit pub_methods_a00014"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#a003c1c85d2c6c40f6d5b985394aa34b2">broken_connection</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="f5e1900b64239bac292f5505f7799654"></a><!-- doxytag: member="pqxx::transaction_base::isolation_tag" ref="f5e1900b64239bac292f5505f7799654" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef <a class="el" href="a00048.html">isolation_traits</a>&lt;read_committed&gt; <a class="el" href="a00048.html">pqxx::transaction_base::isolation_tag</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-If nothing else is known, our isolation level is at least read_committed. 
-<p>
-
-<p>Reimplemented in <a class="el" href="a00008.html#ad0757a015b2ddfe476e3d83f812bbff">pqxx::basic_robusttransaction</a>, <a class="el" href="a00084.html#8fb228809bd42b2936ada9f9573d30d6">pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;</a>, and <a class="el" href="a00104.html#01e7ecea76d7d12c295e6979759eb754">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d5ddea378795d92908af4b65e59d585a"></a><!-- doxytag: member="pqxx::transaction_base::~transaction_base" ref="d5ddea378795d92908af4b65e59d585a" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::transaction_base::~transaction_base           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00258.html#l00293">conn()</a>, <a class="el" href="a00261.html#l00145">pqxx::internal::namedclass::description()</a>, <a class="el" href="a00218.html#l00514">pqxx::connection_base::process_notice()</a>, <a class="el" href="a00258.html#l00285">process_notice()</a>, and <a class="el" href="a00258.html#l00360">reactivation_avoidance_clear()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="92fc088d2f2c3e1e5992b4e14c703684"></a><!-- doxytag: member="pqxx::transaction_base::transaction_base" ref="92fc088d2f2c3e1e5992b4e14c703684" args="(connection_base &amp;c, bool direct=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">pqxx::transaction_base::transaction_base           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00020.html">connection_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>c</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>direct</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [explicit, protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Create a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> (to be called by implementation classes only). 
-<p>
-The optional name, if nonempty, must begin with a letter and may contain letters and digits only.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>The connection that this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is to act on. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>direct</em>&nbsp;</td><td>Running directly in connection context (i.e. not nested)? </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00258.html#l00293">conn()</a>, and <a class="el" href="a00257.html#l00061">transaction_base()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00061">transaction_base()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="b2cf42c4821aff7ff1cd906af9165725"></a><!-- doxytag: member="pqxx::transaction_base::commit" ref="b2cf42c4821aff7ff1cd906af9165725" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::commit           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Commit the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-Unless this function is called explicitly, the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> will not be committed (actually the <a class="el" href="a00055.html">nontransaction</a> implementation breaks this rule, hence the name).<p>
-Once this function returns, the whole <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> will typically be irrevocably completed in the database. There is also, however, a minute risk that the connection to the database may be lost at just the wrong moment. In that case, libpqxx may be unable to determine whether the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> was completed or aborted and an <a class="el" href="a00039.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;...">in_doubt_error</a> will be thrown to make this fact known to the caller. The <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> implementation takes some special precautions to reduce this risk. 
-<p>References <a class="el" href="a00258.html#l00293">conn()</a>, <a class="el" href="a00261.html#l00145">pqxx::internal::namedclass::description()</a>, <a class="el" href="a00105.html#475695c55439007cd2438fb184ed8be3">do_commit()</a>, <a class="el" href="a00257.html#l00348">End()</a>, <a class="el" href="a00218.html#l00471">pqxx::connection_base::is_open()</a>, and <a class="el" href="a00218.html#l00514">pqxx::connection_base::process_notice()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="955f2497216d9eae268ac662b46d5a45"></a><!-- doxytag: member="pqxx::transaction_base::abort" ref="955f2497216d9eae268ac662b46d5a45" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::abort           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Abort the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-No special effort is required to call this function; it will be called implicitly when the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is destructed. 
-<p>References <a class="el" href="a00261.html#l00145">pqxx::internal::namedclass::description()</a>, <a class="el" href="a00105.html#8fc9a363bcf7defb3c829a633c04ae6c">do_abort()</a>, <a class="el" href="a00257.html#l00348">End()</a>, and <a class="el" href="a00218.html#l00514">pqxx::connection_base::process_notice()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00223.html#l00087">pqxx::dbtransaction::do_exec()</a>, and <a class="el" href="a00257.html#l00348">End()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ed91d0b8029795b477470e854c907c4b"></a><!-- doxytag: member="pqxx::transaction_base::exec" ref="ed91d0b8029795b477470e854c907c4b" args="(const std::string &amp;Query, const std::string &amp;Desc=std::string())" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html">pqxx::result</a> pqxx::transaction_base::exec           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Query</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Desc</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Execute query. 
-<p>
-Perform a query in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.<p>
-This is one of the most important functions in libpqxx.<p>
-Most libpqxx exceptions can be thrown from here, including <a class="el" href="a00088.html" title="Exception class for failed queries.">sql_error</a>, <a class="el" href="a00011.html" title="Exception class for lost or failed backend connection.">broken_connection</a>, and many <a class="el" href="a00088.html" title="Exception class for failed queries.">sql_error</a> subtypes such as <a class="el" href="a00033.html" title="Database feature not supported in current setup.">feature_not_supported</a> or <a class="el" href="a00040.html">insufficient_privilege</a>. But any exception thrown by the C++ standard library may also occur here. All exceptions will be derived from std::exception, however, and all libpqxx-specific exception types are derived from <a class="el" href="a00068.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx::pqxx_exception</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Query</em>&nbsp;</td><td>Query or command to execute </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Desc</em>&nbsp;</td><td>Optional identifier for query, to help pinpoint SQL errors </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A <a class="el" href="a00076.html" title="Query or command result set.">result</a> set describing the query's or command's <a class="el" href="a00076.html" title="Query or command result set.">result</a> </dd></dl>
-
-<p>References <a class="el" href="a00261.html#l00145">pqxx::internal::namedclass::description()</a>, and <a class="el" href="a00105.html#6f587ae3bda7a32c8828984e7c4aa16e">do_exec()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="938732e87f924fee764cddd8390de20f"></a><!-- doxytag: member="pqxx::transaction_base::exec" ref="938732e87f924fee764cddd8390de20f" args="(const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00076.html">result</a> pqxx::transaction_base::exec           </td>
-          <td>(</td>
-          <td class="paramtype">const std::stringstream &amp;&nbsp;</td>
-          <td class="paramname"> <em>Query</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Desc</em> = <code>std&nbsp;::string()</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="6ec73bd0d2a37553c8518e0ef428dee4"></a><!-- doxytag: member="pqxx::transaction_base::parameterized" ref="6ec73bd0d2a37553c8518e0ef428dee4" args="(const std::string &amp;query)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00061.html">internal::parameterized_invocation</a> pqxx::transaction_base::parameterized           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>query</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parameterize a statement. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1357ac4f6330284129c91882a169276d"></a><!-- doxytag: member="pqxx::transaction_base::prepared" ref="1357ac4f6330284129c91882a169276d" args="(const std::string &amp;statement=std::string())" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00047.html">pqxx::prepare::invocation</a> pqxx::transaction_base::prepared           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>statement</em> = <code>std&nbsp;::string()</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Execute prepared statement. 
-<p>
-Prepared statements are defined using the connection classes' prepare() function, and continue to live on in the ongoing session regardless of the context they were defined in (unless explicitly dropped using the connection's unprepare() function). Their execution however, like other forms of query execution, requires a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> object.<p>
-Just like param_declaration is a helper class that lets you tag parameter declarations onto the statement declaration, the invocation class returned here lets you tag parameter values onto the call:<p>
-<div class="fragment"><pre class="fragment"> result run_mystatement(transaction_base &amp;T)
- {
-   <span class="keywordflow">return</span> T.prepared(<span class="stringliteral">"mystatement"</span>)(<span class="stringliteral">"param1"</span>)(2)()(4).exec();
- }
-</pre></div><p>
-Here, parameter 1 (written as "&lt;tt&gt;$1&lt;/tt&gt;" in the statement's body) is a string that receives the value "param1"; the second parameter is an integer with the value 2; the third receives a null, making its type irrelevant; and number 4 again is an integer. The ultimate invocation of <a class="el" href="a00105.html#ed91d0b8029795b477470e854c907c4b" title="Execute query.">exec()</a> is essential; if you forget this, nothing happens.<p>
-To see whether any prepared statement has been defined under a given name, use:<p>
-<div class="fragment"><pre class="fragment"> T.prepared(<span class="stringliteral">"mystatement"</span>).exists()
-</pre></div><p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Do not try to execute a prepared statement manually through direct SQL statements. This is likely not to work, and even if it does, is likely to be slower than using the proper libpqxx functions. Also, libpqxx knows how to emulate prepared statements if some part of the infrastructure does not support them.<p>
-Actual definition of the prepared statement on the backend may be deferred until its first use, which means that any errors in the prepared statement may not show up until it is executed--and perhaps abort the ongoing <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> in the process.</dd></dl>
-If you leave out the statement name, the call refers to the nameless statement instead. 
-</div>
-</div><p>
-<a class="anchor" name="99f99eb85906a7541119c9098a36d799"></a><!-- doxytag: member="pqxx::transaction_base::process_notice" ref="99f99eb85906a7541119c9098a36d799" args="(const char Msg[]) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::process_notice           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Msg</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Have connection process warning message. 
-<p>
-
-<p>Referenced by <a class="el" href="a00228.html#l00320">pqxx::largeobjectaccess::process_notice()</a>, and <a class="el" href="a00257.html#l00079">~transaction_base()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a90bc6e1219ff68ef11e1d04b76c205c"></a><!-- doxytag: member="pqxx::transaction_base::process_notice" ref="a90bc6e1219ff68ef11e1d04b76c205c" args="(const std::string &amp;Msg) const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::process_notice           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Msg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Have connection process warning message. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ed167261c4d76876241b5f615b9b8c7a"></a><!-- doxytag: member="pqxx::transaction_base::conn" ref="ed167261c4d76876241b5f615b9b8c7a" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00020.html">connection_base</a>&amp; pqxx::transaction_base::conn           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Connection this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is running in. 
-<p>
-
-<p>Referenced by <a class="el" href="a00236.html#l00140">pqxx::pipeline::cancel()</a>, <a class="el" href="a00257.html#l00111">commit()</a>, <a class="el" href="a00257.html#l00404">DirectExec()</a>, <a class="el" href="a00223.html#l00079">pqxx::dbtransaction::do_begin()</a>, <a class="el" href="a00257.html#l00348">End()</a>, <a class="el" href="a00238.html#l00073">pqxx::prepare::invocation::exec()</a>, <a class="el" href="a00238.html#l00087">pqxx::prepare::invocation::exists()</a>, <a class="el" href="a00257.html#l00317">get_variable()</a>, <a class="el" href="a00228.html#l00140">pqxx::largeobject::RawConnection()</a>, <a class="el" href="a00257.html#l00307">set_variable()</a>, <a class="el" href="a00257.html#l00061">transaction_base()</a>, <a class="el" href="a00236.html#l00057">pqxx::pipeline::~pipeline()</a>, <a class="el" href="a00249.html#l00048">pqxx::tablereader::~tablereader()</a>, <a class="el" href="a00253.html#l00040">pqxx::tablewriter::~tablewriter()</a>, <a class="el" href="a00256.html#l00107">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;::~transaction()</a>, and <a class="el" href="a00257.html#l00079">~transaction_base()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b7510be596a5a14014064c884a10fd93"></a><!-- doxytag: member="pqxx::transaction_base::set_variable" ref="b7510be596a5a14014064c884a10fd93" args="(const std::string &amp;Var, const std::string &amp;Val)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::set_variable           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Val</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set session variable in this connection. 
-<p>
-The new value is typically forgotten if the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> aborts. Known exceptions to this rule are <a class="el" href="a00055.html">nontransaction</a>, and PostgreSQL versions prior to 7.3. In the case of <a class="el" href="a00055.html">nontransaction</a>, the set value will be kept regardless; but in that case, if the connection ever needs to be recovered, the set value will not be restored. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Var</em>&nbsp;</td><td>The variable to set </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Val</em>&nbsp;</td><td>The new value to store in the variable </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00258.html#l00293">conn()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="87f5147f2dc2dfbcc3b5aef4b461be86"></a><!-- doxytag: member="pqxx::transaction_base::get_variable" ref="87f5147f2dc2dfbcc3b5aef4b461be86" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">string pqxx::transaction_base::get_variable           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Var</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Get currently applicable value of variable. 
-<p>
-First consults an <a class="el" href="a00186.html" title="Private namespace for libpqxx&#39;s internal use; do not access.">internal</a> cache of variables that have been set (whether in the ongoing <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> or in the connection) using the set_variable functions. If it is not found there, the database is queried.<p>
-<dl class="warning" compact><dt><b>Warning:</b></dt><dd>Do not mix the set_variable with raw "SET" queries, and do not try to set or get variables while a <a class="el" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> or table stream is active.<p>
-This function used to be declared as <code>const</code> but isn't anymore. </dd></dl>
-
-<p>References <a class="el" href="a00258.html#l00293">conn()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1d2a8554499cbd93ff8c2bf5c15843ff"></a><!-- doxytag: member="pqxx::transaction_base::Begin" ref="1d2a8554499cbd93ff8c2bf5c15843ff" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::Begin           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Begin <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> (to be called by implementing class). 
-<p>
-Will typically be called from implementing class' constructor. 
-<p>References <a class="el" href="a00105.html#a80a7816f63c425c28cd4037aaa8cf8f">do_begin()</a>, <a class="el" href="a00257.html#l00348">End()</a>, and <a class="el" href="a00218.html#l00731">pqxx::connection_base::get_notifs()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00256.html#l00097">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;::transaction()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f2ddcd7f1def9dfd3f15c0f3242b9136"></a><!-- doxytag: member="pqxx::transaction_base::End" ref="f2ddcd7f1def9dfd3f15c0f3242b9136" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::End           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-End <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. To be called by implementing class' destructor. 
-<p>
-
-<p>References <a class="el" href="a00257.html#l00187">abort()</a>, <a class="el" href="a00219.html#l00062">pqxx::internal::reactivation_avoidance_counter::clear()</a>, <a class="el" href="a00258.html#l00293">conn()</a>, <a class="el" href="a00261.html#l00145">pqxx::internal::namedclass::description()</a>, <a class="el" href="a00219.html#l00063">pqxx::internal::reactivation_avoidance_counter::get()</a>, <a class="el" href="a00258.html#l00367">m_reactivation_avoidance</a>, and <a class="el" href="a00218.html#l00514">pqxx::connection_base::process_notice()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00187">abort()</a>, <a class="el" href="a00257.html#l00325">Begin()</a>, <a class="el" href="a00257.html#l00111">commit()</a>, <a class="el" href="a00231.html#l00025">pqxx::nontransaction::~nontransaction()</a>, and <a class="el" href="a00256.html#l00107">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;::~transaction()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a80a7816f63c425c28cd4037aaa8cf8f"></a><!-- doxytag: member="pqxx::transaction_base::do_begin" ref="a80a7816f63c425c28cd4037aaa8cf8f" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void pqxx::transaction_base::do_begin           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-To be implemented by derived implementation class: start <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-
-<p>Implemented in <a class="el" href="a00025.html#0b4da4b562a51ec0f03a9abf75acd14c">pqxx::dbtransaction</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00325">Begin()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6f587ae3bda7a32c8828984e7c4aa16e"></a><!-- doxytag: member="pqxx::transaction_base::do_exec" ref="6f587ae3bda7a32c8828984e7c4aa16e" args="(const char Query[])=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00076.html">result</a> pqxx::transaction_base::do_exec           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>Query</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-To be implemented by derived implementation class: perform query. 
-<p>
-
-<p>Implemented in <a class="el" href="a00025.html#9b3e988901d4bec05d414543314a945b">pqxx::dbtransaction</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00255">exec()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="475695c55439007cd2438fb184ed8be3"></a><!-- doxytag: member="pqxx::transaction_base::do_commit" ref="475695c55439007cd2438fb184ed8be3" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void pqxx::transaction_base::do_commit           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-To be implemented by derived implementation class: commit <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-
-<p>Implemented in <a class="el" href="a00025.html#e434c2ec625a55ec8c6c4f57d1cb0a54">pqxx::dbtransaction</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00111">commit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8fc9a363bcf7defb3c829a633c04ae6c"></a><!-- doxytag: member="pqxx::transaction_base::do_abort" ref="8fc9a363bcf7defb3c829a633c04ae6c" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void pqxx::transaction_base::do_abort           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected, pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-To be implemented by derived implementation class: abort <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>. 
-<p>
-
-<p>Implemented in <a class="el" href="a00025.html#38c5eb7ae19ad150f89e951261873aba">pqxx::dbtransaction</a>.</p>
-
-<p>Referenced by <a class="el" href="a00257.html#l00187">abort()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c80f81e53c31f3a2052dc24fc6bbb7ee"></a><!-- doxytag: member="pqxx::transaction_base::DirectExec" ref="c80f81e53c31f3a2052dc24fc6bbb7ee" args="(const char C[], int Retries=0)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad613a4a06c35fc29cdb838427250d727"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00076.html">pqxx::result</a> pqxx::transaction_base::DirectExec           </td>
+          <td class="memname">pqxx::too_many_connections::too_many_connections </td>
           <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>C</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
           <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>Retries</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [protected]</code></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
-Execute query on connection directly. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Query or command to execute </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>Retries</em>&nbsp;</td><td>Number of times to retry the query if it fails. Be extremely careful with this option; if you retry in the middle of a <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>, you may be setting up a new connection transparently and executing the latter part of the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> without a backend <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> being active (and with the former part aborted). </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="a00258.html#l00293">conn()</a>.</p>
-
-<p>Referenced by <a class="el" href="a00223.html#l00101">pqxx::dbtransaction::do_abort()</a>, <a class="el" href="a00223.html#l00079">pqxx::dbtransaction::do_begin()</a>, and <a class="el" href="a00223.html#l00087">pqxx::dbtransaction::do_exec()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="84df458282939ef38cfddfaa07bea1d8"></a><!-- doxytag: member="pqxx::transaction_base::reactivation_avoidance_clear" ref="84df458282939ef38cfddfaa07bea1d8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void pqxx::transaction_base::reactivation_avoidance_clear           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Forget about any reactivation-blocking resources we tried to allocate. 
-<p>
-
-<p>Referenced by <a class="el" href="a00223.html#l00101">pqxx::dbtransaction::do_abort()</a>, and <a class="el" href="a00257.html#l00079">~transaction_base()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Friends And Related Function Documentation</h2>
-<a class="anchor" name="cf16920b6582767aae17d6c57770e853"></a><!-- doxytag: member="pqxx::transaction_base::pqxx::internal::gate::transaction_transactionfocus" ref="cf16920b6582767aae17d6c57770e853" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::transaction_transactionfocus<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="fbc1622f03aeb05c34ac44f1c5c179dc"></a><!-- doxytag: member="pqxx::transaction_base::pqxx::internal::gate::transaction_tablereader" ref="fbc1622f03aeb05c34ac44f1c5c179dc" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::transaction_tablereader<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="02ad6878f438fc51b297b32e7512e244"></a><!-- doxytag: member="pqxx::transaction_base::pqxx::internal::gate::transaction_tablewriter" ref="02ad6878f438fc51b297b32e7512e244" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::transaction_tablewriter<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e689290143788842755389246915b9f2"></a><!-- doxytag: member="pqxx::transaction_base::pqxx::internal::gate::transaction_subtransaction" ref="e689290143788842755389246915b9f2" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">friend class pqxx::internal::gate::transaction_subtransaction<code> [friend]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="dc48441869caf6a4b84911cd6984c36a"></a><!-- doxytag: member="pqxx::transaction_base::m_reactivation_avoidance" ref="dc48441869caf6a4b84911cd6984c36a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00072.html">internal::reactivation_avoidance_counter</a> <a class="el" href="a00105.html#dc48441869caf6a4b84911cd6984c36a">pqxx::transaction_base::m_reactivation_avoidance</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Resources allocated in this <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> that make reactivation impossible. 
-<p>
-This number may be negative! 
-<p>Referenced by <a class="el" href="a00257.html#l00348">End()</a>.</p>
-
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00258.html">transaction_base.hxx</a><li><a class="el" href="a00167.html">transaction_base.cxx</a></ul>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00105.html">too_many_connections</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00105.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00105.js
--- 3.1-1.1/doc/html/Reference/a00105.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00105.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00105 =
+[
+    [ "too_many_connections", "a00105.html#ad613a4a06c35fc29cdb838427250d727", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00105.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00105.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00106.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00106.html
--- 3.1-1.1/doc/html/Reference/a00106.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00106.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,195 +1,271 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::transactionfocus Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00106.html">transactionfocus</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00106.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00291.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt; Class Template Reference<div class="ingroups"><a class="el" href="a00202.html">Transaction classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::transactionfocus Class Reference</h1><!-- doxytag: class="pqxx::internal::transactionfocus" --><!-- doxytag: inherits="pqxx::internal::namedclass" --><code>#include &lt;<a class="el" href="a00258.html">transaction_base.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::internal::transactionfocus:</div>
-<div class="dynsection">
-<p><center><img src="a00661.png" border="0" usemap="#a00662" alt="Inheritance graph"></center>
-<map name="a00662">
-<area shape="rect" href="a00062.html" title="Processes several queries in FIFO manner, optimized for high throughput." alt="" coords="5,161,112,188"><area shape="rect" href="a00097.html" title="&quot;Transaction&quot; nested within another transaction" alt="" coords="136,161,291,188"><area shape="rect" href="a00100.html" title="Base class for streaming data to/from database tables." alt="" coords="315,161,451,188"><area shape="rect" href="a00053.html" title="pqxx::internal::namedclass" alt="" coords="117,7,309,33"><area shape="rect" href="a00099.html" title="Efficiently pull data directly out of a table." alt="" coords="239,239,372,265"><area shape="rect" href="a00101.html" title="Efficiently write data directly to a database table." alt="" coords="396,239,521,265"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00663.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#c1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00105.html">transaction_base</a> &amp;t)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#267f75f541c85a38605fb6b8c66d1e0a">register_me</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#53309d8e6bb85774cb16bf6a340cb558">unregister_me</a> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#dae9df5aee401ccb6f1d77024d524322">reg_pending_error</a> (const std::string &amp;)  throw ()</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#474a6ca017e7a313bc33e7b2b5a2d1d7">registered</a> () const   throw ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
+<p>Standard back-end transaction, templatized on isolation level.  
+ <a href="a00106.html#details">More...</a></p>
 
+<p><code>#include &lt;<a class="el" href="a00169_source.html">transaction.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00106.png" usemap="#pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;_map" alt=""/>
+  <map id="pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;_map" name="pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;_map">
+<area href="a00012.html" alt="pqxx::basic_transaction" shape="rect" coords="0,168,314,192"/>
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="0,112,314,136"/>
+<area href="a00107.html" alt="pqxx::transaction_base" shape="rect" coords="0,56,314,80"/>
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="0,0,314,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a01e7ecea76d7d12c295e6979759eb754"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; ISOLATIONLEVEL &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a01e7ecea76d7d12c295e6979759eb754">isolation_tag</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5ad879f746d13f51e469c67665b5d3f9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a5ad879f746d13f51e469c67665b5d3f9">transaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;TName)</td></tr>
+<tr class="memdesc:a5ad879f746d13f51e469c67665b5d3f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transaction.  <a href="#a5ad879f746d13f51e469c67665b5d3f9"></a><br/></td></tr>
+<tr class="memitem:a664bdb9c889f946c162cac14bdbe6b7b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a664bdb9c889f946c162cac14bdbe6b7b">transaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C)</td></tr>
+<tr class="memitem:a028f5dc23672e38c82a8fd91cd4e4ee0"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a028f5dc23672e38c82a8fd91cd4e4ee0">~transaction</a> ()  throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00012"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00012')"><img src="closed.png" alt="-"/>&nbsp;Protected Member Functions inherited from <a class="el" href="a00012.html">pqxx::basic_transaction</a></td></tr>
+<tr class="memitem:ac37eaf1787575f972034ddb87c496eb7 inherit pro_methods_a00012"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ac37eaf1787575f972034ddb87c496eb7">basic_transaction</a> (<a class="el" href="a00023.html">connection_base</a> &amp;C, const std::string &amp;IsolationLevel, <a class="el" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a>)</td></tr>
+<tr class="inherit_header pro_static_methods_a00032"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_a00032')"><img src="closed.png" alt="-"/>&nbsp;Static Protected Member Functions inherited from <a class="el" href="a00032.html">pqxx::dbtransaction</a></td></tr>
+<tr class="memitem:a4e35ec39c80f088ebe239b15a16488de inherit pro_static_methods_a00032"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a4e35ec39c80f088ebe239b15a16488de">fullname</a> (const std::string &amp;ttype, const std::string &amp;isolation)</td></tr>
+<tr class="inherit_header pro_attribs_a00107"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00107')"><img src="closed.png" alt="-"/>&nbsp;Protected Attributes inherited from <a class="el" href="a00107.html">pqxx::transaction_base</a></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a inherit pro_attribs_a00107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="c1ad1a201cacde2cd35182dd3bfb66fa"></a><!-- doxytag: member="pqxx::internal::transactionfocus::transactionfocus" ref="c1ad1a201cacde2cd35182dd3bfb66fa" args="(transaction_base &amp;t)" -->
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt;<br/>
+class pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;</h3>
+
+<p>Standard back-end transaction, templatized on isolation level. </p>
+<p>This is the type you'll normally want to use to represent a transaction on the database.</p>
+<p>While you may choose to create your own transaction object to interface to the database backend, it is recommended that you wrap your transaction code into a transactor code instead and let the transaction be created for you. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00172_source.html">pqxx/transactor.hxx</a></dd></dl>
+<p>If you should find that using a transactor makes your code less portable or too complex, go ahead, create your own transaction anyway.</p>
+<p>Usage example: double all wages</p>
+<div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="a00200.html#ga26edb910e4563d1115e22c627914e98b" title="The &quot;standard&quot; connection type: connect to database right now.">connection</a> C;</div>
+<div class="line"><a class="code" href="a00202.html#ga82685329d6fd91f5ab30772d266fe5f0" title="Bog-standard, default transaction type.">work</a> T(C);</div>
+<div class="line"><span class="keywordflow">try</span></div>
+<div class="line">{</div>
+<div class="line">  T.exec(<span class="stringliteral">&quot;UPDATE employees SET wage=wage*2&quot;</span>);</div>
+<div class="line">  T.commit();   <span class="comment">// NOTE: do this inside try block</span></div>
+<div class="line">}</div>
+<div class="line"><span class="keywordflow">catch</span> (<span class="keyword">const</span> exception &amp;e)</div>
+<div class="line">{</div>
+<div class="line">  cerr &lt;&lt; e.what() &lt;&lt; endl;</div>
+<div class="line">  T.abort();            <span class="comment">// Usually not needed; same happens when T&#39;s life ends.</span></div>
+<div class="line">}</div>
+</div><!-- fragment --> </div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="a01e7ecea76d7d12c295e6979759eb754"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::internal::transactionfocus::transactionfocus           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00105.html">transaction_base</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="memname">typedef <a class="el" href="a00056.html">isolation_traits</a>&lt;ISOLATIONLEVEL&gt; <a class="el" href="a00106.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::<a class="el" href="a00106.html#a01e7ecea76d7d12c295e6979759eb754">isolation_tag</a></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="267f75f541c85a38605fb6b8c66d1e0a"></a><!-- doxytag: member="pqxx::internal::transactionfocus::register_me" ref="267f75f541c85a38605fb6b8c66d1e0a" args="()" -->
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5ad879f746d13f51e469c67665b5d3f9"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::transactionfocus::register_me           </td>
+          <td class="memname"><a class="el" href="a00106.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::<a class="el" href="a00106.html">transaction</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [protected]</code></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00258.html#l00068">m_Trans</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="53309d8e6bb85774cb16bf6a340cb558"></a><!-- doxytag: member="pqxx::internal::transactionfocus::unregister_me" ref="53309d8e6bb85774cb16bf6a340cb558" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::transactionfocus::unregister_me           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [protected]</code></td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>TName</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>References <a class="el" href="a00258.html#l00068">m_Trans</a>.</p>
-
-<p>Referenced by <a class="el" href="a00251.html#l00041">pqxx::tablestream::base_close()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="dae9df5aee401ccb6f1d77024d524322"></a><!-- doxytag: member="pqxx::internal::transactionfocus::reg_pending_error" ref="dae9df5aee401ccb6f1d77024d524322" args="(const std::string &amp;)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
         <tr>
-          <td class="memname">void pqxx::internal::transactionfocus::reg_pending_error           </td>
-          <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()<code> [protected]</code></td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>References <a class="el" href="a00258.html#l00068">m_Trans</a>.</p>
+<p>Create a transaction. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">C</td><td>Connection for this transaction to operate on </td></tr>
+    <tr><td class="paramname">TName</td><td>Optional name for transaction; must begin with a letter and may contain letters and digits only </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<p>Referenced by <a class="el" href="a00249.html#l00048">pqxx::tablereader::~tablereader()</a>, and <a class="el" href="a00253.html#l00040">pqxx::tablewriter::~tablewriter()</a>.</p>
+<p>References <a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">pqxx::transaction_base::Begin()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="474a6ca017e7a313bc33e7b2b5a2d1d7"></a><!-- doxytag: member="pqxx::internal::transactionfocus::registered" ref="474a6ca017e7a313bc33e7b2b5a2d1d7" args="() const " -->
+</div>
+<a class="anchor" id="a664bdb9c889f946c162cac14bdbe6b7b"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">bool pqxx::internal::transactionfocus::registered           </td>
+          <td class="memname"><a class="el" href="a00106.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::<a class="el" href="a00106.html">transaction</a> </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()<code> [protected]</code></td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>C</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>References <a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">pqxx::transaction_base::Begin()</a>.</p>
 
 </div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="9924dff8ce3203ca9fb9e584800ef9f4"></a><!-- doxytag: member="pqxx::internal::transactionfocus::m_Trans" ref="9924dff8ce3203ca9fb9e584800ef9f4" args="" -->
+</div>
+<a class="anchor" id="a028f5dc23672e38c82a8fd91cd4e4ee0"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;isolation_level ISOLATIONLEVEL = read_committed, readwrite_policy READWRITE = read_write&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00105.html">transaction_base</a>&amp; <a class="el" href="a00106.html#9924dff8ce3203ca9fb9e584800ef9f4">pqxx::internal::transactionfocus::m_Trans</a><code> [protected]</code>          </td>
+          <td class="memname">virtual <a class="el" href="a00106.html">pqxx::transaction</a>&lt; ISOLATIONLEVEL, READWRITE &gt;::~<a class="el" href="a00106.html">transaction</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>Referenced by <a class="el" href="a00236.html#l00140">pqxx::pipeline::cancel()</a>, <a class="el" href="a00249.html#l00064">pqxx::tablereader::get_raw_line()</a>, <a class="el" href="a00257.html#l00513">reg_pending_error()</a>, <a class="el" href="a00257.html#l00497">register_me()</a>, <a class="el" href="a00257.html#l00505">unregister_me()</a>, <a class="el" href="a00253.html#l00074">pqxx::tablewriter::write_raw_line()</a>, <a class="el" href="a00236.html#l00057">pqxx::pipeline::~pipeline()</a>, <a class="el" href="a00249.html#l00048">pqxx::tablereader::~tablereader()</a>, and <a class="el" href="a00253.html#l00040">pqxx::tablewriter::~tablewriter()</a>.</p>
+<p>References <a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">pqxx::transaction_base::conn()</a>, and <a class="el" href="a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136">pqxx::transaction_base::End()</a>.</p>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00258.html">transaction_base.hxx</a><li><a class="el" href="a00167.html">transaction_base.cxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00169_source.html">transaction.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00106.html">transaction</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00106.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00106.js
--- 3.1-1.1/doc/html/Reference/a00106.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00106.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,7 @@
+var a00106 =
+[
+    [ "isolation_tag", "a00106.html#a01e7ecea76d7d12c295e6979759eb754", null ],
+    [ "transaction", "a00106.html#a5ad879f746d13f51e469c67665b5d3f9", null ],
+    [ "transaction", "a00106.html#a664bdb9c889f946c162cac14bdbe6b7b", null ],
+    [ "~transaction", "a00106.html#a028f5dc23672e38c82a8fd91cd4e4ee0", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00106.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00106.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00107.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00107.html
--- 3.1-1.1/doc/html/Reference/a00107.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00107.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,217 +1,895 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::transactor&lt; TRANSACTION &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::transaction_base Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00107.html">transactor</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00107.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00292.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::transaction_base Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::transactor&lt; TRANSACTION &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::transactor" --><code>#include &lt;<a class="el" href="a00259.html">transactor.hxx</a>&gt;</code>
-<p>
 
-<p>
-<a href="a00651.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#326761951cbf1a7b38ee912a4ca3556f">transactor</a> (const std::string &amp;TName=&quot;transactor&quot;)</td></tr>
+<p><code>#include &lt;<a class="el" href="a00171_source.html">transaction_base.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::transaction_base:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00107.png" usemap="#pqxx::transaction_base_map" alt=""/>
+  <map id="pqxx::transaction_base_map" name="pqxx::transaction_base_map">
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="486,0,800,24"/>
+<area href="a00032.html" alt="pqxx::dbtransaction" shape="rect" coords="324,112,638,136"/>
+<area href="a00063.html" alt="pqxx::nontransaction" shape="rect" coords="648,112,962,136"/>
+<area href="a00011.html" alt="pqxx::basic_robusttransaction" shape="rect" coords="0,168,314,192"/>
+<area href="a00012.html" alt="pqxx::basic_transaction" shape="rect" coords="324,168,638,192"/>
+<area href="a00099.html" title="&quot;Transaction&quot; nested within another transaction" alt="pqxx::subtransaction" shape="rect" coords="648,168,962,192"/>
+<area href="a00086.html" title="Slightly slower, better-fortified version of transaction." alt="pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;" shape="rect" coords="0,224,314,248"/>
+<area href="a00106.html" title="Standard back-end transaction, templatized on isolation level." alt="pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;" shape="rect" coords="324,224,638,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:af5e1900b64239bac292f5505f7799654"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00056.html">isolation_traits</a><br class="typebreak"/>
+&lt; <a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af5e1900b64239bac292f5505f7799654">isolation_tag</a></td></tr>
+<tr class="memdesc:af5e1900b64239bac292f5505f7799654"><td class="mdescLeft">&#160;</td><td class="mdescRight">If nothing else is known, our isolation level is at least read_committed.  <a href="#af5e1900b64239bac292f5505f7799654"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad5ddea378795d92908af4b65e59d585a"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ad5ddea378795d92908af4b65e59d585a">~transaction_base</a> ()=0</td></tr>
+<tr class="memitem:ab2cf42c4821aff7ff1cd906af9165725"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab2cf42c4821aff7ff1cd906af9165725">commit</a> ()</td></tr>
+<tr class="memdesc:ab2cf42c4821aff7ff1cd906af9165725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commit the transaction.  <a href="#ab2cf42c4821aff7ff1cd906af9165725"></a><br/></td></tr>
+<tr class="memitem:a955f2497216d9eae268ac662b46d5a45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a955f2497216d9eae268ac662b46d5a45">abort</a> ()</td></tr>
+<tr class="memdesc:a955f2497216d9eae268ac662b46d5a45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort the transaction.  <a href="#a955f2497216d9eae268ac662b46d5a45"></a><br/></td></tr>
+<tr class="memitem:ga98dee516d429520627fd94f5ccb2b023"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga98dee516d429520627fd94f5ccb2b023">esc</a> (const char str[]) const </td></tr>
+<tr class="memdesc:ga98dee516d429520627fd94f5ccb2b023"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga98dee516d429520627fd94f5ccb2b023"></a><br/></td></tr>
+<tr class="memitem:ga38cc55d0d7637dd53a6508e2bc4beadb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb">esc</a> (const char str[], size_t maxlen) const </td></tr>
+<tr class="memdesc:ga38cc55d0d7637dd53a6508e2bc4beadb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb"></a><br/></td></tr>
+<tr class="memitem:ga80bbd3626005768e0d39bdfb6930e244"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244">esc</a> (const std::string &amp;str) const </td></tr>
+<tr class="memdesc:ga80bbd3626005768e0d39bdfb6930e244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape string for use as SQL string literal in this transaction.  <a href="a00199.html#ga80bbd3626005768e0d39bdfb6930e244"></a><br/></td></tr>
+<tr class="memitem:ga6048218f7af70cd0423429d54203749c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga6048218f7af70cd0423429d54203749c">esc_raw</a> (const unsigned char str[], size_t len) const </td></tr>
+<tr class="memdesc:ga6048218f7af70cd0423429d54203749c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga6048218f7af70cd0423429d54203749c"></a><br/></td></tr>
+<tr class="memitem:ga489c7438da9241486297a451a8579dc1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html#ga489c7438da9241486297a451a8579dc1">esc_raw</a> (const std::string &amp;) const </td></tr>
+<tr class="memdesc:ga489c7438da9241486297a451a8579dc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape binary data for use as SQL string literal in this transaction.  <a href="a00199.html#ga489c7438da9241486297a451a8579dc1"></a><br/></td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
+<tr class="memitem:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff">quote</a> (const T &amp;t) const </td></tr>
+<tr class="memdesc:ga263a180c5d0decf645aca3fc1ed4d6ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represent object as SQL string, including quoting &amp; escaping.  <a href="a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff"></a><br/></td></tr>
+<tr class="memitem:aed91d0b8029795b477470e854c907c4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b">exec</a> (const std::string &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memdesc:aed91d0b8029795b477470e854c907c4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query.  <a href="#aed91d0b8029795b477470e854c907c4b"></a><br/></td></tr>
+<tr class="memitem:a938732e87f924fee764cddd8390de20f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec</a> (const std::stringstream &amp;Query, const std::string &amp;Desc=std::string())</td></tr>
+<tr class="memitem:a6ec73bd0d2a37553c8518e0ef428dee4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00070.html">internal::parameterized_invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4">parameterized</a> (const std::string &amp;query)</td></tr>
+<tr class="memdesc:a6ec73bd0d2a37553c8518e0ef428dee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parameterize a statement.  <a href="#a6ec73bd0d2a37553c8518e0ef428dee4"></a><br/></td></tr>
+<tr class="memitem:aed167261c4d76876241b5f615b9b8c7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn</a> () const </td></tr>
+<tr class="memdesc:aed167261c4d76876241b5f615b9b8c7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connection this transaction is running in.  <a href="#aed167261c4d76876241b5f615b9b8c7a"></a><br/></td></tr>
+<tr class="memitem:ab7510be596a5a14014064c884a10fd93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ab7510be596a5a14014064c884a10fd93">set_variable</a> (const std::string &amp;Var, const std::string &amp;Val)</td></tr>
+<tr class="memdesc:ab7510be596a5a14014064c884a10fd93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session variable in this connection.  <a href="#ab7510be596a5a14014064c884a10fd93"></a><br/></td></tr>
+<tr class="memitem:a87f5147f2dc2dfbcc3b5aef4b461be86"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86">get_variable</a> (const std::string &amp;)</td></tr>
+<tr class="memdesc:a87f5147f2dc2dfbcc3b5aef4b461be86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently applicable value of variable.  <a href="#a87f5147f2dc2dfbcc3b5aef4b461be86"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Prepared statements</div></td></tr>
+<tr class="memitem:a1357ac4f6330284129c91882a169276d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00055.html">prepare::invocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1357ac4f6330284129c91882a169276d">prepared</a> (const std::string &amp;statement=std::string())</td></tr>
+<tr class="memdesc:a1357ac4f6330284129c91882a169276d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute prepared statement.  <a href="#a1357ac4f6330284129c91882a169276d"></a><br/></td></tr>
+<tr><td colspan="2"><div class="groupHeader">Error/warning output</div></td></tr>
+<tr class="memitem:a99f99eb85906a7541119c9098a36d799"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a99f99eb85906a7541119c9098a36d799">process_notice</a> (const char Msg[]) const </td></tr>
+<tr class="memdesc:a99f99eb85906a7541119c9098a36d799"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#a99f99eb85906a7541119c9098a36d799"></a><br/></td></tr>
+<tr class="memitem:aa90bc6e1219ff68ef11e1d04b76c205c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c">process_notice</a> (const std::string &amp;Msg) const </td></tr>
+<tr class="memdesc:aa90bc6e1219ff68ef11e1d04b76c205c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Have connection process warning message.  <a href="#aa90bc6e1219ff68ef11e1d04b76c205c"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a92fc088d2f2c3e1e5992b4e14c703684"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base</a> (<a class="el" href="a00023.html">connection_base</a> &amp;c, bool direct=true)</td></tr>
+<tr class="memdesc:a92fc088d2f2c3e1e5992b4e14c703684"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transaction (to be called by implementation classes only)  <a href="#a92fc088d2f2c3e1e5992b4e14c703684"></a><br/></td></tr>
+<tr class="memitem:a1d2a8554499cbd93ff8c2bf5c15843ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff">Begin</a> ()</td></tr>
+<tr class="memdesc:a1d2a8554499cbd93ff8c2bf5c15843ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin transaction (to be called by implementing class)  <a href="#a1d2a8554499cbd93ff8c2bf5c15843ff"></a><br/></td></tr>
+<tr class="memitem:af2ddcd7f1def9dfd3f15c0f3242b9136"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136">End</a> ()  throw ()</td></tr>
+<tr class="memdesc:af2ddcd7f1def9dfd3f15c0f3242b9136"><td class="mdescLeft">&#160;</td><td class="mdescRight">End transaction. To be called by implementing class' destructor.  <a href="#af2ddcd7f1def9dfd3f15c0f3242b9136"></a><br/></td></tr>
+<tr class="memitem:aa80a7816f63c425c28cd4037aaa8cf8f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#aa80a7816f63c425c28cd4037aaa8cf8f">do_begin</a> ()=0</td></tr>
+<tr class="memdesc:aa80a7816f63c425c28cd4037aaa8cf8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: start transaction.  <a href="#aa80a7816f63c425c28cd4037aaa8cf8f"></a><br/></td></tr>
+<tr class="memitem:a6f587ae3bda7a32c8828984e7c4aa16e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a6f587ae3bda7a32c8828984e7c4aa16e">do_exec</a> (const char Query[])=0</td></tr>
+<tr class="memdesc:a6f587ae3bda7a32c8828984e7c4aa16e"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: perform query.  <a href="#a6f587ae3bda7a32c8828984e7c4aa16e"></a><br/></td></tr>
+<tr class="memitem:a475695c55439007cd2438fb184ed8be3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a475695c55439007cd2438fb184ed8be3">do_commit</a> ()=0</td></tr>
+<tr class="memdesc:a475695c55439007cd2438fb184ed8be3"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: commit transaction.  <a href="#a475695c55439007cd2438fb184ed8be3"></a><br/></td></tr>
+<tr class="memitem:a8fc9a363bcf7defb3c829a633c04ae6c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a8fc9a363bcf7defb3c829a633c04ae6c">do_abort</a> ()=0</td></tr>
+<tr class="memdesc:a8fc9a363bcf7defb3c829a633c04ae6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">To be implemented by derived implementation class: abort transaction.  <a href="#a8fc9a363bcf7defb3c829a633c04ae6c"></a><br/></td></tr>
+<tr class="memitem:ac80f81e53c31f3a2052dc24fc6bbb7ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html">result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ac80f81e53c31f3a2052dc24fc6bbb7ee">DirectExec</a> (const char C[], int Retries=0)</td></tr>
+<tr class="memdesc:ac80f81e53c31f3a2052dc24fc6bbb7ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute query on connection directly.  <a href="#ac80f81e53c31f3a2052dc24fc6bbb7ee"></a><br/></td></tr>
+<tr class="memitem:a84df458282939ef38cfddfaa07bea1d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a84df458282939ef38cfddfaa07bea1d8">reactivation_avoidance_clear</a> ()  throw ()</td></tr>
+<tr class="memdesc:a84df458282939ef38cfddfaa07bea1d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forget about any reactivation-blocking resources we tried to allocate.  <a href="#a84df458282939ef38cfddfaa07bea1d8"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:adc48441869caf6a4b84911cd6984c36a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adc48441869caf6a4b84911cd6984c36a">m_reactivation_avoidance</a></td></tr>
+<tr class="memdesc:adc48441869caf6a4b84911cd6984c36a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resources allocated in this transaction that make reactivation impossible.  <a href="#adc48441869caf6a4b84911cd6984c36a"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:acf16920b6582767aae17d6c57770e853"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#acf16920b6582767aae17d6c57770e853">pqxx::internal::gate::transaction_transactionfocus</a></td></tr>
+<tr class="memitem:afbc1622f03aeb05c34ac44f1c5c179dc"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#afbc1622f03aeb05c34ac44f1c5c179dc">pqxx::internal::gate::transaction_tablereader</a></td></tr>
+<tr class="memitem:a02ad6878f438fc51b297b32e7512e244"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a02ad6878f438fc51b297b32e7512e244">pqxx::internal::gate::transaction_tablewriter</a></td></tr>
+<tr class="memitem:ae689290143788842755389246915b9f2"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#ae689290143788842755389246915b9f2">pqxx::internal::gate::transaction_subtransaction</a></td></tr>
+</table>
+<h2>Member Typedef Documentation</h2>
+<a class="anchor" id="af5e1900b64239bac292f5505f7799654"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00056.html">isolation_traits</a>&lt;<a class="el" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a>&gt; <a class="el" href="a00107.html#af5e1900b64239bac292f5505f7799654">pqxx::transaction_base::isolation_tag</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>If nothing else is known, our isolation level is at least read_committed. </p>
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad5ddea378795d92908af4b65e59d585a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::transaction_base::~transaction_base </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a92fc088d2f2c3e1e5992b4e14c703684"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::transaction_base::transaction_base </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00023.html">connection_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>c</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bool&#160;</td>
+          <td class="paramname"><em>direct</em> = <code>true</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Create a transaction (to be called by implementation classes only) </p>
+<p>The optional name, if nonempty, must begin with a letter and may contain letters and digits only.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">c</td><td>The connection that this transaction is to act on. </td></tr>
+    <tr><td class="paramname">direct</td><td>Running directly in connection context (i.e. not nested)? </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="a00107.html#aed167261c4d76876241b5f615b9b8c7a">conn()</a>, and <a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base()</a>.</p>
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a955f2497216d9eae268ac662b46d5a45"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::transaction_base::abort </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Abort the transaction. </p>
+<p>No special effort is required to call this function; it will be called implicitly when the transaction is destructed. </p>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#b02770d55fdda6bc4e5b4323aa53e4e8">operator()</a> (TRANSACTION &amp;T)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a1d2a8554499cbd93ff8c2bf5c15843ff"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::transaction_base::Begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Begin transaction (to be called by implementing class) </p>
+<p>Will typically be called from implementing class' constructor. </p>
+
+<p>Referenced by <a class="el" href="a00106.html#a5ad879f746d13f51e469c67665b5d3f9">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;::transaction()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab2cf42c4821aff7ff1cd906af9165725"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::transaction_base::commit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overridable <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> definition; insert your database code here.  <a href="#b02770d55fdda6bc4e5b4323aa53e4e8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#11e2fe0df76ccba33e0c6cd7b8f6da2d">on_abort</a> (const char[])  throw ()</td></tr>
+<p>Commit the transaction. </p>
+<p>Unless this function is called explicitly, the transaction will not be committed (actually the nontransaction implementation breaks this rule, hence the name).</p>
+<p>Once this function returns, the whole transaction will typically be irrevocably completed in the database. There is also, however, a minute risk that the connection to the database may be lost at just the wrong moment. In that case, libpqxx may be unable to determine whether the transaction was completed or aborted and an <a class="el" href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;">in_doubt_error</a> will be thrown to make this fact known to the caller. The robusttransaction implementation takes some special precautions to reduce this risk. </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optional overridable function to be called if <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is aborted.  <a href="#11e2fe0df76ccba33e0c6cd7b8f6da2d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#acc3fb9eb7993788cafe66aa88d87d6b">on_commit</a> ()</td></tr>
+</div>
+</div>
+<a class="anchor" id="aed167261c4d76876241b5f615b9b8c7a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00023.html">connection_base</a>&amp; pqxx::transaction_base::conn </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optional overridable function to be called after successful commit.  <a href="#acc3fb9eb7993788cafe66aa88d87d6b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#de15ec930b8c4baee2c22ceec5af9c2d">on_doubt</a> ()  throw ()</td></tr>
+<p>Connection this transaction is running in. </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overridable function to be called when "in doubt" about outcome.  <a href="#de15ec930b8c4baee2c22ceec5af9c2d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#066e30c769dbc33252a9ee7024ef46d8">Name</a> () const </td></tr>
+<p>Referenced by <a class="el" href="a00058.html#a0357da0b565480de02030bf018a99e5a">pqxx::largeobject::RawConnection()</a>, <a class="el" href="a00089.html#a78ee80852828a1221357352ce77b9597">pqxx::internal::sql_cursor::sql_cursor()</a>, <a class="el" href="a00107.html#a92fc088d2f2c3e1e5992b4e14c703684">transaction_base()</a>, and <a class="el" href="a00106.html#a028f5dc23672e38c82a8fd91cd4e4ee0">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;::~transaction()</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The transactor's name.  <a href="#066e30c769dbc33252a9ee7024ef46d8"></a><br></td></tr>
+</div>
+</div>
+<a class="anchor" id="ac80f81e53c31f3a2052dc24fc6bbb7ee"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">pqxx::result</a> pqxx::transaction_base::DirectExec </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>C</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>Retries</em> = <code>0</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
 </table>
-<h3>template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt;<br>
- class pqxx::transactor&lt; TRANSACTION &gt;</h3>
+</div><div class="memdoc">
+
+<p>Execute query on connection directly. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">C</td><td>Query or command to execute </td></tr>
+    <tr><td class="paramname">Retries</td><td>Number of times to retry the query if it fails. Be extremely careful with this option; if you retry in the middle of a transaction, you may be setting up a new connection transparently and executing the latter part of the transaction without a backend transaction being active (and with the former part aborted). </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="326761951cbf1a7b38ee912a4ca3556f"></a><!-- doxytag: member="pqxx::transactor::transactor" ref="326761951cbf1a7b38ee912a4ca3556f" args="(const std::string &amp;TName=&quot;transactor&quot;)" -->
+</div>
+</div>
+<a class="anchor" id="a8fc9a363bcf7defb3c829a633c04ae6c"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00107.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::<a class="el" href="a00107.html">transactor</a>           </td>
+          <td class="memname">virtual void pqxx::transaction_base::do_abort </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>TName</em> = <code>&quot;transactor&lt;&nbsp;TRANSACTION&nbsp;&gt;&quot;</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>To be implemented by derived implementation class: abort transaction. </p>
+
+<p>Implemented in <a class="el" href="a00032.html#a38c5eb7ae19ad150f89e951261873aba">pqxx::dbtransaction</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="aa80a7816f63c425c28cd4037aaa8cf8f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void pqxx::transaction_base::do_begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+<p>To be implemented by derived implementation class: start transaction. </p>
 
+<p>Implemented in <a class="el" href="a00032.html#a0b4da4b562a51ec0f03a9abf75acd14c">pqxx::dbtransaction</a>.</p>
+
+</div>
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="b02770d55fdda6bc4e5b4323aa53e4e8"></a><!-- doxytag: member="pqxx::transactor::operator()" ref="b02770d55fdda6bc4e5b4323aa53e4e8" args="(TRANSACTION &amp;T)" -->
+<a class="anchor" id="a475695c55439007cd2438fb184ed8be3"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00107.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::operator()           </td>
+          <td class="memname">virtual void pqxx::transaction_base::do_commit </td>
           <td>(</td>
-          <td class="paramtype">TRANSACTION &amp;&nbsp;</td>
-          <td class="paramname"> <em>T</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>To be implemented by derived implementation class: commit transaction. </p>
+
+<p>Implemented in <a class="el" href="a00032.html#ae434c2ec625a55ec8c6c4f57d1cb0a54">pqxx::dbtransaction</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a6f587ae3bda7a32c8828984e7c4aa16e"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00084.html">result</a> pqxx::transaction_base::do_exec </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Query</em>[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>To be implemented by derived implementation class: perform query. </p>
+
+<p>Implemented in <a class="el" href="a00032.html#a9b3e988901d4bec05d414543314a945b">pqxx::dbtransaction</a>.</p>
 
-<p>
-Overridable <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> definition; insert your database code here. 
-<p>
-The operation will be retried if the connection to the backend is lost or the operation fails, but not if the connection is broken in such a way as to leave the library in doubt as to whether the operation succeeded. In that case, an <a class="el" href="a00039.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;...">in_doubt_error</a> will be thrown.<p>
-Recommended practice is to allow this operator to modify only the <a class="el" href="a00107.html">transactor</a> itself, and the dedicated <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> object it is passed as an argument. This is what makes side effects, retrying etc. controllable in the <a class="el" href="a00107.html">transactor</a> framework. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>T</em>&nbsp;</td><td>Dedicated <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> context created to perform this operation. </td></tr>
+</div>
+</div>
+<a class="anchor" id="af2ddcd7f1def9dfd3f15c0f3242b9136"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::transaction_base::End </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>End transaction. To be called by implementing class' destructor. </p>
+
+<p>Referenced by <a class="el" href="a00106.html#a028f5dc23672e38c82a8fd91cd4e4ee0">pqxx::transaction&lt; ISOLATIONLEVEL, READWRITE &gt;::~transaction()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aed91d0b8029795b477470e854c907c4b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html">pqxx::result</a> pqxx::transaction_base::exec </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Query</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Desc</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Execute query. </p>
+<p>Perform a query in this transaction.</p>
+<p>This is one of the most important functions in libpqxx.</p>
+<p>Most libpqxx exceptions can be thrown from here, including <a class="el" href="a00090.html" title="Exception class for failed queries.">sql_error</a>, <a class="el" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a>, and many <a class="el" href="a00090.html" title="Exception class for failed queries.">sql_error</a> subtypes such as <a class="el" href="a00040.html" title="Database feature not supported in current setup.">feature_not_supported</a> or <a class="el" href="a00048.html">insufficient_privilege</a>. But any exception thrown by the C++ standard library may also occur here. All exceptions will be derived from std::exception, however, and all libpqxx-specific exception types are derived from <a class="el" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx::pqxx_exception</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Query</td><td>Query or command to execute </td></tr>
+    <tr><td class="paramname">Desc</td><td>Optional identifier for query, to help pinpoint SQL errors </td></tr>
   </table>
+  </dd>
 </dl>
+<dl class="section return"><dt>Returns</dt><dd>A result set describing the query's or command's result </dd></dl>
+
+<p>Referenced by <a class="el" href="a00089.html#a78ee80852828a1221357352ce77b9597">pqxx::internal::sql_cursor::sql_cursor()</a>.</p>
 
 </div>
-</div><p>
-<a class="anchor" name="11e2fe0df76ccba33e0c6cd7b8f6da2d"></a><!-- doxytag: member="pqxx::transactor::on_abort" ref="11e2fe0df76ccba33e0c6cd7b8f6da2d" args="(const char[])" -->
+</div>
+<a class="anchor" id="a938732e87f924fee764cddd8390de20f"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00107.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::on_abort           </td>
+          <td class="memname"><a class="el" href="a00084.html">result</a> pqxx::transaction_base::exec </td>
           <td>(</td>
-          <td class="paramtype">const &nbsp;</td>
-          <td class="paramname"> <em>char</em>[]          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramtype">const std::stringstream &amp;&#160;</td>
+          <td class="paramname"><em>Query</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Desc</em> = <code>std::string()</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00107.html#a938732e87f924fee764cddd8390de20f">exec()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a87f5147f2dc2dfbcc3b5aef4b461be86"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">string pqxx::transaction_base::get_variable </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Var</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get currently applicable value of variable. </p>
+<p>First consults an internal cache of variables that have been set (whether in the ongoing transaction or in the connection) using the set_variable functions. If it is not found there, the database is queried.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Do not mix the set_variable with raw "SET" queries, and do not try to set or get variables while a pipeline or table stream is active.</dd>
+<dd>
+This function used to be declared as <code>const</code> but isn't anymore. </dd></dl>
 
-<p>
-Optional overridable function to be called if <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> is aborted. 
-<p>
-This need not imply complete <a class="el" href="a00032.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a>; the <a class="el" href="a00107.html">transactor</a> will automatically retry the operation a number of times before giving up. <a class="el" href="a00107.html#11e2fe0df76ccba33e0c6cd7b8f6da2d" title="Optional overridable function to be called if transaction is aborted.">on_abort()</a> will be called for each of the failed attempts.<p>
-One parameter is passed in by the framework: an error string describing why the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> failed. This will also be logged to the connection's notice processor. 
 </div>
-</div><p>
-<a class="anchor" name="acc3fb9eb7993788cafe66aa88d87d6b"></a><!-- doxytag: member="pqxx::transactor::on_commit" ref="acc3fb9eb7993788cafe66aa88d87d6b" args="()" -->
+</div>
+<a class="anchor" id="a6ec73bd0d2a37553c8518e0ef428dee4"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00107.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::on_commit           </td>
+          <td class="memname"><a class="el" href="a00070.html">internal::parameterized_invocation</a> pqxx::transaction_base::parameterized </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>query</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Parameterize a statement. </p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a1357ac4f6330284129c91882a169276d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00055.html">pqxx::prepare::invocation</a> pqxx::transaction_base::prepared </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>statement</em> = <code>std::string()</code></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Execute prepared statement. </p>
+<p>Prepared statements are defined using the connection classes' prepare() function, and continue to live on in the ongoing session regardless of the context they were defined in (unless explicitly dropped using the connection's unprepare() function). Their execution however, like other forms of query execution, requires a transaction object.</p>
+<p>Just like param_declaration is a helper class that lets you tag parameter declarations onto the statement declaration, the invocation class returned here lets you tag parameter values onto the call:</p>
+<div class="fragment"><div class="line">result run_mystatement(transaction_base &amp;T)</div>
+<div class="line">{</div>
+<div class="line">  <span class="keywordflow">return</span> T.prepared(<span class="stringliteral">&quot;mystatement&quot;</span>)(<span class="stringliteral">&quot;param1&quot;</span>)(2)()(4).exec();</div>
+<div class="line">}</div>
+</div><!-- fragment --><p>Here, parameter 1 (written as "&lt;tt&gt;$1&lt;/tt&gt;" in the statement's body) is a string that receives the value "param1"; the second parameter is an integer with the value 2; the third receives a null, making its type irrelevant; and number 4 again is an integer. The ultimate invocation of <a class="el" href="a00107.html#aed91d0b8029795b477470e854c907c4b" title="Execute query.">exec()</a> is essential; if you forget this, nothing happens.</p>
+<p>To see whether any prepared statement has been defined under a given name, use:</p>
+<div class="fragment"><div class="line">T.prepared(<span class="stringliteral">&quot;mystatement&quot;</span>).exists()</div>
+</div><!-- fragment --><dl class="section warning"><dt>Warning</dt><dd>Do not try to execute a prepared statement manually through direct SQL statements. This is likely not to work, and even if it does, is likely to be slower than using the proper libpqxx functions. Also, libpqxx knows how to emulate prepared statements if some part of the infrastructure does not support them.</dd>
+<dd>
+Actual definition of the prepared statement on the backend may be deferred until its first use, which means that any errors in the prepared statement may not show up until it is executed&ndash;and perhaps abort the ongoing transaction in the process.</dd></dl>
+<p>If you leave out the statement name, the call refers to the nameless statement instead. </p>
 
-<p>
-Optional overridable function to be called after successful commit. 
-<p>
-If your <a class="el" href="a00107.html#acc3fb9eb7993788cafe66aa88d87d6b" title="Optional overridable function to be called after successful commit.">on_commit()</a> throws an exception, the actual back-end <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> will remain committed, so any changes in the database remain regardless of how this function terminates. 
 </div>
-</div><p>
-<a class="anchor" name="de15ec930b8c4baee2c22ceec5af9c2d"></a><!-- doxytag: member="pqxx::transactor::on_doubt" ref="de15ec930b8c4baee2c22ceec5af9c2d" args="()" -->
+</div>
+<a class="anchor" id="a99f99eb85906a7541119c9098a36d799"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00107.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::on_doubt           </td>
+          <td class="memname">void pqxx::transaction_base::process_notice </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%">  throw ()</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>Msg</em>[]</td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Have connection process warning message. </p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="aa90bc6e1219ff68ef11e1d04b76c205c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::transaction_base::process_notice </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Msg</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-Overridable function to be called when "in doubt" about outcome. 
-<p>
-This may happen if the connection to the backend is lost while attempting to commit. In that case, the backend may have committed the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> but is unable to confirm this to the frontend; or the <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a> may have failed, causing it to be rolled back, but again without acknowledgement to the client program. The best way to deal with this situation is typically to wave red flags in the user's face and ask him to investigate.<p>
-The <a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> class is intended to reduce the chances of this error occurring, at a certain cost in performance. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00084.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> </dd></dl>
+<p>Have connection process warning message. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="066e30c769dbc33252a9ee7024ef46d8"></a><!-- doxytag: member="pqxx::transactor::Name" ref="066e30c769dbc33252a9ee7024ef46d8" args="() const " -->
+</div>
+<a class="anchor" id="a84df458282939ef38cfddfaa07bea1d8"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename TRANSACTION = transaction&lt;read_committed&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">std ::string <a class="el" href="a00107.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::Name           </td>
+          <td class="memname">void pqxx::transaction_base::reactivation_avoidance_clear </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Forget about any reactivation-blocking resources we tried to allocate. </p>
+
+<p>References <a class="el" href="a00084.html#a77542a235a4ca711267e30d84492ce3b">pqxx::result::clear()</a>.</p>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ab7510be596a5a14014064c884a10fd93"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::transaction_base::set_variable </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Val</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-The transactor's name. 
-<p>
+<p>Set session variable in this connection. </p>
+<p>The new value is typically forgotten if the transaction aborts. Known exceptions to this rule are nontransaction, and PostgreSQL versions prior to 7.3. In the case of nontransaction, the set value will be kept regardless; but in that case, if the connection ever needs to be recovered, the set value will not be restored. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Var</td><td>The variable to set </td></tr>
+    <tr><td class="paramname">Val</td><td>The new value to store in the variable </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="ae689290143788842755389246915b9f2"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::transaction_subtransaction</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00259.html">transactor.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:53 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<a class="anchor" id="afbc1622f03aeb05c34ac44f1c5c179dc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::transaction_tablereader</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a02ad6878f438fc51b297b32e7512e244"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::transaction_tablewriter</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acf16920b6582767aae17d6c57770e853"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class pqxx::internal::gate::transaction_transactionfocus</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="adc48441869caf6a4b84911cd6984c36a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00080.html">internal::reactivation_avoidance_counter</a> pqxx::transaction_base::m_reactivation_avoidance</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Resources allocated in this transaction that make reactivation impossible. </p>
+<p>This number may be negative! </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00171_source.html">transaction_base.hxx</a></li>
+<li>transaction_base.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00107.html">transaction_base</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00107.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00107.js
--- 3.1-1.1/doc/html/Reference/a00107.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00107.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,36 @@
+var a00107 =
+[
+    [ "isolation_tag", "a00107.html#af5e1900b64239bac292f5505f7799654", null ],
+    [ "~transaction_base", "a00107.html#ad5ddea378795d92908af4b65e59d585a", null ],
+    [ "transaction_base", "a00107.html#a92fc088d2f2c3e1e5992b4e14c703684", null ],
+    [ "abort", "a00107.html#a955f2497216d9eae268ac662b46d5a45", null ],
+    [ "Begin", "a00107.html#a1d2a8554499cbd93ff8c2bf5c15843ff", null ],
+    [ "commit", "a00107.html#ab2cf42c4821aff7ff1cd906af9165725", null ],
+    [ "conn", "a00107.html#aed167261c4d76876241b5f615b9b8c7a", null ],
+    [ "DirectExec", "a00107.html#ac80f81e53c31f3a2052dc24fc6bbb7ee", null ],
+    [ "do_abort", "a00107.html#a8fc9a363bcf7defb3c829a633c04ae6c", null ],
+    [ "do_begin", "a00107.html#aa80a7816f63c425c28cd4037aaa8cf8f", null ],
+    [ "do_commit", "a00107.html#a475695c55439007cd2438fb184ed8be3", null ],
+    [ "do_exec", "a00107.html#a6f587ae3bda7a32c8828984e7c4aa16e", null ],
+    [ "End", "a00107.html#af2ddcd7f1def9dfd3f15c0f3242b9136", null ],
+    [ "esc", "a00199.html#ga98dee516d429520627fd94f5ccb2b023", null ],
+    [ "esc", "a00199.html#ga38cc55d0d7637dd53a6508e2bc4beadb", null ],
+    [ "esc", "a00199.html#ga80bbd3626005768e0d39bdfb6930e244", null ],
+    [ "esc_raw", "a00199.html#ga6048218f7af70cd0423429d54203749c", null ],
+    [ "esc_raw", "a00199.html#ga489c7438da9241486297a451a8579dc1", null ],
+    [ "exec", "a00107.html#aed91d0b8029795b477470e854c907c4b", null ],
+    [ "exec", "a00107.html#a938732e87f924fee764cddd8390de20f", null ],
+    [ "get_variable", "a00107.html#a87f5147f2dc2dfbcc3b5aef4b461be86", null ],
+    [ "parameterized", "a00107.html#a6ec73bd0d2a37553c8518e0ef428dee4", null ],
+    [ "prepared", "a00107.html#a1357ac4f6330284129c91882a169276d", null ],
+    [ "process_notice", "a00107.html#a99f99eb85906a7541119c9098a36d799", null ],
+    [ "process_notice", "a00107.html#aa90bc6e1219ff68ef11e1d04b76c205c", null ],
+    [ "quote", "a00199.html#ga263a180c5d0decf645aca3fc1ed4d6ff", null ],
+    [ "reactivation_avoidance_clear", "a00107.html#a84df458282939ef38cfddfaa07bea1d8", null ],
+    [ "set_variable", "a00107.html#ab7510be596a5a14014064c884a10fd93", null ],
+    [ "pqxx::internal::gate::transaction_subtransaction", "a00107.html#ae689290143788842755389246915b9f2", null ],
+    [ "pqxx::internal::gate::transaction_tablereader", "a00107.html#afbc1622f03aeb05c34ac44f1c5c179dc", null ],
+    [ "pqxx::internal::gate::transaction_tablewriter", "a00107.html#a02ad6878f438fc51b297b32e7512e244", null ],
+    [ "pqxx::internal::gate::transaction_transactionfocus", "a00107.html#acf16920b6582767aae17d6c57770e853", null ],
+    [ "m_reactivation_avoidance", "a00107.html#adc48441869caf6a4b84911cd6984c36a", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00107.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00107.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00108.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00108.html
--- 3.1-1.1/doc/html/Reference/a00108.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00108.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,270 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::undefined_column Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::transactionfocus Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00108.html">undefined_column</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00108.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-methods">Protected Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="a00301.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::transactionfocus Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::undefined_column Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::undefined_column" --><!-- doxytag: inherits="pqxx::syntax_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::undefined_column:</div>
-<div class="dynsection">
-<p><center><img src="a00541.png" border="0" usemap="#a00542" alt="Inheritance graph"></center>
-<map name="a00542">
-<area shape="rect" href="a00098.html" title="pqxx::syntax_error" alt="" coords="24,238,163,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="36,161,151,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="44,84,143,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="15,6,172,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00543.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#2cef7f04b77370c1744fdefbd68cf254">undefined_column</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#21df53ad96763c63ad6bc691848b68b5">undefined_column</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00171_source.html">transaction_base.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::internal::transactionfocus:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00108.png" usemap="#pqxx::internal::transactionfocus_map" alt=""/>
+  <map id="pqxx::internal::transactionfocus_map" name="pqxx::internal::transactionfocus_map">
+<area href="a00061.html" alt="pqxx::internal::namedclass" shape="rect" coords="194,0,378,24"/>
+<area href="a00071.html" title="Processes several queries in FIFO manner, optimized for high throughput." alt="pqxx::pipeline" shape="rect" coords="0,112,184,136"/>
+<area href="a00099.html" title="&quot;Transaction&quot; nested within another transaction" alt="pqxx::subtransaction" shape="rect" coords="194,112,378,136"/>
+<area href="a00102.html" title="Base class for streaming data to/from database tables." alt="pqxx::tablestream" shape="rect" coords="388,112,572,136"/>
+<area href="a00101.html" title="Efficiently pull data directly out of a table." alt="pqxx::tablereader" shape="rect" coords="291,168,475,192"/>
+<area href="a00103.html" title="Efficiently write data directly to a database table." alt="pqxx::tablewriter" shape="rect" coords="485,168,669,192"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac1ad1a201cacde2cd35182dd3bfb66fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa">transactionfocus</a> (<a class="el" href="a00107.html">transaction_base</a> &amp;t)</td></tr>
+<tr class="inherit_header pub_methods_a00061"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00061')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00061.html">pqxx::internal::namedclass</a></td></tr>
+<tr class="memitem:ad703d52d9d96025bf08d9da26f6829be inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad703d52d9d96025bf08d9da26f6829be">namedclass</a> (const std::string &amp;Classname, const std::string &amp;Name=&quot;&quot;)</td></tr>
+<tr class="memitem:a79dcce75176eef9d2d80fdc2ec2827a7 inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a79dcce75176eef9d2d80fdc2ec2827a7">name</a> () const   throw ()</td></tr>
+<tr class="memitem:a9c216366ea21f1c9cd03b39410185cbb inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9c216366ea21f1c9cd03b39410185cbb">classname</a> () const   throw ()</td></tr>
+<tr class="memitem:ab63de628429e771251ab8a2688ad407d inherit pub_methods_a00061"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ab63de628429e771251ab8a2688ad407d">description</a> () const </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a267f75f541c85a38605fb6b8c66d1e0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a267f75f541c85a38605fb6b8c66d1e0a">register_me</a> ()</td></tr>
+<tr class="memitem:a53309d8e6bb85774cb16bf6a340cb558"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a53309d8e6bb85774cb16bf6a340cb558">unregister_me</a> ()  throw ()</td></tr>
+<tr class="memitem:adae9df5aee401ccb6f1d77024d524322"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#adae9df5aee401ccb6f1d77024d524322">reg_pending_error</a> (const std::string &amp;)  throw ()</td></tr>
+<tr class="memitem:a474a6ca017e7a313bc33e7b2b5a2d1d7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a474a6ca017e7a313bc33e7b2b5a2d1d7">registered</a> () const   throw ()</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a9924dff8ce3203ca9fb9e584800ef9f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4">m_Trans</a></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="2cef7f04b77370c1744fdefbd68cf254"></a><!-- doxytag: member="pqxx::undefined_column::undefined_column" ref="2cef7f04b77370c1744fdefbd68cf254" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac1ad1a201cacde2cd35182dd3bfb66fa"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::undefined_column::undefined_column           </td>
+          <td class="memname">pqxx::internal::transactionfocus::transactionfocus </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype"><a class="el" href="a00107.html">transaction_base</a> &amp;&#160;</td>
+          <td class="paramname"><em>t</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="21df53ad96763c63ad6bc691848b68b5"></a><!-- doxytag: member="pqxx::undefined_column::undefined_column" ref="21df53ad96763c63ad6bc691848b68b5" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="adae9df5aee401ccb6f1d77024d524322"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::undefined_column::undefined_column           </td>
+          <td class="memname">void pqxx::internal::transactionfocus::reg_pending_error </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a267f75f541c85a38605fb6b8c66d1e0a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname">void pqxx::internal::transactionfocus::register_me </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
         </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a474a6ca017e7a313bc33e7b2b5a2d1d7"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="memname">bool pqxx::internal::transactionfocus::registered </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a53309d8e6bb85774cb16bf6a340cb558"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::internal::transactionfocus::unregister_me </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="a9924dff8ce3203ca9fb9e584800ef9f4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00107.html">transaction_base</a>&amp; pqxx::internal::transactionfocus::m_Trans</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00171_source.html">transaction_base.hxx</a></li>
+<li>transaction_base.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00108.html">transactionfocus</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00108.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00108.js
--- 3.1-1.1/doc/html/Reference/a00108.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00108.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00108 =
+[
+    [ "transactionfocus", "a00108.html#ac1ad1a201cacde2cd35182dd3bfb66fa", null ],
+    [ "reg_pending_error", "a00108.html#adae9df5aee401ccb6f1d77024d524322", null ],
+    [ "register_me", "a00108.html#a267f75f541c85a38605fb6b8c66d1e0a", null ],
+    [ "registered", "a00108.html#a474a6ca017e7a313bc33e7b2b5a2d1d7", null ],
+    [ "unregister_me", "a00108.html#a53309d8e6bb85774cb16bf6a340cb558", null ],
+    [ "m_Trans", "a00108.html#a9924dff8ce3203ca9fb9e584800ef9f4", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00108.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00108.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00109.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00109.html
--- 3.1-1.1/doc/html/Reference/a00109.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00109.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,246 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::undefined_function Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::transactor&lt; TRANSACTION &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00109.html">undefined_function</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00109.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00293.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::transactor&lt; TRANSACTION &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::undefined_function Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::undefined_function" --><!-- doxytag: inherits="pqxx::syntax_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::undefined_function:</div>
-<div class="dynsection">
-<p><center><img src="a00544.png" border="0" usemap="#a00545" alt="Inheritance graph"></center>
-<map name="a00545">
-<area shape="rect" href="a00098.html" title="pqxx::syntax_error" alt="" coords="25,238,164,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="37,161,152,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="45,84,144,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="16,6,173,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00546.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#d7beff0f4d7b7353da9e675e899bb350">undefined_function</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#f634ee86c8bbeffb1db85a10c611e99b">undefined_function</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00172_source.html">transactor.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a326761951cbf1a7b38ee912a4ca3556f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#a326761951cbf1a7b38ee912a4ca3556f">transactor</a> (const std::string &amp;TName=&quot;transactor&quot;)</td></tr>
+<tr class="memitem:ab02770d55fdda6bc4e5b4323aa53e4e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#ab02770d55fdda6bc4e5b4323aa53e4e8">operator()</a> (TRANSACTION &amp;T)</td></tr>
+<tr class="memdesc:ab02770d55fdda6bc4e5b4323aa53e4e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overridable transaction definition; insert your database code here.  <a href="#ab02770d55fdda6bc4e5b4323aa53e4e8"></a><br/></td></tr>
+<tr class="memitem:a11e2fe0df76ccba33e0c6cd7b8f6da2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#a11e2fe0df76ccba33e0c6cd7b8f6da2d">on_abort</a> (const char[])  throw ()</td></tr>
+<tr class="memdesc:a11e2fe0df76ccba33e0c6cd7b8f6da2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional overridable function to be called if transaction is aborted.  <a href="#a11e2fe0df76ccba33e0c6cd7b8f6da2d"></a><br/></td></tr>
+<tr class="memitem:aacc3fb9eb7993788cafe66aa88d87d6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#aacc3fb9eb7993788cafe66aa88d87d6b">on_commit</a> ()</td></tr>
+<tr class="memdesc:aacc3fb9eb7993788cafe66aa88d87d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional overridable function to be called after successful commit.  <a href="#aacc3fb9eb7993788cafe66aa88d87d6b"></a><br/></td></tr>
+<tr class="memitem:ade15ec930b8c4baee2c22ceec5af9c2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#ade15ec930b8c4baee2c22ceec5af9c2d">on_doubt</a> ()  throw ()</td></tr>
+<tr class="memdesc:ade15ec930b8c4baee2c22ceec5af9c2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overridable function to be called when "in doubt" about outcome.  <a href="#ade15ec930b8c4baee2c22ceec5af9c2d"></a><br/></td></tr>
+<tr class="memitem:aa6045f47cf10d83a2d3d221813d7d53c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html#aa6045f47cf10d83a2d3d221813d7d53c">Name</a> () const </td></tr>
+<tr class="memdesc:aa6045f47cf10d83a2d3d221813d7d53c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The transactor's name.  <a href="#aa6045f47cf10d83a2d3d221813d7d53c"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d7beff0f4d7b7353da9e675e899bb350"></a><!-- doxytag: member="pqxx::undefined_function::undefined_function" ref="d7beff0f4d7b7353da9e675e899bb350" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a326761951cbf1a7b38ee912a4ca3556f"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTION  = transaction&lt;read_committed&gt;&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::undefined_function::undefined_function           </td>
+          <td class="memname"><a class="el" href="a00109.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::<a class="el" href="a00109.html">transactor</a> </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>TName</em> = <code>&quot;transactor&lt;&#160;TRANSACTION&#160;&gt;&quot;</code></td><td>)</td>
+          <td></td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="aa6045f47cf10d83a2d3d221813d7d53c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTION  = transaction&lt;read_committed&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string <a class="el" href="a00109.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::Name </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>The transactor's name. </p>
 
 </div>
-</div><p>
-<a class="anchor" name="f634ee86c8bbeffb1db85a10c611e99b"></a><!-- doxytag: member="pqxx::undefined_function::undefined_function" ref="f634ee86c8bbeffb1db85a10c611e99b" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a11e2fe0df76ccba33e0c6cd7b8f6da2d"></a>
 <div class="memitem">
 <div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTION  = transaction&lt;read_committed&gt;&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::undefined_function::undefined_function           </td>
+          <td class="memname">void <a class="el" href="a00109.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::on_abort </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td>  throw ()</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Optional overridable function to be called if transaction is aborted. </p>
+<p>This need not imply complete failure; the transactor will automatically retry the operation a number of times before giving up. <a class="el" href="a00109.html#a11e2fe0df76ccba33e0c6cd7b8f6da2d" title="Optional overridable function to be called if transaction is aborted.">on_abort()</a> will be called for each of the failed attempts.</p>
+<p>One parameter is passed in by the framework: an error string describing why the transaction failed. This will also be logged to the connection's notice processor. </p>
+
+</div>
+</div>
+<a class="anchor" id="aacc3fb9eb7993788cafe66aa88d87d6b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTION  = transaction&lt;read_committed&gt;&gt; </div>
+      <table class="memname">
         <tr>
-          <td class="paramkey"></td>
+          <td class="memname">void <a class="el" href="a00109.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::on_commit </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Optional overridable function to be called after successful commit. </p>
+<p>If your <a class="el" href="a00109.html#aacc3fb9eb7993788cafe66aa88d87d6b" title="Optional overridable function to be called after successful commit.">on_commit()</a> throws an exception, the actual back-end transaction will remain committed, so any changes in the database remain regardless of how this function terminates. </p>
+
+</div>
+</div>
+<a class="anchor" id="ade15ec930b8c4baee2c22ceec5af9c2d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTION  = transaction&lt;read_committed&gt;&gt; </div>
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td class="memname">void <a class="el" href="a00109.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::on_doubt </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+<p>Overridable function to be called when "in doubt" about outcome. </p>
+<p>This may happen if the connection to the backend is lost while attempting to commit. In that case, the backend may have committed the transaction but is unable to confirm this to the frontend; or the transaction may have failed, causing it to be rolled back, but again without acknowledgement to the client program. The best way to deal with this situation is typically to wave red flags in the user's face and ask him to investigate.</p>
+<p>The robusttransaction class is intended to reduce the chances of this error occurring, at a certain cost in performance. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00086.html" title="Slightly slower, better-fortified version of transaction.">robusttransaction</a> </dd></dl>
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="ab02770d55fdda6bc4e5b4323aa53e4e8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename TRANSACTION  = transaction&lt;read_committed&gt;&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00109.html">pqxx::transactor</a>&lt; TRANSACTION &gt;::operator() </td>
+          <td>(</td>
+          <td class="paramtype">TRANSACTION &amp;&#160;</td>
+          <td class="paramname"><em>T</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+<p>Overridable transaction definition; insert your database code here. </p>
+<p>The operation will be retried if the connection to the backend is lost or the operation fails, but not if the connection is broken in such a way as to leave the library in doubt as to whether the operation succeeded. In that case, an <a class="el" href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;">in_doubt_error</a> will be thrown.</p>
+<p>Recommended practice is to allow this operator to modify only the transactor itself, and the dedicated transaction object it is passed as an argument. This is what makes side effects, retrying etc. controllable in the transactor framework. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">T</td><td>Dedicated transaction context created to perform this operation. </td></tr>
+  </table>
+  </dd>
+</dl>
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00172_source.html">transactor.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00109.html">transactor</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00109.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00109.js
--- 3.1-1.1/doc/html/Reference/a00109.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00109.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,9 @@
+var a00109 =
+[
+    [ "transactor", "a00109.html#a326761951cbf1a7b38ee912a4ca3556f", null ],
+    [ "Name", "a00109.html#aa6045f47cf10d83a2d3d221813d7d53c", null ],
+    [ "on_abort", "a00109.html#a11e2fe0df76ccba33e0c6cd7b8f6da2d", null ],
+    [ "on_commit", "a00109.html#aacc3fb9eb7993788cafe66aa88d87d6b", null ],
+    [ "on_doubt", "a00109.html#ade15ec930b8c4baee2c22ceec5af9c2d", null ],
+    [ "operator()", "a00109.html#ab02770d55fdda6bc4e5b4323aa53e4e8", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00110.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00110.html
--- 3.1-1.1/doc/html/Reference/a00110.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00110.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,1076 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::undefined_table Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::result::tuple Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00110.html">undefined_table</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00110.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> &#124;
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#friends">Friends</a> &#124;
+<a href="a00275.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::result::tuple Class Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::undefined_table Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::undefined_table" --><!-- doxytag: inherits="pqxx::syntax_error" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
+
+<p>Reference to one row in a result.  
+ <a href="a00110.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="a00154_source.html">result.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Inheritance diagram for pqxx::undefined_table:</div>
-<div class="dynsection">
-<p><center><img src="a00547.png" border="0" usemap="#a00548" alt="Inheritance graph"></center>
-<map name="a00548">
-<area shape="rect" href="a00098.html" title="pqxx::syntax_error" alt="" coords="16,238,155,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="28,161,143,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="36,84,135,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="7,6,164,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
+Inheritance diagram for pqxx::result::tuple:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00110.png" usemap="#pqxx::result::tuple_map" alt=""/>
+  <map id="pqxx::result::tuple_map" name="pqxx::result::tuple_map">
+<area href="a00026.html" title="Iterator for rows (tuples) in a query result set." alt="pqxx::result::const_iterator" shape="rect" coords="0,56,208,80"/>
+<area href="a00028.html" alt="pqxx::result::const_reverse_iterator" shape="rect" coords="0,112,208,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a04ab738e7b02c3e4c0abc3b36b05b105"><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a></td></tr>
+<tr class="memitem:ae8abaddcc9a8eeea270407617a0575ca"><td class="memItemLeft" align="right" valign="top">typedef signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a></td></tr>
+<tr class="memitem:acd1cad6b3eb306521f7284bb53e86382"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a></td></tr>
+<tr class="memitem:ad37cf4380d4b70d7f2e4ad64a7bae40d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad37cf4380d4b70d7f2e4ad64a7bae40d">iterator</a></td></tr>
+<tr class="memitem:a3d6b3ef88e36e1122d48d47c533d2282"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00041.html">field</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a></td></tr>
+<tr class="memitem:a7f004c2ae584e59e06c4f94064ac2b4a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00025.html">const_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pointer</a></td></tr>
+<tr class="memitem:ad9505721c6c5e0ef30f4219acb984c32"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a></td></tr>
+<tr class="memitem:a30192c24c9670837b9fd0c2aa9c258ce"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a30192c24c9670837b9fd0c2aa9c258ce">reverse_iterator</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae69c446f9084d6ff0f1a3cc7f321435b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae69c446f9084d6ff0f1a3cc7f321435b">tuple</a> (const <a class="el" href="a00084.html">result</a> *r, <a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> i)  throw ()</td></tr>
+<tr class="memitem:a14121b235049af873ec0b96e9fd44519"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a14121b235049af873ec0b96e9fd44519">~tuple</a> ()  throw ()</td></tr>
+<tr class="memitem:a2ef9928b68fa88d62b1e15d273520633"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2ef9928b68fa88d62b1e15d273520633">begin</a> () const   throw ()</td></tr>
+<tr class="memitem:ac19dba7f5f671c45686919d0ec060099"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac19dba7f5f671c45686919d0ec060099">end</a> () const   throw ()</td></tr>
+<tr class="memitem:a10d7c4b02ec63fa480fe547f44cd845e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a10d7c4b02ec63fa480fe547f44cd845e">size</a> () const   throw ()</td></tr>
+<tr class="memitem:a2d8ee3f102ab8bb06cfd51cde9587352"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2d8ee3f102ab8bb06cfd51cde9587352">swap</a> (<a class="el" href="a00110.html">tuple</a> &amp;)  throw ()</td></tr>
+<tr class="memitem:a5f40a7299b25840dd77ee1ff4c493b0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a5f40a7299b25840dd77ee1ff4c493b0e">rownumber</a> () const   throw ()</td></tr>
+<tr class="memitem:a6b3a9a0f47c46941b03dd46ce5e911d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a6b3a9a0f47c46941b03dd46ce5e911d1">num</a> () const </td></tr>
+<tr class="memitem:a181ac1fa489005e938e238631d570e8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html">tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a181ac1fa489005e938e238631d570e8a">slice</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> Begin, <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> End) const </td></tr>
+<tr class="memitem:a2c3af72b2c5a4e13a5e17029b5393403"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2c3af72b2c5a4e13a5e17029b5393403">empty</a> () const   throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Comparison</div></td></tr>
+<tr class="memitem:a918a77515e1d23f490633694e63a7536"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a918a77515e1d23f490633694e63a7536">operator==</a> (const <a class="el" href="a00110.html">tuple</a> &amp;) const   throw ()</td></tr>
+<tr class="memitem:a4a00ef94885ee35c1f2ff3a2e1af5813"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4a00ef94885ee35c1f2ff3a2e1af5813">operator!=</a> (const <a class="el" href="a00110.html">tuple</a> &amp;rhs) const   throw ()</td></tr>
+<tr><td colspan="2"><div class="groupHeader">Field access</div></td></tr>
+<tr class="memitem:a2c014bad6e66d46cbbc73ec6e733d36b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2c014bad6e66d46cbbc73ec6e733d36b">front</a> () const   throw ()</td></tr>
+<tr class="memitem:a740b56442337e243a4f180cb162e36df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a740b56442337e243a4f180cb162e36df">back</a> () const   throw ()</td></tr>
+<tr class="memitem:ab481120e759b2cd379442dea2b5807d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab481120e759b2cd379442dea2b5807d4">rbegin</a> () const </td></tr>
+<tr class="memitem:aafbe3642f659bbe799d0c958ca5b3288"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00027.html">const_reverse_fielditerator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aafbe3642f659bbe799d0c958ca5b3288">rend</a> () const </td></tr>
+<tr class="memitem:aebbd4074b7aac3fe7938016e8467ad4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aebbd4074b7aac3fe7938016e8467ad4e">operator[]</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> i) const   throw ()</td></tr>
+<tr class="memitem:aa968f484cb595521a21984c19d782ec7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa968f484cb595521a21984c19d782ec7">operator[]</a> (int i) const   throw ()</td></tr>
+<tr class="memitem:a7fd25fa711d53bccf273f5ea02b1e804"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7fd25fa711d53bccf273f5ea02b1e804">operator[]</a> (const char f[]) const </td></tr>
+<tr class="memitem:a7d965761726e0aed78c742bef8a8367b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7d965761726e0aed78c742bef8a8367b">operator[]</a> (const std::string &amp;s) const </td></tr>
+<tr class="memitem:a51a3e775aae505045237751cb77f168f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a51a3e775aae505045237751cb77f168f">at</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>) const   throw (range_error)</td></tr>
+<tr class="memitem:a04d71d6aec9e22aceff66b3130963957"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a04d71d6aec9e22aceff66b3130963957">at</a> (int i) const   throw (range_error)</td></tr>
+<tr class="memitem:aa89da2b140c6755410e6649d67a24eaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa89da2b140c6755410e6649d67a24eaa">at</a> (const char[]) const </td></tr>
+<tr class="memitem:a04d2cc7ce46dee38809cd08e19874d53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a04d2cc7ce46dee38809cd08e19874d53">at</a> (const std::string &amp;s) const </td></tr>
+<tr><td colspan="2"><div class="groupHeader">Column information</div></td></tr>
+<tr class="memitem:a61cd4c1568c6b4e0aa4544def1a504c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a61cd4c1568c6b4e0aa4544def1a504c1">column_number</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a61cd4c1568c6b4e0aa4544def1a504c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist)  <a href="#a61cd4c1568c6b4e0aa4544def1a504c1"></a><br/></td></tr>
+<tr class="memitem:a896d28adf75ea017058f0af63a9be544"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a896d28adf75ea017058f0af63a9be544">column_number</a> (const char[]) const </td></tr>
+<tr class="memdesc:a896d28adf75ea017058f0af63a9be544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of given column (throws exception if it doesn't exist)  <a href="#a896d28adf75ea017058f0af63a9be544"></a><br/></td></tr>
+<tr class="memitem:a79754e74ff65d23d9cdc3fc0f1010b10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a79754e74ff65d23d9cdc3fc0f1010b10">column_type</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a79754e74ff65d23d9cdc3fc0f1010b10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a79754e74ff65d23d9cdc3fc0f1010b10"></a><br/></td></tr>
+<tr class="memitem:a55037e72efbabdb2689e4f24bfb7ffcb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a55037e72efbabdb2689e4f24bfb7ffcb">column_type</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a55037e72efbabdb2689e4f24bfb7ffcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a55037e72efbabdb2689e4f24bfb7ffcb"></a><br/></td></tr>
+<tr class="memitem:a77516aedd94a1b2f71cd223b8b8e158f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a77516aedd94a1b2f71cd223b8b8e158f">column_type</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a77516aedd94a1b2f71cd223b8b8e158f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a77516aedd94a1b2f71cd223b8b8e158f"></a><br/></td></tr>
+<tr class="memitem:a4ba6d8d10f3aa492131db8091a601dd3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4ba6d8d10f3aa492131db8091a601dd3">column_type</a> (const char ColName[]) const </td></tr>
+<tr class="memdesc:a4ba6d8d10f3aa492131db8091a601dd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of given column.  <a href="#a4ba6d8d10f3aa492131db8091a601dd3"></a><br/></td></tr>
+<tr class="memitem:aa9c99b23b1b7b6bffee470efa8cf51d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa9c99b23b1b7b6bffee470efa8cf51d2">column_table</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:aa9c99b23b1b7b6bffee470efa8cf51d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#aa9c99b23b1b7b6bffee470efa8cf51d2"></a><br/></td></tr>
+<tr class="memitem:a570a5885d199ebc832db445b2cbb3bd3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a570a5885d199ebc832db445b2cbb3bd3">column_table</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a570a5885d199ebc832db445b2cbb3bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a570a5885d199ebc832db445b2cbb3bd3"></a><br/></td></tr>
+<tr class="memitem:a4be9f6a472a8ab323808e2ade47f8b32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a4be9f6a472a8ab323808e2ade47f8b32">column_table</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a4be9f6a472a8ab323808e2ade47f8b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">What table did this column come from? Requires PostgreSQL 7.4 C API.  <a href="#a4be9f6a472a8ab323808e2ade47f8b32"></a><br/></td></tr>
+<tr class="memitem:a9436305528c77c8d517e1d298a7d19fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a9436305528c77c8d517e1d298a7d19fc">table_column</a> (<a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> ColNum) const </td></tr>
+<tr class="memdesc:a9436305528c77c8d517e1d298a7d19fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its table did this result column come from?  <a href="#a9436305528c77c8d517e1d298a7d19fc"></a><br/></td></tr>
+<tr class="memitem:a97b1294872efcae20c69ddff5c5e8934"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a97b1294872efcae20c69ddff5c5e8934">table_column</a> (int ColNum) const </td></tr>
+<tr class="memdesc:a97b1294872efcae20c69ddff5c5e8934"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its table did this result column come from?  <a href="#a97b1294872efcae20c69ddff5c5e8934"></a><br/></td></tr>
+<tr class="memitem:a0ba4830dc294d66b8158984ea901f338"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a0ba4830dc294d66b8158984ea901f338">table_column</a> (const std::string &amp;ColName) const </td></tr>
+<tr class="memdesc:a0ba4830dc294d66b8158984ea901f338"><td class="mdescLeft">&#160;</td><td class="mdescRight">What column number in its table did this result column come from?  <a href="#a0ba4830dc294d66b8158984ea901f338"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a7586f8621d9e99b45b3e2b6cfd1b7d01"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00084.html">result</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a7586f8621d9e99b45b3e2b6cfd1b7d01">m_Home</a></td></tr>
+<tr class="memitem:ac2f37dead6d71a6d32a4212765c90f50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ac2f37dead6d71a6d32a4212765c90f50">m_Index</a></td></tr>
+<tr class="memitem:afc1068d9087d9f9e86869aed6449d3eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#afc1068d9087d9f9e86869aed6449d3eb">m_Begin</a></td></tr>
+<tr class="memitem:a131c33c09c3ceb166096685664507121"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a131c33c09c3ceb166096685664507121">m_End</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:acd53905ae10cba58b4337aefe648aec6"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#acd53905ae10cba58b4337aefe648aec6">field</a></td></tr>
+</table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Reference to one row in a result. </p>
+<p>A tuple represents one row (also called a tuple) in a query result set. It also acts as a container mapping column numbers or names to field values (see below):</p>
+<div class="fragment"><div class="line">cout &lt;&lt; <a class="code" href="a00110.html#ae69c446f9084d6ff0f1a3cc7f321435b">tuple</a>[<span class="stringliteral">&quot;date&quot;</span>].c_str() &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; <a class="code" href="a00110.html#ae69c446f9084d6ff0f1a3cc7f321435b">tuple</a>[<span class="stringliteral">&quot;name&quot;</span>].c_str() &lt;&lt; endl;</div>
+</div><!-- fragment --><p>The tuple itself acts like a (non-modifyable) container, complete with its own <a class="el" href="a00026.html" title="Iterator for rows (tuples) in a query result set.">const_iterator</a> and <a class="el" href="a00028.html">const_reverse_iterator</a>. </p>
+</div><h2>Member Typedef Documentation</h2>
+<a class="anchor" id="acd1cad6b3eb306521f7284bb53e86382"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00025.html">const_fielditerator</a> <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">pqxx::result::tuple::const_iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
-<a href="a00549.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#639bf511f48a2eb3715f857fd91f1bce">undefined_table</a> (const std::string &amp;err)</td></tr>
+</div>
+</div>
+<a class="anchor" id="ad9505721c6c5e0ef30f4219acb984c32"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00027.html">const_reverse_fielditerator</a> <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">pqxx::result::tuple::const_reverse_iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#f1f3774f9f8b5cf656a9e6f442e2aea8">undefined_table</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+</div>
+</div>
+<a class="anchor" id="ae8abaddcc9a8eeea270407617a0575ca"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef signed int <a class="el" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">pqxx::result::tuple::difference_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-</table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="639bf511f48a2eb3715f857fd91f1bce"></a><!-- doxytag: member="pqxx::undefined_table::undefined_table" ref="639bf511f48a2eb3715f857fd91f1bce" args="(const std::string &amp;err)" -->
+</div>
+</div>
+<a class="anchor" id="ad37cf4380d4b70d7f2e4ad64a7bae40d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> <a class="el" href="a00110.html#ad37cf4380d4b70d7f2e4ad64a7bae40d">pqxx::result::tuple::iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7f004c2ae584e59e06c4f94064ac2b4a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00025.html">const_fielditerator</a> <a class="el" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pqxx::result::tuple::pointer</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3d6b3ef88e36e1122d48d47c533d2282"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00041.html">field</a> <a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">pqxx::result::tuple::reference</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a30192c24c9670837b9fd0c2aa9c258ce"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef <a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a> <a class="el" href="a00110.html#a30192c24c9670837b9fd0c2aa9c258ce">pqxx::result::tuple::reverse_iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a04ab738e7b02c3e4c0abc3b36b05b105"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef unsigned int <a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ae69c446f9084d6ff0f1a3cc7f321435b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::tuple::tuple </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00084.html">result</a> *&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a>&#160;</td>
+          <td class="paramname"><em>i</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="deprecated"><dt><b><a class="el" href="a00206.html#_deprecated000007">Deprecated:</a></b></dt><dd>Do not use this constructor. It will become private. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a14121b235049af873ec0b96e9fd44519"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::result::tuple::~tuple </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a51a3e775aae505045237751cb77f168f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00041.html">pqxx::result::field</a> pqxx::result::tuple::at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw (<a class="el" href="a00079.html">range_error</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a04d71d6aec9e22aceff66b3130963957"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::at </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw (<a class="el" href="a00079.html">range_error</a>)</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00110.html#a04d71d6aec9e22aceff66b3130963957">at()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a04d71d6aec9e22aceff66b3130963957">at()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa89da2b140c6755410e6649d67a24eaa"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00041.html">pqxx::result::field</a> pqxx::result::tuple::at </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>f</em>[]</td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a04d2cc7ce46dee38809cd08e19874d53"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::at </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00110.html#a04d2cc7ce46dee38809cd08e19874d53">at()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a04d2cc7ce46dee38809cd08e19874d53">at()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a740b56442337e243a4f180cb162e36df"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::back </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2ef9928b68fa88d62b1e15d273520633"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> pqxx::result::tuple::begin </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a61cd4c1568c6b4e0aa4544def1a504c1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::column_number </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of given column (throws exception if it doesn't exist) </p>
+
+<p>References <a class="el" href="a00110.html#a61cd4c1568c6b4e0aa4544def1a504c1">column_number()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a61cd4c1568c6b4e0aa4544def1a504c1">column_number()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a896d28adf75ea017058f0af63a9be544"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">pqxx::result::tuple::size_type</a> pqxx::result::tuple::column_number </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>ColName</em>[]</td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of given column (throws exception if it doesn't exist) </p>
+
+<p>References <a class="el" href="a00084.html#aed461aece290e5e28b7eca971e71198d">pqxx::result::column_number()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa9c99b23b1b7b6bffee470efa8cf51d2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_table </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+</div>
+</div>
+<a class="anchor" id="a570a5885d199ebc832db445b2cbb3bd3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_table </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+<p>References <a class="el" href="a00110.html#a570a5885d199ebc832db445b2cbb3bd3">column_table()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a570a5885d199ebc832db445b2cbb3bd3">column_table()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4be9f6a472a8ab323808e2ade47f8b32"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_table </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What table did this column come from? Requires PostgreSQL 7.4 C API. </p>
+<p>Only defined if the libpqxx library was compiled against a libpq version that supports the <code>PQftable</code> function.</p>
+<p>If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The <code>PQftable</code> function first became available in PostgreSQL 7.4. </p>
+
+<p>References <a class="el" href="a00110.html#a4be9f6a472a8ab323808e2ade47f8b32">column_table()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a4be9f6a472a8ab323808e2ade47f8b32">column_table()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a79754e74ff65d23d9cdc3fc0f1010b10"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
+
+</div>
+</div>
+<a class="anchor" id="a55037e72efbabdb2689e4f24bfb7ffcb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
+
+<p>References <a class="el" href="a00110.html#a55037e72efbabdb2689e4f24bfb7ffcb">column_type()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a55037e72efbabdb2689e4f24bfb7ffcb">column_type()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77516aedd94a1b2f71cd223b8b8e158f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
+
+<p>References <a class="el" href="a00110.html#a77516aedd94a1b2f71cd223b8b8e158f">column_type()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a77516aedd94a1b2f71cd223b8b8e158f">column_type()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4ba6d8d10f3aa492131db8091a601dd3"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">oid</a> pqxx::result::tuple::column_type </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>ColName</em>[]</td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of given column. </p>
+
+<p>References <a class="el" href="a00110.html#a4ba6d8d10f3aa492131db8091a601dd3">column_type()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a4ba6d8d10f3aa492131db8091a601dd3">column_type()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c3af72b2c5a4e13a5e17029b5393403"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::tuple::empty </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac19dba7f5f671c45686919d0ec060099"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a> pqxx::result::tuple::end </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2c014bad6e66d46cbbc73ec6e733d36b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::front </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6b3a9a0f47c46941b03dd46ce5e911d1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> pqxx::result::tuple::num </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a4a00ef94885ee35c1f2ff3a2e1af5813"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::tuple::operator!= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html">tuple</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a918a77515e1d23f490633694e63a7536"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool pqxx::result::tuple::operator== </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00110.html">tuple</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aebbd4074b7aac3fe7938016e8467ad4e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::operator[] </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa968f484cb595521a21984c19d782ec7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::operator[] </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>i</em></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00110.html#aa968f484cb595521a21984c19d782ec7">operator[]()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#aa968f484cb595521a21984c19d782ec7">operator[]()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7fd25fa711d53bccf273f5ea02b1e804"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::operator[] </td>
+          <td>(</td>
+          <td class="paramtype">const char&#160;</td>
+          <td class="paramname"><em>f</em>[]</td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7d965761726e0aed78c742bef8a8367b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a> pqxx::result::tuple::operator[] </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>s</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>References <a class="el" href="a00110.html#a7d965761726e0aed78c742bef8a8367b">operator[]()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a7d965761726e0aed78c742bef8a8367b">operator[]()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab481120e759b2cd379442dea2b5807d4"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::undefined_table::undefined_table           </td>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">result::tuple::const_reverse_iterator</a> pqxx::result::tuple::rbegin </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
         </tr>
       </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aafbe3642f659bbe799d0c958ca5b3288"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">result::tuple::const_reverse_iterator</a> pqxx::result::tuple::rend </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
 </div>
-<div class="memdoc">
+<a class="anchor" id="a5f40a7299b25840dd77ee1ff4c493b0e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> pqxx::result::tuple::rownumber </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="a10d7c4b02ec63fa480fe547f44cd845e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::size </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="f1f3774f9f8b5cf656a9e6f442e2aea8"></a><!-- doxytag: member="pqxx::undefined_table::undefined_table" ref="f1f3774f9f8b5cf656a9e6f442e2aea8" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="a181ac1fa489005e938e238631d570e8a"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::undefined_table::undefined_table           </td>
+          <td class="memname"><a class="el" href="a00110.html">pqxx::result::tuple</a> pqxx::result::tuple::slice </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>Begin</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>End</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Produce a slice of this tuple, containing the given range of columns.</p>
+<p>The slice runs from the range's starting column to the range's end column, exclusive. It looks just like a normal result tuple, except slices can be empty.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Slicing is a relatively new feature, and not all software may be prepared to deal with empty slices. If there is any chance that your program might be creating empty slices and passing them to code that may not be designed with the possibility of empty tuples in mind, be sure to test for that case. </dd></dl>
+
+<p>References <a class="el" href="a00110.html#afc1068d9087d9f9e86869aed6449d3eb">m_Begin</a>, and <a class="el" href="a00110.html#a131c33c09c3ceb166096685664507121">m_End</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2d8ee3f102ab8bb06cfd51cde9587352"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pqxx::result::tuple::swap </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html">tuple</a> &amp;&#160;</td>
+          <td class="paramname"><em>rhs</em></td><td>)</td>
+          <td>  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a9436305528c77c8d517e1d298a7d19fc"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::table_column </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column number in its table did this result column come from? </p>
+<p>A meaningful answer can be given only if the column in question comes directly from a column in a table. If the column is computed in any other way, a logic_error will be thrown.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">ColNum</td><td>a zero-based column number in this result set </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a zero-based column number in originating table</dd></dl>
+<p>Requires libpq from PostgreSQL 7.4 or better, as well as a server version of at least 7.4. </p>
+
+</div>
+</div>
+<a class="anchor" id="a97b1294872efcae20c69ddff5c5e8934"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::table_column </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>ColNum</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column number in its table did this result column come from? </p>
+
+<p>References <a class="el" href="a00110.html#a97b1294872efcae20c69ddff5c5e8934">table_column()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a97b1294872efcae20c69ddff5c5e8934">table_column()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0ba4830dc294d66b8158984ea901f338"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::table_column </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>ColName</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>What column number in its table did this result column come from? </p>
+
+<p>References <a class="el" href="a00110.html#a0ba4830dc294d66b8158984ea901f338">table_column()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00110.html#a0ba4830dc294d66b8158984ea901f338">table_column()</a>.</p>
+
+</div>
+</div>
+<h2>Friends And Related Function Documentation</h2>
+<a class="anchor" id="acd53905ae10cba58b4337aefe648aec6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">friend class <a class="el" href="a00041.html">field</a></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Data Documentation</h2>
+<a class="anchor" id="afc1068d9087d9f9e86869aed6449d3eb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::m_Begin</td>
         </tr>
       </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00110.html#a181ac1fa489005e938e238631d570e8a">slice()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a131c33c09c3ceb166096685664507121"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a> pqxx::result::tuple::m_End</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="a00110.html#a181ac1fa489005e938e238631d570e8a">slice()</a>.</p>
+
 </div>
-<div class="memdoc">
+</div>
+<a class="anchor" id="a7586f8621d9e99b45b3e2b6cfd1b7d01"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="a00084.html">result</a>* pqxx::result::tuple::m_Home</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="ac2f37dead6d71a6d32a4212765c90f50"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> pqxx::result::tuple::m_Index</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00154_source.html">result.hxx</a></li>
+<li>result.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00084.html">result</a></li><li class="navelem"><a class="el" href="a00110.html">tuple</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00110.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00110.js
--- 3.1-1.1/doc/html/Reference/a00110.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00110.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,52 @@
+var a00110 =
+[
+    [ "const_iterator", "a00110.html#acd1cad6b3eb306521f7284bb53e86382", null ],
+    [ "const_reverse_iterator", "a00110.html#ad9505721c6c5e0ef30f4219acb984c32", null ],
+    [ "difference_type", "a00110.html#ae8abaddcc9a8eeea270407617a0575ca", null ],
+    [ "iterator", "a00110.html#ad37cf4380d4b70d7f2e4ad64a7bae40d", null ],
+    [ "pointer", "a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a", null ],
+    [ "reference", "a00110.html#a3d6b3ef88e36e1122d48d47c533d2282", null ],
+    [ "reverse_iterator", "a00110.html#a30192c24c9670837b9fd0c2aa9c258ce", null ],
+    [ "size_type", "a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105", null ],
+    [ "tuple", "a00110.html#ae69c446f9084d6ff0f1a3cc7f321435b", null ],
+    [ "~tuple", "a00110.html#a14121b235049af873ec0b96e9fd44519", null ],
+    [ "at", "a00110.html#a51a3e775aae505045237751cb77f168f", null ],
+    [ "at", "a00110.html#a04d71d6aec9e22aceff66b3130963957", null ],
+    [ "at", "a00110.html#aa89da2b140c6755410e6649d67a24eaa", null ],
+    [ "at", "a00110.html#a04d2cc7ce46dee38809cd08e19874d53", null ],
+    [ "back", "a00110.html#a740b56442337e243a4f180cb162e36df", null ],
+    [ "begin", "a00110.html#a2ef9928b68fa88d62b1e15d273520633", null ],
+    [ "column_number", "a00110.html#a61cd4c1568c6b4e0aa4544def1a504c1", null ],
+    [ "column_number", "a00110.html#a896d28adf75ea017058f0af63a9be544", null ],
+    [ "column_table", "a00110.html#aa9c99b23b1b7b6bffee470efa8cf51d2", null ],
+    [ "column_table", "a00110.html#a570a5885d199ebc832db445b2cbb3bd3", null ],
+    [ "column_table", "a00110.html#a4be9f6a472a8ab323808e2ade47f8b32", null ],
+    [ "column_type", "a00110.html#a79754e74ff65d23d9cdc3fc0f1010b10", null ],
+    [ "column_type", "a00110.html#a55037e72efbabdb2689e4f24bfb7ffcb", null ],
+    [ "column_type", "a00110.html#a77516aedd94a1b2f71cd223b8b8e158f", null ],
+    [ "column_type", "a00110.html#a4ba6d8d10f3aa492131db8091a601dd3", null ],
+    [ "empty", "a00110.html#a2c3af72b2c5a4e13a5e17029b5393403", null ],
+    [ "end", "a00110.html#ac19dba7f5f671c45686919d0ec060099", null ],
+    [ "front", "a00110.html#a2c014bad6e66d46cbbc73ec6e733d36b", null ],
+    [ "num", "a00110.html#a6b3a9a0f47c46941b03dd46ce5e911d1", null ],
+    [ "operator!=", "a00110.html#a4a00ef94885ee35c1f2ff3a2e1af5813", null ],
+    [ "operator==", "a00110.html#a918a77515e1d23f490633694e63a7536", null ],
+    [ "operator[]", "a00110.html#aebbd4074b7aac3fe7938016e8467ad4e", null ],
+    [ "operator[]", "a00110.html#aa968f484cb595521a21984c19d782ec7", null ],
+    [ "operator[]", "a00110.html#a7fd25fa711d53bccf273f5ea02b1e804", null ],
+    [ "operator[]", "a00110.html#a7d965761726e0aed78c742bef8a8367b", null ],
+    [ "rbegin", "a00110.html#ab481120e759b2cd379442dea2b5807d4", null ],
+    [ "rend", "a00110.html#aafbe3642f659bbe799d0c958ca5b3288", null ],
+    [ "rownumber", "a00110.html#a5f40a7299b25840dd77ee1ff4c493b0e", null ],
+    [ "size", "a00110.html#a10d7c4b02ec63fa480fe547f44cd845e", null ],
+    [ "slice", "a00110.html#a181ac1fa489005e938e238631d570e8a", null ],
+    [ "swap", "a00110.html#a2d8ee3f102ab8bb06cfd51cde9587352", null ],
+    [ "table_column", "a00110.html#a9436305528c77c8d517e1d298a7d19fc", null ],
+    [ "table_column", "a00110.html#a97b1294872efcae20c69ddff5c5e8934", null ],
+    [ "table_column", "a00110.html#a0ba4830dc294d66b8158984ea901f338", null ],
+    [ "field", "a00110.html#acd53905ae10cba58b4337aefe648aec6", null ],
+    [ "m_Begin", "a00110.html#afc1068d9087d9f9e86869aed6449d3eb", null ],
+    [ "m_End", "a00110.html#a131c33c09c3ceb166096685664507121", null ],
+    [ "m_Home", "a00110.html#a7586f8621d9e99b45b3e2b6cfd1b7d01", null ],
+    [ "m_Index", "a00110.html#ac2f37dead6d71a6d32a4212765c90f50", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00110.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00110.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00111.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00111.html
--- 3.1-1.1/doc/html/Reference/a00111.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00111.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,159 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::internal::unique&lt; GUEST &gt; Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::undefined_column Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00186.html">internal</a>::<a class="el" href="a00111.html">unique</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00111.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00247.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::undefined_column Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::internal::unique&lt; GUEST &gt; Class Template Reference</h1><!-- doxytag: class="pqxx::internal::unique" -->Ensure proper opening/closing of GUEST objects related to a "host" object.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00262.html">util.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::internal::unique&lt; GUEST &gt;:</div>
-<div class="dynsection">
-<p><center><img src="a00675.png" border="0" usemap="#a00676" alt="Inheritance graph"></center>
-<map name="a00676">
-<area shape="rect" href="a00111.html" title="pqxx::internal::unique\&lt; pqxx::internal::transactionfocus \&gt;" alt="" coords="516,5,903,32"><area shape="rect" href="a00111.html" title="pqxx::internal::unique\&lt; pqxx::transaction_base \&gt;" alt="" coords="541,56,877,83"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00677.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#7dce0951d8eff0a8d156ff1b73e2c878">unique</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">GUEST *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#9a6ace7374f5ed24d77d6e760e186d8b">get</a> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#20d41d4090254a82c02f1d7e30af9d04">Register</a> (GUEST *G)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#fd6cf65f79200733565eb68f9085611a">Unregister</a> (GUEST *G)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::undefined_column:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00111.png" usemap="#pqxx::undefined_column_map" alt=""/>
+  <map id="pqxx::undefined_column_map" name="pqxx::undefined_column_map">
+<area href="a00100.html" alt="pqxx::syntax_error" shape="rect" coords="0,168,146,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,146,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,146,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,146,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2cef7f04b77370c1744fdefbd68cf254"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#a2cef7f04b77370c1744fdefbd68cf254">undefined_column</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a21df53ad96763c63ad6bc691848b68b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#a21df53ad96763c63ad6bc691848b68b5">undefined_column</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00100"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00100')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00100.html">pqxx::syntax_error</a></td></tr>
+<tr class="memitem:a4f9f763f575081c79c255f7e6e0d852a inherit pub_methods_a00100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a4f9f763f575081c79c255f7e6e0d852a">syntax_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a35ecbf64c26b9c3d4798725cbc3f25b9 inherit pub_methods_a00100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a35ecbf64c26b9c3d4798725cbc3f25b9">syntax_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;typename GUEST&gt;<br>
- class pqxx::internal::unique&lt; GUEST &gt;</h3>
-
-Ensure proper opening/closing of GUEST objects related to a "host" object. 
-<p>
-Only a single GUEST may exist for a single host at any given time. GUEST must be derived from <a class="el" href="a00053.html">namedclass</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="7dce0951d8eff0a8d156ff1b73e2c878"></a><!-- doxytag: member="pqxx::internal::unique::unique" ref="7dce0951d8eff0a8d156ff1b73e2c878" args="()" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a2cef7f04b77370c1744fdefbd68cf254"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename GUEST&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="a00111.html">pqxx::internal::unique</a>&lt; GUEST &gt;::<a class="el" href="a00111.html">unique</a>           </td>
+          <td class="memname">pqxx::undefined_column::undefined_column </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="9a6ace7374f5ed24d77d6e760e186d8b"></a><!-- doxytag: member="pqxx::internal::unique::get" ref="9a6ace7374f5ed24d77d6e760e186d8b" args="() const " -->
+</div>
+<a class="anchor" id="a21df53ad96763c63ad6bc691848b68b5"></a>
 <div class="memitem">
 <div class="memproto">
-<div class="memtemplate">
-template&lt;typename GUEST&gt; </div>
       <table class="memname">
         <tr>
-          <td class="memname">GUEST* <a class="el" href="a00111.html">pqxx::internal::unique</a>&lt; GUEST &gt;::get           </td>
+          <td class="memname">pqxx::undefined_column::undefined_column </td>
           <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"> const  throw ()</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="20d41d4090254a82c02f1d7e30af9d04"></a><!-- doxytag: member="pqxx::internal::unique::Register" ref="20d41d4090254a82c02f1d7e30af9d04" args="(GUEST *G)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename GUEST&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00111.html">pqxx::internal::unique</a>&lt; GUEST &gt;::Register           </td>
-          <td>(</td>
-          <td class="paramtype">GUEST *&nbsp;</td>
-          <td class="paramname"> <em>G</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="fd6cf65f79200733565eb68f9085611a"></a><!-- doxytag: member="pqxx::internal::unique::Unregister" ref="fd6cf65f79200733565eb68f9085611a" args="(GUEST *G)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename GUEST&gt; </div>
-      <table class="memname">
         <tr>
-          <td class="memname">void <a class="el" href="a00111.html">pqxx::internal::unique</a>&lt; GUEST &gt;::Unregister           </td>
-          <td>(</td>
-          <td class="paramtype">GUEST *&nbsp;</td>
-          <td class="paramname"> <em>G</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00262.html">util.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:54 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00111.html">undefined_column</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00111.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00111.js
--- 3.1-1.1/doc/html/Reference/a00111.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00111.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00111 =
+[
+    [ "undefined_column", "a00111.html#a2cef7f04b77370c1744fdefbd68cf254", null ],
+    [ "undefined_column", "a00111.html#a21df53ad96763c63ad6bc691848b68b5", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00111.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00111.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00112.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00112.html
--- 3.1-1.1/doc/html/Reference/a00112.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00112.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,111 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::unique_violation Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::undefined_function Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00112.html">unique_violation</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00112.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00248.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::undefined_function Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::unique_violation Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::unique_violation" --><!-- doxytag: inherits="pqxx::integrity_constraint_violation" --><code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::unique_violation:</div>
-<div class="dynsection">
-<p><center><img src="a00523.png" border="0" usemap="#a00524" alt="Inheritance graph"></center>
-<map name="a00524">
-<area shape="rect" href="a00042.html" title="pqxx::integrity_constraint_violation" alt="" coords="5,238,248,265"><area shape="rect" href="a00088.html" title="Exception class for failed queries." alt="" coords="69,161,184,188"><area shape="rect" href="a00032.html" title="Run&#45;time failure encountered by libpqxx, similar to std::runtime_error." alt="" coords="77,84,176,110"><area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="48,6,205,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00525.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html#adb2cddaf2f72188f118784495e60720">unique_violation</a> (const std::string &amp;err)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html#704dbc98b56d620ec131498b77578261">unique_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::undefined_function:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00112.png" usemap="#pqxx::undefined_function_map" alt=""/>
+  <map id="pqxx::undefined_function_map" name="pqxx::undefined_function_map">
+<area href="a00100.html" alt="pqxx::syntax_error" shape="rect" coords="0,168,151,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,151,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,151,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,151,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad7beff0f4d7b7353da9e675e899bb350"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html#ad7beff0f4d7b7353da9e675e899bb350">undefined_function</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:af634ee86c8bbeffb1db85a10c611e99b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html#af634ee86c8bbeffb1db85a10c611e99b">undefined_function</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00100"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00100')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00100.html">pqxx::syntax_error</a></td></tr>
+<tr class="memitem:a4f9f763f575081c79c255f7e6e0d852a inherit pub_methods_a00100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a4f9f763f575081c79c255f7e6e0d852a">syntax_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a35ecbf64c26b9c3d4798725cbc3f25b9 inherit pub_methods_a00100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a35ecbf64c26b9c3d4798725cbc3f25b9">syntax_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="adb2cddaf2f72188f118784495e60720"></a><!-- doxytag: member="pqxx::unique_violation::unique_violation" ref="adb2cddaf2f72188f118784495e60720" args="(const std::string &amp;err)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ad7beff0f4d7b7353da9e675e899bb350"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::unique_violation::unique_violation           </td>
+          <td class="memname">pqxx::undefined_function::undefined_function </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<a class="anchor" name="704dbc98b56d620ec131498b77578261"></a><!-- doxytag: member="pqxx::unique_violation::unique_violation" ref="704dbc98b56d620ec131498b77578261" args="(const std::string &amp;err, const std::string &amp;Q)" -->
+</div>
+<a class="anchor" id="af634ee86c8bbeffb1db85a10c611e99b"></a>
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::unique_violation::unique_violation           </td>
+          <td class="memname">pqxx::undefined_function::undefined_function </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>err</em>, </td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>Q</em></td><td>&nbsp;</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
         </tr>
         <tr>
           <td></td>
           <td>)</td>
-          <td></td><td></td><td width="100%"></td>
+          <td></td><td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
-
-<p>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:51 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00112.html">undefined_function</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00112.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00112.js
--- 3.1-1.1/doc/html/Reference/a00112.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00112.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00112 =
+[
+    [ "undefined_function", "a00112.html#ad7beff0f4d7b7353da9e675e899bb350", null ],
+    [ "undefined_function", "a00112.html#af634ee86c8bbeffb1db85a10c611e99b", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00112.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00112.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00113.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00113.html
--- 3.1-1.1/doc/html/Reference/a00113.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00113.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,84 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pqxx::usage_error Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::undefined_table Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="a00171.html">pqxx</a>::<a class="el" href="a00113.html">usage_error</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00113.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00249.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::undefined_table Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>pqxx::usage_error Class Reference<br>
-<small>
-[<a class="el" href="a00200.html">Exception classes</a>]</small>
-</h1><!-- doxytag: class="pqxx::usage_error" --><!-- doxytag: inherits="pqxx::pqxx_exception" -->Error in usage of libpqxx library, similar to std::logic_error.  
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="a00226.html">except.hxx</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for pqxx::usage_error:</div>
-<div class="dynsection">
-<p><center><img src="a00493.png" border="0" usemap="#a00494" alt="Inheritance graph"></center>
-<map name="a00494">
-<area shape="rect" href="a00068.html" title="Mixin base class to identify libpqxx&#45;specific exception types." alt="" coords="5,6,163,33"></map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="a00495.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#c13c13a650ab45684355682a98655f5b">usage_error</a> (const std::string &amp;)</td></tr>
 
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::undefined_table:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00113.png" usemap="#pqxx::undefined_table_map" alt=""/>
+  <map id="pqxx::undefined_table_map" name="pqxx::undefined_table_map">
+<area href="a00100.html" alt="pqxx::syntax_error" shape="rect" coords="0,168,133,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,133,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,133,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,133,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a639bf511f48a2eb3715f857fd91f1bce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a639bf511f48a2eb3715f857fd91f1bce">undefined_table</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:af1f3774f9f8b5cf656a9e6f442e2aea8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#af1f3774f9f8b5cf656a9e6f442e2aea8">undefined_table</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00100"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00100')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00100.html">pqxx::syntax_error</a></td></tr>
+<tr class="memitem:a4f9f763f575081c79c255f7e6e0d852a inherit pub_methods_a00100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a4f9f763f575081c79c255f7e6e0d852a">syntax_error</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a35ecbf64c26b9c3d4798725cbc3f25b9 inherit pub_methods_a00100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html#a35ecbf64c26b9c3d4798725cbc3f25b9">syntax_error</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Error in usage of libpqxx library, similar to std::logic_error. <hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="c13c13a650ab45684355682a98655f5b"></a><!-- doxytag: member="pqxx::usage_error::usage_error" ref="c13c13a650ab45684355682a98655f5b" args="(const std::string &amp;)" -->
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a639bf511f48a2eb3715f857fd91f1bce"></a>
 <div class="memitem">
 <div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
       <table class="memname">
         <tr>
-          <td class="memname">pqxx::usage_error::usage_error           </td>
+          <td class="memname">pqxx::undefined_table::undefined_table </td>
           <td>(</td>
-          <td class="paramtype">const std::string &amp;&nbsp;</td>
-          <td class="paramname"> <em>whatarg</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"><code> [explicit]</code></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
         </tr>
       </table>
-</div>
-<div class="memdoc">
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<p>
+</div>
+</div>
+<a class="anchor" id="af1f3774f9f8b5cf656a9e6f442e2aea8"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::undefined_table::undefined_table </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="a00226.html">except.hxx</a><li><a class="el" href="a00135.html">except.cxx</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:50 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00113.html">undefined_table</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00113.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00113.js
--- 3.1-1.1/doc/html/Reference/a00113.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00113.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00113 =
+[
+    [ "undefined_table", "a00113.html#a639bf511f48a2eb3715f857fd91f1bce", null ],
+    [ "undefined_table", "a00113.html#af1f3774f9f8b5cf656a9e6f442e2aea8", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00113.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00113.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00114.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00114.html
--- 3.1-1.1/doc/html/Reference/a00114.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00114.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,56 +1,181 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: basic_connection.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::internal::unique&lt; GUEST &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00114.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00309.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::internal::unique&lt; GUEST &gt; Class Template Reference</div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>basic_connection.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;memory&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;pqxx/connection_base&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for basic_connection.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00264.png" border="0" usemap="#basic_connection.hxx_map" alt=""></center>
-<map name="basic_connection.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="983,84,1204,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00203.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
 
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00003.html">pqxx::basic_connection&lt; CONNECTPOLICY &gt;</a></td></tr>
+<p>Ensure proper opening/closing of GUEST objects related to a "host" object.  
+ <a href="a00114.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The ultimate template that defines a connection type.  <a href="a00003.html#_details">More...</a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00176_source.html">util.hxx</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7dce0951d8eff0a8d156ff1b73e2c878"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a7dce0951d8eff0a8d156ff1b73e2c878">unique</a> ()</td></tr>
+<tr class="memitem:a9a6ace7374f5ed24d77d6e760e186d8b"><td class="memItemLeft" align="right" valign="top">GUEST *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a9a6ace7374f5ed24d77d6e760e186d8b">get</a> () const   throw ()</td></tr>
+<tr class="memitem:a20d41d4090254a82c02f1d7e30af9d04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a20d41d4090254a82c02f1d7e30af9d04">Register</a> (GUEST *G)</td></tr>
+<tr class="memitem:afd6cf65f79200733565eb68f9085611a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#afd6cf65f79200733565eb68f9085611a">Unregister</a> (GUEST *G)</td></tr>
 </table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><h3>template&lt;typename GUEST&gt;<br/>
+class pqxx::internal::unique&lt; GUEST &gt;</h3>
+
+<p>Ensure proper opening/closing of GUEST objects related to a "host" object. </p>
+<p>Only a single GUEST may exist for a single host at any given time. GUEST must be derived from namedclass. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a7dce0951d8eff0a8d156ff1b73e2c878"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename GUEST&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00114.html">pqxx::internal::unique</a>&lt; GUEST &gt;::<a class="el" href="a00114.html">unique</a> </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2>Member Function Documentation</h2>
+<a class="anchor" id="a9a6ace7374f5ed24d77d6e760e186d8b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename GUEST&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">GUEST* <a class="el" href="a00114.html">pqxx::internal::unique</a>&lt; GUEST &gt;::get </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const  throw ()</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a20d41d4090254a82c02f1d7e30af9d04"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename GUEST&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00114.html">pqxx::internal::unique</a>&lt; GUEST &gt;::Register </td>
+          <td>(</td>
+          <td class="paramtype">GUEST *&#160;</td>
+          <td class="paramname"><em>G</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afd6cf65f79200733565eb68f9085611a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;typename GUEST&gt; </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00114.html">pqxx::internal::unique</a>&lt; GUEST &gt;::Unregister </td>
+          <td>(</td>
+          <td class="paramtype">GUEST *&#160;</td>
+          <td class="paramname"><em>G</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00176_source.html">util.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00189.html">internal</a></li><li class="navelem"><a class="el" href="a00114.html">unique</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:22 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:41 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00114.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00114.js
--- 3.1-1.1/doc/html/Reference/a00114.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00114.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,7 @@
+var a00114 =
+[
+    [ "unique", "a00114.html#a7dce0951d8eff0a8d156ff1b73e2c878", null ],
+    [ "get", "a00114.html#a9a6ace7374f5ed24d77d6e760e186d8b", null ],
+    [ "Register", "a00114.html#a20d41d4090254a82c02f1d7e30af9d04", null ],
+    [ "Unregister", "a00114.html#afd6cf65f79200733565eb68f9085611a", null ]
+];
\ No newline at end of file
diff -pruN 3.1-1.1/doc/html/Reference/a00115.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00115.html
--- 3.1-1.1/doc/html/Reference/a00115.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00115.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,64 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: binarystring.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::unique_violation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00115.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00241.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::unique_violation Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>binarystring.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;cstdio&gt;</code><br>
-<code>#include &lt;cstdlib&gt;</code><br>
-<code>#include &lt;cstring&gt;</code><br>
-<code>#include &lt;new&gt;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;libpq-fe.h&quot;</code><br>
-<code>#include &quot;pqxx/binarystring&quot;</code><br>
 
-<p>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
 <div class="dynheader">
-Include dependency graph for binarystring.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00265.png" border="0" usemap="#binarystring.cxx_map" alt=""></center>
-<map name="binarystring.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g80a4bfe9b1c1b88c29d16ba06102370b">pqxx::escape_binary</a> (const unsigned char bin[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g80a4bfe9b1c1b88c29d16ba06102370b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gd1faeced6ee13b17fbc3aca21712cc7c">pqxx::escape_binary</a> (const unsigned char bin[])</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#gd1faeced6ee13b17fbc3aca21712cc7c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g67d0543fc753d81b490cb7c77205a283">pqxx::escape_binary</a> (const char bin[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g67d0543fc753d81b490cb7c77205a283"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gd40c643f4f483941c07c7f25d9091abc">pqxx::escape_binary</a> (const char bin[])</td></tr>
+Inheritance diagram for pqxx::unique_violation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00115.png" usemap="#pqxx::unique_violation_map" alt=""/>
+  <map id="pqxx::unique_violation_map" name="pqxx::unique_violation_map">
+<area href="a00050.html" alt="pqxx::integrity_constraint_violation" shape="rect" coords="0,168,204,192"/>
+<area href="a00090.html" title="Exception class for failed queries." alt="pqxx::sql_error" shape="rect" coords="0,112,204,136"/>
+<area href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error." alt="pqxx::failure" shape="rect" coords="0,56,204,80"/>
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,204,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aadb2cddaf2f72188f118784495e60720"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#aadb2cddaf2f72188f118784495e60720">unique_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a704dbc98b56d620ec131498b77578261"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a704dbc98b56d620ec131498b77578261">unique_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00050"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00050')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00050.html">pqxx::integrity_constraint_violation</a></td></tr>
+<tr class="memitem:a9fa871a08c23b2722a42fa545cecd2ab inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">integrity_constraint_violation</a> (const std::string &amp;err)</td></tr>
+<tr class="memitem:a505ae8d71add1a4c19e69f5cf96cea9d inherit pub_methods_a00050"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">integrity_constraint_violation</a> (const std::string &amp;err, const std::string &amp;Q)</td></tr>
+<tr class="inherit_header pub_methods_a00090"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00090')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00090.html">pqxx::sql_error</a></td></tr>
+<tr class="memitem:ad2f7fa865d0410824b39ac27dab99d92 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#ad2f7fa865d0410824b39ac27dab99d92">sql_error</a> ()</td></tr>
+<tr class="memitem:affcbefe5ad9a1cae7073d170f85352d0 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#affcbefe5ad9a1cae7073d170f85352d0">sql_error</a> (const std::string &amp;)</td></tr>
+<tr class="memitem:af3e94ddc4c6428d5a1d7763936a5b781 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#af3e94ddc4c6428d5a1d7763936a5b781">sql_error</a> (const std::string &amp;, const std::string &amp;Q)</td></tr>
+<tr class="memitem:a7db2ae4924fda2aec297cfa1c8363ec7 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a7db2ae4924fda2aec297cfa1c8363ec7">~sql_error</a> ()  throw ()</td></tr>
+<tr class="memitem:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html#a477598fd2f749aa2e0c66295a818a0f5">query</a> () const   throw ()</td></tr>
+<tr class="memdesc:a477598fd2f749aa2e0c66295a818a0f5 inherit pub_methods_a00090"><td class="mdescLeft">&#160;</td><td class="mdescRight">The query whose execution triggered the exception.  <a href="#a477598fd2f749aa2e0c66295a818a0f5"></a><br/></td></tr>
+<tr class="inherit_header pub_methods_a00039"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00039')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00039.html">pqxx::failure</a></td></tr>
+<tr class="memitem:a0e7e8831fed026375c499ee03f501f50 inherit pub_methods_a00039"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a0e7e8831fed026375c499ee03f501f50">failure</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
+</table>
+<h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="aadb2cddaf2f72188f118784495e60720"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::unique_violation::unique_violation </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#gd40c643f4f483941c07c7f25d9091abc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#cbc04a934a4f51d09942b3451be44ae8">pqxx::escape_binary</a> (const string &amp;bin)</td></tr>
+</div>
+</div>
+<a class="anchor" id="a704dbc98b56d620ec131498b77578261"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::unique_violation::unique_violation </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>err</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>Q</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
 
-</table>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:41 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00115.html">unique_violation</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00115.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00115.js
--- 3.1-1.1/doc/html/Reference/a00115.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00115.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,5 @@
+var a00115 =
+[
+    [ "unique_violation", "a00115.html#aadb2cddaf2f72188f118784495e60720", null ],
+    [ "unique_violation", "a00115.html#a704dbc98b56d620ec131498b77578261", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00115.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00115.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00116.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00116.html
--- 3.1-1.1/doc/html/Reference/a00116.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00116.html	2013-01-20 05:57:21.000000000 +0000
@@ -1,70 +1,142 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: binarystring.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pqxx::usage_error Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
       <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
     </ul>
   </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
   </div>
 </div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00116.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="a00231.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">pqxx::usage_error Class Reference<div class="ingroups"><a class="el" href="a00203.html">Exception classes</a></div></div>  </div>
+</div><!--header-->
 <div class="contents">
-<h1>binarystring.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for binarystring.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00266.png" border="0" usemap="#binarystring.hxx_map" alt=""></center>
-<map name="binarystring.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="812,84,1033,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00206.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">pqxx::binarystring</a></td></tr>
 
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g9c1a379cd2ba4eea395fb79df463eb98">pqxx::escape_binary</a> (const std::string &amp;bin)</td></tr>
+<p>Error in usage of libpqxx library, similar to std::logic_error.  
+ <a href="a00116.html#details">More...</a></p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g9c1a379cd2ba4eea395fb79df463eb98"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gd40c643f4f483941c07c7f25d9091abc">pqxx::escape_binary</a> (const char bin[])</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#gd40c643f4f483941c07c7f25d9091abc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g67d0543fc753d81b490cb7c77205a283">pqxx::escape_binary</a> (const char bin[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g67d0543fc753d81b490cb7c77205a283"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#gd1faeced6ee13b17fbc3aca21712cc7c">pqxx::escape_binary</a> (const unsigned char bin[])</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#gd1faeced6ee13b17fbc3aca21712cc7c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#g80a4bfe9b1c1b88c29d16ba06102370b">pqxx::escape_binary</a> (const unsigned char bin[], size_t len)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Escape binary string for inclusion in SQL.  <a href="a00196.html#g80a4bfe9b1c1b88c29d16ba06102370b"></a><br></td></tr>
+<p><code>#include &lt;<a class="el" href="a00139_source.html">except.hxx</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pqxx::usage_error:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00116.png" usemap="#pqxx::usage_error_map" alt=""/>
+  <map id="pqxx::usage_error_map" name="pqxx::usage_error_map">
+<area href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types." alt="pqxx::pqxx_exception" shape="rect" coords="0,0,129,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac13c13a650ab45684355682a98655f5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ac13c13a650ab45684355682a98655f5b">usage_error</a> (const std::string &amp;)</td></tr>
+<tr class="inherit_header pub_methods_a00077"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00077')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="a00077.html">pqxx::pqxx_exception</a></td></tr>
+<tr class="memitem:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#a9386d73e8176de81de9b1fe38afa6952">~pqxx_exception</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a9386d73e8176de81de9b1fe38afa6952 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Support run-time polymorphism, and keep this class abstract.  <a href="#a9386d73e8176de81de9b1fe38afa6952"></a><br/></td></tr>
+<tr class="memitem:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="memItemLeft" align="right" valign="top">virtual const std::exception &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html#ae74a691b4648e099e1e947f07d4a6284">base</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae74a691b4648e099e1e947f07d4a6284 inherit pub_methods_a00077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return std::exception base-class object.  <a href="#ae74a691b4648e099e1e947f07d4a6284"></a><br/></td></tr>
 </table>
+<a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>Error in usage of libpqxx library, similar to std::logic_error. </p>
+</div><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="ac13c13a650ab45684355682a98655f5b"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">pqxx::usage_error::usage_error </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>whatarg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a00139_source.html">except.hxx</a></li>
+<li>except.cxx</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="a00174.html">pqxx</a></li><li class="navelem"><a class="el" href="a00116.html">usage_error</a></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:41 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
 </html>
diff -pruN 3.1-1.1/doc/html/Reference/a00116.js 1:3.1.1-0ubuntu4/doc/html/Reference/a00116.js
--- 3.1-1.1/doc/html/Reference/a00116.js	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00116.js	2013-01-20 05:57:22.000000000 +0000
@@ -0,0 +1,4 @@
+var a00116 =
+[
+    [ "usage_error", "a00116.html#ac13c13a650ab45684355682a98655f5b", null ]
+];
\ No newline at end of file
Binary files 3.1-1.1/doc/html/Reference/a00116.png and 1:3.1.1-0ubuntu4/doc/html/Reference/a00116.png differ
diff -pruN 3.1-1.1/doc/html/Reference/a00117.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00117.html
--- 3.1-1.1/doc/html/Reference/a00117.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00117.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: compiler-internal-post.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>compiler-internal-post.hxx File Reference</h1>
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00267.png" border="0" usemap="#compiler-internal-post.hxxdep_map" alt=""></center>
-<map name="compiler-internal-post.hxxdep_map">
-<area shape="rect" href="a00114.html" title="basic_connection.hxx" alt="" coords="5,84,163,110"><area shape="rect" href="a00116.html" title="binarystring.hxx" alt="" coords="187,84,309,110"><area shape="rect" href="a00127.html" title="connection.hxx" alt="" coords="333,84,451,110"><area shape="rect" href="a00129.html" title="connection_base.hxx" alt="" coords="475,84,629,110"><area shape="rect" href="a00130.html" title="connectionpolicy.hxx" alt="" coords="653,84,805,110"><area shape="rect" href="a00132.html" title="cursor.hxx" alt="" coords="829,84,915,110"><area shape="rect" href="a00134.html" title="dbtransaction.hxx" alt="" coords="939,84,1075,110"><area shape="rect" href="a00136.html" title="except.hxx" alt="" coords="1099,84,1189,110"><area shape="rect" href="a00137.html" title="isolation.hxx" alt="" coords="1213,84,1312,110"><area shape="rect" href="a00139.html" title="largeobject.hxx" alt="" coords="1336,84,1453,110"><area shape="rect" href="a00142.html" title="nontransaction.hxx" alt="" coords="1477,84,1621,110"><area shape="rect" href="a00144.html" title="notify&#45;listen.hxx" alt="" coords="1645,84,1765,110"><area shape="rect" href="a00147.html" title="pipeline.hxx" alt="" coords="1789,84,1885,110"><area shape="rect" href="a00149.html" title="prepared_statement.hxx" alt="" coords="1909,84,2088,110"><area shape="rect" href="a00151.html" title="result.hxx" alt="" coords="2112,84,2195,110"><area shape="rect" href="a00153.html" title="robusttransaction.hxx" alt="" coords="2219,84,2379,110"><area shape="rect" href="a00158.html" title="subtransaction.hxx" alt="" coords="2403,84,2544,110"><area shape="rect" href="a00160.html" title="tablereader.hxx" alt="" coords="2568,84,2688,110"><area shape="rect" href="a00162.html" title="tablestream.hxx" alt="" coords="2712,84,2837,110"><area shape="rect" href="a00164.html" title="tablewriter.hxx" alt="" coords="2861,84,2973,110"><area shape="rect" href="a00166.html" title="transaction.hxx" alt="" coords="2997,84,3117,110"><area shape="rect" href="a00168.html" title="transaction_base.hxx" alt="" coords="3141,84,3299,110"><area shape="rect" href="a00169.html" title="transactor.hxx" alt="" coords="3323,84,3435,110"></map>
-</div>
-
-<p>
-<a href="a00207.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:41 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00117_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00117_source.html
--- 3.1-1.1/doc/html/Reference/a00117_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00117_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: basic_connection.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00117_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">basic_connection.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/basic_connection.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::basic_connection class template</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Instantiations of basic_connection bring connections and policies together</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/connection_base instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2006-2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_BASIC_CONNECTION</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_BASIC_CONNECTION</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;pqxx/connection_base&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="a00174.html">   30</a></span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">// TODO: Also mix in thread synchronization policy here!</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="a00006.html">   49</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> CONNECTPOLICY&gt; <span class="keyword">class </span><a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">basic_connection</a> :</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;{</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="a00006.html#aa02e7329e13fdc9809c1215f224ab5fe">   53</a></span>&#160;  <a class="code" href="a00006.html#aa02e7329e13fdc9809c1215f224ab5fe">basic_connection</a>() :</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a>(m_policy),</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    m_options(PGSTD::string()),</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    m_policy(m_options)</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        { <a class="code" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">init</a>(); }</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="a00006.html#a0436a1271586987e97bdf5b59b96f607">   59</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00006.html#aa02e7329e13fdc9809c1215f224ab5fe">basic_connection</a>(<span class="keyword">const</span> PGSTD::string &amp;opt) :</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a>(m_policy), m_options(opt), m_policy(m_options) {<a class="code" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">init</a>();}</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="a00006.html#aa6c74a9abcfa2b13c2334d0c38f66305">   62</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00006.html#aa02e7329e13fdc9809c1215f224ab5fe">basic_connection</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> opt[]) :</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a>(m_policy),</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    m_options(opt?opt:PGSTD::string()),</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    m_policy(m_options)</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        { <a class="code" href="a00023.html#a1d1c129c2c5797a82f251ee9dabec77e">init</a>(); }</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="a00006.html#a3abaa953e318c2dda1b61b3f5861140e">   68</a></span>&#160;  <a class="code" href="a00006.html#a3abaa953e318c2dda1b61b3f5861140e">~basic_connection</a>() throw ()</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  {</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="preprocessor">#ifdef PQXX_QUIET_DESTRUCTORS</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"></span>    PGSTD::auto_ptr&lt;noticer&gt; n(<span class="keyword">new</span> <a class="code" href="a00062.html" title="No-op message noticer; produces no output.">nonnoticer</a>);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="a00023.html#ac6b5f32ac91993b37531e96c2d14b18e" title="Set handler for postgresql errors or warning messages.">set_noticer</a>(n);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span>    <a class="code" href="a00023.html#af02016af0233bed748eb1ddab9685131">close</a>();</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  }</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="a00006.html#af041bd491664d3d3c81e7ad9e701d593">   77</a></span>&#160;  <span class="keyword">const</span> PGSTD::string &amp;<a class="code" href="a00006.html#af041bd491664d3d3c81e7ad9e701d593">options</a>() <span class="keyword">const</span> throw ()                         <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        {<span class="keywordflow">return</span> m_policy.options();}</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  PGSTD::string m_options;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  CONNECTPOLICY m_policy;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;} <span class="comment">// namespace</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>basic_connection.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00118.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00118.html
--- 3.1-1.1/doc/html/Reference/a00118.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00118.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: compiler-internal-pre.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>compiler-internal-pre.hxx File Reference</h1>
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00268.png" border="0" usemap="#compiler-internal-pre.hxxdep_map" alt=""></center>
-<map name="compiler-internal-pre.hxxdep_map">
-<area shape="rect" href="a00114.html" title="basic_connection.hxx" alt="" coords="5,84,163,110"><area shape="rect" href="a00116.html" title="binarystring.hxx" alt="" coords="187,84,309,110"><area shape="rect" href="a00127.html" title="connection.hxx" alt="" coords="333,84,451,110"><area shape="rect" href="a00129.html" title="connection_base.hxx" alt="" coords="475,84,629,110"><area shape="rect" href="a00130.html" title="connectionpolicy.hxx" alt="" coords="653,84,805,110"><area shape="rect" href="a00132.html" title="cursor.hxx" alt="" coords="829,84,915,110"><area shape="rect" href="a00134.html" title="dbtransaction.hxx" alt="" coords="939,84,1075,110"><area shape="rect" href="a00136.html" title="except.hxx" alt="" coords="1099,84,1189,110"><area shape="rect" href="a00137.html" title="isolation.hxx" alt="" coords="1213,84,1312,110"><area shape="rect" href="a00139.html" title="largeobject.hxx" alt="" coords="1336,84,1453,110"><area shape="rect" href="a00142.html" title="nontransaction.hxx" alt="" coords="1477,84,1621,110"><area shape="rect" href="a00144.html" title="notify&#45;listen.hxx" alt="" coords="1645,84,1765,110"><area shape="rect" href="a00147.html" title="pipeline.hxx" alt="" coords="1789,84,1885,110"><area shape="rect" href="a00149.html" title="prepared_statement.hxx" alt="" coords="1909,84,2088,110"><area shape="rect" href="a00151.html" title="result.hxx" alt="" coords="2112,84,2195,110"><area shape="rect" href="a00153.html" title="robusttransaction.hxx" alt="" coords="2219,84,2379,110"><area shape="rect" href="a00158.html" title="subtransaction.hxx" alt="" coords="2403,84,2544,110"><area shape="rect" href="a00160.html" title="tablereader.hxx" alt="" coords="2568,84,2688,110"><area shape="rect" href="a00162.html" title="tablestream.hxx" alt="" coords="2712,84,2837,110"><area shape="rect" href="a00164.html" title="tablewriter.hxx" alt="" coords="2861,84,2973,110"><area shape="rect" href="a00166.html" title="transaction.hxx" alt="" coords="2997,84,3117,110"><area shape="rect" href="a00168.html" title="transaction_base.hxx" alt="" coords="3141,84,3299,110"><area shape="rect" href="a00169.html" title="transactor.hxx" alt="" coords="3323,84,3435,110"></map>
-</div>
-
-<p>
-<a href="a00208.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:41 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00119.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00119.html
--- 3.1-1.1/doc/html/Reference/a00119.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00119.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: compiler-internal.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>compiler-internal.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00212.html">pqxx/config-internal-compiler.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00213.html">pqxx/config-internal-libpq.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &lt;climits&gt;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for compiler-internal.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00269.png" border="0" usemap="#compiler-internal.hxx_map" alt=""></center>
-<map name="compiler-internal.hxx_map">
-<area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,84,221,111"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,84,437,111"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,84,637,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,162,492,188"></map>
-</div>
-
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00270.png" border="0" usemap="#compiler-internal.hxxdep_map" alt=""></center>
-<map name="compiler-internal.hxxdep_map">
-<area shape="rect" href="a00115.html" title="binarystring.cxx" alt="" coords="5,84,125,110"><area shape="rect" href="a00126.html" title="connection.cxx" alt="" coords="149,84,264,110"><area shape="rect" href="a00128.html" title="connection_base.cxx" alt="" coords="288,84,443,110"><area shape="rect" href="a00131.html" title="cursor.cxx" alt="" coords="467,84,552,110"><area shape="rect" href="a00133.html" title="dbtransaction.cxx" alt="" coords="576,84,709,110"><area shape="rect" href="a00135.html" title="except.cxx" alt="" coords="733,84,821,110"><area shape="rect" href="a00138.html" title="largeobject.cxx" alt="" coords="845,84,963,110"><area shape="rect" href="a00141.html" title="nontransaction.cxx" alt="" coords="987,84,1128,110"><area shape="rect" href="a00143.html" title="notify&#45;listen.cxx" alt="" coords="1152,84,1272,110"><area shape="rect" href="a00146.html" title="pipeline.cxx" alt="" coords="1296,84,1392,110"><area shape="rect" href="a00148.html" title="prepared_statement.cxx" alt="" coords="1416,84,1595,110"><area shape="rect" href="a00150.html" title="result.cxx" alt="" coords="1619,84,1701,110"><area shape="rect" href="a00152.html" title="robusttransaction.cxx" alt="" coords="1725,84,1885,110"><area shape="rect" href="a00154.html" title="statement_parameters.cxx" alt="" coords="1909,84,2104,110"><area shape="rect" href="a00155.html" title="strconv.cxx" alt="" coords="2128,84,2219,110"><area shape="rect" href="a00157.html" title="subtransaction.cxx" alt="" coords="2243,84,2384,110"><area shape="rect" href="a00159.html" title="tablereader.cxx" alt="" coords="2408,84,2528,110"><area shape="rect" href="a00161.html" title="tablestream.cxx" alt="" coords="2552,84,2675,110"><area shape="rect" href="a00163.html" title="tablewriter.cxx" alt="" coords="2699,84,2811,110"><area shape="rect" href="a00165.html" title="transaction.cxx" alt="" coords="2835,84,2952,110"><area shape="rect" href="a00167.html" title="transaction_base.cxx" alt="" coords="2976,84,3131,110"><area shape="rect" href="a00172.html" title="util.cxx" alt="" coords="3155,84,3219,110"></map>
-</div>
-
-<p>
-<a href="a00209.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00191.html">std</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html">pqxx::internal</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">std::numeric_limits&lt; T &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Work around lacking "limits" header.  <a href="a00059.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">ptrdiff_t&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00186.html#11144a44099083671a87a3c5039d29a7">pqxx::internal::distance</a> (T first, T last)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper for std::distance; not all platforms have <a class="el" href="a00186.html#11144a44099083671a87a3c5039d29a7" title="Wrapper for std::distance; not all platforms have std::distance().">std::distance()</a>.  <a href="#11144a44099083671a87a3c5039d29a7"></a><br></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00119_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00119_source.html
--- 3.1-1.1/doc/html/Reference/a00119_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00119_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: binarystring.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00119_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">binarystring.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/binarystring.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      declarations for bytea (binary string) conversions</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/binarystring instead.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Copyright (c) 2003-2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef PQXX_H_BINARYSTRING</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_BINARYSTRING</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;pqxx/result&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="a00013.html">   60</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00013.html">binarystring</a> : <a class="code" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">internal::PQAlloc</a>&lt;const unsigned char&gt;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// TODO: Templatize on character type?</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">   64</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00076.html#a7fe52ebd1d2533f298caa5ffc975be66">content_type</a> <a class="code" href="a00013.html#abadf5cc14e19fc0c1f8838d1518baefa">char_type</a>;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">   65</a></span>&#160;  <span class="keyword">typedef</span> PGSTD::char_traits&lt;char_type&gt;::char_type <a class="code" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a>;</div>
+<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">   66</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">size_t</span> <a class="code" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a>;</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="a00013.html#a121db85dcf088809bd4b95e617324971">   67</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="a00013.html#a121db85dcf088809bd4b95e617324971">difference_type</a>;</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">   68</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a> &amp;<a class="code" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a>;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">   69</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a> *<a class="code" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a>;</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">   70</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00013.html#abcf73d6a9164ac4f0ffaf4012e774016">const_pointer</a> <a class="code" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a>;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_REVERSE_ITERATOR</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::reverse_iterator&lt;const_iterator&gt; const_reverse_iterator;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">internal::PQAlloc&lt;value_type&gt;</a> <a class="code" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">super</a>;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00013.html">binarystring</a>(<span class="keyword">const</span> <a class="code" href="a00041.html" title="Reference to a field in a result set.">result::field</a> &amp;F);                        <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="a00013.html#af10f41451b711337a25cec42598229fb">   87</a></span>&#160;  <a class="code" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> <a class="code" href="a00013.html#af10f41451b711337a25cec42598229fb" title="Size of converted string in bytes.">size</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_size; }                    <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="code" href="a00013.html#a065a1d5f2e87f640b57ce35580b11659">   89</a></span>&#160;<span class="comment"></span>  <a class="code" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> <a class="code" href="a00013.html#a065a1d5f2e87f640b57ce35580b11659" title="Size of converted string in bytes.">length</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> size(); }                  <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00090"></a><span class="lineno"><a class="code" href="a00013.html#adfb2644b600416cb5eaf43cea64e99ab">   90</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="a00013.html#adfb2644b600416cb5eaf43cea64e99ab">empty</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> size()==0; }                     <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="a00013.html#a8cee54a0d93f38368fd885d6ef3733a7">   92</a></span>&#160;  <a class="code" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a> <a class="code" href="a00013.html#a8cee54a0d93f38368fd885d6ef3733a7">begin</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> data(); }              <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno"><a class="code" href="a00013.html#abf2511857a61d4835cf6d326bb539a19">   93</a></span>&#160;  <a class="code" href="a00013.html#acb7da4766d133d40e1f4b294c2dd14d9">const_iterator</a> <a class="code" href="a00013.html#abf2511857a61d4835cf6d326bb539a19">end</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> data()+m_size; }         <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="a00013.html#a565339d41daf2278ac02ce543e715cd2">   95</a></span>&#160;  <a class="code" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a> <a class="code" href="a00013.html#a565339d41daf2278ac02ce543e715cd2">front</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> *begin(); }           <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="a00013.html#af837e6e843633027fdfcfa5e68975edb">   96</a></span>&#160;  <a class="code" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a> <a class="code" href="a00013.html#af837e6e843633027fdfcfa5e68975edb">back</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> *(data()+m_size-1); }  <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_REVERSE_ITERATOR</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="preprocessor"></span>  const_reverse_iterator rbegin() const                                 <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        { <span class="keywordflow">return</span> const_reverse_iterator(end()); }</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  const_reverse_iterator rend() const                                   <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;        { <span class="keywordflow">return</span> const_reverse_iterator(begin()); }</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="a00013.html#ad9042fbae551a4404e175a431139ca8c">  106</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="a00013.html#a18e4f5fe0683c746f949db5d3c1c914c">value_type</a> *<a class="code" href="a00013.html#ad9042fbae551a4404e175a431139ca8c" title="Unescaped field contents.">data</a>() <span class="keyword">const</span> throw () {<span class="keywordflow">return</span> super::get();}        <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="a00013.html#a47aa4553c316eeab7461c368e0ce2bac">  108</a></span>&#160;  <a class="code" href="a00013.html#a5a3869fa04853d5ab14b6676953143be">const_reference</a> operator[](<a class="code" href="a00013.html#af4269ef0ff7802a8bc5c5a0d54cca60d">size_type</a> i) <span class="keyword">const</span> <span class="keywordflow">throw</span> ()                <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        { <span class="keywordflow">return</span> data()[i]; }</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="a00013.html">binarystring</a> &amp;) <span class="keyword">const</span> throw ();                 <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno"><a class="code" href="a00013.html#a56acf785f1c0a44c93d40f8b1bdc2921">  112</a></span>&#160;  <span class="keywordtype">bool</span> operator!=(const <a class="code" href="a00013.html">binarystring</a> &amp;rhs) const throw ()               <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        { <span class="keywordflow">return</span> !operator==(rhs); }</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  const_reference at(size_type) <span class="keyword">const</span>;                                  <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keywordtype">void</span> swap(<a class="code" href="a00013.html">binarystring</a> &amp;);                                            <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="a00013.html#a37efe53d810e83dc4894cb405ba31dfa">  125</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">get</span>() <span class="keyword">const</span> <span class="keywordflow">throw</span> ()                                      <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  {</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span> *<span class="keyword">&gt;</span>(super::get());</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;  }</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  PGSTD::string str() <span class="keyword">const</span>;                                            <span class="comment">//[t62]</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  size_type m_size;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;};</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;PGSTD::string PQXX_LIBEXPORT <a class="code" href="a00199.html#ga5a9191cb199f2b67350de847e468e38b" title="Escape binary string for inclusion in SQL.">escape_binary</a>(<span class="keyword">const</span> PGSTD::string &amp;bin);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;PGSTD::string PQXX_LIBEXPORT <a class="code" href="a00199.html#ga5a9191cb199f2b67350de847e468e38b" title="Escape binary string for inclusion in SQL.">escape_binary</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> bin[]);</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;PGSTD::string PQXX_LIBEXPORT <a class="code" href="a00199.html#ga5a9191cb199f2b67350de847e468e38b" title="Escape binary string for inclusion in SQL.">escape_binary</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> bin[], <span class="keywordtype">size_t</span> len);</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;PGSTD::string PQXX_LIBEXPORT <a class="code" href="a00199.html#ga5a9191cb199f2b67350de847e468e38b" title="Escape binary string for inclusion in SQL.">escape_binary</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> bin[]);</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;PGSTD::string PQXX_LIBEXPORT <a class="code" href="a00199.html#ga5a9191cb199f2b67350de847e468e38b" title="Escape binary string for inclusion in SQL.">escape_binary</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> bin[], <span class="keywordtype">size_t</span> len);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;}</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>binarystring.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00120.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00120.html
--- 3.1-1.1/doc/html/Reference/a00120.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00120.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: compiler-public.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>compiler-public.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00214.html">pqxx/config-public-compiler.h</a>&quot;</code><br>
-<code>#include &lt;iterator&gt;</code><br>
-<code>#include &lt;cstddef&gt;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for compiler-public.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00271.png" border="0" usemap="#compiler-public.hxx_map" alt=""></center>
-<map name="compiler-public.hxx_map">
-<area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,84,211,110"></map>
-</div>
-
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00272.png" border="0" usemap="#compiler-public.hxxdep_map" alt=""></center>
-<map name="compiler-public.hxxdep_map">
-<area shape="rect" href="a00114.html" title="basic_connection.hxx" alt="" coords="1177,84,1335,111"><area shape="rect" href="a00116.html" title="binarystring.hxx" alt="" coords="1359,84,1481,111"><area shape="rect" href="a00119.html" title="compiler&#45;internal.hxx" alt="" coords="1505,84,1660,111"><area shape="rect" href="a00127.html" title="connection.hxx" alt="" coords="1684,84,1801,111"><area shape="rect" href="a00129.html" title="connection_base.hxx" alt="" coords="1825,84,1980,111"><area shape="rect" href="a00130.html" title="connectionpolicy.hxx" alt="" coords="2004,84,2156,111"><area shape="rect" href="a00132.html" title="cursor.hxx" alt="" coords="2180,84,2265,111"><area shape="rect" href="a00134.html" title="dbtransaction.hxx" alt="" coords="2289,84,2425,111"><area shape="rect" href="a00136.html" title="except.hxx" alt="" coords="2449,84,2540,111"><area shape="rect" href="a00137.html" title="isolation.hxx" alt="" coords="2564,84,2663,111"><area shape="rect" href="a00139.html" title="largeobject.hxx" alt="" coords="2687,84,2804,111"><area shape="rect" href="a00142.html" title="nontransaction.hxx" alt="" coords="2828,84,2972,111"><area shape="rect" href="a00144.html" title="notify&#45;listen.hxx" alt="" coords="2996,84,3116,111"><area shape="rect" href="a00147.html" title="pipeline.hxx" alt="" coords="3140,84,3236,111"><area shape="rect" href="a00149.html" title="prepared_statement.hxx" alt="" coords="3260,84,3439,111"><area shape="rect" href="a00151.html" title="result.hxx" alt="" coords="3463,84,3545,111"><area shape="rect" href="a00153.html" title="robusttransaction.hxx" alt="" coords="3569,84,3729,111"><area shape="rect" href="a00156.html" title="strconv.hxx" alt="" coords="3753,84,3847,111"><area shape="rect" href="a00158.html" title="subtransaction.hxx" alt="" coords="3871,84,4012,111"><area shape="rect" href="a00160.html" title="tablereader.hxx" alt="" coords="4036,84,4156,111"><area shape="rect" href="a00162.html" title="tablestream.hxx" alt="" coords="4180,84,4305,111"><area shape="rect" href="a00164.html" title="tablewriter.hxx" alt="" coords="4329,84,4441,111"><area shape="rect" href="a00166.html" title="transaction.hxx" alt="" coords="4465,84,4585,111"><area shape="rect" href="a00168.html" title="transaction_base.hxx" alt="" coords="4609,84,4767,111"><area shape="rect" href="a00169.html" title="transactor.hxx" alt="" coords="4791,84,4903,111"><area shape="rect" href="a00173.html" title="util.hxx" alt="" coords="4927,84,4993,111"><area shape="rect" href="a00115.html" title="binarystring.cxx" alt="" coords="5,162,125,188"><area shape="rect" href="a00126.html" title="connection.cxx" alt="" coords="149,162,264,188"><area shape="rect" href="a00128.html" title="connection_base.cxx" alt="" coords="288,162,443,188"><area shape="rect" href="a00131.html" title="cursor.cxx" alt="" coords="467,162,552,188"><area shape="rect" href="a00133.html" title="dbtransaction.cxx" alt="" coords="576,162,709,188"><area shape="rect" href="a00135.html" title="except.cxx" alt="" coords="733,162,821,188"><area shape="rect" href="a00138.html" title="largeobject.cxx" alt="" coords="845,162,963,188"><area shape="rect" href="a00141.html" title="nontransaction.cxx" alt="" coords="987,162,1128,188"><area shape="rect" href="a00143.html" title="notify&#45;listen.cxx" alt="" coords="1152,162,1272,188"><area shape="rect" href="a00146.html" title="pipeline.cxx" alt="" coords="1296,162,1392,188"><area shape="rect" href="a00148.html" title="prepared_statement.cxx" alt="" coords="1416,162,1595,188"><area shape="rect" href="a00150.html" title="result.cxx" alt="" coords="1619,162,1701,188"><area shape="rect" href="a00152.html" title="robusttransaction.cxx" alt="" coords="1725,162,1885,188"><area shape="rect" href="a00154.html" title="statement_parameters.cxx" alt="" coords="1909,162,2104,188"><area shape="rect" href="a00155.html" title="strconv.cxx" alt="" coords="2128,162,2219,188"><area shape="rect" href="a00157.html" title="subtransaction.cxx" alt="" coords="2243,162,2384,188"><area shape="rect" href="a00159.html" title="tablereader.cxx" alt="" coords="2408,162,2528,188"><area shape="rect" href="a00161.html" title="tablestream.cxx" alt="" coords="2552,162,2675,188"><area shape="rect" href="a00163.html" title="tablewriter.cxx" alt="" coords="2699,162,2811,188"><area shape="rect" href="a00165.html" title="transaction.cxx" alt="" coords="2835,162,2952,188"><area shape="rect" href="a00167.html" title="transaction_base.cxx" alt="" coords="2976,162,3131,188"><area shape="rect" href="a00172.html" title="util.cxx" alt="" coords="3155,162,3219,188"></map>
-</div>
-
-<p>
-<a href="a00210.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00191.html">std</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html">std::char_traits&lt; CHAR &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Work around missing <a class="el" href="a00012.html" title="Work around missing std::char_traits.">std::char_traits</a>.  <a href="a00012.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html">std::std::char_traits&lt; char &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Work around missing <a class="el" href="a00013.html" title="Work around missing std::char_traits&lt;char&gt;.">std::char_traits&lt;char&gt;</a>.  <a href="a00013.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">std::std::char_traits&lt; unsigned char &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Work around missing <a class="el" href="a00014.html" title="Work around missing std::char_traits&lt;unsigned char&gt;.">std::char_traits&lt;unsigned char&gt;</a>.  <a href="a00014.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#bd999726e68663c0c687cb3c19cd8f0c">PQXX_DEPRECATED</a></td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="bd999726e68663c0c687cb3c19cd8f0c"></a><!-- doxytag: member="compiler-public.hxx::PQXX_DEPRECATED" ref="bd999726e68663c0c687cb3c19cd8f0c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_DEPRECATED          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00120_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00120_source.html
--- 3.1-1.1/doc/html/Reference/a00120_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00120_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: compiler-internal-post.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00120_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">compiler-internal-post.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *     pqxx/compiler-internal-post.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      Compiler deficiency workarounds for compiling libpqxx headers.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      To be called at the end of each libpqxx header, in order to</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *      restore the client program&#39;s settings.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2006, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// NO GUARDS HERE! This code should be executed every time!</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (pop) // Restore client program&#39;s warning state</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>compiler-internal-post.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00121.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00121.html
--- 3.1-1.1/doc/html/Reference/a00121.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00121.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: config-internal-autotools.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>config-internal-autotools.h File Reference</h1>
-<p>
-<a href="a00211.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ca8570fb706c81df371b7f9bc454ae03">PACKAGE</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#1d1d2d7f8d2f95b376954d649ab03233">PACKAGE_BUGREPORT</a>&nbsp;&nbsp;&nbsp;&quot;Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#1c0439e4355794c09b64274849eb0279">PACKAGE_NAME</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#c73e6f903c16eca7710f92e36e1c6fbf">PACKAGE_STRING</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx 3.1&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#f415af6bfede0e8d5453708afe68651c">PACKAGE_TARNAME</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#a326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a>&nbsp;&nbsp;&nbsp;&quot;3.1&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#1c6d5de492ac61ad29aec7aa9a436bbf">VERSION</a>&nbsp;&nbsp;&nbsp;&quot;3.1&quot;</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="ca8570fb706c81df371b7f9bc454ae03"></a><!-- doxytag: member="config-internal-autotools.h::PACKAGE" ref="ca8570fb706c81df371b7f9bc454ae03" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1d1d2d7f8d2f95b376954d649ab03233"></a><!-- doxytag: member="config-internal-autotools.h::PACKAGE_BUGREPORT" ref="1d1d2d7f8d2f95b376954d649ab03233" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_BUGREPORT&nbsp;&nbsp;&nbsp;&quot;Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1c0439e4355794c09b64274849eb0279"></a><!-- doxytag: member="config-internal-autotools.h::PACKAGE_NAME" ref="1c0439e4355794c09b64274849eb0279" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_NAME&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c73e6f903c16eca7710f92e36e1c6fbf"></a><!-- doxytag: member="config-internal-autotools.h::PACKAGE_STRING" ref="c73e6f903c16eca7710f92e36e1c6fbf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_STRING&nbsp;&nbsp;&nbsp;&quot;libpqxx 3.1&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f415af6bfede0e8d5453708afe68651c"></a><!-- doxytag: member="config-internal-autotools.h::PACKAGE_TARNAME" ref="f415af6bfede0e8d5453708afe68651c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_TARNAME&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a326a05d5e30f9e9a4bb0b4469d5d0c0"></a><!-- doxytag: member="config-internal-autotools.h::PACKAGE_VERSION" ref="a326a05d5e30f9e9a4bb0b4469d5d0c0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_VERSION&nbsp;&nbsp;&nbsp;&quot;3.1&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1c6d5de492ac61ad29aec7aa9a436bbf"></a><!-- doxytag: member="config-internal-autotools.h::VERSION" ref="1c6d5de492ac61ad29aec7aa9a436bbf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define VERSION&nbsp;&nbsp;&nbsp;&quot;3.1&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00121_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00121_source.html
--- 3.1-1.1/doc/html/Reference/a00121_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00121_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: compiler-internal-pre.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00121_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">compiler-internal-pre.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *     pqxx/compiler-internal-pre.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      Compiler deficiency workarounds for compiling libpqxx headers.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      To be called at the start of each libpqxx header, in order to</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *      push the client program&#39;s settings and apply libpqxx&#39;s settings.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *      Must be balanced by an include of -header-post.hxx at the end</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *      of the header.</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * Copyright (c) 2006,2007, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// NO GUARDS HERE! This code should be executed every time!</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// Save client program warning state, and set warning level 4.</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// Setting the warning level explicitly ensures that libpqxx</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// headers will work with this warning level as well.</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#pragma warning (push,4)</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#pragma warning (disable: 4251)</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4258) // Complains that for-scope usage is correct</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4273)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4275)</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4290)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4355)</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4511) // Copy constructor could not be generated</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4512) // Assignment operator could not be generated</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4786)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4800) // Performance warning for boolean conversions</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4996) // Complaint that strncpy() &quot;may&quot; be unsafe</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#endif // _MSC_VER</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#endif // _WIN32</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>compiler-internal-pre.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00122.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00122.html
--- 3.1-1.1/doc/html/Reference/a00122.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00122.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,334 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: config-internal-compiler.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>config-internal-compiler.h File Reference</h1>
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00273.png" border="0" usemap="#config-internal-compiler.hdep_map" alt=""></center>
-<map name="config-internal-compiler.hdep_map">
-<area shape="rect" href="a00119.html" title="compiler&#45;internal.hxx" alt="" coords="1505,84,1660,111"><area shape="rect" href="a00115.html" title="binarystring.cxx" alt="" coords="5,162,125,188"><area shape="rect" href="a00126.html" title="connection.cxx" alt="" coords="149,162,264,188"><area shape="rect" href="a00128.html" title="connection_base.cxx" alt="" coords="288,162,443,188"><area shape="rect" href="a00131.html" title="cursor.cxx" alt="" coords="467,162,552,188"><area shape="rect" href="a00133.html" title="dbtransaction.cxx" alt="" coords="576,162,709,188"><area shape="rect" href="a00135.html" title="except.cxx" alt="" coords="733,162,821,188"><area shape="rect" href="a00138.html" title="largeobject.cxx" alt="" coords="845,162,963,188"><area shape="rect" href="a00141.html" title="nontransaction.cxx" alt="" coords="987,162,1128,188"><area shape="rect" href="a00143.html" title="notify&#45;listen.cxx" alt="" coords="1152,162,1272,188"><area shape="rect" href="a00146.html" title="pipeline.cxx" alt="" coords="1296,162,1392,188"><area shape="rect" href="a00148.html" title="prepared_statement.cxx" alt="" coords="1416,162,1595,188"><area shape="rect" href="a00150.html" title="result.cxx" alt="" coords="1619,162,1701,188"><area shape="rect" href="a00152.html" title="robusttransaction.cxx" alt="" coords="1725,162,1885,188"><area shape="rect" href="a00154.html" title="statement_parameters.cxx" alt="" coords="1909,162,2104,188"><area shape="rect" href="a00155.html" title="strconv.cxx" alt="" coords="2128,162,2219,188"><area shape="rect" href="a00157.html" title="subtransaction.cxx" alt="" coords="2243,162,2384,188"><area shape="rect" href="a00159.html" title="tablereader.cxx" alt="" coords="2408,162,2528,188"><area shape="rect" href="a00161.html" title="tablestream.cxx" alt="" coords="2552,162,2675,188"><area shape="rect" href="a00163.html" title="tablewriter.cxx" alt="" coords="2699,162,2811,188"><area shape="rect" href="a00165.html" title="transaction.cxx" alt="" coords="2835,162,2952,188"><area shape="rect" href="a00167.html" title="transaction_base.cxx" alt="" coords="2976,162,3131,188"><area shape="rect" href="a00172.html" title="util.cxx" alt="" coords="3155,162,3219,188"></map>
-</div>
-
-<p>
-<a href="a00212.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#69dc70bea5d1f8bd2be9740e974fa666">HAVE_SYS_TYPES_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#219b06937831d0da94d801ab13987639">HAVE_UNISTD_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#e91c4831094b9d463419938f9869c878">PQXX_HAVE_COUNT_IF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#7df37052a5408a04954151ce6938304c">PQXX_HAVE_C_NAN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#45f0b063d3d2110645d16502f3c3a227">PQXX_HAVE_DISTANCE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#be48f1e843b09f7ab5c11a3fe9f5c0b0">PQXX_HAVE_GCC_VISIBILITY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#e59a9ae7a1ace905f508cdcf5056a7ae">PQXX_HAVE_IMBUE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#88f82db8041dad2dd8c4f3a0efd5c197">PQXX_HAVE_LOCALE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#90a9da992d7733c97b9527a59a0cdc79">PQXX_HAVE_NAN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#28d05702436859d18c4e40b607626f76">PQXX_HAVE_POLL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#4bb251c2b2d5c1c64de9300135caeaae">PQXX_HAVE_QUIET_NAN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#8953caf80ac919b374e9fb2e371127aa">PQXX_HAVE_SLEEP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#0d6e9ae10d9b46593d6636a224f9beac">PQXX_HAVE_STRERROR_R</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#7f281e37ae2828d1c537feacf6fa7cf1">PQXX_HAVE_STRING_CLEAR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#cf27afe416410be7b6ca1aa52c6fa80b">PQXX_HAVE_STRNLEN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#3c9263c21fb383ebb71d54adb61f2fd6">PQXX_HAVE_SYS_SELECT_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#83e88f11b3def2e1c7958e7098caaf95">PQXX_SELECT_ACCEPTS_NULL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="69dc70bea5d1f8bd2be9740e974fa666"></a><!-- doxytag: member="config-internal-compiler.h::HAVE_SYS_TYPES_H" ref="69dc70bea5d1f8bd2be9740e974fa666" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_TYPES_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="219b06937831d0da94d801ab13987639"></a><!-- doxytag: member="config-internal-compiler.h::HAVE_UNISTD_H" ref="219b06937831d0da94d801ab13987639" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_UNISTD_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7df37052a5408a04954151ce6938304c"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_C_NAN" ref="7df37052a5408a04954151ce6938304c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_C_NAN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e91c4831094b9d463419938f9869c878"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_COUNT_IF" ref="e91c4831094b9d463419938f9869c878" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_COUNT_IF&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="45f0b063d3d2110645d16502f3c3a227"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_DISTANCE" ref="45f0b063d3d2110645d16502f3c3a227" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_DISTANCE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="be48f1e843b09f7ab5c11a3fe9f5c0b0"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_GCC_VISIBILITY" ref="be48f1e843b09f7ab5c11a3fe9f5c0b0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_GCC_VISIBILITY&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e59a9ae7a1ace905f508cdcf5056a7ae"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_IMBUE" ref="e59a9ae7a1ace905f508cdcf5056a7ae" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_IMBUE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="88f82db8041dad2dd8c4f3a0efd5c197"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_LOCALE" ref="88f82db8041dad2dd8c4f3a0efd5c197" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LOCALE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="90a9da992d7733c97b9527a59a0cdc79"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_NAN" ref="90a9da992d7733c97b9527a59a0cdc79" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_NAN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="28d05702436859d18c4e40b607626f76"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_POLL" ref="28d05702436859d18c4e40b607626f76" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_POLL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4bb251c2b2d5c1c64de9300135caeaae"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_QUIET_NAN" ref="4bb251c2b2d5c1c64de9300135caeaae" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_QUIET_NAN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8953caf80ac919b374e9fb2e371127aa"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_SLEEP" ref="8953caf80ac919b374e9fb2e371127aa" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_SLEEP&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0d6e9ae10d9b46593d6636a224f9beac"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_STRERROR_R" ref="0d6e9ae10d9b46593d6636a224f9beac" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STRERROR_R&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7f281e37ae2828d1c537feacf6fa7cf1"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_STRING_CLEAR" ref="7f281e37ae2828d1c537feacf6fa7cf1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STRING_CLEAR&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cf27afe416410be7b6ca1aa52c6fa80b"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_STRNLEN" ref="cf27afe416410be7b6ca1aa52c6fa80b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STRNLEN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3c9263c21fb383ebb71d54adb61f2fd6"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_HAVE_SYS_SELECT_H" ref="3c9263c21fb383ebb71d54adb61f2fd6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_SYS_SELECT_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="83e88f11b3def2e1c7958e7098caaf95"></a><!-- doxytag: member="config-internal-compiler.h::PQXX_SELECT_ACCEPTS_NULL" ref="83e88f11b3def2e1c7958e7098caaf95" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_SELECT_ACCEPTS_NULL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00122_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00122_source.html
--- 3.1-1.1/doc/html/Reference/a00122_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00122_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: compiler-internal.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00122_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">compiler-internal.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/compiler-internal.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      Compiler deficiency workarounds for compiling libpqxx itself.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      DO NOT INCLUDE THIS FILE when building client programs.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Copyright (c) 2002-2013, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef PQXX_H_COMPILER_INTERNAL</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_COMPILER_INTERNAL</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// Workarounds &amp; definitions needed to compile libpqxx into a library</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/config-internal-compiler.h&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// Library-private configuration related to libpq version</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;pqxx/config-internal-libpq.h&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#ifdef PQXX_SHARED</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#undef  PQXX_LIBEXPORT</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_LIBEXPORT  __declspec(dllexport)</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor"></span><span class="comment">// TODO: Does Windows have a way to &quot;unexport&quot; a symbol in an exported class?</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define PQXX_PRIVATE    __declspec()</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // PQXX_SHARED</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4251 4275 4273)</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4258) // Complains that for-scope usage is correct</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4290)</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4355)</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4786)</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma warning (disable: 4800) // Performance warning for boolean conversions</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; defined(PQXX_HAVE_GCC_VISIBILITY)    // !_WIN32</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define PQXX_LIBEXPORT __attribute__ ((visibility(&quot;default&quot;)))</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_PRIVATE __attribute__ ((visibility(&quot;hidden&quot;)))</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#endif  // __GNUC__ &amp;&amp; PQXX_HAVE_GCC_VISIBILITY</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#else // PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;climits&gt;</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">namespace </span>PGSTD</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;{</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00067.html">   65</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="a00067.html" title="Work around lacking &quot;limits&quot; header.">numeric_limits</a></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;{</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <span class="keyword">static</span> T max() <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <span class="keyword">static</span> T min() <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;};</div>
+<div class="line"><a name="l00070"></a><span class="lineno"><a class="code" href="a00067.html#af71385909ae48a64f6e88d19f940bcd1">   70</a></span>&#160;<span class="keyword">template</span>&lt;&gt; <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="a00067.html" title="Work around lacking &quot;limits&quot; header.">numeric_limits&lt;long&gt;::max</a>() throw () {<span class="keywordflow">return</span> LONG_MAX;}</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="a00067.html#a9387cf870c1b7d0f6ced0db05614e494">   71</a></span>&#160;<span class="keyword">template</span>&lt;&gt; <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="a00067.html" title="Work around lacking &quot;limits&quot; header.">numeric_limits&lt;long&gt;::min</a>() throw () {<span class="keywordflow">return</span> LONG_MIN;}</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;}</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#endif // PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;{</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="a00189.html">   78</a></span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;{</div>
+<div class="line"><a name="l00081"></a><span class="lineno"><a class="code" href="a00189.html#a1da6aa6cabb3aa244739486c4100df2c">   81</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> ptrdiff_t <a class="code" href="a00189.html#a1da6aa6cabb3aa244739486c4100df2c" title="Wrapper for std::distance; not all platforms have std::distance().">distance</a>(T first, T last)</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;{</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_DISTANCE</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> <a class="code" href="a00189.html#a1da6aa6cabb3aa244739486c4100df2c" title="Wrapper for std::distance; not all platforms have std::distance().">PGSTD::distance</a>(first, last);</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor"></span>  <span class="comment">// Naive implementation.  All we really need for now.</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  ptrdiff_t d;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keywordflow">for</span> (d=0; first != last; ++d) ++first;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="keywordflow">return</span> d;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;}</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;}</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>compiler-internal.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00123.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00123.html
--- 3.1-1.1/doc/html/Reference/a00123.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00123.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,436 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: config-internal-libpq.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>config-internal-libpq.h File Reference</h1>
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00274.png" border="0" usemap="#config-internal-libpq.hdep_map" alt=""></center>
-<map name="config-internal-libpq.hdep_map">
-<area shape="rect" href="a00119.html" title="compiler&#45;internal.hxx" alt="" coords="1505,84,1660,111"><area shape="rect" href="a00115.html" title="binarystring.cxx" alt="" coords="5,162,125,188"><area shape="rect" href="a00126.html" title="connection.cxx" alt="" coords="149,162,264,188"><area shape="rect" href="a00128.html" title="connection_base.cxx" alt="" coords="288,162,443,188"><area shape="rect" href="a00131.html" title="cursor.cxx" alt="" coords="467,162,552,188"><area shape="rect" href="a00133.html" title="dbtransaction.cxx" alt="" coords="576,162,709,188"><area shape="rect" href="a00135.html" title="except.cxx" alt="" coords="733,162,821,188"><area shape="rect" href="a00138.html" title="largeobject.cxx" alt="" coords="845,162,963,188"><area shape="rect" href="a00141.html" title="nontransaction.cxx" alt="" coords="987,162,1128,188"><area shape="rect" href="a00143.html" title="notify&#45;listen.cxx" alt="" coords="1152,162,1272,188"><area shape="rect" href="a00146.html" title="pipeline.cxx" alt="" coords="1296,162,1392,188"><area shape="rect" href="a00148.html" title="prepared_statement.cxx" alt="" coords="1416,162,1595,188"><area shape="rect" href="a00150.html" title="result.cxx" alt="" coords="1619,162,1701,188"><area shape="rect" href="a00152.html" title="robusttransaction.cxx" alt="" coords="1725,162,1885,188"><area shape="rect" href="a00154.html" title="statement_parameters.cxx" alt="" coords="1909,162,2104,188"><area shape="rect" href="a00155.html" title="strconv.cxx" alt="" coords="2128,162,2219,188"><area shape="rect" href="a00157.html" title="subtransaction.cxx" alt="" coords="2243,162,2384,188"><area shape="rect" href="a00159.html" title="tablereader.cxx" alt="" coords="2408,162,2528,188"><area shape="rect" href="a00161.html" title="tablestream.cxx" alt="" coords="2552,162,2675,188"><area shape="rect" href="a00163.html" title="tablewriter.cxx" alt="" coords="2699,162,2811,188"><area shape="rect" href="a00165.html" title="transaction.cxx" alt="" coords="2835,162,2952,188"><area shape="rect" href="a00167.html" title="transaction_base.cxx" alt="" coords="2976,162,3131,188"><area shape="rect" href="a00172.html" title="util.cxx" alt="" coords="3155,162,3219,188"></map>
-</div>
-
-<p>
-<a href="a00213.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#dbe01a0e11f8bee78d0cfd9b3c202579">PQXX_HAVE_LO_TELL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#a222a8ada7d337062323e226a70c93a6">PQXX_HAVE_PQCANCEL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#3bb96d4b9a150027359e9569f10887f4">PQXX_HAVE_PQCLIENTENCODING</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#0ebd1efed5d4852b152da74cb7d376ac">PQXX_HAVE_PQDESCRIBEPORTAL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#4b8a67fce3c223c3e731b33f2ac5487c">PQXX_HAVE_PQENCRYPTPASSWORD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#016733d587316fadf8d13adbe8c8cb86">PQXX_HAVE_PQESCAPEBYTEA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#fabe6eeb566d5cd53a39c693f8493f8c">PQXX_HAVE_PQESCAPEBYTEACONN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#01f991fa67e5284e04c9e8092642bebc">PQXX_HAVE_PQESCAPESTRING</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#0d746f3dd8d8f5f00664ca5b77b52a4c">PQXX_HAVE_PQESCAPESTRINGCONN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#afb14cbb1fd5198d21b54b589c2d2fcc">PQXX_HAVE_PQEXECPARAMS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#66a5ae438fa9f36ad49e6996da55ee65">PQXX_HAVE_PQEXECPREPARED</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#d3caad91bb8ef6e6d388a06718e1eab6">PQXX_HAVE_PQFREEMEM</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#574c92bfd03d1d91525430081a56d02e">PQXX_HAVE_PQFREENOTIFY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#f1102ee58866616e3978c88742fce026">PQXX_HAVE_PQFTABLE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#b5f77c6821bb1a98c91afd392ffd8269">PQXX_HAVE_PQFTABLECOL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#495d5541ded273f093490808dce0813e">PQXX_HAVE_PQISTHREADSAFE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#75abb6a1d1957e72167ab02cc484083a">PQXX_HAVE_PQMBLEN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#cb30b0f6629f94f2ebc2a564b2c7f2bb">PQXX_HAVE_PQPREPARE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#a5d1604372d2355ff689e97edc976e5b">PQXX_HAVE_PQPROTOCOLVERSION</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#1727e8d591a503224b79551bccc2c922">PQXX_HAVE_PQPUTCOPY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#e313abdda2aa5814d73fe469387d4288">PQXX_HAVE_PQRESULTERRORFIELD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#079ffc3ad1bd9346956bf38e4e072331">PQXX_HAVE_PQSERVERVERSION</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#94e55f372118c550dc2d129b491c22e6">PQXX_HAVE_PQUNESCAPEBYTEA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="dbe01a0e11f8bee78d0cfd9b3c202579"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_LO_TELL" ref="dbe01a0e11f8bee78d0cfd9b3c202579" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LO_TELL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a222a8ada7d337062323e226a70c93a6"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQCANCEL" ref="a222a8ada7d337062323e226a70c93a6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQCANCEL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3bb96d4b9a150027359e9569f10887f4"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQCLIENTENCODING" ref="3bb96d4b9a150027359e9569f10887f4" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQCLIENTENCODING&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0ebd1efed5d4852b152da74cb7d376ac"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQDESCRIBEPORTAL" ref="0ebd1efed5d4852b152da74cb7d376ac" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQDESCRIBEPORTAL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4b8a67fce3c223c3e731b33f2ac5487c"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQENCRYPTPASSWORD" ref="4b8a67fce3c223c3e731b33f2ac5487c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQENCRYPTPASSWORD&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="016733d587316fadf8d13adbe8c8cb86"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQESCAPEBYTEA" ref="016733d587316fadf8d13adbe8c8cb86" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPEBYTEA&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="fabe6eeb566d5cd53a39c693f8493f8c"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQESCAPEBYTEACONN" ref="fabe6eeb566d5cd53a39c693f8493f8c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPEBYTEACONN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="01f991fa67e5284e04c9e8092642bebc"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQESCAPESTRING" ref="01f991fa67e5284e04c9e8092642bebc" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPESTRING&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0d746f3dd8d8f5f00664ca5b77b52a4c"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQESCAPESTRINGCONN" ref="0d746f3dd8d8f5f00664ca5b77b52a4c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPESTRINGCONN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="afb14cbb1fd5198d21b54b589c2d2fcc"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQEXECPARAMS" ref="afb14cbb1fd5198d21b54b589c2d2fcc" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQEXECPARAMS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="66a5ae438fa9f36ad49e6996da55ee65"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQEXECPREPARED" ref="66a5ae438fa9f36ad49e6996da55ee65" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQEXECPREPARED&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d3caad91bb8ef6e6d388a06718e1eab6"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQFREEMEM" ref="d3caad91bb8ef6e6d388a06718e1eab6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFREEMEM&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="574c92bfd03d1d91525430081a56d02e"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQFREENOTIFY" ref="574c92bfd03d1d91525430081a56d02e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFREENOTIFY&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f1102ee58866616e3978c88742fce026"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQFTABLE" ref="f1102ee58866616e3978c88742fce026" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFTABLE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b5f77c6821bb1a98c91afd392ffd8269"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQFTABLECOL" ref="b5f77c6821bb1a98c91afd392ffd8269" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFTABLECOL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="495d5541ded273f093490808dce0813e"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQISTHREADSAFE" ref="495d5541ded273f093490808dce0813e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQISTHREADSAFE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="75abb6a1d1957e72167ab02cc484083a"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQMBLEN" ref="75abb6a1d1957e72167ab02cc484083a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQMBLEN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cb30b0f6629f94f2ebc2a564b2c7f2bb"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQPREPARE" ref="cb30b0f6629f94f2ebc2a564b2c7f2bb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQPREPARE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a5d1604372d2355ff689e97edc976e5b"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQPROTOCOLVERSION" ref="a5d1604372d2355ff689e97edc976e5b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQPROTOCOLVERSION&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1727e8d591a503224b79551bccc2c922"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQPUTCOPY" ref="1727e8d591a503224b79551bccc2c922" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQPUTCOPY&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e313abdda2aa5814d73fe469387d4288"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQRESULTERRORFIELD" ref="e313abdda2aa5814d73fe469387d4288" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQRESULTERRORFIELD&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="079ffc3ad1bd9346956bf38e4e072331"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQSERVERVERSION" ref="079ffc3ad1bd9346956bf38e4e072331" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQSERVERVERSION&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="94e55f372118c550dc2d129b491c22e6"></a><!-- doxytag: member="config-internal-libpq.h::PQXX_HAVE_PQUNESCAPEBYTEA" ref="94e55f372118c550dc2d129b491c22e6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQUNESCAPEBYTEA&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00123_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00123_source.html
--- 3.1-1.1/doc/html/Reference/a00123_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00123_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,293 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: compiler-public.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00123_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">compiler-public.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/compiler-public.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      Compiler deficiency workarounds for libpqxx clients</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * Copyright (c) 2002-2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#ifndef PQXX_H_COMPILER_PUBLIC</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_COMPILER_PUBLIC</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_BOOST_SMART_PTR</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;boost/smart_ptr.hpp&gt;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">/* Work around a particularly pernicious and deliberate bug in Visual C++:</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> * min() and max() are defined as macros, which can have some very nasty</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> * consequences.  This compiler bug can be switched off by defining NOMINMAX.</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> * We don&#39;t like making choices for the user and defining environmental macros</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> * of our own accord, but in this case it&#39;s the only way to compile without</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> * incurring a significant risk of bugs--and there doesn&#39;t appear to be any</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> * downside.  One wonders why this compiler wart is being maintained at all,</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> * since the introduction of inline functions back in the 20th century.</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#if defined(min) || defined(max)</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error &quot;Oops: min() and/or max() are defined as preprocessor macros.\</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">  Define NOMINMAX macro before including any system headers!&quot;</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#ifndef NOMINMAX</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define NOMINMAX</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">// Suppress vtables on abstract classes.</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define PQXX_NOVTABLE __declspec(novtable)</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#endif  // _MSC_VER</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="comment">// Workarounds &amp; definitions that need to be included even in library&#39;s headers</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &quot;pqxx/config-public-compiler.h&quot;</span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifdef PQXX_BROKEN_ITERATOR</span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="keyword">namespace </span>PGSTD</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> Cat,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;         <span class="keyword">typename</span> T,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;         <span class="keyword">typename</span> Dist,</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;         <span class="keyword">typename</span> Ptr=T*,</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;         <span class="keyword">typename</span> Ref=T&amp;&gt; <span class="keyword">struct </span>iterator</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;{</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">typedef</span> Cat iterator_category;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="keyword">typedef</span> T value_type;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">typedef</span> Dist difference_type;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">typedef</span> Ptr pointer;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">typedef</span> Ref reference;</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;};</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;}</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;iterator&gt;</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#endif // PQXX_BROKEN_ITERATOR</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="preprocessor">#ifndef PQXX_HAVE_CHAR_TRAITS</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;cstddef&gt;</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">namespace </span>PGSTD</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;{</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="a00015.html">   92</a></span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> CHAR&gt; <span class="keyword">struct </span><a class="code" href="a00015.html" title="Work around missing std::char_traits.">char_traits</a> {};</div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="a00016.html">   94</a></span>&#160;<span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="a00015.html" title="Work around missing std::char_traits.">char_traits</a>&lt;char&gt;</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;{</div>
+<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">   96</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">int_type</a>;</div>
+<div class="line"><a name="l00097"></a><span class="lineno"><a class="code" href="a00016.html#ab17e48ba1fdbf06183149442e78cb1d0">   97</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">size_t</span> <a class="code" href="a00016.html#ab17e48ba1fdbf06183149442e78cb1d0">pos_type</a>;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="a00016.html#a85661c90be7df5a4f32cb40fa63c4311">   98</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="a00016.html#a85661c90be7df5a4f32cb40fa63c4311">off_type</a>;</div>
+<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="a00016.html#a1a64cbf69fea84c3ac667ff3b82f0f5b">   99</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="a00016.html#a1a64cbf69fea84c3ac667ff3b82f0f5b">char_type</a>;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="a00016.html#af4835e096d911543121767d0402e212a">  101</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="a00016.html#a905e17859fef67e93d7baeef86dee98b">int_type</a> <a class="code" href="a00016.html#af4835e096d911543121767d0402e212a">eof</a>() { <span class="keywordflow">return</span> -1; }</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;};</div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="a00017.html">  104</a></span>&#160;<span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span><a class="code" href="a00015.html" title="Work around missing std::char_traits.">char_traits</a>&lt;unsigned char&gt;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;{</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="a00017.html#ae800195a00697cc19af347efb85911ae">  106</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00017.html#ae800195a00697cc19af347efb85911ae">int_type</a>;</div>
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="code" href="a00017.html#a4878de00d941c62fc466ef18b8327e95">  107</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">size_t</span> <a class="code" href="a00017.html#a4878de00d941c62fc466ef18b8327e95">pos_type</a>;</div>
+<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="a00017.html#a8f7c4801c946a458c3b909375e934e76">  108</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="a00017.html#a8f7c4801c946a458c3b909375e934e76">off_type</a>;</div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="a00017.html#a36f5165a10ea513315f12ed9f31c573b">  109</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a36f5165a10ea513315f12ed9f31c573b">char_type</a>;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="a00017.html#aef731d39bc5048c2a417b6822fd125f6">  111</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="a00017.html#ae800195a00697cc19af347efb85911ae">int_type</a> <a class="code" href="a00017.html#aef731d39bc5048c2a417b6822fd125f6">eof</a>() { <span class="keywordflow">return</span> -1; }</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;};</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;}</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="comment">// Workarounds for SUN Workshop 6</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor">#if defined(__SUNPRO_CC)</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if __SUNPRO_CC_COMPAT &lt; 5</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error &quot;This compiler version is not capable of building libpqxx.&quot;</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // __SUNPRO_CC_COMPAT &lt; 5</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_PRIVATE __hidden</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // __SUNPRO_CC</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="comment">// Workarounds for Compaq C++ for Alpha</span></div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="preprocessor">#if defined(__DECCXX_VER)</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __USE_STD_IOSTREAM</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // __DECCXX_VER</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#if defined(__GNUC__) &amp;&amp; defined(PQXX_HAVE_GCC_DEPRECATED)</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_DEPRECATED __attribute__ ((deprecated))</span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_DEPRECATED</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment">// Workarounds for Windows</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="comment">/* For now, export DLL symbols if _DLL is defined.  This is done automatically</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment"> * by the compiler when linking to the dynamic version of the runtime library,</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment"> * according to &quot;gzh&quot;</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">// TODO: Define custom macro to govern how libpqxx will be linked to client</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#if !defined(PQXX_LIBEXPORT) &amp;&amp; defined(PQXX_SHARED)</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_LIBEXPORT __declspec(dllimport)</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // !PQXX_LIBEXPORT &amp;&amp; PQXX_SHARED</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">// Workarounds for Microsoft Visual C++</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="preprocessor">#if _MSC_VER &lt; 1300</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#error If you&#39;re using Visual C++, you&#39;ll need at least version 7 (.NET)</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#elif _MSC_VER &lt; 1310</span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor"></span><span class="comment">// Workarounds for pre-2003 Visual C++.NET</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#undef PQXX_HAVE_REVERSE_ITERATOR</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_TYPENAME</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // _MSC_VER &lt; 1310</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">// Automatically link with the appropriate libpq (static or dynamic, debug or</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="comment">// release).  The default is to use the release DLL.  Define PQXX_PQ_STATIC to</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="comment">// link to a static version of libpq, and _DEBUG to link to a debug version.</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">// The two may be combined.</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#if defined(PQXX_AUTOLINK)</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#if defined(PQXX_PQ_STATIC)</span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef _DEBUG</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, &quot;libpqd&quot;)</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, &quot;libpq&quot;)</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef _DEBUG</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, &quot;libpqddll&quot;)</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#pragma comment(lib, &quot;libpqdll&quot;)</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="comment">// If we&#39;re not compiling libpqxx itself, automatically link with the correct</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment">// libpqxx library.  To link with the libpqxx DLL, define PQXX_SHARED; the</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="comment">// default is to link with the static library.  This is also the recommended</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="comment">// practice.</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="comment">// Note that the preprocessor macro PQXX_INTERNAL is used to detect whether we</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="comment">// are compiling the libpqxx library itself. When you compile the library</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="comment">// yourself using your own project file, make sure to include this define.</span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">#if defined(PQXX_AUTOLINK) &amp;&amp; !defined(PQXX_INTERNAL)</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor"></span><span class="preprocessor">  #ifdef PQXX_SHARED</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #ifdef _DEBUG</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="preprocessor"></span><span class="preprocessor">      #pragma comment(lib, &quot;libpqxxD&quot;)</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #else</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor"></span><span class="preprocessor">      #pragma comment(lib, &quot;libpqxx&quot;)</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor"></span><span class="preprocessor">  #else // !PQXX_SHARED</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #ifdef _DEBUG</span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor"></span><span class="preprocessor">      #pragma comment(lib, &quot;libpqxx_staticD&quot;)</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #else</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor"></span><span class="preprocessor">      #pragma comment(lib, &quot;libpqxx_static&quot;)</span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="preprocessor"></span><span class="preprocessor">    #endif</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor"></span><span class="preprocessor">  #endif</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">#define PQXX_QUIET_DESTRUCTORS</span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#endif  // _MSC_VER</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif  // _WIN32</span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">#ifndef PQXX_LIBEXPORT</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_LIBEXPORT</span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;<span class="preprocessor">#ifndef PQXX_PRIVATE</span></div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_PRIVATE</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="comment">// Some compilers (well, VC) stumble over some required cases of &quot;typename&quot;</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor">#ifndef PQXX_TYPENAME</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_TYPENAME typename</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="preprocessor">#ifndef PQXX_NOVTABLE</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_NOVTABLE</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>compiler-public.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00124.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00124.html
--- 3.1-1.1/doc/html/Reference/a00124.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00124.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,232 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: config-public-compiler.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>config-public-compiler.h File Reference</h1>
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00275.png" border="0" usemap="#config-public-compiler.hdep_map" alt=""></center>
-<map name="config-public-compiler.hdep_map">
-<area shape="rect" href="a00120.html" title="compiler&#45;public.hxx" alt="" coords="3049,84,3193,111"><area shape="rect" href="a00114.html" title="basic_connection.hxx" alt="" coords="1177,161,1335,188"><area shape="rect" href="a00116.html" title="binarystring.hxx" alt="" coords="1359,161,1481,188"><area shape="rect" href="a00119.html" title="compiler&#45;internal.hxx" alt="" coords="1505,161,1660,188"><area shape="rect" href="a00127.html" title="connection.hxx" alt="" coords="1684,161,1801,188"><area shape="rect" href="a00129.html" title="connection_base.hxx" alt="" coords="1825,161,1980,188"><area shape="rect" href="a00130.html" title="connectionpolicy.hxx" alt="" coords="2004,161,2156,188"><area shape="rect" href="a00132.html" title="cursor.hxx" alt="" coords="2180,161,2265,188"><area shape="rect" href="a00134.html" title="dbtransaction.hxx" alt="" coords="2289,161,2425,188"><area shape="rect" href="a00136.html" title="except.hxx" alt="" coords="2449,161,2540,188"><area shape="rect" href="a00137.html" title="isolation.hxx" alt="" coords="2564,161,2663,188"><area shape="rect" href="a00139.html" title="largeobject.hxx" alt="" coords="2687,161,2804,188"><area shape="rect" href="a00142.html" title="nontransaction.hxx" alt="" coords="2828,161,2972,188"><area shape="rect" href="a00144.html" title="notify&#45;listen.hxx" alt="" coords="2996,161,3116,188"><area shape="rect" href="a00147.html" title="pipeline.hxx" alt="" coords="3140,161,3236,188"><area shape="rect" href="a00149.html" title="prepared_statement.hxx" alt="" coords="3260,161,3439,188"><area shape="rect" href="a00151.html" title="result.hxx" alt="" coords="3463,161,3545,188"><area shape="rect" href="a00153.html" title="robusttransaction.hxx" alt="" coords="3569,161,3729,188"><area shape="rect" href="a00156.html" title="strconv.hxx" alt="" coords="3753,161,3847,188"><area shape="rect" href="a00158.html" title="subtransaction.hxx" alt="" coords="3871,161,4012,188"><area shape="rect" href="a00160.html" title="tablereader.hxx" alt="" coords="4036,161,4156,188"><area shape="rect" href="a00162.html" title="tablestream.hxx" alt="" coords="4180,161,4305,188"><area shape="rect" href="a00164.html" title="tablewriter.hxx" alt="" coords="4329,161,4441,188"><area shape="rect" href="a00166.html" title="transaction.hxx" alt="" coords="4465,161,4585,188"><area shape="rect" href="a00168.html" title="transaction_base.hxx" alt="" coords="4609,161,4767,188"><area shape="rect" href="a00169.html" title="transactor.hxx" alt="" coords="4791,161,4903,188"><area shape="rect" href="a00173.html" title="util.hxx" alt="" coords="4927,161,4993,188"><area shape="rect" href="a00115.html" title="binarystring.cxx" alt="" coords="5,239,125,265"><area shape="rect" href="a00126.html" title="connection.cxx" alt="" coords="149,239,264,265"><area shape="rect" href="a00128.html" title="connection_base.cxx" alt="" coords="288,239,443,265"><area shape="rect" href="a00131.html" title="cursor.cxx" alt="" coords="467,239,552,265"><area shape="rect" href="a00133.html" title="dbtransaction.cxx" alt="" coords="576,239,709,265"><area shape="rect" href="a00135.html" title="except.cxx" alt="" coords="733,239,821,265"><area shape="rect" href="a00138.html" title="largeobject.cxx" alt="" coords="845,239,963,265"><area shape="rect" href="a00141.html" title="nontransaction.cxx" alt="" coords="987,239,1128,265"><area shape="rect" href="a00143.html" title="notify&#45;listen.cxx" alt="" coords="1152,239,1272,265"><area shape="rect" href="a00146.html" title="pipeline.cxx" alt="" coords="1296,239,1392,265"><area shape="rect" href="a00148.html" title="prepared_statement.cxx" alt="" coords="1416,239,1595,265"><area shape="rect" href="a00150.html" title="result.cxx" alt="" coords="1619,239,1701,265"><area shape="rect" href="a00152.html" title="robusttransaction.cxx" alt="" coords="1725,239,1885,265"><area shape="rect" href="a00154.html" title="statement_parameters.cxx" alt="" coords="1909,239,2104,265"><area shape="rect" href="a00155.html" title="strconv.cxx" alt="" coords="2128,239,2219,265"><area shape="rect" href="a00157.html" title="subtransaction.cxx" alt="" coords="2243,239,2384,265"><area shape="rect" href="a00159.html" title="tablereader.cxx" alt="" coords="2408,239,2528,265"><area shape="rect" href="a00161.html" title="tablestream.cxx" alt="" coords="2552,239,2675,265"><area shape="rect" href="a00163.html" title="tablewriter.cxx" alt="" coords="2699,239,2811,265"><area shape="rect" href="a00165.html" title="transaction.cxx" alt="" coords="2835,239,2952,265"><area shape="rect" href="a00167.html" title="transaction_base.cxx" alt="" coords="2976,239,3131,265"><area shape="rect" href="a00172.html" title="util.cxx" alt="" coords="3155,239,3219,265"></map>
-</div>
-
-<p>
-<a href="a00214.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#7df1e40bbc22feaf8eaf7d7a12707ec7">PGSTD</a>&nbsp;&nbsp;&nbsp;std</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#2beaf283be43f27ac95cb81a3ebf946b">PQXXTR1</a>&nbsp;&nbsp;&nbsp;std::tr1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a9d0b1ab4aaafc5430b30988dd3366c3">PQXX_HAVE_CHAR_TRAITS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ca210e397be88e671774d98a7cfa8c78">PQXX_HAVE_IOS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#e5d62c57bd9862f0695ae03074a71328">PQXX_HAVE_LIMITS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#b9c55a0dffdf97f99aee52dce1965544">PQXX_HAVE_LONG_DOUBLE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#723fecb5b6adf1069288af0045125ca1">PQXX_HAVE_LONG_LONG</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#9d2630c5b85da98fb325c1b6e153f87d">PQXX_HAVE_REVERSE_ITERATOR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#541e359f56f006ce95815e78f567d0c9">PQXX_HAVE_SHARED_PTR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#d764723ecfa6b8d005c671fbdcebb487">PQXX_HAVE_STREAMBUF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#96b5e0b0acd8e1f7212bd3ddf037b08a">PQXX_TR1_HEADERS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="7df1e40bbc22feaf8eaf7d7a12707ec7"></a><!-- doxytag: member="config-public-compiler.h::PGSTD" ref="7df1e40bbc22feaf8eaf7d7a12707ec7" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PGSTD&nbsp;&nbsp;&nbsp;std          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9d0b1ab4aaafc5430b30988dd3366c3"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_CHAR_TRAITS" ref="a9d0b1ab4aaafc5430b30988dd3366c3" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_CHAR_TRAITS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ca210e397be88e671774d98a7cfa8c78"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_IOS" ref="ca210e397be88e671774d98a7cfa8c78" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_IOS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e5d62c57bd9862f0695ae03074a71328"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_LIMITS" ref="e5d62c57bd9862f0695ae03074a71328" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LIMITS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b9c55a0dffdf97f99aee52dce1965544"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_LONG_DOUBLE" ref="b9c55a0dffdf97f99aee52dce1965544" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LONG_DOUBLE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="723fecb5b6adf1069288af0045125ca1"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_LONG_LONG" ref="723fecb5b6adf1069288af0045125ca1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LONG_LONG&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9d2630c5b85da98fb325c1b6e153f87d"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_REVERSE_ITERATOR" ref="9d2630c5b85da98fb325c1b6e153f87d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_REVERSE_ITERATOR&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="541e359f56f006ce95815e78f567d0c9"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_SHARED_PTR" ref="541e359f56f006ce95815e78f567d0c9" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_SHARED_PTR&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d764723ecfa6b8d005c671fbdcebb487"></a><!-- doxytag: member="config-public-compiler.h::PQXX_HAVE_STREAMBUF" ref="d764723ecfa6b8d005c671fbdcebb487" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STREAMBUF&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="96b5e0b0acd8e1f7212bd3ddf037b08a"></a><!-- doxytag: member="config-public-compiler.h::PQXX_TR1_HEADERS" ref="96b5e0b0acd8e1f7212bd3ddf037b08a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_TR1_HEADERS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2beaf283be43f27ac95cb81a3ebf946b"></a><!-- doxytag: member="config-public-compiler.h::PQXXTR1" ref="2beaf283be43f27ac95cb81a3ebf946b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXXTR1&nbsp;&nbsp;&nbsp;std::tr1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00124_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00124_source.html
--- 3.1-1.1/doc/html/Reference/a00124_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00124_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: config-internal-autotools.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00124_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">config-internal-autotools.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* Automatically generated from config.h: internal/autotools config. */</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define PACKAGE &quot;libpqxx&quot;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PACKAGE_BUGREPORT &quot;Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;&quot;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PACKAGE_NAME &quot;libpqxx&quot;</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PACKAGE_STRING &quot;libpqxx 3.1.1&quot;</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PACKAGE_TARNAME &quot;libpqxx&quot;</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PACKAGE_VERSION &quot;3.1.1&quot;</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define VERSION &quot;3.1.1&quot;</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>config-internal-autotools.h</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00125.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00125.html
--- 3.1-1.1/doc/html/Reference/a00125.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00125.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,1243 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: config.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>config.h File Reference</h1>
-<p>
-<a href="a00215.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#0ee1617ff2f6885ef384a3dd46f9b9d7">HAVE_DLFCN_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#b90a030ff2790ebdc176660a6dd2a478">HAVE_INTTYPES_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#6447f26428bbf0552a3ffd41c57443d5">HAVE_LIBPQ</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#e93a78f9d076138897af441c9f86f285">HAVE_MEMORY_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#b6cd6d1c63c1e26ea2d4537b77148354">HAVE_STDINT_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#9e0e434ec1a6ddbd97db12b5a32905e0">HAVE_STDLIB_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#405d10d46190bcb0320524c54eafc850">HAVE_STRINGS_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#d4c234dd1625255dc626a15886306e7d">HAVE_STRING_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#ce156430ba007d19b4348a950d0c692b">HAVE_SYS_STAT_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#69dc70bea5d1f8bd2be9740e974fa666">HAVE_SYS_TYPES_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#219b06937831d0da94d801ab13987639">HAVE_UNISTD_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#c2d5925d76379847dd9fc4747b061659">LT_OBJDIR</a>&nbsp;&nbsp;&nbsp;&quot;.libs/&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#ca8570fb706c81df371b7f9bc454ae03">PACKAGE</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#1d1d2d7f8d2f95b376954d649ab03233">PACKAGE_BUGREPORT</a>&nbsp;&nbsp;&nbsp;&quot;Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#1c0439e4355794c09b64274849eb0279">PACKAGE_NAME</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#c73e6f903c16eca7710f92e36e1c6fbf">PACKAGE_STRING</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx 3.1&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#f415af6bfede0e8d5453708afe68651c">PACKAGE_TARNAME</a>&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#5c93853116d5a50307b6744f147840aa">PACKAGE_URL</a>&nbsp;&nbsp;&nbsp;&quot;&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#a326a05d5e30f9e9a4bb0b4469d5d0c0">PACKAGE_VERSION</a>&nbsp;&nbsp;&nbsp;&quot;3.1&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#7df1e40bbc22feaf8eaf7d7a12707ec7">PGSTD</a>&nbsp;&nbsp;&nbsp;std</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#2beaf283be43f27ac95cb81a3ebf946b">PQXXTR1</a>&nbsp;&nbsp;&nbsp;std::tr1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#a9d0b1ab4aaafc5430b30988dd3366c3">PQXX_HAVE_CHAR_TRAITS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#e91c4831094b9d463419938f9869c878">PQXX_HAVE_COUNT_IF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#7df37052a5408a04954151ce6938304c">PQXX_HAVE_C_NAN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#45f0b063d3d2110645d16502f3c3a227">PQXX_HAVE_DISTANCE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#87d542be6bf6ad9e0079508ec57e5b0a">PQXX_HAVE_GCC_DEPRECATED</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#be48f1e843b09f7ab5c11a3fe9f5c0b0">PQXX_HAVE_GCC_VISIBILITY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#e59a9ae7a1ace905f508cdcf5056a7ae">PQXX_HAVE_IMBUE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#ca210e397be88e671774d98a7cfa8c78">PQXX_HAVE_IOS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#e5d62c57bd9862f0695ae03074a71328">PQXX_HAVE_LIMITS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#88f82db8041dad2dd8c4f3a0efd5c197">PQXX_HAVE_LOCALE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#b9c55a0dffdf97f99aee52dce1965544">PQXX_HAVE_LONG_DOUBLE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#723fecb5b6adf1069288af0045125ca1">PQXX_HAVE_LONG_LONG</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#dbe01a0e11f8bee78d0cfd9b3c202579">PQXX_HAVE_LO_TELL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#90a9da992d7733c97b9527a59a0cdc79">PQXX_HAVE_NAN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#28d05702436859d18c4e40b607626f76">PQXX_HAVE_POLL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#a222a8ada7d337062323e226a70c93a6">PQXX_HAVE_PQCANCEL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#3bb96d4b9a150027359e9569f10887f4">PQXX_HAVE_PQCLIENTENCODING</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#0ebd1efed5d4852b152da74cb7d376ac">PQXX_HAVE_PQDESCRIBEPORTAL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#4b8a67fce3c223c3e731b33f2ac5487c">PQXX_HAVE_PQENCRYPTPASSWORD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#016733d587316fadf8d13adbe8c8cb86">PQXX_HAVE_PQESCAPEBYTEA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#fabe6eeb566d5cd53a39c693f8493f8c">PQXX_HAVE_PQESCAPEBYTEACONN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#01f991fa67e5284e04c9e8092642bebc">PQXX_HAVE_PQESCAPESTRING</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#0d746f3dd8d8f5f00664ca5b77b52a4c">PQXX_HAVE_PQESCAPESTRINGCONN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#afb14cbb1fd5198d21b54b589c2d2fcc">PQXX_HAVE_PQEXECPARAMS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#66a5ae438fa9f36ad49e6996da55ee65">PQXX_HAVE_PQEXECPREPARED</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#d3caad91bb8ef6e6d388a06718e1eab6">PQXX_HAVE_PQFREEMEM</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#574c92bfd03d1d91525430081a56d02e">PQXX_HAVE_PQFREENOTIFY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#f1102ee58866616e3978c88742fce026">PQXX_HAVE_PQFTABLE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#b5f77c6821bb1a98c91afd392ffd8269">PQXX_HAVE_PQFTABLECOL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#495d5541ded273f093490808dce0813e">PQXX_HAVE_PQISTHREADSAFE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#75abb6a1d1957e72167ab02cc484083a">PQXX_HAVE_PQMBLEN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#cb30b0f6629f94f2ebc2a564b2c7f2bb">PQXX_HAVE_PQPREPARE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#a5d1604372d2355ff689e97edc976e5b">PQXX_HAVE_PQPROTOCOLVERSION</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#1727e8d591a503224b79551bccc2c922">PQXX_HAVE_PQPUTCOPY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#e313abdda2aa5814d73fe469387d4288">PQXX_HAVE_PQRESULTERRORFIELD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#079ffc3ad1bd9346956bf38e4e072331">PQXX_HAVE_PQSERVERVERSION</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#94e55f372118c550dc2d129b491c22e6">PQXX_HAVE_PQUNESCAPEBYTEA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#4bb251c2b2d5c1c64de9300135caeaae">PQXX_HAVE_QUIET_NAN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#9d2630c5b85da98fb325c1b6e153f87d">PQXX_HAVE_REVERSE_ITERATOR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#541e359f56f006ce95815e78f567d0c9">PQXX_HAVE_SHARED_PTR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#8953caf80ac919b374e9fb2e371127aa">PQXX_HAVE_SLEEP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#d764723ecfa6b8d005c671fbdcebb487">PQXX_HAVE_STREAMBUF</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#0d6e9ae10d9b46593d6636a224f9beac">PQXX_HAVE_STRERROR_R</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#7f281e37ae2828d1c537feacf6fa7cf1">PQXX_HAVE_STRING_CLEAR</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#cf27afe416410be7b6ca1aa52c6fa80b">PQXX_HAVE_STRNLEN</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#3c9263c21fb383ebb71d54adb61f2fd6">PQXX_HAVE_SYS_SELECT_H</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#83e88f11b3def2e1c7958e7098caaf95">PQXX_SELECT_ACCEPTS_NULL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#96b5e0b0acd8e1f7212bd3ddf037b08a">PQXX_TR1_HEADERS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#550e5c272cc3cf3814651721167dcd23">STDC_HEADERS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#1c6d5de492ac61ad29aec7aa9a436bbf">VERSION</a>&nbsp;&nbsp;&nbsp;&quot;3.1&quot;</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="0ee1617ff2f6885ef384a3dd46f9b9d7"></a><!-- doxytag: member="config.h::HAVE_DLFCN_H" ref="0ee1617ff2f6885ef384a3dd46f9b9d7" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_DLFCN_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b90a030ff2790ebdc176660a6dd2a478"></a><!-- doxytag: member="config.h::HAVE_INTTYPES_H" ref="b90a030ff2790ebdc176660a6dd2a478" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_INTTYPES_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="6447f26428bbf0552a3ffd41c57443d5"></a><!-- doxytag: member="config.h::HAVE_LIBPQ" ref="6447f26428bbf0552a3ffd41c57443d5" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_LIBPQ&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e93a78f9d076138897af441c9f86f285"></a><!-- doxytag: member="config.h::HAVE_MEMORY_H" ref="e93a78f9d076138897af441c9f86f285" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_MEMORY_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b6cd6d1c63c1e26ea2d4537b77148354"></a><!-- doxytag: member="config.h::HAVE_STDINT_H" ref="b6cd6d1c63c1e26ea2d4537b77148354" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDINT_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9e0e434ec1a6ddbd97db12b5a32905e0"></a><!-- doxytag: member="config.h::HAVE_STDLIB_H" ref="9e0e434ec1a6ddbd97db12b5a32905e0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STDLIB_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d4c234dd1625255dc626a15886306e7d"></a><!-- doxytag: member="config.h::HAVE_STRING_H" ref="d4c234dd1625255dc626a15886306e7d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRING_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="405d10d46190bcb0320524c54eafc850"></a><!-- doxytag: member="config.h::HAVE_STRINGS_H" ref="405d10d46190bcb0320524c54eafc850" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_STRINGS_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ce156430ba007d19b4348a950d0c692b"></a><!-- doxytag: member="config.h::HAVE_SYS_STAT_H" ref="ce156430ba007d19b4348a950d0c692b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_STAT_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="69dc70bea5d1f8bd2be9740e974fa666"></a><!-- doxytag: member="config.h::HAVE_SYS_TYPES_H" ref="69dc70bea5d1f8bd2be9740e974fa666" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_SYS_TYPES_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="219b06937831d0da94d801ab13987639"></a><!-- doxytag: member="config.h::HAVE_UNISTD_H" ref="219b06937831d0da94d801ab13987639" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define HAVE_UNISTD_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c2d5925d76379847dd9fc4747b061659"></a><!-- doxytag: member="config.h::LT_OBJDIR" ref="c2d5925d76379847dd9fc4747b061659" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LT_OBJDIR&nbsp;&nbsp;&nbsp;&quot;.libs/&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ca8570fb706c81df371b7f9bc454ae03"></a><!-- doxytag: member="config.h::PACKAGE" ref="ca8570fb706c81df371b7f9bc454ae03" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1d1d2d7f8d2f95b376954d649ab03233"></a><!-- doxytag: member="config.h::PACKAGE_BUGREPORT" ref="1d1d2d7f8d2f95b376954d649ab03233" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_BUGREPORT&nbsp;&nbsp;&nbsp;&quot;Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1c0439e4355794c09b64274849eb0279"></a><!-- doxytag: member="config.h::PACKAGE_NAME" ref="1c0439e4355794c09b64274849eb0279" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_NAME&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="c73e6f903c16eca7710f92e36e1c6fbf"></a><!-- doxytag: member="config.h::PACKAGE_STRING" ref="c73e6f903c16eca7710f92e36e1c6fbf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_STRING&nbsp;&nbsp;&nbsp;&quot;libpqxx 3.1&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f415af6bfede0e8d5453708afe68651c"></a><!-- doxytag: member="config.h::PACKAGE_TARNAME" ref="f415af6bfede0e8d5453708afe68651c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_TARNAME&nbsp;&nbsp;&nbsp;&quot;libpqxx&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="5c93853116d5a50307b6744f147840aa"></a><!-- doxytag: member="config.h::PACKAGE_URL" ref="5c93853116d5a50307b6744f147840aa" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_URL&nbsp;&nbsp;&nbsp;&quot;&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a326a05d5e30f9e9a4bb0b4469d5d0c0"></a><!-- doxytag: member="config.h::PACKAGE_VERSION" ref="a326a05d5e30f9e9a4bb0b4469d5d0c0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PACKAGE_VERSION&nbsp;&nbsp;&nbsp;&quot;3.1&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7df1e40bbc22feaf8eaf7d7a12707ec7"></a><!-- doxytag: member="config.h::PGSTD" ref="7df1e40bbc22feaf8eaf7d7a12707ec7" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PGSTD&nbsp;&nbsp;&nbsp;std          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7df37052a5408a04954151ce6938304c"></a><!-- doxytag: member="config.h::PQXX_HAVE_C_NAN" ref="7df37052a5408a04954151ce6938304c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_C_NAN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a9d0b1ab4aaafc5430b30988dd3366c3"></a><!-- doxytag: member="config.h::PQXX_HAVE_CHAR_TRAITS" ref="a9d0b1ab4aaafc5430b30988dd3366c3" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_CHAR_TRAITS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e91c4831094b9d463419938f9869c878"></a><!-- doxytag: member="config.h::PQXX_HAVE_COUNT_IF" ref="e91c4831094b9d463419938f9869c878" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_COUNT_IF&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="45f0b063d3d2110645d16502f3c3a227"></a><!-- doxytag: member="config.h::PQXX_HAVE_DISTANCE" ref="45f0b063d3d2110645d16502f3c3a227" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_DISTANCE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="87d542be6bf6ad9e0079508ec57e5b0a"></a><!-- doxytag: member="config.h::PQXX_HAVE_GCC_DEPRECATED" ref="87d542be6bf6ad9e0079508ec57e5b0a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_GCC_DEPRECATED&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="be48f1e843b09f7ab5c11a3fe9f5c0b0"></a><!-- doxytag: member="config.h::PQXX_HAVE_GCC_VISIBILITY" ref="be48f1e843b09f7ab5c11a3fe9f5c0b0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_GCC_VISIBILITY&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e59a9ae7a1ace905f508cdcf5056a7ae"></a><!-- doxytag: member="config.h::PQXX_HAVE_IMBUE" ref="e59a9ae7a1ace905f508cdcf5056a7ae" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_IMBUE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ca210e397be88e671774d98a7cfa8c78"></a><!-- doxytag: member="config.h::PQXX_HAVE_IOS" ref="ca210e397be88e671774d98a7cfa8c78" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_IOS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e5d62c57bd9862f0695ae03074a71328"></a><!-- doxytag: member="config.h::PQXX_HAVE_LIMITS" ref="e5d62c57bd9862f0695ae03074a71328" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LIMITS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="dbe01a0e11f8bee78d0cfd9b3c202579"></a><!-- doxytag: member="config.h::PQXX_HAVE_LO_TELL" ref="dbe01a0e11f8bee78d0cfd9b3c202579" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LO_TELL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="88f82db8041dad2dd8c4f3a0efd5c197"></a><!-- doxytag: member="config.h::PQXX_HAVE_LOCALE" ref="88f82db8041dad2dd8c4f3a0efd5c197" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LOCALE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b9c55a0dffdf97f99aee52dce1965544"></a><!-- doxytag: member="config.h::PQXX_HAVE_LONG_DOUBLE" ref="b9c55a0dffdf97f99aee52dce1965544" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LONG_DOUBLE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="723fecb5b6adf1069288af0045125ca1"></a><!-- doxytag: member="config.h::PQXX_HAVE_LONG_LONG" ref="723fecb5b6adf1069288af0045125ca1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_LONG_LONG&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="90a9da992d7733c97b9527a59a0cdc79"></a><!-- doxytag: member="config.h::PQXX_HAVE_NAN" ref="90a9da992d7733c97b9527a59a0cdc79" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_NAN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="28d05702436859d18c4e40b607626f76"></a><!-- doxytag: member="config.h::PQXX_HAVE_POLL" ref="28d05702436859d18c4e40b607626f76" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_POLL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a222a8ada7d337062323e226a70c93a6"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQCANCEL" ref="a222a8ada7d337062323e226a70c93a6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQCANCEL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3bb96d4b9a150027359e9569f10887f4"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQCLIENTENCODING" ref="3bb96d4b9a150027359e9569f10887f4" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQCLIENTENCODING&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0ebd1efed5d4852b152da74cb7d376ac"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQDESCRIBEPORTAL" ref="0ebd1efed5d4852b152da74cb7d376ac" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQDESCRIBEPORTAL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4b8a67fce3c223c3e731b33f2ac5487c"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQENCRYPTPASSWORD" ref="4b8a67fce3c223c3e731b33f2ac5487c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQENCRYPTPASSWORD&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="016733d587316fadf8d13adbe8c8cb86"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQESCAPEBYTEA" ref="016733d587316fadf8d13adbe8c8cb86" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPEBYTEA&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="fabe6eeb566d5cd53a39c693f8493f8c"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQESCAPEBYTEACONN" ref="fabe6eeb566d5cd53a39c693f8493f8c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPEBYTEACONN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="01f991fa67e5284e04c9e8092642bebc"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQESCAPESTRING" ref="01f991fa67e5284e04c9e8092642bebc" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPESTRING&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0d746f3dd8d8f5f00664ca5b77b52a4c"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQESCAPESTRINGCONN" ref="0d746f3dd8d8f5f00664ca5b77b52a4c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQESCAPESTRINGCONN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="afb14cbb1fd5198d21b54b589c2d2fcc"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQEXECPARAMS" ref="afb14cbb1fd5198d21b54b589c2d2fcc" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQEXECPARAMS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="66a5ae438fa9f36ad49e6996da55ee65"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQEXECPREPARED" ref="66a5ae438fa9f36ad49e6996da55ee65" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQEXECPREPARED&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d3caad91bb8ef6e6d388a06718e1eab6"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQFREEMEM" ref="d3caad91bb8ef6e6d388a06718e1eab6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFREEMEM&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="574c92bfd03d1d91525430081a56d02e"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQFREENOTIFY" ref="574c92bfd03d1d91525430081a56d02e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFREENOTIFY&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="f1102ee58866616e3978c88742fce026"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQFTABLE" ref="f1102ee58866616e3978c88742fce026" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFTABLE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b5f77c6821bb1a98c91afd392ffd8269"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQFTABLECOL" ref="b5f77c6821bb1a98c91afd392ffd8269" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQFTABLECOL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="495d5541ded273f093490808dce0813e"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQISTHREADSAFE" ref="495d5541ded273f093490808dce0813e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQISTHREADSAFE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="75abb6a1d1957e72167ab02cc484083a"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQMBLEN" ref="75abb6a1d1957e72167ab02cc484083a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQMBLEN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cb30b0f6629f94f2ebc2a564b2c7f2bb"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQPREPARE" ref="cb30b0f6629f94f2ebc2a564b2c7f2bb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQPREPARE&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="a5d1604372d2355ff689e97edc976e5b"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQPROTOCOLVERSION" ref="a5d1604372d2355ff689e97edc976e5b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQPROTOCOLVERSION&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1727e8d591a503224b79551bccc2c922"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQPUTCOPY" ref="1727e8d591a503224b79551bccc2c922" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQPUTCOPY&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e313abdda2aa5814d73fe469387d4288"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQRESULTERRORFIELD" ref="e313abdda2aa5814d73fe469387d4288" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQRESULTERRORFIELD&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="079ffc3ad1bd9346956bf38e4e072331"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQSERVERVERSION" ref="079ffc3ad1bd9346956bf38e4e072331" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQSERVERVERSION&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="94e55f372118c550dc2d129b491c22e6"></a><!-- doxytag: member="config.h::PQXX_HAVE_PQUNESCAPEBYTEA" ref="94e55f372118c550dc2d129b491c22e6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_PQUNESCAPEBYTEA&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="4bb251c2b2d5c1c64de9300135caeaae"></a><!-- doxytag: member="config.h::PQXX_HAVE_QUIET_NAN" ref="4bb251c2b2d5c1c64de9300135caeaae" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_QUIET_NAN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="9d2630c5b85da98fb325c1b6e153f87d"></a><!-- doxytag: member="config.h::PQXX_HAVE_REVERSE_ITERATOR" ref="9d2630c5b85da98fb325c1b6e153f87d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_REVERSE_ITERATOR&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="541e359f56f006ce95815e78f567d0c9"></a><!-- doxytag: member="config.h::PQXX_HAVE_SHARED_PTR" ref="541e359f56f006ce95815e78f567d0c9" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_SHARED_PTR&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8953caf80ac919b374e9fb2e371127aa"></a><!-- doxytag: member="config.h::PQXX_HAVE_SLEEP" ref="8953caf80ac919b374e9fb2e371127aa" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_SLEEP&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="d764723ecfa6b8d005c671fbdcebb487"></a><!-- doxytag: member="config.h::PQXX_HAVE_STREAMBUF" ref="d764723ecfa6b8d005c671fbdcebb487" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STREAMBUF&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="0d6e9ae10d9b46593d6636a224f9beac"></a><!-- doxytag: member="config.h::PQXX_HAVE_STRERROR_R" ref="0d6e9ae10d9b46593d6636a224f9beac" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STRERROR_R&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="7f281e37ae2828d1c537feacf6fa7cf1"></a><!-- doxytag: member="config.h::PQXX_HAVE_STRING_CLEAR" ref="7f281e37ae2828d1c537feacf6fa7cf1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STRING_CLEAR&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="cf27afe416410be7b6ca1aa52c6fa80b"></a><!-- doxytag: member="config.h::PQXX_HAVE_STRNLEN" ref="cf27afe416410be7b6ca1aa52c6fa80b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_STRNLEN&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3c9263c21fb383ebb71d54adb61f2fd6"></a><!-- doxytag: member="config.h::PQXX_HAVE_SYS_SELECT_H" ref="3c9263c21fb383ebb71d54adb61f2fd6" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_HAVE_SYS_SELECT_H&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="83e88f11b3def2e1c7958e7098caaf95"></a><!-- doxytag: member="config.h::PQXX_SELECT_ACCEPTS_NULL" ref="83e88f11b3def2e1c7958e7098caaf95" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_SELECT_ACCEPTS_NULL&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="96b5e0b0acd8e1f7212bd3ddf037b08a"></a><!-- doxytag: member="config.h::PQXX_TR1_HEADERS" ref="96b5e0b0acd8e1f7212bd3ddf037b08a" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXX_TR1_HEADERS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2beaf283be43f27ac95cb81a3ebf946b"></a><!-- doxytag: member="config.h::PQXXTR1" ref="2beaf283be43f27ac95cb81a3ebf946b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define PQXXTR1&nbsp;&nbsp;&nbsp;std::tr1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="550e5c272cc3cf3814651721167dcd23"></a><!-- doxytag: member="config.h::STDC_HEADERS" ref="550e5c272cc3cf3814651721167dcd23" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define STDC_HEADERS&nbsp;&nbsp;&nbsp;1          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="1c6d5de492ac61ad29aec7aa9a436bbf"></a><!-- doxytag: member="config.h::VERSION" ref="1c6d5de492ac61ad29aec7aa9a436bbf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define VERSION&nbsp;&nbsp;&nbsp;&quot;3.1&quot;          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00125_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00125_source.html
--- 3.1-1.1/doc/html/Reference/a00125_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00125_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: config-internal-compiler.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00125_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">config-internal-compiler.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* Automatically generated from config.h: internal/compiler config. */</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define HAVE_SYS_TYPES_H 1</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define HAVE_UNISTD_H 1</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_COUNT_IF 1</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_C_NAN 1</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_DISTANCE 1</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_GCC_VISIBILITY 1</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_IMBUE 1</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_LOCALE 1</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_NAN 1</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_POLL 1</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_QUIET_NAN 1</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_SLEEP 1</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_STRERROR_R 1</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_STRERROR_R_GNU 1</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_STRING_CLEAR 1</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_STRNLEN 1</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_SYS_SELECT_H 1</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>config-internal-compiler.h</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00126.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00126.html
--- 3.1-1.1/doc/html/Reference/a00126.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00126.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: connection.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>connection.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;libpq-fe.h&quot;</code><br>
-<code>#include &quot;pqxx/connection&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for connection.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00276.png" border="0" usemap="#connection.cxx_map" alt=""></center>
-<map name="connection.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00126_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00126_source.html
--- 3.1-1.1/doc/html/Reference/a00126_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00126_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: config-internal-libpq.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00126_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">config-internal-libpq.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* Automatically generated from config.h: internal/libpq config. */</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define PQXX_HAVE_LO_TELL 1</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQCANCEL 1</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQCLIENTENCODING 1</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQDESCRIBEPORTAL 1</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQENCRYPTPASSWORD 1</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQESCAPEBYTEA 1</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQESCAPEBYTEACONN 1</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQESCAPESTRING 1</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQESCAPESTRINGCONN 1</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQEXECPARAMS 1</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQEXECPREPARED 1</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQFREEMEM 1</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQFREENOTIFY 1</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQFTABLE 1</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQFTABLECOL 1</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQISTHREADSAFE 1</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQMBLEN 1</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQPREPARE 1</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQPROTOCOLVERSION 1</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQPUTCOPY 1</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQRESULTERRORFIELD 1</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQSERVERVERSION 1</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_PQUNESCAPEBYTEA 1</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>config-internal-libpq.h</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00127.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00127.html
--- 3.1-1.1/doc/html/Reference/a00127.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00127.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: connection.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>connection.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/connectionpolicy&quot;</code><br>
-<code>#include &quot;pqxx/basic_connection&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for connection.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00277.png" border="0" usemap="#connection.hxx_map" alt=""></center>
-<map name="connection.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="991,84,1212,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00217.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html">pqxx::connect_direct</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connection policy; creates an immediate connection to a database.  <a href="a00017.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html">pqxx::connect_lazy</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lazy connection policy; causes connection to be deferred until first use.  <a href="a00018.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html">pqxx::connect_async</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Asynchronous connection policy; connects "in the background".  <a href="a00016.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html">pqxx::connect_null</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nonfunctional, always-down connection policy for testing/debugging purposes.  <a href="a00019.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_connection<br>
-&lt; connect_direct &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00197.html#g26edb910e4563d1115e22c627914e98b">pqxx::connection</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The "standard" connection type: connect to database right now.  <a href="a00197.html#g26edb910e4563d1115e22c627914e98b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_connection<br>
-&lt; connect_lazy &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00197.html#g8911912522c75dd0b154fefdde735272">pqxx::lazyconnection</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A "lazy" connection type: connect to database only when needed.  <a href="a00197.html#g8911912522c75dd0b154fefdde735272"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_connection<br>
-&lt; connect_async &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00197.html#g710db2d58482a4ea8ebbb822c2b0d417">pqxx::asyncconnection</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">"Asynchronous" connection type: start connecting, but don't wait for it  <a href="a00197.html#g710db2d58482a4ea8ebbb822c2b0d417"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_connection<br>
-&lt; connect_null &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00197.html#g830f18f804ec3e4cc8bab713169fb529">pqxx::nullconnection</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A "dummy" connection type: don't connect to any database at all.  <a href="a00197.html#g830f18f804ec3e4cc8bab713169fb529"></a><br></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00127_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00127_source.html
--- 3.1-1.1/doc/html/Reference/a00127_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00127_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: config-public-compiler.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00127_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">config-public-compiler.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* Automatically generated from config.h: public/compiler config. */</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define PGSTD std</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXXTR1 std::tr1</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_CHAR_TRAITS 1</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_CPP_PRAGMA_MESSAGE 1</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_IOS 1</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_LIMITS 1</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_LONG_DOUBLE 1</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_REVERSE_ITERATOR 1</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_SHARED_PTR 1</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_HAVE_STREAMBUF 1</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_TR1_HEADERS 1</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>config-public-compiler.h</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00128.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00128.html
--- 3.1-1.1/doc/html/Reference/a00128.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00128.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,88 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: connection_base.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>connection_base.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;algorithm&gt;</code><br>
-<code>#include &lt;cassert&gt;</code><br>
-<code>#include &lt;cerrno&gt;</code><br>
-<code>#include &lt;cstdio&gt;</code><br>
-<code>#include &lt;cstring&gt;</code><br>
-<code>#include &lt;ctime&gt;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &quot;libpq-fe.h&quot;</code><br>
-<code>#include &quot;pqxx/binarystring&quot;</code><br>
-<code>#include &quot;pqxx/connection&quot;</code><br>
-<code>#include &quot;pqxx/connection_base&quot;</code><br>
-<code>#include &quot;pqxx/nontransaction&quot;</code><br>
-<code>#include &quot;pqxx/pipeline&quot;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;pqxx/strconv&quot;</code><br>
-<code>#include &quot;pqxx/transaction&quot;</code><br>
-<code>#include &quot;pqxx/notify-listen&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/result-creation.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/result-connection.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-reactivation_avoidance_exemption.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for connection_base.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00278.png" border="0" usemap="#connection_base.cxx_map" alt=""></center>
-<map name="connection_base.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#ab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read</a> (const internal::pq::PGconn *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#fb8cc01458ec8de28273c4854e34e4b9">pqxx::internal::wait_read</a> (const internal::pq::PGconn *, long seconds, long microseconds)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#578ac9f03e48ac2c6489456b6843ecb7">pqxx::internal::wait_write</a> (const internal::pq::PGconn *)</td></tr>
-
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ae9885e755dbbf23bd0e3ebb8ca1f885"></a><!-- doxytag: member="connection_base.cxx::m_conn" ref="ae9885e755dbbf23bd0e3ebb8ca1f885" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">PGconn* <a class="el" href="a00128.html#ae9885e755dbbf23bd0e3ebb8ca1f885">m_conn</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00234.html#l00088">pqxx::notify_listener::conn()</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:42 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00128_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00128_source.html
--- 3.1-1.1/doc/html/Reference/a00128_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00128_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,321 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: config.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00128_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">config.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* include/pqxx/config.h.  Generated from config.h.in by configure.  */</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">/* include/pqxx/config.h.in.  Generated from configure.ac by autoheader.  */</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;dlfcn.h&gt; header file. */</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#define HAVE_DLFCN_H 1</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;inttypes.h&gt; header file. */</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define HAVE_INTTYPES_H 1</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">/* Define to 1 if you have the `pq&#39; library (-lpq). */</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#define HAVE_LIBPQ 1</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;memory.h&gt; header file. */</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define HAVE_MEMORY_H 1</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stdint.h&gt; header file. */</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#define HAVE_STDINT_H 1</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;stdlib.h&gt; header file. */</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define HAVE_STDLIB_H 1</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;strings.h&gt; header file. */</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define HAVE_STRINGS_H 1</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;string.h&gt; header file. */</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define HAVE_STRING_H 1</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/stat.h&gt; header file. */</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define HAVE_SYS_STAT_H 1</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;sys/types.h&gt; header file. */</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define HAVE_SYS_TYPES_H 1</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">/* Define to 1 if you have the &lt;unistd.h&gt; header file. */</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define HAVE_UNISTD_H 1</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">/* Define to the sub-directory in which libtool stores uninstalled libraries.</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">   */</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define LT_OBJDIR &quot;.libs/&quot;</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Name of package */</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define PACKAGE &quot;libpqxx&quot;</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">/* Define to the address where bug reports for this package should be sent. */</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define PACKAGE_BUGREPORT &quot;Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;&quot;</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="comment">/* Define to the full name of this package. */</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define PACKAGE_NAME &quot;libpqxx&quot;</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="comment">/* Define to the full name and version of this package. */</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#define PACKAGE_STRING &quot;libpqxx 3.1.1&quot;</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="comment">/* Define to the one symbol short name of this package. */</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#define PACKAGE_TARNAME &quot;libpqxx&quot;</span></div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">/* Define to the home page for this package. */</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#define PACKAGE_URL &quot;&quot;</span></div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">/* Define to the version of this package. */</span></div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#define PACKAGE_VERSION &quot;3.1.1&quot;</span></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/* name of standard library namespace (normally &quot;std&quot;) */</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#define PGSTD std</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">/* namespace of TR1 standard extensions (e.g. &quot;std&quot; or &quot;std::tr1&quot;) */</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#define PQXXTR1 std::tr1</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">/* Define if &lt;iterator&gt; lacks an iterator template definition */</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">/* #undef PQXX_BROKEN_ITERATOR */</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment">/* Define if function overloading using &quot;using&quot; breaks */</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="comment">/* #undef PQXX_BROKEN_USING_DECL */</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/* Define if you have the &lt;boost/smart_ptr.hpp&gt; header */</span></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">/* #undef PQXX_HAVE_BOOST_SMART_PTR */</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment">/* Define if std provides the char_traits template and &lt;char&gt; specialization</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="comment">   */</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="preprocessor">#define PQXX_HAVE_CHAR_TRAITS 1</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">/* Define if count_if() works according to the standard */</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define PQXX_HAVE_COUNT_IF 1</span></div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="comment">/* Define if preprocessor supports pragma &quot;message&quot; */</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#define PQXX_HAVE_CPP_PRAGMA_MESSAGE 1</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">/* Define if preprocessor supports nonstandard &quot;warning&quot; directive */</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">/* #undef PQXX_HAVE_CPP_WARNING */</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="comment">/* Define if math.h defines C99 isinf() */</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">/* #undef PQXX_HAVE_C_ISINF */</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="comment">/* Define if math.h defines C99 isnan() */</span></div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="comment">/* #undef PQXX_HAVE_C_ISNAN */</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment">/* Define if C math header defines NAN */</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#define PQXX_HAVE_C_NAN 1</span></div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="comment">/* Define if distance() works according to the standard */</span></div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor">#define PQXX_HAVE_DISTANCE 1</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="comment">/* Define if g++ supports deprecated attribute, as in g++ 4.0 */</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#define PQXX_HAVE_GCC_DEPRECATED 1</span></div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">/* Define if g++ supports visibility attribute, as in g++ 4.0 */</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#define PQXX_HAVE_GCC_VISIBILITY 1</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="comment">/* Define if stringstream::imbue works */</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">#define PQXX_HAVE_IMBUE 1</span></div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="comment">/* Define if you have the &lt;ios&gt; header */</span></div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#define PQXX_HAVE_IOS 1</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="comment">/* Define if &lt;limits&gt; exists */</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;<span class="preprocessor">#define PQXX_HAVE_LIMITS 1</span></div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="comment">/* Define if you have the &lt;locale&gt; header */</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;<span class="preprocessor">#define PQXX_HAVE_LOCALE 1</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;<span class="comment">/* Define if the compiler supports the standard &quot;long double&quot; type */</span></div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#define PQXX_HAVE_LONG_DOUBLE 1</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment">/* Define if the compiler supports &quot;long long&quot; types */</span></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="comment">/* #undef PQXX_HAVE_LONG_LONG */</span></div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="comment">/* Define if libpq has lo_tell() */</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="preprocessor">#define PQXX_HAVE_LO_TELL 1</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="comment">/* Define if C99 fnan()/nan()/lnan() are available */</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="preprocessor">#define PQXX_HAVE_NAN 1</span></div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="comment">/* Define if the system has the poll() function (mainly GNU/Linux) */</span></div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#define PQXX_HAVE_POLL 1</span></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">/* Define if libpq has PQcancel() and friends */</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQCANCEL 1</span></div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="comment">/* Define if libpq has PQclientEncoding() */</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQCLIENTENCODING 1</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">/* Define if libpq has PQdescribePortal() */</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQDESCRIBEPORTAL 1</span></div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">/* Define if libpq has PQencryptPassword() */</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQENCRYPTPASSWORD 1</span></div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">/* Define if libpq has PQescapeBytea() */</span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQESCAPEBYTEA 1</span></div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment">/* Define if libpq has PQescapeByteaConn() */</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQESCAPEBYTEACONN 1</span></div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<span class="comment">/* Define if libpq has PQescapeString() */</span></div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQESCAPESTRING 1</span></div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">/* Define if libpq has PQescapeStringConn() */</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQESCAPESTRINGCONN 1</span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="comment">/* Define if libpq has PQexecParams() */</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQEXECPARAMS 1</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="comment">/* Define if libpq has PQexecPrepared() */</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQEXECPREPARED 1</span></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">/* Define if libpq has PQfreemem() */</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQFREEMEM 1</span></div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="comment">/* Define if libpq has PQfreeNotify() */</span></div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQFREENOTIFY 1</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment">/* Define if libpq has PQftable() */</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQFTABLE 1</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment">/* Define if libpq has PQftablecol() */</span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQFTABLECOL 1</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment">/* Define if libpq has PQisthreadsafe() */</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQISTHREADSAFE 1</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="comment">/* Define if libpq has PQmblen() */</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQMBLEN 1</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<span class="comment">/* Define if libpq has PQprepare() */</span></div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQPREPARE 1</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="comment">/* Define if libpq has PQprotocolVersion() */</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQPROTOCOLVERSION 1</span></div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="comment">/* Define if libpq has PQputCopyData() and related functions */</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQPUTCOPY 1</span></div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">/* Define if libpq has PQresultErrorField() and PG_DIAG_STATEMENT_POSITION */</span></div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQRESULTERRORFIELD 1</span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="comment">/* Define if libpq has PQserverVersion() */</span></div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQSERVERVERSION 1</span></div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">/* Define if libpq has PQunescapeBytea() */</span></div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="preprocessor">#define PQXX_HAVE_PQUNESCAPEBYTEA 1</span></div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment">/* Define if std::numeric_limits has quiet_NaN() */</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="preprocessor">#define PQXX_HAVE_QUIET_NAN 1</span></div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">/* Define if reverse_iterator template works as expected */</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">#define PQXX_HAVE_REVERSE_ITERATOR 1</span></div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="comment">/* Define if compiler has shared_ptr */</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor">#define PQXX_HAVE_SHARED_PTR 1</span></div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;<span class="comment">/* Define if POSIX sleep() exists */</span></div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="preprocessor">#define PQXX_HAVE_SLEEP 1</span></div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;<span class="comment">/* Define if you have the &lt;streambuf&gt; header; if not, &lt;streambuf.h&gt; is used */</span></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#define PQXX_HAVE_STREAMBUF 1</span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="comment">/* Define if strerror_r exists */</span></div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;<span class="preprocessor">#define PQXX_HAVE_STRERROR_R 1</span></div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="comment">/* Define for GNU-style strerror_r */</span></div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">#define PQXX_HAVE_STRERROR_R_GNU 1</span></div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="comment">/* Define if string class has the clear() function */</span></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="preprocessor">#define PQXX_HAVE_STRING_CLEAR 1</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment">/* Define if strlcpy exists */</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="comment">/* #undef PQXX_HAVE_STRLCPY */</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="comment">/* Define if strnlen exists */</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#define PQXX_HAVE_STRNLEN 1</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="comment">/* Define if the sys/select.h header defines a working select() and friends,</span></div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="comment">   as per POSIX 1003.1-2001 */</span></div>
+<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<span class="preprocessor">#define PQXX_HAVE_SYS_SELECT_H 1</span></div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="comment">/* Define if select() accepts NULL fd_set arguments */</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="comment">/* #undef PQXX_SELECT_ACCEPTS_NULL */</span></div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">/* Define if headers for TR1 extension to standard live in tr1/ */</span></div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#define PQXX_TR1_HEADERS 1</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="comment">/* Define to 1 if you have the ANSI C header files. */</span></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="preprocessor">#define STDC_HEADERS 1</span></div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;<span class="comment">/* Version number of package */</span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;<span class="preprocessor">#define VERSION &quot;3.1.1&quot;</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>config.h</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00129.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00129.html
--- 3.1-1.1/doc/html/Reference/a00129.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00129.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: connection_base.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>connection_base.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;bitset&gt;</code><br>
-<code>#include &lt;map&gt;</code><br>
-<code>#include &lt;memory&gt;</code><br>
-<code>#include &quot;pqxx/except&quot;</code><br>
-<code>#include &quot;pqxx/prepared_statement&quot;</code><br>
-<code>#include &quot;pqxx/strconv&quot;</code><br>
-<code>#include &quot;pqxx/util&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for connection_base.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00279.png" border="0" usemap="#connection_base.hxx_map" alt=""></center>
-<map name="connection_base.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="1428,84,1649,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00219.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html">pqxx::internal</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html">pqxx::internal::gate</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">pqxx::internal::reactivation_avoidance_counter</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html">pqxx::noticer</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for user-definable error/warning message processor.  <a href="a00057.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html">pqxx::nonnoticer</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No-op message <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a>; produces no output.  <a href="a00054.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html">pqxx::connection_base</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00020.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> abstract base class; represents a connection to a database.  <a href="a00020.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html">pqxx::scoped_noticer</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporarily set different <a class="el" href="a00057.html" title="Base class for user-definable error/warning message processor.">noticer</a> for connection, then restore old one.  <a href="a00086.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">pqxx::disable_noticer</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporarily disable the notice processor.  <a href="a00029.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">pqxx::internal::reactivation_avoidance_exemption</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scoped exemption to reactivation avoidance.  <a href="a00073.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#9e2c72ad43cc687832305728da99ec9a">pqxx::encrypt_password</a> (const std::string &amp;user, const std::string &amp;password)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encrypt password for given user. Requires libpq 8.2 or better.  <a href="#9e2c72ad43cc687832305728da99ec9a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#ab24f7cf8fda5527887819f620eea4be">pqxx::internal::wait_read</a> (const internal::pq::PGconn *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#fb8cc01458ec8de28273c4854e34e4b9">pqxx::internal::wait_read</a> (const internal::pq::PGconn *, long seconds, long microseconds)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#578ac9f03e48ac2c6489456b6843ecb7">pqxx::internal::wait_write</a> (const internal::pq::PGconn *)</td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00130.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00130.html
--- 3.1-1.1/doc/html/Reference/a00130.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00130.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: connectionpolicy.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>connectionpolicy.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;<a class="el" href="a00230.html">pqxx/libpq-forward.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for connectionpolicy.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00280.png" border="0" usemap="#connectionpolicy.hxx_map" alt=""></center>
-<map name="connectionpolicy.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00140.html" title="pqxx/libpq&#45;forward.hxx" alt="" coords="697,84,860,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="884,84,1105,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00220.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">pqxx::connectionpolicy</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00130_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00130_source.html
--- 3.1-1.1/doc/html/Reference/a00130_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00130_source.html	2013-01-20 05:57:20.000000000 +0000
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: connection.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00130_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">connection.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/connection.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::connection and pqxx::lazyconnection classes.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Different ways of setting up a backend connection.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/connection instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2001-2008, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_CONNECTION</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_CONNECTION</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;pqxx/connectionpolicy&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;pqxx/basic_connection&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="a00020.html">   84</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00020.html" title="Connection policy; creates an immediate connection to a database.">connect_direct</a> : <span class="keyword">public</span> <a class="code" href="a00024.html">connectionpolicy</a></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;{</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="a00020.html#a3ae8ab240a1f152c64cd40493d92f846">   87</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00020.html#a3ae8ab240a1f152c64cd40493d92f846">connect_direct</a>(<span class="keyword">const</span> PGSTD::string &amp;opts) : <a class="code" href="a00024.html">connectionpolicy</a>(opts) {}</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="keyword">virtual</span> handle do_startconnect(handle);</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;};</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="a00200.html#ga26edb910e4563d1115e22c627914e98b">   92</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">basic_connection&lt;connect_direct&gt;</a> <a class="code" href="a00200.html#ga26edb910e4563d1115e22c627914e98b" title="The &quot;standard&quot; connection type: connect to database right now.">connection</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
+<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="a00021.html">  100</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00021.html" title="Lazy connection policy; causes connection to be deferred until first use.">connect_lazy</a> : <span class="keyword">public</span> <a class="code" href="a00024.html">connectionpolicy</a></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;{</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00103"></a><span class="lineno"><a class="code" href="a00021.html#a9d93b15b0681f3b4e25e9fab79adb8cd">  103</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00021.html#a9d93b15b0681f3b4e25e9fab79adb8cd">connect_lazy</a>(<span class="keyword">const</span> PGSTD::string &amp;opts) : <a class="code" href="a00024.html">connectionpolicy</a>(opts) {}</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">virtual</span> handle do_completeconnect(handle);</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;};</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="code" href="a00200.html#ga8911912522c75dd0b154fefdde735272">  109</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">basic_connection&lt;connect_lazy&gt;</a> <a class="code" href="a00200.html#ga8911912522c75dd0b154fefdde735272" title="A &quot;lazy&quot; connection type: connect to database only when needed.">lazyconnection</a>;</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="a00019.html">  119</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00019.html" title="Asynchronous connection policy; connects &quot;in the background&quot;.">connect_async</a> : <span class="keyword">public</span> <a class="code" href="a00024.html">connectionpolicy</a></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00019.html" title="Asynchronous connection policy; connects &quot;in the background&quot;.">connect_async</a>(<span class="keyword">const</span> PGSTD::string &amp;opts);</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> do_startconnect(<a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> do_completeconnect(<a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>);</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="keyword">virtual</span> <a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a> do_dropconnect(<a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_ready(<a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>) <span class="keyword">const</span> <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="keywordtype">bool</span> m_connecting;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;};</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="a00200.html#ga710db2d58482a4ea8ebbb822c2b0d417">  135</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">basic_connection&lt;connect_async&gt;</a> <a class="code" href="a00200.html#ga710db2d58482a4ea8ebbb822c2b0d417" title="&quot;Asynchronous&quot; connection type: start connecting, but don&#39;t wait for it">asyncconnection</a>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="a00022.html">  143</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00022.html" title="Nonfunctional, always-down connection policy for testing/debugging purposes.">connect_null</a>  : <span class="keyword">public</span> <a class="code" href="a00024.html">connectionpolicy</a></div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;{</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="a00022.html#a0f3aae5285574af29d06abdcb7f2560c">  146</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00022.html#a0f3aae5285574af29d06abdcb7f2560c">connect_null</a>(<span class="keyword">const</span> PGSTD::string &amp;opts) : <a class="code" href="a00024.html">connectionpolicy</a>(opts) {}</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;};</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="a00200.html#ga830f18f804ec3e4cc8bab713169fb529">  151</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00006.html" title="The ultimate template that defines a connection type.">basic_connection&lt;connect_null&gt;</a> <a class="code" href="a00200.html#ga830f18f804ec3e4cc8bab713169fb529" title="A &quot;dummy&quot; connection type: don&#39;t connect to any database at all.">nullconnection</a>;</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;}</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>connection.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:20 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00131.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00131.html
--- 3.1-1.1/doc/html/Reference/a00131.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00131.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,57 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: cursor.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>cursor.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;cstdlib&gt;</code><br>
-<code>#include &lt;cstring&gt;</code><br>
-<code>#include &quot;pqxx/cursor&quot;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;pqxx/strconv&quot;</code><br>
-<code>#include &quot;pqxx/transaction&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-sql_cursor.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/icursor_iterator-icursorstream.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/icursorstream-icursor_iterator.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/result-sql_cursor.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for cursor.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00281.png" border="0" usemap="#cursor.cxx_map" alt=""></center>
-<map name="cursor.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result::size_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#1d4ccde33cf0aa77b96d2dd358235f25">pqxx::internal::obtain_stateless_cursor_size</a> (<a class="el" href="a00087.html">sql_cursor</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#eeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve</a> (<a class="el" href="a00087.html">sql_cursor</a> &amp;, result::difference_type size, result::difference_type begin_pos, result::difference_type end_pos)</td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00132.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00132.html
--- 3.1-1.1/doc/html/Reference/a00132.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00132.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: cursor.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>cursor.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;pqxx/transaction_base&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for cursor.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00282.png" border="0" usemap="#cursor.hxx_map" alt=""></center>
-<map name="cursor.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="1028,84,1249,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00222.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html">pqxx::internal</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html">pqxx::internal::gate</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">pqxx::cursor_base</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Common definitions for cursor types.  <a href="a00023.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html">pqxx::internal::sql_cursor</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cursor with SQL positioning semantics.  <a href="a00087.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">pqxx::stateless_cursor&lt; up, op &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">"Stateless cursor" class: easy API for retrieving parts of <a class="el" href="a00076.html" title="Query or command result set.">result</a> sets  <a href="a00089.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">pqxx::icursorstream</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Simple read-only cursor represented as a stream of results.  <a href="a00038.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html">pqxx::icursor_iterator</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Approximate istream_iterator for <a class="el" href="a00038.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a>.  <a href="a00037.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result::size_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#1d4ccde33cf0aa77b96d2dd358235f25">pqxx::internal::obtain_stateless_cursor_size</a> (<a class="el" href="a00087.html">sql_cursor</a> &amp;)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00076.html">result</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#eeea06390ffa0def35db2d8bd524c671">pqxx::internal::stateless_cursor_retrieve</a> (<a class="el" href="a00087.html">sql_cursor</a> &amp;, result::difference_type size, result::difference_type begin_pos, result::difference_type end_pos)</td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00132_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00132_source.html
--- 3.1-1.1/doc/html/Reference/a00132_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00132_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,544 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: connection_base.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00132_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">connection_base.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/connection_base.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::connection_base abstract base class.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   pqxx::connection_base encapsulates a frontend to backend connection</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/connection_base instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2001-2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_CONNECTION_BASE</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_CONNECTION_BASE</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;bitset&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;pqxx/except&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;pqxx/prepared_statement&quot;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pqxx/strconv&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;pqxx/util&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/* Use of the libpqxx library starts here.</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> * Everything that can be done with a database through libpqxx must go through</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> * a connection object derived from connection_base.</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="comment">/* Methods tested in eg. self-test program test1 are marked with &quot;//[t1]&quot;</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">class </span>result;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">class </span>transaction_base;</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">class </span>notify_listener;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">class </span>connectionpolicy;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;{</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">class </span>reactivation_avoidance_exemption;</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">class </span>sql_cursor;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="a00080.html">   56</a></span>&#160;<span class="keyword">class </span><a class="code" href="a00080.html">reactivation_avoidance_counter</a></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;{</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="a00080.html#a87bd978d6269ea43fdcdf2f2eb278ef5">   59</a></span>&#160;  <a class="code" href="a00080.html#a87bd978d6269ea43fdcdf2f2eb278ef5">reactivation_avoidance_counter</a>() : m_counter(0) {}</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="a00080.html#a4f2bdaaec1119d4a66efe42faa17a0dd">   61</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="a00080.html#a4f2bdaaec1119d4a66efe42faa17a0dd">add</a>(<span class="keywordtype">int</span> n) <span class="keywordflow">throw</span> () { m_counter += n; }</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="a00080.html#a1560ca3d205af226866a1e388dc505f2">   62</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="a00080.html#a1560ca3d205af226866a1e388dc505f2">clear</a>() throw () { m_counter = 0; }</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="a00080.html#a1cc2be7fd873ff9c6fa91e3efb3293dd">   63</a></span>&#160;  <span class="keywordtype">int</span> <span class="keyword">get</span>() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> m_counter; }</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <span class="keywordtype">int</span> m_counter;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;};</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;}</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="a00065.html">   82</a></span>&#160;<span class="keyword">struct </span>PQXX_LIBEXPORT PQXX_NOVTABLE <a class="code" href="a00065.html" title="Base class for user-definable error/warning message processor.">noticer</a> :</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  PGSTD::unary_function&lt;const char[], void&gt;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;{</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="a00065.html#afe85ed5eb8cbd2f7399a37be557af36f">   85</a></span>&#160;  <a class="code" href="a00065.html#afe85ed5eb8cbd2f7399a37be557af36f">noticer</a>(){}           <span class="comment">// Silences bogus warning in some gcc versions</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="a00065.html#a38dbbfaebde807dc9801252469320281">   86</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="a00065.html#a38dbbfaebde807dc9801252469320281">~noticer</a>() throw () {}</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> <span class="keywordtype">char</span> Msg[]) <span class="keywordflow">throw</span> () =0;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;};</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="a00062.html">   92</a></span>&#160;<span class="keyword">struct </span>PQXX_LIBEXPORT <a class="code" href="a00062.html" title="No-op message noticer; produces no output.">nonnoticer</a> : <a class="code" href="a00065.html" title="Base class for user-definable error/warning message processor.">noticer</a></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;{</div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="code" href="a00062.html#a59edacf42c1a404404f8850ec45c78ac">   94</a></span>&#160;  <a class="code" href="a00062.html#a59edacf42c1a404404f8850ec45c78ac">nonnoticer</a>(){}        <span class="comment">// Silences bogus warning in some gcc versions</span></div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="a00062.html#abf821c1422588859a72a0c7213cf0e8e">   95</a></span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a00062.html#abf821c1422588859a72a0c7213cf0e8e">operator()</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> []) throw () {}</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;};</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;PGSTD::string PQXX_LIBEXPORT <a class="code" href="a00174.html#aad07bde6f6d1012bc1fbd66e2339a213" title="Encrypt password for given user. Requires libpq 8.2 or better.">encrypt_password</a>(                          <span class="comment">//[t0]</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;user,</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;password);</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;{</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="a00190.html">  128</a></span>&#160;<span class="keyword">namespace </span>gate</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;{</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;<span class="keyword">class </span>connection_dbtransaction;</div>
+<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="keyword">class </span>connection_largeobject;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="keyword">class </span>connection_notify_listener;</div>
+<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keyword">class </span>connection_parameterized_invocation;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">class </span>connection_pipeline;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="keyword">class </span>connection_prepare_declaration;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">class </span>connection_prepare_invocation;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">class </span>connection_reactivation_avoidance_exemption;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">class </span>connection_sql_cursor;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<span class="keyword">class </span>connection_transaction;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;} <span class="comment">// namespace pqxx::internal::gate</span></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;} <span class="comment">// namespace pqxx::internal</span></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="a00023.html">  178</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;{</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;  <span class="keywordtype">void</span> disconnect() <span class="keywordflow">throw</span> ();                                           <span class="comment">//[t2]</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keywordtype">bool</span> is_open() <span class="keyword">const</span> <span class="keywordflow">throw</span> ();                                        <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="keywordtype">void</span> activate();                                                      <span class="comment">//[t12]</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordtype">void</span> deactivate();                                                    <span class="comment">//[t12]</span></div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"><a class="code" href="a00023.html#aedf7ac72658efa92e702a06b1964747a">  270</a></span>&#160;  <span class="keywordtype">void</span> inhibit_reactivation(<span class="keywordtype">bool</span> inhibit)                               <span class="comment">//[t86]</span></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        { m_inhibit_reactivation=inhibit; }</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="keywordtype">void</span> simulate_failure();                                              <span class="comment">//[t94]</span></div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  PGSTD::auto_ptr&lt;noticer&gt; set_noticer(PGSTD::auto_ptr&lt;noticer&gt; N)</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordflow">throw</span> ();                                                           <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="a00023.html#aedf4e61e94ea58058e4bc592d98f8dc2">  307</a></span>&#160;  <a class="code" href="a00065.html" title="Base class for user-definable error/warning message processor.">noticer</a> *<a class="code" href="a00023.html#aedf4e61e94ea58058e4bc592d98f8dc2">get_noticer</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_Noticer.get(); }     <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="keywordtype">void</span> process_notice(<span class="keyword">const</span> <span class="keywordtype">char</span>[]) throw ();                           <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="comment"></span>  <span class="keywordtype">void</span> process_notice(const PGSTD::<span class="keywordtype">string</span> &amp;) throw ();                  <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  <span class="keywordtype">void</span> trace(FILE *) throw ();                                          <span class="comment">//[t3]</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div>
+<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  const <span class="keywordtype">char</span> *dbname();                                                 <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  const <span class="keywordtype">char</span> *username();                                               <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  const <span class="keywordtype">char</span> *hostname();                                               <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  const <span class="keywordtype">char</span> *port();                                                   <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="keywordtype">int</span> backendpid() const throw ();                                      <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;  <span class="keywordtype">int</span> sock() const throw ();                                            <span class="comment">//[t87]</span></div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160; </div>
+<div class="line"><a name="l00392"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71">  392</a></span>&#160;  enum <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71" title="Session capabilities.">capability</a></div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  {</div>
+<div class="line"><a name="l00395"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71af5a4754aea608aaf5fca6caa51c44ce0">  395</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71af5a4754aea608aaf5fca6caa51c44ce0" title="Does the backend support prepared statements? (If not, we emulate them)">cap_prepared_statements</a>,</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;</div>
+<div class="line"><a name="l00398"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71aba8a02f6bb5d2304bfbf2110c6cd791a">  398</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71aba8a02f6bb5d2304bfbf2110c6cd791a" title="Can we specify WITH OIDS with CREATE TABLE?">cap_create_table_with_oids</a>,</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;</div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a973dc9e4f56818f82b86fb13a5bbc405">  401</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a973dc9e4f56818f82b86fb13a5bbc405" title="Can transactions be nested in other transactions?">cap_nested_transactions</a>,</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc">  404</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8034abdbcd193f25d9d93cf79156e1fc" title="Can cursors be declared SCROLL?">cap_cursor_scroll</a>,</div>
+<div class="line"><a name="l00406"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4">  406</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71ad97556afc36aff4a62c61b67437c20c4" title="Can cursors be declared WITH HOLD?">cap_cursor_with_hold</a>,</div>
+<div class="line"><a name="l00408"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb">  408</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a8ab47c10b60d6bd6664f6e88f300edcb" title="Can cursors be updateable?">cap_cursor_update</a>,</div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a86380c8c083847ba3d16764784f5914f">  410</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a86380c8c083847ba3d16764784f5914f" title="Can cursors fetch zero elements? (Used to trigger a &quot;fetch all&quot;)">cap_cursor_fetch_0</a>,</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a1f2b785abe834490c33dc4cf19c932d2">  413</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a1f2b785abe834490c33dc4cf19c932d2" title="Can we ask what table column a result column came from?">cap_table_column</a>,</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div>
+<div class="line"><a name="l00416"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a01e68a67b6a3c92ce9b0c92fa73e90b2">  416</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a01e68a67b6a3c92ce9b0c92fa73e90b2" title="Can transactions be READ ONLY?">cap_read_only_transactions</a>,</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
+<div class="line"><a name="l00419"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71abefe533e379346c7b9644406c613eb02">  419</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71abefe533e379346c7b9644406c613eb02" title="Do prepared statements support varargs?">cap_statement_varargs</a>,</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;</div>
+<div class="line"><a name="l00422"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a6b019128f2fdcfa9d316042342846e2f">  422</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a6b019128f2fdcfa9d316042342846e2f" title="Is the unnamed prepared statement supported?">cap_prepare_unnamed_statement</a>,</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
+<div class="line"><a name="l00425"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a366c98bc3385ecfb39496bf7240e5973">  425</a></span>&#160;    <a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a366c98bc3385ecfb39496bf7240e5973" title="Can this connection execute parameterized statements?">cap_parameterized_statements</a>,</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;</div>
+<div class="line"><a name="l00428"></a><span class="lineno"><a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71a4a873c5d7e7fb0a9022cdd110181a7de">  428</a></span>&#160;    cap_end</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  };</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"><a class="code" href="a00023.html#aefdde864e05f88e84d748236b93659e7">  449</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="a00023.html#aefdde864e05f88e84d748236b93659e7" title="Does this connection seem to support the given capability?">supports</a>(<a class="code" href="a00023.html#a306a884246abc1051bab4fb06393ee71" title="Session capabilities.">capability</a> c) <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> m_caps.test(c); } <span class="comment">//[t88]</span></div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;  <span class="keywordtype">int</span> protocol_version() <span class="keyword">const</span> throw ();                                <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;  <span class="keywordtype">int</span> server_version() const throw ();                                  <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
+<div class="line"><a name="l00489"></a><span class="lineno"><a class="code" href="a00023.html#a04895c06c5ae1d8b0863a32a28beff51">  489</a></span>&#160;  <span class="keywordtype">void</span> set_client_encoding(const PGSTD::<span class="keywordtype">string</span> &amp;Encoding)               <span class="comment">//[t7]</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;        { set_variable(<span class="stringliteral">&quot;CLIENT_ENCODING&quot;</span>, Encoding); }</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div>
+<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;  <span class="keywordtype">void</span> set_variable(<span class="keyword">const</span> PGSTD::string &amp;Var,</div>
+<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;                    <span class="keyword">const</span> PGSTD::string &amp;Value);                        <span class="comment">//[t60]</span></div>
+<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div>
+<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  PGSTD::string get_variable(<span class="keyword">const</span> PGSTD::string &amp;);                    <span class="comment">//[t60]</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;  <span class="keywordtype">int</span> get_notifs();                                                     <span class="comment">//[t4]</span></div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  <span class="keywordtype">int</span> await_notification();                                             <span class="comment">//[t78]</span></div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;  <span class="keywordtype">int</span> await_notification(<span class="keywordtype">long</span> seconds, <span class="keywordtype">long</span> microseconds);              <span class="comment">//[t79]</span></div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div>
+<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;  <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">prepare::declaration</a> prepare(<span class="keyword">const</span> PGSTD::string &amp;name,</div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;definition);</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;</div>
+<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;</div>
+<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;  <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">prepare::declaration</a> prepare(<span class="keyword">const</span> PGSTD::string &amp;definition);</div>
+<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;  <span class="keywordtype">void</span> unprepare(<span class="keyword">const</span> PGSTD::string &amp;name);</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;</div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;  <span class="keywordtype">void</span> prepare_now(<span class="keyword">const</span> PGSTD::string &amp;name);</div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TRANSACTOR&gt;</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  <span class="keywordtype">void</span> perform(<span class="keyword">const</span> TRANSACTOR &amp;T, <span class="keywordtype">int</span> Attempts);                      <span class="comment">//[t4]</span></div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TRANSACTOR&gt;</div>
+<div class="line"><a name="l00717"></a><span class="lineno"><a class="code" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d">  717</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d" title="Perform the transaction defined by a transactor-based object.">perform</a>(<span class="keyword">const</span> TRANSACTOR &amp;T) { <a class="code" href="a00023.html#a5eac9840b79e7f1893d88b63f6d97b1d" title="Perform the transaction defined by a transactor-based object.">perform</a>(T, 3); }</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;  PGSTD::string adorn_name(<span class="keyword">const</span> PGSTD::string &amp;);                      <span class="comment">//[90]</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div>
+<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;</div>
+<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;  PGSTD::string esc(<span class="keyword">const</span> <span class="keywordtype">char</span> str[]);</div>
+<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;</div>
+<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;  PGSTD::string esc(<span class="keyword">const</span> <span class="keywordtype">char</span> str[], <span class="keywordtype">size_t</span> maxlen);</div>
+<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;</div>
+<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;  PGSTD::string esc(<span class="keyword">const</span> PGSTD::string &amp;str);</div>
+<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;</div>
+<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;  PGSTD::string esc_raw(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> str[], <span class="keywordtype">size_t</span> len);</div>
+<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div>
+<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div>
+<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a name="l00812"></a><span class="lineno"><a class="code" href="a00199.html#ga81fe65fbb9561af7c5f0b33a9fe27e5a">  812</a></span>&#160;  PGSTD::string quote(<span class="keyword">const</span> T &amp;t)</div>
+<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;  {</div>
+<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="a00092.html" title="Traits class for use in string conversions.">string_traits&lt;T&gt;::is_null</a>(t)) <span class="keywordflow">return</span> <span class="stringliteral">&quot;NULL&quot;</span>;</div>
+<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;&quot;</span> + this-&gt;esc(<a class="code" href="a00174.html#aa757786089f3db83d44e536a37340355" title="Convert a field to a string.">to_string</a>(t)) + <span class="stringliteral">&quot;&#39;&quot;</span>;</div>
+<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;  }</div>
+<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;</div>
+<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;  <span class="keywordtype">void</span> cancel_query();</div>
+<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;</div>
+<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a>(<a class="code" href="a00024.html">connectionpolicy</a> &amp;);</div>
+<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;  <span class="keywordtype">void</span> init();</div>
+<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;</div>
+<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;  <span class="keywordtype">void</span> close() throw ();</div>
+<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;  <span class="keywordtype">void</span> wait_read() const;</div>
+<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;  <span class="keywordtype">void</span> wait_read(<span class="keywordtype">long</span> seconds, <span class="keywordtype">long</span> microseconds) const;</div>
+<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;  <span class="keywordtype">void</span> wait_write() const;</div>
+<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;</div>
+<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;private:</div>
+<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> make_result(internal::pq::PGresult *rhs, const PGSTD::<span class="keywordtype">string</span> &amp;query);</div>
+<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;</div>
+<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE clearcaps() throw ();</div>
+<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE SetupState();</div>
+<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE check_result(const <a class="code" href="a00084.html" title="Query or command result set.">result</a> &amp;);</div>
+<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div>
+<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE InternalSetTrace() throw ();</div>
+<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;  <span class="keywordtype">int</span> PQXX_PRIVATE Status() const throw ();</div>
+<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;  const <span class="keywordtype">char</span> *ErrMsg() const throw ();</div>
+<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE Reset();</div>
+<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE RestoreVars();</div>
+<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;  PGSTD::<span class="keywordtype">string</span> PQXX_PRIVATE RawGetVar(const PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE process_notice_raw(const <span class="keywordtype">char</span> msg[]) throw ();</div>
+<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;  <span class="keywordtype">void</span> switchnoticer(const PGSTD::auto_ptr&lt;<a class="code" href="a00065.html" title="Base class for user-definable error/warning message processor.">noticer</a>&gt; &amp;) throw ();</div>
+<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;</div>
+<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;  <span class="keywordtype">void</span> read_capabilities() throw ();</div>
+<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;</div>
+<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;  prepare::internal::prepared_def &amp;find_prepared(const PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;</div>
+<div class="line"><a name="l00851"></a><span class="lineno"><a class="code" href="a00023.html#a1407974cc9c548bee6d31834625c3d45">  851</a></span>&#160;  friend class internal::gate::connection_prepare_declaration;</div>
+<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;  <span class="keywordtype">void</span> prepare_param_declare(</div>
+<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;        const PGSTD::<span class="keywordtype">string</span> &amp;statement,</div>
+<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;        const PGSTD::<span class="keywordtype">string</span> &amp;sqltype,</div>
+<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;        prepare::param_treatment);</div>
+<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;  <span class="keywordtype">void</span> prepare_param_declare_varargs(</div>
+<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;        const PGSTD::<span class="keywordtype">string</span> &amp;statement,</div>
+<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        prepare::param_treatment);</div>
+<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;</div>
+<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;  prepare::internal::prepared_def &amp;register_prepared(const PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;</div>
+<div class="line"><a name="l00862"></a><span class="lineno"><a class="code" href="a00023.html#ac2eff365ba0aa25ebbf5f903ac3c7a54">  862</a></span>&#160;  friend class internal::gate::connection_prepare_invocation;</div>
+<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;  result prepared_exec(const PGSTD::<span class="keywordtype">string</span> &amp;,</div>
+<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;        const <span class="keywordtype">char</span> *const[],</div>
+<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;        const <span class="keywordtype">int</span>[],</div>
+<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;        <span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;  <span class="keywordtype">bool</span> prepared_exists(const PGSTD::<span class="keywordtype">string</span> &amp;) const;</div>
+<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;</div>
+<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;  internal::pq::PGconn *m_Conn;</div>
+<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;</div>
+<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;  <a class="code" href="a00024.html">connectionpolicy</a> &amp;m_policy;</div>
+<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;</div>
+<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;  internal::unique&lt;<a class="code" href="a00107.html">transaction_base</a>&gt; m_Trans;</div>
+<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;</div>
+<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;  PGSTD::auto_ptr&lt;<a class="code" href="a00065.html" title="Base class for user-definable error/warning message processor.">noticer</a>&gt; m_Noticer;</div>
+<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;</div>
+<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;</div>
+<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;  internal::pq::PQnoticeProcessor m_defaultNoticeProcessor;</div>
+<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;</div>
+<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;  FILE *m_Trace;</div>
+<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;</div>
+<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;  typedef PGSTD::multimap&lt;PGSTD::<span class="keywordtype">string</span>, pqxx::<a class="code" href="a00066.html">notify_listener</a> *&gt; listenerlist;</div>
+<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;  listenerlist m_listeners;</div>
+<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div>
+<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;  PGSTD::map&lt;PGSTD::<span class="keywordtype">string</span>, PGSTD::<span class="keywordtype">string</span>&gt; m_Vars;</div>
+<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;</div>
+<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;  typedef PGSTD::map&lt;PGSTD::<span class="keywordtype">string</span>, prepare::internal::prepared_def&gt; PSMap;</div>
+<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;</div>
+<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;  PSMap m_prepared;</div>
+<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;</div>
+<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;  <span class="keywordtype">int</span> m_serverversion;</div>
+<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div>
+<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;  internal::reactivation_avoidance_counter m_reactivation_avoidance;</div>
+<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;</div>
+<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;  <span class="keywordtype">int</span> m_unique_id;</div>
+<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div>
+<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;  <span class="keywordtype">bool</span> m_Completed;</div>
+<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;</div>
+<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;  <span class="keywordtype">bool</span> m_inhibit_reactivation;</div>
+<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;</div>
+<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;  PGSTD::bitset&lt;cap_end&gt; m_caps;</div>
+<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;</div>
+<div class="line"><a name="l00920"></a><span class="lineno"><a class="code" href="a00023.html#a3c60c76e32687adce1e8c0dba0919773">  920</a></span>&#160;  friend class internal::gate::connection_transaction;</div>
+<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;  result PQXX_PRIVATE Exec(const <span class="keywordtype">char</span>[], <span class="keywordtype">int</span> Retries);</div>
+<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE RegisterTransaction(<a class="code" href="a00107.html">transaction_base</a> *);</div>
+<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE UnregisterTransaction(transaction_base *) throw ();</div>
+<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;  <span class="keywordtype">bool</span> PQXX_PRIVATE ReadCopyLine(PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE WriteCopyLine(const PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE EndCopyWrite();</div>
+<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE RawSetVar(const PGSTD::<span class="keywordtype">string</span> &amp;, const PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE AddVariables(const PGSTD::map&lt;PGSTD::<span class="keywordtype">string</span>,</div>
+<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;      PGSTD::<span class="keywordtype">string</span>&gt; &amp;);</div>
+<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;</div>
+<div class="line"><a name="l00931"></a><span class="lineno"><a class="code" href="a00023.html#ab15ff67d81467d271dc713b2584f1328">  931</a></span>&#160;  friend class internal::gate::connection_largeobject;</div>
+<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;  internal::pq::PGconn *RawConnection()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_Conn; }</div>
+<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;</div>
+<div class="line"><a name="l00934"></a><span class="lineno"><a class="code" href="a00023.html#a518f718405d80def662f248b427f0e60">  934</a></span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::gate::connection_notify_listener;</div>
+<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;  <span class="keywordtype">void</span> add_listener(<a class="code" href="a00066.html">notify_listener</a> *);</div>
+<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;  <span class="keywordtype">void</span> remove_listener(<a class="code" href="a00066.html">notify_listener</a> *) throw ();</div>
+<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;</div>
+<div class="line"><a name="l00938"></a><span class="lineno"><a class="code" href="a00023.html#a3b9c5dc16f04600aa5415e06f6ff8fa6">  938</a></span>&#160;  friend class internal::gate::connection_pipeline;</div>
+<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE start_exec(const PGSTD::<span class="keywordtype">string</span> &amp;);</div>
+<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;  <span class="keywordtype">bool</span> PQXX_PRIVATE consume_input() throw ();</div>
+<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;  <span class="keywordtype">bool</span> PQXX_PRIVATE is_busy() const throw ();</div>
+<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;  <span class="keywordtype">int</span> PQXX_PRIVATE encoding_code() throw ();</div>
+<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;  internal::pq::PGresult *get_result();</div>
+<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;</div>
+<div class="line"><a name="l00945"></a><span class="lineno"><a class="code" href="a00023.html#af3dfec559fe2305e57aba653abe4c8ad">  945</a></span>&#160;  friend class internal::gate::connection_dbtransaction;</div>
+<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;</div>
+<div class="line"><a name="l00947"></a><span class="lineno"><a class="code" href="a00023.html#a84c1a28176815ab9103c7febec450755">  947</a></span>&#160;  friend class internal::gate::connection_sql_cursor;</div>
+<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;  <span class="keywordtype">void</span> add_reactivation_avoidance_count(<span class="keywordtype">int</span>);</div>
+<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;</div>
+<div class="line"><a name="l00950"></a><span class="lineno"><a class="code" href="a00023.html#a2247d8690958f634898bbf014a7d418c">  950</a></span>&#160;  friend class internal::gate::connection_reactivation_avoidance_exemption;</div>
+<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div>
+<div class="line"><a name="l00952"></a><span class="lineno"><a class="code" href="a00023.html#a0e64dc314f291c6f81a948c59d94aa8a">  952</a></span>&#160;  friend class internal::gate::connection_parameterized_invocation;</div>
+<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> parameterized_exec(</div>
+<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;        const PGSTD::<span class="keywordtype">string</span> &amp;query,</div>
+<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        const <span class="keywordtype">char</span> *const params[],</div>
+<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;        const <span class="keywordtype">int</span> paramlengths[],</div>
+<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        <span class="keywordtype">int</span> nparams);</div>
+<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;</div>
+<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;  <span class="comment">// Not allowed:</span></div>
+<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;  <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a>(const <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;);</div>
+<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;  connection_base &amp;operator=(const connection_base &amp;);</div>
+<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;};</div>
+<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;</div>
+<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;</div>
+<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;</div>
+<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;</div>
+<div class="line"><a name="l00973"></a><span class="lineno"><a class="code" href="a00088.html">  973</a></span>&#160;class PQXX_LIBEXPORT <a class="code" href="a00088.html" title="Temporarily set different noticer for connection, then restore old one.">scoped_noticer</a></div>
+<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;{</div>
+<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;</div>
+<div class="line"><a name="l00981"></a><span class="lineno"><a class="code" href="a00088.html#a296496bb9919c4673236347dcc461dab">  981</a></span>&#160;  scoped_noticer(connection_base &amp;c, PGSTD::auto_ptr&lt;noticer&gt; t) <span class="keywordflow">throw</span> () :</div>
+<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;    m_c(c), m_org(c.set_noticer(t)) { }</div>
+<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;</div>
+<div class="line"><a name="l00984"></a><span class="lineno"><a class="code" href="a00088.html#ac4392882401ac69ab46ee9a51e500de4">  984</a></span>&#160;  <a class="code" href="a00088.html#ac4392882401ac69ab46ee9a51e500de4">~scoped_noticer</a>() { m_c.set_noticer(m_org); }</div>
+<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;</div>
+<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;</div>
+<div class="line"><a name="l00992"></a><span class="lineno"><a class="code" href="a00088.html#ab2942e4ae61aa62357e193314e1945a8">  992</a></span>&#160;  scoped_noticer(connection_base &amp;c, <a class="code" href="a00065.html" title="Base class for user-definable error/warning message processor.">noticer</a> *t) <span class="keywordflow">throw</span> () :</div>
+<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;    m_c(c),</div>
+<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;    m_org()</div>
+<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;  {</div>
+<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;    PGSTD::auto_ptr&lt;noticer&gt; x(t);</div>
+<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;    PGSTD::auto_ptr&lt;noticer&gt; y(c.set_noticer(x));</div>
+<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    m_org = y;</div>
+<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;  }</div>
+<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div>
+<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;  connection_base &amp;m_c;</div>
+<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;  PGSTD::auto_ptr&lt;noticer&gt; m_org;</div>
+<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;</div>
+<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;  scoped_noticer();</div>
+<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;  scoped_noticer(<span class="keyword">const</span> scoped_noticer &amp;);</div>
+<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;  scoped_noticer operator=(<span class="keyword">const</span> scoped_noticer &amp;);</div>
+<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;};</div>
+<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;</div>
+<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;</div>
+<div class="line"><a name="l01013"></a><span class="lineno"><a class="code" href="a00036.html"> 1013</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00036.html" title="Temporarily disable the notice processor.">disable_noticer</a> : scoped_noticer</div>
+<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;{</div>
+<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l01016"></a><span class="lineno"><a class="code" href="a00036.html#adc6490b8a280f32d283f6a0a6dd8e2f4"> 1016</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00036.html" title="Temporarily disable the notice processor.">disable_noticer</a>(connection_base &amp;c) :</div>
+<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;    scoped_noticer(c, new <a class="code" href="a00062.html" title="No-op message noticer; produces no output.">nonnoticer</a>) {}</div>
+<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;};</div>
+<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div>
+<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;</div>
+<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;{</div>
+<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;</div>
+<div class="line"><a name="l01025"></a><span class="lineno"><a class="code" href="a00081.html"> 1025</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00081.html" title="Scoped exemption to reactivation avoidance.">reactivation_avoidance_exemption</a></div>
+<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;{</div>
+<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00081.html" title="Scoped exemption to reactivation avoidance.">reactivation_avoidance_exemption</a>(connection_base &amp;C);</div>
+<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;  ~<a class="code" href="a00081.html" title="Scoped exemption to reactivation avoidance.">reactivation_avoidance_exemption</a>();</div>
+<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;</div>
+<div class="line"><a name="l01031"></a><span class="lineno"><a class="code" href="a00081.html#a8397728c755c1a8b4ade039406a4155c"> 1031</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="a00081.html#a8397728c755c1a8b4ade039406a4155c">close_connection</a>() throw () { m_open = <span class="keyword">false</span>; }</div>
+<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div>
+<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;  connection_base &amp;m_home;</div>
+<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;  <span class="keywordtype">int</span> m_count;</div>
+<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;  <span class="keywordtype">bool</span> m_open;</div>
+<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;};</div>
+<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
+<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div>
+<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;<span class="keywordtype">void</span> wait_read(<span class="keyword">const</span> <a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *);</div>
+<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="keywordtype">void</span> wait_read(<span class="keyword">const</span> <a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *, <span class="keywordtype">long</span> seconds, <span class="keywordtype">long</span> microseconds);</div>
+<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;<span class="keywordtype">void</span> wait_write(<span class="keyword">const</span> <a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *);</div>
+<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;} <span class="comment">// namespace pqxx::internal</span></div>
+<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;</div>
+<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;</div>
+<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;} <span class="comment">// namespace pqxx</span></div>
+<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;</div>
+<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div>
+<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>connection_base.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00133.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00133.html
--- 3.1-1.1/doc/html/Reference/a00133.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00133.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: dbtransaction.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>dbtransaction.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/dbtransaction&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-dbtransaction.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for dbtransaction.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00283.png" border="0" usemap="#dbtransaction.cxx_map" alt=""></center>
-<map name="dbtransaction.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00133_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00133_source.html
--- 3.1-1.1/doc/html/Reference/a00133_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00133_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: connectionpolicy.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00133_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">connectionpolicy.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/connectionpolicy.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the connection policy classes</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Interface for defining connection policies</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/connection instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2005-2008, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_CONNECTIONPOLICY</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_CONNECTIONPOLICY</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;pqxx/libpq-forward.hxx&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="a00024.html">   39</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00024.html">connectionpolicy</a></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;{</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">   42</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *<a class="code" href="a00024.html#a15bb552a890c0fb28fab2413200dee18">handle</a>;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00024.html">connectionpolicy</a>(<span class="keyword">const</span> PGSTD::string &amp;opts);</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="a00024.html">connectionpolicy</a>() throw ();</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="a00024.html#ae3164a06f63e76709e17065bea2bf938">   47</a></span>&#160;  const PGSTD::<span class="keywordtype">string</span> &amp;options() const throw () { <span class="keywordflow">return</span> m_options; }</div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> handle do_startconnect(handle orig);</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keyword">virtual</span> handle do_completeconnect(handle orig);</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">virtual</span> handle do_dropconnect(handle orig) <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keyword">virtual</span> handle do_disconnect(handle orig) <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> is_ready(handle) <span class="keyword">const</span> throw ();</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;protected:</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  handle normalconnect(handle);</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;private:</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  PGSTD::<span class="keywordtype">string</span> m_options;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;};</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;} <span class="comment">// namespace</span></div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>connectionpolicy.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00134.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00134.html
--- 3.1-1.1/doc/html/Reference/a00134.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00134.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: dbtransaction.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>dbtransaction.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/transaction_base&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for dbtransaction.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00284.png" border="0" usemap="#dbtransaction.hxx_map" alt=""></center>
-<map name="dbtransaction.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="807,84,1028,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00224.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">pqxx::dbtransaction</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc">pqxx::readwrite_policy</a> { <a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc4080e8f00464997c4345ddb2a15b3986">pqxx::read_only</a>, 
-<a class="el" href="a00171.html#1dc4688a8f01e6679b2afa93481836cc7fbb98c4665801b02d8cbeeb2dde0858">pqxx::read_write</a>
- }</td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00135.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00135.html
--- 3.1-1.1/doc/html/Reference/a00135.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00135.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: except.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>except.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/except&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for except.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00285.png" border="0" usemap="#except.cxx_map" alt=""></center>
-<map name="except.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00135_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00135_source.html
--- 3.1-1.1/doc/html/Reference/a00135_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00135_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,431 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: cursor.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00135_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">cursor.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/cursor.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the iterator/container-style cursor classes</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   C++-style wrappers for SQL cursors</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/pipeline instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2004-2013, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_CURSOR</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_CURSOR</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pqxx/result&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;pqxx/transaction_base&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span>dbtransaction;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="a00030.html">   52</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a></div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;{</div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">   55</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="code" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">size_type</a>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">   56</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e">   62</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e" title="Cursor access-pattern policy.">accesspolicy</a></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  {</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00030.html#a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf">   65</a></span>&#160;    <a class="code" href="a00030.html#a591ac7d2302288890c04e6159eb6d30eaf440221f717464c87f043899cc117cbf" title="Cursor can move forward only.">forward_only</a>,</div>
+<div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="a00030.html#a591ac7d2302288890c04e6159eb6d30ea7f6c1ed7719885433353a78946b2c5f3">   67</a></span>&#160;    random_access</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  };</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="code" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212">   74</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212" title="Cursor update policy.">updatepolicy</a></div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  {</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a8122c0c4a5eb9c9dbf27ab40a2686eb0">   77</a></span>&#160;    <a class="code" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a8122c0c4a5eb9c9dbf27ab40a2686eb0" title="Cursor can be used to read data but not to write.">read_only</a>,</div>
+<div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212a12fa229ee3e760f1ca86d66304554b63">   79</a></span>&#160;    update</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  };</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
+<div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330">  101</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330" title="Cursor destruction policy.">ownershippolicy</a></div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  {</div>
+<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0">  104</a></span>&#160;    <a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0" title="Destroy SQL cursor when cursor object is closed at end of transaction.">owned</a>,</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a4c37408c49492bfe9f012812226dd1fd">  106</a></span>&#160;    loose</div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  };</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="keyword">static</span> difference_type all() throw ();                                <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="a00030.html#a2a10af042c1ece1f5faf55479ada0319">  121</a></span>&#160;  static <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> next() throw () { <span class="keywordflow">return</span> 1; }                  <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="a00030.html#aed642c9d80cddf181853d36c6e8ccb93">  125</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> <a class="code" href="a00030.html#aed642c9d80cddf181853d36c6e8ccb93" title="Special value: read backwards, one row only.">prior</a>() throw () { <span class="keywordflow">return</span> -1; }                <span class="comment">//[t0]</span></div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keyword">static</span> difference_type backward_all() throw ();                       <span class="comment">//[t0]</span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="a00030.html#ab46d430e0ecfa545ff3764f867654caf">  139</a></span>&#160;  const PGSTD::<span class="keywordtype">string</span> &amp;name() const throw () { <span class="keywordflow">return</span> m_name; }         <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>(<a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;,</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Name,</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <span class="keywordtype">bool</span> embellish_name=<span class="keyword">true</span>);</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="a00030.html#a947b286d508fad4a1823f8b13a5ccef3">  146</a></span>&#160;  <span class="keyword">const</span> PGSTD::string <a class="code" href="a00030.html#a947b286d508fad4a1823f8b13a5ccef3">m_name</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>();</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>(<span class="keyword">const</span> <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a> &amp;);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a> &amp;);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;};</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="a00030.html#a56b530ba6b18f3fcdb5b93a0087922c9">  158</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> <a class="code" href="a00030.html#a56b530ba6b18f3fcdb5b93a0087922c9" title="Special value: read until end.">cursor_base::all</a>() throw ()</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;{</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> PGSTD::numeric_limits&lt;int&gt;::max()-1;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> INT_MAX-1;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369">  167</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> <a class="code" href="a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369" title="Special value: read backwards from current position back to origin.">cursor_base::backward_all</a>() throw ()</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;{</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> PGSTD::numeric_limits&lt;int&gt;::min()+1;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor"></span>  <span class="keywordflow">return</span> INT_MIN+1;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor"></span>}</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;{</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="a00089.html">  194</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00089.html" title="Cursor with SQL positioning semantics.">sql_cursor</a> : <span class="keyword">public</span> <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;{</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <a class="code" href="a00089.html" title="Cursor with SQL positioning semantics.">sql_cursor</a>(<a class="code" href="a00107.html">transaction_base</a> &amp;t,</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;query,</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;cname,</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <a class="code" href="a00030.html#a591ac7d2302288890c04e6159eb6d30e" title="Cursor access-pattern policy.">cursor_base::accesspolicy</a> ap,</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <a class="code" href="a00030.html#aba6fa56f1ef2d25c3c73240de6b9c212" title="Cursor update policy.">cursor_base::updatepolicy</a> up,</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330" title="Cursor destruction policy.">cursor_base::ownershippolicy</a> op,</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        <span class="keywordtype">bool</span> hold);</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <a class="code" href="a00089.html" title="Cursor with SQL positioning semantics.">sql_cursor</a>(<a class="code" href="a00107.html">transaction_base</a> &amp;t,</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;cname,</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330" title="Cursor destruction policy.">cursor_base::ownershippolicy</a> op);</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div>
+<div class="line"><a name="l00209"></a><span class="lineno"><a class="code" href="a00089.html#a5957a76f8d79ad8eae5feee9722eff40">  209</a></span>&#160;  <a class="code" href="a00089.html#a5957a76f8d79ad8eae5feee9722eff40">~sql_cursor</a>() throw () { close(); }</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> fetch(difference_type rows, difference_type &amp;displacement);</div>
+<div class="line"><a name="l00212"></a><span class="lineno"><a class="code" href="a00089.html#a7c17e5396e312c2f3e0f66db3d0e4a90">  212</a></span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> fetch(<a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> rows)</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                                { <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> d=0; <span class="keywordflow">return</span> <a class="code" href="a00089.html#a7c17e5396e312c2f3e0f66db3d0e4a90">fetch</a>(rows, d); }</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  difference_type move(difference_type rows, difference_type &amp;displacement);</div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="code" href="a00089.html#a31a9e2e6f5276c06120111df47f9ac5f">  215</a></span>&#160;  <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> move(<a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> rows)</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;                                { <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> d=0; <span class="keywordflow">return</span> <a class="code" href="a00089.html#a31a9e2e6f5276c06120111df47f9ac5f">move</a>(rows, d); }</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="code" href="a00089.html#a5a8ff4f51d2a249f1e772e0953452684">  225</a></span>&#160;  <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> <a class="code" href="a00089.html#a5a8ff4f51d2a249f1e772e0953452684" title="Current position, or -1 for unknown.">pos</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_pos; }</div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="a00089.html#a3ae9feae24d5eab6cf30867351cee54e">  234</a></span>&#160;  <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">difference_type</a> <a class="code" href="a00089.html#a3ae9feae24d5eab6cf30867351cee54e" title="End position, or -1 for unknown.">endpos</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_endpos; }</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div>
+<div class="line"><a name="l00237"></a><span class="lineno"><a class="code" href="a00089.html#af02410eca37436cb84547357d0b5a38e">  237</a></span>&#160;  <span class="keyword">const</span> <a class="code" href="a00084.html" title="Query or command result set.">result</a> &amp;<a class="code" href="a00089.html#af02410eca37436cb84547357d0b5a38e" title="Return zero-row result for this cursor.">empty_result</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_empty_result; }</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="keywordtype">void</span> close() throw ();</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;private:</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  difference_type adjust(difference_type hoped, difference_type actual);</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  static PGSTD::<span class="keywordtype">string</span> stridestring(difference_type);</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="keywordtype">void</span> init_empty_result(<a class="code" href="a00107.html">transaction_base</a> &amp;);</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;m_home;</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> m_empty_result;</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> m_cached_current_row;</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="keywordtype">bool</span> m_adopted;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>::ownershippolicy m_ownership;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="keywordtype">int</span> m_at_end;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  difference_type m_pos;</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  difference_type m_endpos;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;};</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;<a class="code" href="a00084.html" title="Query or command result set.">result</a>::size_type <a class="code" href="a00189.html#a1d4ccde33cf0aa77b96d2dd358235f25">obtain_stateless_cursor_size</a>(<a class="code" href="a00089.html" title="Cursor with SQL positioning semantics.">sql_cursor</a> &amp;);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<a class="code" href="a00084.html" title="Query or command result set.">result</a> <a class="code" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">stateless_cursor_retrieve</a>(</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        sql_cursor &amp;,</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <a class="code" href="a00084.html" title="Query or command result set.">result</a>::difference_type size,</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        <a class="code" href="a00084.html" title="Query or command result set.">result</a>::difference_type begin_pos,</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        <a class="code" href="a00084.html" title="Query or command result set.">result</a>::difference_type end_pos);</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;template&lt;<a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>::updatepolicy up, <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>::ownershippolicy op&gt;</div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="a00091.html">  290</a></span>&#160;class <a class="code" href="a00091.html" title="&quot;Stateless cursor&quot; class: easy API for retrieving parts of result sets">stateless_cursor</a></div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;{</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00293"></a><span class="lineno"><a class="code" href="a00091.html#a85ee6b4652b659565fede97bb00b4232">  293</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">result::size_type</a> <a class="code" href="a00091.html#a85ee6b4652b659565fede97bb00b4232">size_type</a>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="code" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">  294</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a> <a class="code" href="a00091.html#af9cfc40abd39a68880b0df6d618e41fb">difference_type</a>;</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
+<div class="line"><a name="l00297"></a><span class="lineno"><a class="code" href="a00091.html#aa042b1c72b16911a4f2e1c73be3d8942">  297</a></span>&#160;  stateless_cursor(</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        transaction_base &amp;trans,</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;query,</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;cname,</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keywordtype">bool</span> hold) :</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    m_cur(trans, query, cname, <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>::random_access, up, op, hold)</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  {</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  }</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
+<div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="a00091.html#a8231490bf29aa7686c4daa3b1fc97ed1">  307</a></span>&#160;  stateless_cursor(</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        transaction_base &amp;trans,</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <span class="keyword">const</span> PGSTD::string adopted_cursor) :</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    m_cur(trans, adopted_cursor, op)</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  {</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="comment">// Put cursor in known position</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    m_cur.move(<a class="code" href="a00030.html#ae1e1a28e596a78fa8ed8c4eeccbe6369" title="Special value: read backwards from current position back to origin.">cursor_base::backward_all</a>());</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  }</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;</div>
+<div class="line"><a name="l00316"></a><span class="lineno"><a class="code" href="a00091.html#a20a0b658655a3b10543abd35717dd633">  316</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="a00091.html#a20a0b658655a3b10543abd35717dd633">close</a>() throw () { m_cur.close(); }</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div>
+<div class="line"><a name="l00322"></a><span class="lineno"><a class="code" href="a00091.html#ae278f24bab98d3946061934a48992067">  322</a></span>&#160;  size_type <a class="code" href="a00091.html#ae278f24bab98d3946061934a48992067" title="Number of rows in cursor&#39;s result set.">size</a>() { <span class="keywordflow">return</span> <a class="code" href="a00189.html#a1d4ccde33cf0aa77b96d2dd358235f25">internal::obtain_stateless_cursor_size</a>(m_cur); }</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="a00091.html#a97046479f709ae621473c48ed7a0932d">  336</a></span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> retrieve(difference_type begin_pos, difference_type end_pos)</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  {</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00189.html#aeeea06390ffa0def35db2d8bd524c671">internal::stateless_cursor_retrieve</a>(</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        m_cur,</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <a class="code" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">result::difference_type</a>(size()),</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        begin_pos,</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        end_pos);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;  }</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
+<div class="line"><a name="l00345"></a><span class="lineno"><a class="code" href="a00091.html#a9b99a8f9ef260f11a32b29e917bdacda">  345</a></span>&#160;  <span class="keyword">const</span> PGSTD::string &amp;<a class="code" href="a00091.html#a9b99a8f9ef260f11a32b29e917bdacda">name</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_cur.name(); }</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;  <a class="code" href="a00089.html" title="Cursor with SQL positioning semantics.">internal::sql_cursor</a> m_cur;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;};</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="keyword">class </span>icursor_iterator;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;{</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;<span class="keyword">namespace </span>gate</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;{</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;<span class="keyword">class </span>icursor_iterator_icursorstream;</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="keyword">class </span>icursorstream_icursor_iterator;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;} <span class="comment">// namespace internal::gate</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
+<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="code" href="a00046.html">  381</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a></div>
+<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;{</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00384"></a><span class="lineno"><a class="code" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">  384</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00030.html#a732bb16c01dc3266d424267252d4f1b0">cursor_base::size_type</a> <a class="code" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">size_type</a>;</div>
+<div class="line"><a name="l00385"></a><span class="lineno"><a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">  385</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00030.html#a746c725327e1dfd598708bfeb8834992">cursor_base::difference_type</a> <a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;  <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a>(<a class="code" href="a00107.html">transaction_base</a> &amp;context,</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;      <span class="keyword">const</span> PGSTD::string &amp;query,</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;      <span class="keyword">const</span> PGSTD::string &amp;basename,</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;      <a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> sstride=1);                                       <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a>(<a class="code" href="a00107.html">transaction_base</a> &amp;context,</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;      <span class="keyword">const</span> <a class="code" href="a00041.html" title="Reference to a field in a result set.">result::field</a> &amp;cname,</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;      <a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> sstride=1,</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;      <a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330" title="Cursor destruction policy.">cursor_base::ownershippolicy</a> op=<a class="code" href="a00030.html#a8d5f8214ede2ab27dd588defc2847330a3ace6a7a5ca4ec3b486f2f35fd2420b0" title="Destroy SQL cursor when cursor object is closed at end of transaction.">cursor_base::owned</a>);              <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div>
+<div class="line"><a name="l00434"></a><span class="lineno"><a class="code" href="a00046.html#a462bf00fed476b503116f1c769deeb2f">  434</a></span>&#160;  <span class="keyword">operator</span> bool() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> !m_done; }</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div>
+<div class="line"><a name="l00443"></a><span class="lineno"><a class="code" href="a00046.html#a0602dd0f6ed2641bbb98ad584bcf60e7">  443</a></span>&#160;  <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a> &amp;<span class="keyword">get</span>(<a class="code" href="a00084.html" title="Query or command result set.">result</a> &amp;res) { res = fetchblock(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; } <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00451"></a><span class="lineno"><a class="code" href="a00046.html#a7ac105c3e882661d8f1220ccf9164c27">  451</a></span>&#160;  <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a> &amp;<a class="code" href="a00046.html#a7ac105c3e882661d8f1220ccf9164c27" title="Read new value into given result object; same as get(result &amp;)">operator&gt;&gt;</a>(<a class="code" href="a00084.html" title="Query or command result set.">result</a> &amp;res) { <span class="keywordflow">return</span> <span class="keyword">get</span>(res); }           <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;  <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a> &amp;ignore(PGSTD::streamsize n=1);                         <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;  <span class="keywordtype">void</span> set_stride(difference_type stride);                              <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="code" href="a00046.html#a89f9c7dc295e4befa9bdbd2bfedbe800">  465</a></span>&#160;  <a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a> <a class="code" href="a00046.html#a89f9c7dc295e4befa9bdbd2bfedbe800">stride</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_stride; }          <span class="comment">//[t81]</span></div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> fetchblock();</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div>
+<div class="line"><a name="l00470"></a><span class="lineno"><a class="code" href="a00046.html#a81bc68e9ddb56368929d58e0820e72f0">  470</a></span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::gate::icursorstream_icursor_iterator;</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;  <a class="code" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">size_type</a> forward(<a class="code" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">size_type</a> n=1);</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  <span class="keywordtype">void</span> insert_iterator(<a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> *) throw ();</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  <span class="keywordtype">void</span> remove_iterator(<a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> *) const throw ();</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;  <span class="keywordtype">void</span> service_iterators(<a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">difference_type</a>);</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  internal::sql_cursor m_cur;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;</div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;  difference_type m_stride;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  difference_type m_realpos, m_reqpos;</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;  mutable <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> *m_iterators;</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  <span class="keywordtype">bool</span> m_done;</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;};</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
+<div class="line"><a name="l00515"></a><span class="lineno"><a class="code" href="a00045.html">  515</a></span>&#160;class PQXX_LIBEXPORT <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> :</div>
+<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  public PGSTD::iterator&lt;PGSTD::input_iterator_tag,</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <a class="code" href="a00084.html" title="Query or command result set.">result</a>,</div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <a class="code" href="a00030.html" title="Common definitions for cursor types.">cursor_base</a>::<a class="code" href="a00045.html#af82ad1f395b1ccef2f48e7a04e315ae2">size_type</a>,</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        const result *,</div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;        const result &amp;&gt;</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;{</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00523"></a><span class="lineno"><a class="code" href="a00045.html#a4d6d50111eed016d1ce28bbdbbf96862">  523</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a> <a class="code" href="a00045.html#a4d6d50111eed016d1ce28bbdbbf96862">istream_type</a>;</div>
+<div class="line"><a name="l00524"></a><span class="lineno"><a class="code" href="a00045.html#af82ad1f395b1ccef2f48e7a04e315ae2">  524</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00046.html#a6f29a9a658eeb39c09075bfc655c5d90">istream_type::size_type</a> <a class="code" href="a00045.html#af82ad1f395b1ccef2f48e7a04e315ae2">size_type</a>;</div>
+<div class="line"><a name="l00525"></a><span class="lineno"><a class="code" href="a00045.html#acf5bea0afb3ae6a669bd40cd659a5921">  525</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00046.html#a79c9e623be28567215d88087cd7e80d0">istream_type::difference_type</a> <a class="code" href="a00045.html#acf5bea0afb3ae6a669bd40cd659a5921">difference_type</a>;</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a>() throw ();                                          <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  explicit <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a>(istream_type &amp;) throw ();                   <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a>(const <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;) throw ();                  <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;  ~<a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a>() throw ();</div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;</div>
+<div class="line"><a name="l00532"></a><span class="lineno"><a class="code" href="a00045.html#a7c416cd5efae357cce5f6dccf6d6fb58">  532</a></span>&#160;  const result &amp;operator*()<span class="keyword"> const </span>{ refresh(); <span class="keywordflow">return</span> m_here; }         <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00533"></a><span class="lineno"><a class="code" href="a00045.html#af2c977a93c27c468244f43733f7238c6">  533</a></span>&#160;  <span class="keyword">const</span> result *<a class="code" href="a00045.html#af2c977a93c27c468244f43733f7238c6">operator-&gt;</a>()<span class="keyword"> const </span>{ refresh(); <span class="keywordflow">return</span> &amp;m_here; }       <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;operator++();                                       <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> operator++(<span class="keywordtype">int</span>);                                     <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;operator+=(difference_type);                        <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;) throw ();       <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <span class="keywordtype">bool</span> operator==(const <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;rhs) const;                   <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00540"></a><span class="lineno"><a class="code" href="a00045.html#ad0cda8bc84e80e331d2fcc973788d99a">  540</a></span>&#160;  <span class="keywordtype">bool</span> operator!=(const <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;rhs) const throw ()           <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        { <span class="keywordflow">return</span> !operator==(rhs); }</div>
+<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;  <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;rhs) <span class="keyword">const</span>;                    <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00543"></a><span class="lineno"><a class="code" href="a00045.html#a0844bc4574d839c13d9ae6f2316a7286">  543</a></span>&#160;  <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;rhs) <span class="keyword">const</span>                     <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;        { <span class="keywordflow">return</span> rhs &lt; *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00545"></a><span class="lineno"><a class="code" href="a00045.html#a6afd533edcdf0e9f9667fdde547de63a">  545</a></span>&#160;  <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;rhs) <span class="keyword">const</span>                    <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        { <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &gt; rhs); }</div>
+<div class="line"><a name="l00547"></a><span class="lineno"><a class="code" href="a00045.html#a0abd27b596021390729199ddcb5a4baf">  547</a></span>&#160;  <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> &amp;rhs) <span class="keyword">const</span>                    <span class="comment">//[t84]</span></div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        { <span class="keywordflow">return</span> !(*<span class="keyword">this</span> &lt; rhs); }</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  <span class="keywordtype">void</span> refresh() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;</div>
+<div class="line"><a name="l00553"></a><span class="lineno"><a class="code" href="a00045.html#a50ae5821478a2398f50c8cf2c42a0343">  553</a></span>&#160;  <span class="keyword">friend</span> <span class="keyword">class </span>internal::gate::icursor_iterator_icursorstream;</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;  difference_type pos() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_pos; }</div>
+<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;  <span class="keywordtype">void</span> fill(<span class="keyword">const</span> result &amp;);</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;  <a class="code" href="a00046.html" title="Simple read-only cursor represented as a stream of results.">icursorstream</a> *m_stream;</div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;  result m_here;</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;  difference_type m_pos;</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;  <a class="code" href="a00045.html" title="Approximate istream_iterator for icursorstream.">icursor_iterator</a> *m_prev, *m_next;</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;};</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;} <span class="comment">// namespace pqxx</span></div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div>
+<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>cursor.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00136.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00136.html
--- 3.1-1.1/doc/html/Reference/a00136.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00136.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,134 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: except.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>except.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;pqxx/util&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for except.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00286.png" border="0" usemap="#except.hxx_map" alt=""></center>
-<map name="except.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="823,84,1044,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00226.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html">pqxx::pqxx_exception</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mixin base class to identify libpqxx-specific exception types.  <a href="a00068.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">pqxx::failure</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run-time <a class="el" href="a00032.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a> encountered by libpqxx, similar to std::runtime_error.  <a href="a00032.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html">pqxx::broken_connection</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception class for lost or failed backend connection.  <a href="a00011.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">pqxx::sql_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception class for failed queries.  <a href="a00088.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html">pqxx::in_doubt_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">"Help, I don't know whether transaction was committed successfully!"  <a href="a00039.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html">pqxx::internal_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal error in libpqxx library.  <a href="a00043.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html">pqxx::usage_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Error in usage of libpqxx library, similar to std::logic_error.  <a href="a00113.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00001.html">pqxx::argument_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invalid argument passed to libpqxx, similar to std::invalid_argument.  <a href="a00001.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">pqxx::conversion_error</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html">pqxx::range_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Something is out of range, similar to std::out_of_range.  <a href="a00071.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00033.html">pqxx::feature_not_supported</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Database feature not supported in current setup.  <a href="a00033.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">pqxx::data_exception</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Error in data provided to SQL statement.  <a href="a00024.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html">pqxx::integrity_constraint_violation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">pqxx::restrict_violation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">pqxx::not_null_violation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html">pqxx::foreign_key_violation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html">pqxx::unique_violation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">pqxx::check_violation</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00045.html">pqxx::invalid_cursor_state</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">pqxx::invalid_sql_statement_name</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html">pqxx::invalid_cursor_name</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html">pqxx::syntax_error</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html">pqxx::undefined_column</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html">pqxx::undefined_function</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html">pqxx::undefined_table</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html">pqxx::insufficient_privilege</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html">pqxx::insufficient_resources</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resource shortage on the server.  <a href="a00041.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">pqxx::disk_full</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html">pqxx::out_of_memory</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html">pqxx::too_many_connections</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html">pqxx::plpgsql_error</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PL/pgSQL error.  <a href="a00063.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">pqxx::plpgsql_raise</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exception raised in PL/pgSQL procedure.  <a href="a00065.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html">pqxx::plpgsql_no_data_found</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html">pqxx::plpgsql_too_many_rows</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00137.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00137.html
--- 3.1-1.1/doc/html/Reference/a00137.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00137.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: isolation.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>isolation.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/util&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for isolation.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00287.png" border="0" usemap="#isolation.hxx_map" alt=""></center>
-<map name="isolation.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="716,84,937,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00227.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html">pqxx::isolation_traits&lt; LEVEL &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traits class to describe an isolation level; primarly for libpqxx's own use.  <a href="a00048.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#8f05a60f9e1f7dc4e4af5dce6b987c8c">pqxx::isolation_level</a> { <a class="el" href="a00171.html#8f05a60f9e1f7dc4e4af5dce6b987c8cbedeb7c33721ac28a9e35be36f214f2d">pqxx::read_committed</a>, 
-<a class="el" href="a00171.html#8f05a60f9e1f7dc4e4af5dce6b987c8c022ad2c1a5b247f6cc5790909e708569">pqxx::serializable</a>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transaction isolation levels; PostgreSQL doesn't implement all SQL levels.  <a href="a00171.html#8f05a60f9e1f7dc4e4af5dce6b987c8c">More...</a><br></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00137_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00137_source.html
--- 3.1-1.1/doc/html/Reference/a00137_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00137_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: dbtransaction.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00137_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">dbtransaction.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/dbtransaction.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::dbtransaction abstract base class.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   pqxx::dbransaction defines a real transaction on the database</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/dbtransaction instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2004-2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_DBTRANSACTION</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_DBTRANSACTION</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;pqxx/transaction_base&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">   30</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca4080e8f00464997c4345ddb2a15b3986">   32</a></span>&#160;  <a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca4080e8f00464997c4345ddb2a15b3986">read_only</a>,</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">   33</a></span>&#160;  <a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;};</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00073"></a><span class="lineno"><a class="code" href="a00032.html">   73</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT PQXX_NOVTABLE <a class="code" href="a00032.html">dbtransaction</a> : <span class="keyword">public</span> <a class="code" href="a00107.html">transaction_base</a></div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;{</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="a00032.html">dbtransaction</a>();</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="a00032.html">dbtransaction</a>(</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;,</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;IsolationString,</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>);</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00032.html">dbtransaction</a>(</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;,</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        <span class="keywordtype">bool</span> direct=<span class="keyword">true</span>,</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cc">readwrite_policy</a> rw=<a class="code" href="a00174.html#a1dc4688a8f01e6679b2afa93481836cca7fbb98c4665801b02d8cbeeb2dde0858">read_write</a>);</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordtype">void</span> start_backend_transaction();</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> do_begin();                                              <span class="comment">//[t1]</span></div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="a00084.html" title="Query or command result set.">result</a> do_exec(<span class="keyword">const</span> <span class="keywordtype">char</span> Query[]);</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> do_commit() =0;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> do_abort();                                              <span class="comment">//[t13]</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  <span class="keyword">static</span> PGSTD::string fullname(<span class="keyword">const</span> PGSTD::string &amp;ttype,</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;isolation);</div>
+<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  PGSTD::string m_StartCmd;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;};</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;} <span class="comment">// namespace pqxx</span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>dbtransaction.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00138.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00138.html
--- 3.1-1.1/doc/html/Reference/a00138.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00138.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: largeobject.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>largeobject.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;cerrno&gt;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;libpq-fe.h&quot;</code><br>
-<code>#include &quot;pqxx/largeobject&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-largeobject.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for largeobject.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00288.png" border="0" usemap="#largeobject.cxx_map" alt=""></center>
-<map name="largeobject.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00138.html#f8c9b2725d40e2c2f1a043ce19514692">INV_WRITE</a>&nbsp;&nbsp;&nbsp;0x00020000</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copied from libpq/libpq-fs.h so we don't need that header anymore.  <a href="#f8c9b2725d40e2c2f1a043ce19514692"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00138.html#f78d65b33ee1991d45212148b422bf25">INV_READ</a>&nbsp;&nbsp;&nbsp;0x00040000</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copied from libpq/libpq-fs.h so we don't need that header anymore.  <a href="#f78d65b33ee1991d45212148b422bf25"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="f78d65b33ee1991d45212148b422bf25"></a><!-- doxytag: member="largeobject.cxx::INV_READ" ref="f78d65b33ee1991d45212148b422bf25" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define INV_READ&nbsp;&nbsp;&nbsp;0x00040000          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Copied from libpq/libpq-fs.h so we don't need that header anymore. 
-<p>
-
-<p>Referenced by <a class="el" href="a00228.html#l00081">pqxx::largeobject::largeobject()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f8c9b2725d40e2c2f1a043ce19514692"></a><!-- doxytag: member="largeobject.cxx::INV_WRITE" ref="f8c9b2725d40e2c2f1a043ce19514692" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define INV_WRITE&nbsp;&nbsp;&nbsp;0x00020000          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Copied from libpq/libpq-fs.h so we don't need that header anymore. 
-<p>
-
-<p>Referenced by <a class="el" href="a00228.html#l00081">pqxx::largeobject::largeobject()</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00139.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00139.html
--- 3.1-1.1/doc/html/Reference/a00139.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00139.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: largeobject.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>largeobject.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;streambuf.h&gt;</code><br>
-<code>#include &quot;pqxx/dbtransaction&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for largeobject.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00289.png" border="0" usemap="#largeobject.hxx_map" alt=""></center>
-<map name="largeobject.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="908,84,1129,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00229.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">pqxx::largeobject</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Identity of a large object.  <a href="a00050.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">pqxx::largeobjectaccess</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessor for large object's contents.  <a href="a00052.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html">pqxx::largeobject_streambuf&lt; CHAR, TRAITS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Streambuf to use large objects in standard I/O streams.  <a href="a00051.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00005.html">pqxx::basic_ilostream&lt; CHAR, TRAITS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input stream that gets its data from a large object.  <a href="a00005.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00007.html">pqxx::basic_olostream&lt; CHAR, TRAITS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output stream that writes data back to a large object.  <a href="a00007.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00006.html">pqxx::basic_lostream&lt; CHAR, TRAITS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stream that reads and writes a large object.  <a href="a00006.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_ilostream&lt; char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#d07694cd816b68c7fc920a616daa8771">pqxx::ilostream</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_olostream&lt; char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#9a79c907a65843b9d4887ccbb44d5b1b">pqxx::olostream</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_lostream&lt; char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#368340378e939373681ad2e39781fc8b">pqxx::lostream</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00139_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00139_source.html
--- 3.1-1.1/doc/html/Reference/a00139_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00139_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,428 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: except.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00139_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">except.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/except.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of libpqxx exception classes</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   pqxx::sql_error, pqxx::broken_connection, pqxx::in_doubt_error, ...</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/except instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2003-2008, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_EXCEPT</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_EXCEPT</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;pqxx/util&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="a00077.html">   61</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT PQXX_NOVTABLE <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>() <span class="keywordflow">throw</span> () =0;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () =0;             <span class="comment">//[t0]</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;};</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
+<div class="line"><a name="l00095"></a><span class="lineno"><a class="code" href="a00039.html">   95</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a> :</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>, <span class="keyword">public</span> PGSTD::runtime_error</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;};</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="a00014.html">  123</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a> : <span class="keyword">public</span> <a class="code" href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a></div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;{</div>
+<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  <a class="code" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a>();</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;};</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
+<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="a00090.html">  133</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a> : <span class="keyword">public</span> <a class="code" href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a></div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;{</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  PGSTD::string m_Q;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>();</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(<span class="keyword">const</span> PGSTD::string &amp;, <span class="keyword">const</span> PGSTD::string &amp;Q);</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>() <span class="keywordflow">throw</span> ();</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keyword">const</span> PGSTD::string &amp;query() <span class="keyword">const</span> <span class="keywordflow">throw</span> ();                          <span class="comment">//[t56]</span></div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;};</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="comment">// TODO: should this be called statement_completion_unknown!?</span></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="a00047.html">  156</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;">in_doubt_error</a> : <span class="keyword">public</span> <a class="code" href="a00039.html" title="Run-time failure encountered by libpqxx, similar to std::runtime_error.">failure</a></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;{</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00047.html" title="&quot;Help, I don&#39;t know whether transaction was committed successfully!&quot;">in_doubt_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;};</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00164"></a><span class="lineno"><a class="code" href="a00051.html">  164</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00051.html" title="Internal error in libpqxx library.">internal_error</a> :</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>, <span class="keyword">public</span> PGSTD::logic_error</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;{</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00051.html" title="Internal error in libpqxx library.">internal_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;};</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
+<div class="line"><a name="l00174"></a><span class="lineno"><a class="code" href="a00116.html">  174</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00116.html" title="Error in usage of libpqxx library, similar to std::logic_error.">usage_error</a> :</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>, <span class="keyword">public</span> PGSTD::logic_error</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;{</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00116.html" title="Error in usage of libpqxx library, similar to std::logic_error.">usage_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;};</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
+<div class="line"><a name="l00184"></a><span class="lineno"><a class="code" href="a00004.html">  184</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00004.html" title="Invalid argument passed to libpqxx, similar to std::invalid_argument.">argument_error</a> :</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>, <span class="keyword">public</span> PGSTD::invalid_argument</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;{</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00004.html" title="Invalid argument passed to libpqxx, similar to std::invalid_argument.">argument_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;};</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
+<div class="line"><a name="l00193"></a><span class="lineno"><a class="code" href="a00029.html">  193</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00029.html">conversion_error</a> :</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>, <span class="keyword">public</span> PGSTD::domain_error</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;{</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00029.html">conversion_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;};</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;</div>
+<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="a00079.html">  203</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00079.html" title="Something is out of range, similar to std::out_of_range.">range_error</a> :</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00077.html" title="Mixin base class to identify libpqxx-specific exception types.">pqxx_exception</a>, <span class="keyword">public</span> PGSTD::out_of_range</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;{</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keyword">virtual</span> <span class="keyword">const</span> PGSTD::exception &amp;base() <span class="keyword">const</span> <span class="keywordflow">throw</span> () { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00079.html" title="Something is out of range, similar to std::out_of_range.">range_error</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;};</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="code" href="a00040.html">  213</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00040.html" title="Database feature not supported in current setup.">feature_not_supported</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;{</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00216"></a><span class="lineno"><a class="code" href="a00040.html#a499c62eac013b090a96ea3b402f48f0c">  216</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00040.html#a499c62eac013b090a96ea3b402f48f0c">feature_not_supported</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="code" href="a00040.html#a72654b9a8eff8c728eae1d5fae9a0890">  217</a></span>&#160;  <a class="code" href="a00040.html" title="Database feature not supported in current setup.">feature_not_supported</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;};</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="code" href="a00031.html">  222</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00031.html" title="Error in data provided to SQL statement.">data_exception</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;{</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="code" href="a00031.html#a0e28cd5da6e6cd6fba5ade32b353e51a">  225</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00031.html#a0e28cd5da6e6cd6fba5ade32b353e51a">data_exception</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="a00031.html#a987ace354d0497c66d468ce18dc48487">  226</a></span>&#160;  <a class="code" href="a00031.html" title="Error in data provided to SQL statement.">data_exception</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;};</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="code" href="a00050.html">  230</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00050.html">integrity_constraint_violation</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;{</div>
+<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="a00050.html#a9fa871a08c23b2722a42fa545cecd2ab">  233</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00050.html">integrity_constraint_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00235"></a><span class="lineno"><a class="code" href="a00050.html#a505ae8d71add1a4c19e69f5cf96cea9d">  235</a></span>&#160;  <a class="code" href="a00050.html">integrity_constraint_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err,</div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;};</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="code" href="a00083.html">  240</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00083.html">restrict_violation</a> :</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00050.html">integrity_constraint_violation</a></div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;{</div>
+<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00244"></a><span class="lineno"><a class="code" href="a00083.html#a595aad1240047206570109fb06936695">  244</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00083.html">restrict_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err) {}</div>
+<div class="line"><a name="l00246"></a><span class="lineno"><a class="code" href="a00083.html#a3c6a6fa4c970502389cded0863f83122">  246</a></span>&#160;  <a class="code" href="a00083.html">restrict_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err,</div>
+<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err, Q) {}</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;};</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div>
+<div class="line"><a name="l00251"></a><span class="lineno"><a class="code" href="a00064.html">  251</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00064.html">not_null_violation</a> :</div>
+<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00050.html">integrity_constraint_violation</a></div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;{</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="code" href="a00064.html#a43eceacf51e6bb47d6bb90517a574c2a">  255</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00064.html">not_null_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err) {}</div>
+<div class="line"><a name="l00257"></a><span class="lineno"><a class="code" href="a00064.html#a5372bb4e822109abf338516fa6b0733e">  257</a></span>&#160;  <a class="code" href="a00064.html">not_null_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err,</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err, Q) {}</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;};</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="a00043.html">  262</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00043.html">foreign_key_violation</a> :</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00050.html">integrity_constraint_violation</a></div>
+<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;{</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="code" href="a00043.html#a6e1d093886e976b8e028d94daba4c16e">  266</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00043.html">foreign_key_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err) {}</div>
+<div class="line"><a name="l00268"></a><span class="lineno"><a class="code" href="a00043.html#a63de30ac68704846bbe21c078d23be53">  268</a></span>&#160;  <a class="code" href="a00043.html">foreign_key_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err,</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err, Q) {}</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;};</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="a00115.html">  273</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00115.html">unique_violation</a> :</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00050.html">integrity_constraint_violation</a></div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;{</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00277"></a><span class="lineno"><a class="code" href="a00115.html#aadb2cddaf2f72188f118784495e60720">  277</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00115.html">unique_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err) {}</div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="a00115.html#a704dbc98b56d620ec131498b77578261">  279</a></span>&#160;  <a class="code" href="a00115.html">unique_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err,</div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err, Q) {}</div>
+<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;};</div>
+<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
+<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="a00018.html">  284</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00018.html">check_violation</a> :</div>
+<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="keyword">public</span> <a class="code" href="a00050.html">integrity_constraint_violation</a></div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;{</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="a00018.html#a2d18d99434781303ae1099876049d623">  288</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00018.html">check_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err) {}</div>
+<div class="line"><a name="l00290"></a><span class="lineno"><a class="code" href="a00018.html#a33fa66dcc36972c8afa2d17987fb391d">  290</a></span>&#160;  <a class="code" href="a00018.html">check_violation</a>(<span class="keyword">const</span> PGSTD::string &amp;err,</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        <a class="code" href="a00050.html">integrity_constraint_violation</a>(err, Q) {}</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;};</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div>
+<div class="line"><a name="l00295"></a><span class="lineno"><a class="code" href="a00053.html">  295</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00053.html">invalid_cursor_state</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;{</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00298"></a><span class="lineno"><a class="code" href="a00053.html#a39081c92939fa3cca69441719eae3415">  298</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00053.html#a39081c92939fa3cca69441719eae3415">invalid_cursor_state</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00299"></a><span class="lineno"><a class="code" href="a00053.html#a98b63bef3455bdde8a791fbb49ca97f0">  299</a></span>&#160;  <a class="code" href="a00053.html">invalid_cursor_state</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;};</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
+<div class="line"><a name="l00303"></a><span class="lineno"><a class="code" href="a00054.html">  303</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00054.html">invalid_sql_statement_name</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;{</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00306"></a><span class="lineno"><a class="code" href="a00054.html#a733530a1cdef5f0c73c57ff4d46b3ae3">  306</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00054.html">invalid_sql_statement_name</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00308"></a><span class="lineno"><a class="code" href="a00054.html#ab6cdfc77425f86d8f15af9726e079824">  308</a></span>&#160;  <a class="code" href="a00054.html">invalid_sql_statement_name</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;};</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
+<div class="line"><a name="l00312"></a><span class="lineno"><a class="code" href="a00052.html">  312</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00052.html">invalid_cursor_name</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;{</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00315"></a><span class="lineno"><a class="code" href="a00052.html#aaa48cdbce346a4c8e593a3dbe8d06fcd">  315</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00052.html#aaa48cdbce346a4c8e593a3dbe8d06fcd">invalid_cursor_name</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00316"></a><span class="lineno"><a class="code" href="a00052.html#aa73214eba77d9c6cd048ea04f3f20c28">  316</a></span>&#160;  <a class="code" href="a00052.html">invalid_cursor_name</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;};</div>
+<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="code" href="a00100.html">  320</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00100.html">syntax_error</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;{</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00323"></a><span class="lineno"><a class="code" href="a00100.html#a4f9f763f575081c79c255f7e6e0d852a">  323</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00100.html#a4f9f763f575081c79c255f7e6e0d852a">syntax_error</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00324"></a><span class="lineno"><a class="code" href="a00100.html#a35ecbf64c26b9c3d4798725cbc3f25b9">  324</a></span>&#160;  <a class="code" href="a00100.html">syntax_error</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;};</div>
+<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;</div>
+<div class="line"><a name="l00328"></a><span class="lineno"><a class="code" href="a00111.html">  328</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00111.html">undefined_column</a> : <span class="keyword">public</span> <a class="code" href="a00100.html">syntax_error</a></div>
+<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;{</div>
+<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00331"></a><span class="lineno"><a class="code" href="a00111.html#a2cef7f04b77370c1744fdefbd68cf254">  331</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00111.html#a2cef7f04b77370c1744fdefbd68cf254">undefined_column</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00100.html">syntax_error</a>(err) {}</div>
+<div class="line"><a name="l00332"></a><span class="lineno"><a class="code" href="a00111.html#a21df53ad96763c63ad6bc691848b68b5">  332</a></span>&#160;  <a class="code" href="a00111.html">undefined_column</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <a class="code" href="a00100.html">syntax_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;};</div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div>
+<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="a00112.html">  336</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00112.html">undefined_function</a> : <span class="keyword">public</span> <a class="code" href="a00100.html">syntax_error</a></div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;{</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00339"></a><span class="lineno"><a class="code" href="a00112.html#ad7beff0f4d7b7353da9e675e899bb350">  339</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00112.html#ad7beff0f4d7b7353da9e675e899bb350">undefined_function</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00100.html">syntax_error</a>(err) {}</div>
+<div class="line"><a name="l00340"></a><span class="lineno"><a class="code" href="a00112.html#af634ee86c8bbeffb1db85a10c611e99b">  340</a></span>&#160;  <a class="code" href="a00112.html">undefined_function</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <a class="code" href="a00100.html">syntax_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;};</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div>
+<div class="line"><a name="l00344"></a><span class="lineno"><a class="code" href="a00113.html">  344</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00113.html">undefined_table</a> : <span class="keyword">public</span> <a class="code" href="a00100.html">syntax_error</a></div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;{</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00347"></a><span class="lineno"><a class="code" href="a00113.html#a639bf511f48a2eb3715f857fd91f1bce">  347</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00113.html#a639bf511f48a2eb3715f857fd91f1bce">undefined_table</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00100.html">syntax_error</a>(err) {}</div>
+<div class="line"><a name="l00348"></a><span class="lineno"><a class="code" href="a00113.html#af1f3774f9f8b5cf656a9e6f442e2aea8">  348</a></span>&#160;  <a class="code" href="a00113.html">undefined_table</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <a class="code" href="a00100.html">syntax_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;};</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div>
+<div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="a00048.html">  352</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00048.html">insufficient_privilege</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;{</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00355"></a><span class="lineno"><a class="code" href="a00048.html#a5cce5dbd2519b461a7c8064528999097">  355</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00048.html#a5cce5dbd2519b461a7c8064528999097">insufficient_privilege</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00356"></a><span class="lineno"><a class="code" href="a00048.html#a288de88661b6c5094151d90975bb0531">  356</a></span>&#160;  <a class="code" href="a00048.html">insufficient_privilege</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;};</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno"><a class="code" href="a00049.html">  361</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;{</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00364"></a><span class="lineno"><a class="code" href="a00049.html#ab9c012d8591a9699677c8e3d2bfdf02a">  364</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00049.html#ab9c012d8591a9699677c8e3d2bfdf02a">insufficient_resources</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00365"></a><span class="lineno"><a class="code" href="a00049.html#af88552eb661d1bc459308d2ff8576840">  365</a></span>&#160;  <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err,Q) {}</div>
+<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;};</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div>
+<div class="line"><a name="l00369"></a><span class="lineno"><a class="code" href="a00037.html">  369</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00037.html">disk_full</a> : <span class="keyword">public</span> <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a></div>
+<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;{</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="a00037.html#ab76e2e34539d0dec43ab1479a4847a86">  372</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00037.html#ab76e2e34539d0dec43ab1479a4847a86">disk_full</a>(<span class="keyword">const</span> PGSTD::string &amp;err) : <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a>(err) {}</div>
+<div class="line"><a name="l00373"></a><span class="lineno"><a class="code" href="a00037.html#ad5b1a57e3e37bb6df5d7605f14e4c9be">  373</a></span>&#160;  <a class="code" href="a00037.html">disk_full</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a>(err,Q) {}</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;};</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div>
+<div class="line"><a name="l00377"></a><span class="lineno"><a class="code" href="a00068.html">  377</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00068.html">out_of_memory</a> : <span class="keyword">public</span> <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;{</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00380"></a><span class="lineno"><a class="code" href="a00068.html#ad9880e47615592429d5cb9e3fda467f3">  380</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00068.html">out_of_memory</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;        <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a>(err) {}</div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="a00068.html#a8e8d47b4cc8de8c9ebf4abcd39bee40b">  382</a></span>&#160;  <a class="code" href="a00068.html">out_of_memory</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <a class="code" href="a00049.html" title="Resource shortage on the server.">insufficient_resources</a>(err,Q) {}</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;};</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div>
+<div class="line"><a name="l00386"></a><span class="lineno"><a class="code" href="a00105.html">  386</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00105.html">too_many_connections</a> : <span class="keyword">public</span> <a class="code" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a></div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;{</div>
+<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="code" href="a00105.html#ad613a4a06c35fc29cdb838427250d727">  389</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00105.html">too_many_connections</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        <a class="code" href="a00014.html" title="Exception class for lost or failed backend connection.">broken_connection</a>(err) {}</div>
+<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;};</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div>
+<div class="line"><a name="l00396"></a><span class="lineno"><a class="code" href="a00072.html">  396</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a> : <span class="keyword">public</span> <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a></div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;{</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00399"></a><span class="lineno"><a class="code" href="a00072.html#abb0f0e6d4eaebe63d7409c244ffa9b06">  399</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err) {}</div>
+<div class="line"><a name="l00401"></a><span class="lineno"><a class="code" href="a00072.html#a346ab5182768a7a9b25c03e45890c601">  401</a></span>&#160;  <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <a class="code" href="a00090.html" title="Exception class for failed queries.">sql_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;};</div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div>
+<div class="line"><a name="l00406"></a><span class="lineno"><a class="code" href="a00074.html">  406</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00074.html" title="Exception raised in PL/pgSQL procedure.">plpgsql_raise</a> : <span class="keyword">public</span> <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a></div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;{</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00409"></a><span class="lineno"><a class="code" href="a00074.html#acb8177c2b8060623f46fadfb82c621f8">  409</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00074.html" title="Exception raised in PL/pgSQL procedure.">plpgsql_raise</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(err) {}</div>
+<div class="line"><a name="l00411"></a><span class="lineno"><a class="code" href="a00074.html#a7a51d15b2778ae1ec61f480482050690">  411</a></span>&#160;  <a class="code" href="a00074.html" title="Exception raised in PL/pgSQL procedure.">plpgsql_raise</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;};</div>
+<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div>
+<div class="line"><a name="l00415"></a><span class="lineno"><a class="code" href="a00073.html">  415</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00073.html">plpgsql_no_data_found</a> : <span class="keyword">public</span> <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;{</div>
+<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00418"></a><span class="lineno"><a class="code" href="a00073.html#ab6013cc52171417e60008c1efebd4257">  418</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00073.html">plpgsql_no_data_found</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(err) {}</div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="code" href="a00073.html#a97cfb947332b3e275e3437b5284de8ff">  420</a></span>&#160;  <a class="code" href="a00073.html">plpgsql_no_data_found</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;};</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;</div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="code" href="a00075.html">  424</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00075.html">plpgsql_too_many_rows</a> : <span class="keyword">public</span> <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a></div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;{</div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00427"></a><span class="lineno"><a class="code" href="a00075.html#a8b2c0fa01d76add8d15f1024562521fe">  427</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00075.html">plpgsql_too_many_rows</a>(<span class="keyword">const</span> PGSTD::string &amp;err) :</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(err) {}</div>
+<div class="line"><a name="l00429"></a><span class="lineno"><a class="code" href="a00075.html#a77fc4dece10e4aa3efffc7f4dcbeb81e">  429</a></span>&#160;  <a class="code" href="a00075.html">plpgsql_too_many_rows</a>(<span class="keyword">const</span> PGSTD::string &amp;err, <span class="keyword">const</span> PGSTD::string &amp;Q) :</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <a class="code" href="a00072.html" title="PL/pgSQL error.">plpgsql_error</a>(err, Q) {}</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;};</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;}</div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>except.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00140.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00140.html
--- 3.1-1.1/doc/html/Reference/a00140.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00140.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: libpq-forward.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>libpq-forward.hxx File Reference</h1>
-<p>
-<div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dynsection">
-<p><center><img src="a00290.png" border="0" usemap="#libpq-forward.hxxdep_map" alt=""></center>
-<map name="libpq-forward.hxxdep_map">
-<area shape="rect" href="a00130.html" title="connectionpolicy.hxx" alt="" coords="5,84,157,110"><area shape="rect" href="a00173.html" title="util.hxx" alt="" coords="181,84,248,110"></map>
-</div>
-
-<p>
-<a href="a00230.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html">pqxx::internal</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00188.html">pqxx::internal::pq</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef pg_conn&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00188.html#a7251e3df7b906603e5fcbfc5eab7e96">pqxx::internal::pq::PGconn</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef pg_result&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00188.html#ec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef pgNotify&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00188.html#a10dada34a84f2ba5e3a61b18a6a62a6">pqxx::internal::pq::PGnotify</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00188.html#5022064e73ebf3b79673d9d616a31b55">pqxx::internal::pq::PQnoticeProcessor</a> )(void *, const char *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#75d772887273790d3d96a4a62fd5f398">pqxx::oid</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PostgreSQL database row identifier.  <a href="#75d772887273790d3d96a4a62fd5f398"></a><br></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00140_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00140_source.html
--- 3.1-1.1/doc/html/Reference/a00140_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00140_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: isolation.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00140_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">isolation.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/isolation.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definitions of transaction isolation levels</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Policies and traits describing SQL transaction isolation levels</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/isolation instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2003-2013, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_ISOLATION</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_ISOLATION</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;pqxx/util&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8c">   60</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8c" title="Transaction isolation levels.">isolation_level</a></div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// read_uncommitted,</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">   63</a></span>&#160;  <a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a>,</div>
+<div class="line"><a name="l00064"></a><span class="lineno"><a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8caf572b93303ab779fc1b22a42b5ae6053">   64</a></span>&#160;  <a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8caf572b93303ab779fc1b22a42b5ae6053">repeatable_read</a>,</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8ca022ad2c1a5b247f6cc5790909e708569">   65</a></span>&#160;  <a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8ca022ad2c1a5b247f6cc5790909e708569">serializable</a></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;};</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="a00056.html">   69</a></span>&#160;<span class="keyword">template</span>&lt;isolation_level LEVEL&gt; <span class="keyword">struct </span><a class="code" href="a00056.html" title="Traits class to describe an isolation level; primarly for libpqxx&#39;s own use.">isolation_traits</a></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="a00056.html#a7257515292c662b6247844ddbbd5d37d">   71</a></span>&#160;  <span class="keyword">static</span> <a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8c" title="Transaction isolation levels.">isolation_level</a> <a class="code" href="a00056.html#a7257515292c662b6247844ddbbd5d37d">level</a>() throw () { <span class="keywordflow">return</span> LEVEL; }</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="a00056.html#aa70d28518dfd8e0021c76e50e19da150">name</a>() throw ();</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;};</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="a00056.html#aa614c41bb7460c52684cbcc058a96ec3">   76</a></span>&#160;template&lt;&gt; inline const <span class="keywordtype">char</span> *<a class="code" href="a00056.html" title="Traits class to describe an isolation level; primarly for libpqxx&#39;s own use.">isolation_traits</a>&lt;<a class="code" href="a00174.html#a8f05a60f9e1f7dc4e4af5dce6b987c8cabedeb7c33721ac28a9e35be36f214f2d">read_committed</a>&gt;::<a class="code" href="a00056.html#aa70d28518dfd8e0021c76e50e19da150">name</a>() throw ()</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        { <span class="keywordflow">return</span> <span class="stringliteral">&quot;READ COMMITTED&quot;</span>; }</div>
+<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="a00056.html#a5ea14e6598a2e7ac7b0ad7e1a9610873">   78</a></span>&#160;<span class="keyword">template</span>&lt;&gt; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="a00056.html#aa70d28518dfd8e0021c76e50e19da150">isolation_traits&lt;repeatable_read&gt;::name</a>() throw ()</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        { <span class="keywordflow">return</span> <span class="stringliteral">&quot;REPEATABLE READ&quot;</span>; }</div>
+<div class="line"><a name="l00080"></a><span class="lineno"><a class="code" href="a00056.html#ab448a03b23a8e86e12cb21f495d941fc">   80</a></span>&#160;<span class="keyword">template</span>&lt;&gt; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="a00056.html#aa70d28518dfd8e0021c76e50e19da150">isolation_traits&lt;serializable&gt;::name</a>() throw ()</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        { <span class="keywordflow">return</span> <span class="stringliteral">&quot;SERIALIZABLE&quot;</span>; }</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;}</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>isolation.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00141.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00141.html
--- 3.1-1.1/doc/html/Reference/a00141.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00141.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: nontransaction.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>nontransaction.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/nontransaction&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for nontransaction.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00291.png" border="0" usemap="#nontransaction.cxx_map" alt=""></center>
-<map name="nontransaction.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:43 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00142.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00142.html
--- 3.1-1.1/doc/html/Reference/a00142.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00142.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,55 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: nontransaction.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>nontransaction.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/connection_base&quot;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;pqxx/transaction_base&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for nontransaction.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00292.png" border="0" usemap="#nontransaction.hxx_map" alt=""></center>
-<map name="nontransaction.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="1108,84,1329,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00232.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">pqxx::nontransaction</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00142_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00142_source.html
--- 3.1-1.1/doc/html/Reference/a00142_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00142_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,594 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: largeobject.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00142_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">largeobject.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/largeobject.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      libpqxx&#39;s Large Objects interface</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Allows access to large objects directly, or through I/O streams</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/largeobject instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2003-2013, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_LARGEOBJECT</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_LARGEOBJECT</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;streambuf&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;streambuf.h&gt;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pqxx/dbtransaction&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">class </span>largeobjectaccess;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="a00058.html">   47</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;{</div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">   50</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a>;</div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>() throw ();                                               <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;  explicit <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T);                               <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="code" href="a00058.html#af8257cb8d3c162acc233ae0fe9cef218">   65</a></span>&#160;  explicit <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>(<a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> O) throw () : m_ID(O) {}                     <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T, <span class="keyword">const</span> PGSTD::string &amp;File);             <span class="comment">//[t53]</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>(<span class="keyword">const</span> <a class="code" href="a00060.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a> &amp;O) <span class="keywordflow">throw</span> ();                     <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="a00058.html#ad84747d2fa7a02950b790ea2c1808309">   86</a></span>&#160;  <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> <a class="code" href="a00058.html#ad84747d2fa7a02950b790ea2c1808309" title="Object identifier.">id</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_ID; }                              <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="a00058.html#ad70e9d5356545289573e63f6272a7e52">   98</a></span>&#160;  <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> &amp;other) <span class="keyword">const</span>                       <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;          { <span class="keywordflow">return</span> m_ID == other.m_ID; }</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="code" href="a00058.html#abea8ecd17b1ca3db757bb0b148c20295">  102</a></span>&#160;  <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> &amp;other) <span class="keyword">const</span>                       <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;          { <span class="keywordflow">return</span> m_ID != other.m_ID; }</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"><a class="code" href="a00058.html#a8467e3f29ce1f3748fd62737cfe63316">  106</a></span>&#160;  <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> &amp;other) <span class="keyword">const</span>                       <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;          { <span class="keywordflow">return</span> m_ID &lt;= other.m_ID; }</div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="code" href="a00058.html#a72405b8ff94fd3f44fe786f5001409a0">  110</a></span>&#160;  <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> &amp;other) <span class="keyword">const</span>                       <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;          { <span class="keywordflow">return</span> m_ID &gt;= other.m_ID; }</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="a00058.html#a41efa409c912f937c51e31dc812f7a2e">  114</a></span>&#160;  <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> &amp;other) <span class="keyword">const</span>                        <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;          { <span class="keywordflow">return</span> m_ID &lt; other.m_ID; }</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="a00058.html#aa7d92ad25a5d4584dc8ff34041103ef2">  118</a></span>&#160;  <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> &amp;other) <span class="keyword">const</span>                        <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;          { <span class="keywordflow">return</span> m_ID &gt; other.m_ID; }</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordtype">void</span> to_file(<a class="code" href="a00032.html">dbtransaction</a> &amp;T, <span class="keyword">const</span> PGSTD::string &amp;File) <span class="keyword">const</span>;      <span class="comment">//[t52]</span></div>
+<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <span class="keywordtype">void</span> <span class="keyword">remove</span>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T) <span class="keyword">const</span>;                                  <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keyword">static</span> <a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">internal::pq::PGconn</a> *RawConnection(<span class="keyword">const</span> <a class="code" href="a00032.html">dbtransaction</a> &amp;T);</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  PGSTD::string Reason(<span class="keywordtype">int</span> err) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> m_ID;</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;};</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">// TODO: New hierarchy with separate read / write / mixed-mode access</span></div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="a00060.html">  149</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00060.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a> : <span class="keyword">private</span> <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a></div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;{</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <span class="keyword">using</span> <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a>;</div>
+<div class="line"><a name="l00153"></a><span class="lineno"><a class="code" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">  153</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">off_type</a>;</div>
+<div class="line"><a name="l00154"></a><span class="lineno"><a class="code" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">  154</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a> <a class="code" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">pos_type</a>;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00161"></a><span class="lineno"><a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca">  161</a></span>&#160;  <span class="keyword">typedef</span> PGSTD::ios::openmode <a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca" title="Open mode: in, out (can be combined with the &quot;or&quot; operator)">openmode</a>;</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
+<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b">  168</a></span>&#160;  <span class="keyword">typedef</span> PGSTD::ios::seekdir <a class="code" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b" title="Seek direction: beg, cur, end.">seekdir</a>;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00060.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                             <a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca" title="Open mode: in, out (can be combined with the &quot;or&quot; operator)">openmode</a> mode =</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                                PGSTD::ios::in |</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                                PGSTD::ios::out);                       <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <a class="code" href="a00060.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                    <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> O,</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                    <a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca" title="Open mode: in, out (can be combined with the &quot;or&quot; operator)">openmode</a> mode =</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                        PGSTD::ios::in |</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                        PGSTD::ios::out);                               <span class="comment">//[t52]</span></div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <a class="code" href="a00060.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;                    <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> O,</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;                    <a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca" title="Open mode: in, out (can be combined with the &quot;or&quot; operator)">openmode</a> mode = PGSTD::ios::in | PGSTD::ios::out);  <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <a class="code" href="a00060.html" title="Accessor for large object&#39;s contents.">largeobjectaccess</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                    <span class="keyword">const</span> PGSTD::string &amp;File,</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                    <a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca" title="Open mode: in, out (can be combined with the &quot;or&quot; operator)">openmode</a> mode =</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;                        PGSTD::ios::in | PGSTD::ios::out);              <span class="comment">//[t55]</span></div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="a00060.html#ac984b12f6980c477bfd3d895576635a6">  214</a></span>&#160;  <a class="code" href="a00060.html#ac984b12f6980c477bfd3d895576635a6">~largeobjectaccess</a>() throw () { close(); }</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="keyword">using</span> <a class="code" href="a00058.html#ad84747d2fa7a02950b790ea2c1808309" title="Object identifier.">largeobject::id</a>;</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
+<div class="line"><a name="l00226"></a><span class="lineno"><a class="code" href="a00060.html#a4adb675b5aed487e66d986fde3d54b4c">  226</a></span>&#160;  <span class="keywordtype">void</span> to_file(<span class="keyword">const</span> PGSTD::string &amp;File) <span class="keyword">const</span>                         <span class="comment">//[t54]</span></div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        { <a class="code" href="a00058.html#ad97df88e75558320c89ea4f39c35afe2" title="Export large object&#39;s contents to a local file.">largeobject::to_file</a>(m_Trans, File); }</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;<span class="preprocessor">#ifdef PQXX_BROKEN_USING_DECL</span></div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div>
+<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="keywordtype">void</span> to_file(<a class="code" href="a00032.html">dbtransaction</a> &amp;T, <span class="keyword">const</span> PGSTD::string &amp;F)<span class="keyword"> const</span></div>
+<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;<span class="keyword">        </span>{ <a class="code" href="a00058.html#ad97df88e75558320c89ea4f39c35afe2" title="Export large object&#39;s contents to a local file.">largeobject::to_file</a>(T, F); }</div>
+<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor"></span>  <span class="keyword">using</span> <a class="code" href="a00058.html#ad97df88e75558320c89ea4f39c35afe2" title="Export large object&#39;s contents to a local file.">largeobject::to_file</a>;</div>
+<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
+<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="keywordtype">void</span> write(<span class="keyword">const</span> <span class="keywordtype">char</span> Buf[], size_type Len);                          <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
+<div class="line"><a name="l00256"></a><span class="lineno"><a class="code" href="a00060.html#aaaad87ca613bccb90e5a8c61a45d83ef">  256</a></span>&#160;  <span class="keywordtype">void</span> write(<span class="keyword">const</span> PGSTD::string &amp;Buf)                                  <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        { <a class="code" href="a00060.html#aaaad87ca613bccb90e5a8c61a45d83ef" title="Write string to large object.">write</a>(Buf.c_str(), <span class="keyword">static_cast&lt;</span><a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">size_type</a><span class="keyword">&gt;</span>(Buf.size())); }</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
+<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  size_type read(<span class="keywordtype">char</span> Buf[], size_type Len);                            <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  size_type seek(size_type dest, seekdir dir);                          <span class="comment">//[t51]</span></div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div>
+<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;  size_type tell() <span class="keyword">const</span>;                                               <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
+<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  pos_type cseek(off_type dest, seekdir dir) <span class="keywordflow">throw</span> ();                  <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  off_type cwrite(<span class="keyword">const</span> <span class="keywordtype">char</span> Buf[], size_type Len) <span class="keywordflow">throw</span> ();            <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
+<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;  off_type cread(<span class="keywordtype">char</span> Buf[], size_type Len) <span class="keywordflow">throw</span> ();                   <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
+<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;  pos_type ctell() <span class="keyword">const</span> throw ();                                      <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;</div>
+<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <span class="keywordtype">void</span> process_notice(const PGSTD::<span class="keywordtype">string</span> &amp;) throw ();                  <span class="comment">//[t50]</span></div>
+<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::remove;</div>
+<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div>
+<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::operator==;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::operator!=;</div>
+<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::operator&lt;;</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::operator&lt;=;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::operator&gt;;</div>
+<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;  using <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a>::operator&gt;=;</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div>
+<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;private:</div>
+<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  PGSTD::<span class="keywordtype">string</span> PQXX_PRIVATE Reason(<span class="keywordtype">int</span> err) const;</div>
+<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;  internal::pq::PGconn *RawConnection()<span class="keyword"> const</span></div>
+<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keyword">        </span>{ <span class="keywordflow">return</span> <a class="code" href="a00058.html#a0357da0b565480de02030bf018a99e5a">largeobject::RawConnection</a>(m_Trans); }</div>
+<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;  <span class="keywordtype">void</span> open(openmode mode);</div>
+<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;  <span class="keywordtype">void</span> close() throw ();</div>
+<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div>
+<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;  dbtransaction &amp;m_Trans;</div>
+<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;  <span class="keywordtype">int</span> m_fd;</div>
+<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
+<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  <span class="comment">// Not allowed:</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  largeobjectaccess();</div>
+<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;  largeobjectaccess(const largeobjectaccess &amp;);</div>
+<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  largeobjectaccess operator=(const largeobjectaccess &amp;);</div>
+<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;};</div>
+<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;</div>
+<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;</div>
+<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;</div>
+<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;template&lt;typename CHAR=<span class="keywordtype">char</span>, typename TRAITS=PGSTD::char_traits&lt;CHAR&gt; &gt;</div>
+<div class="line"><a name="l00372"></a><span class="lineno"><a class="code" href="a00059.html">  372</a></span>&#160;  class <a class="code" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf</a> :</div>
+<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::basic_streambuf&lt;CHAR, TRAITS&gt;</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::streambuf</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;<span class="preprocessor"></span>{</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> size_type;</div>
+<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00381"></a><span class="lineno"><a class="code" href="a00059.html#ad2ab29818af1ce91be638affa38398e6">  381</a></span>&#160;  <span class="keyword">typedef</span> CHAR   <a class="code" href="a00059.html#ad2ab29818af1ce91be638affa38398e6">char_type</a>;</div>
+<div class="line"><a name="l00382"></a><span class="lineno"><a class="code" href="a00059.html#a34194e8889862f6d05617de316caa69a">  382</a></span>&#160;  <span class="keyword">typedef</span> TRAITS <a class="code" href="a00059.html#a34194e8889862f6d05617de316caa69a">traits_type</a>;</div>
+<div class="line"><a name="l00383"></a><span class="lineno"><a class="code" href="a00059.html#abef9904baeab33e0a03b595c06993a46">  383</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::int_type <a class="code" href="a00059.html#abef9904baeab33e0a03b595c06993a46">int_type</a>;</div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::pos_type <a class="code" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a>;</div>
+<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::off_type <a class="code" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">off_type</a>;</div>
+<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">  388</a></span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> streamoff <a class="code" href="a00059.html#a8bde7bf4689040a1b2176547d0e422a8">off_type</a>;</div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="code" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">  389</a></span>&#160;  <span class="keyword">typedef</span> streampos <a class="code" href="a00059.html#ab6ebcd93944dd5daf158fe4f278273f9">pos_type</a>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="code" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">  391</a></span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> <a class="code" href="a00060.html#a56b79eb0d4019b7bfd63a914a530f2ca" title="Open mode: in, out (can be combined with the &quot;or&quot; operator)">largeobjectaccess::openmode</a> <a class="code" href="a00059.html#aa5e6a54ca2e756775d0fd025a5d804c3">openmode</a>;</div>
+<div class="line"><a name="l00392"></a><span class="lineno"><a class="code" href="a00059.html#a21db56eb011dadccf79d3a7b4b930162">  392</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00060.html#adaa7a89a1902ba3f13be9c7ed6c1fa0b" title="Seek direction: beg, cur, end.">largeobjectaccess::seekdir</a> <a class="code" href="a00059.html#a21db56eb011dadccf79d3a7b4b930162">seekdir</a>;</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div>
+<div class="line"><a name="l00394"></a><span class="lineno"><a class="code" href="a00059.html#a861824ef8ee2abff9c36e9f01282752f">  394</a></span>&#160;  <a class="code" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;                        <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> O,</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                        openmode mode = PGSTD::ios::in | PGSTD::ios::out,</div>
+<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;                        size_type BufSize=512) :                        <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    m_BufSize(BufSize),</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    m_Obj(T, O),</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    m_G(0),</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    m_P(0)</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        { initialize(mode); }</div>
+<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
+<div class="line"><a name="l00404"></a><span class="lineno"><a class="code" href="a00059.html#a88bd4f870abd57d1ceeac65295e3138b">  404</a></span>&#160;  <a class="code" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;                        <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> O,</div>
+<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                        openmode mode = PGSTD::ios::in | PGSTD::ios::out,</div>
+<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                        size_type BufSize=512) :                        <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    m_BufSize(BufSize),</div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    m_Obj(T, O),</div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    m_G(0),</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    m_P(0)</div>
+<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        { initialize(mode); }</div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div>
+<div class="line"><a name="l00414"></a><span class="lineno"><a class="code" href="a00059.html#ae2f637254f3e65276bdcf3ddc17fad73">  414</a></span>&#160;  <span class="keyword">virtual</span> <a class="code" href="a00059.html#ae2f637254f3e65276bdcf3ddc17fad73">~largeobject_streambuf</a>() throw () { <span class="keyword">delete</span> [] m_P; <span class="keyword">delete</span> [] m_G; }</div>
+<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;</div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;</div>
+<div class="line"><a name="l00418"></a><span class="lineno"><a class="code" href="a00059.html#a553f2541bf0ecd55111057ff6de98252">  418</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="a00059.html#a553f2541bf0ecd55111057ff6de98252" title="For use by large object stream classes.">process_notice</a>(<span class="keyword">const</span> PGSTD::string &amp;s) { m_Obj.process_notice(s); }</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div>
+<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;<span class="preprocessor"></span><span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00423"></a><span class="lineno"><a class="code" href="a00059.html#a1f2be3c1026e59be027445a60b46a416">  423</a></span>&#160;<span class="preprocessor"></span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> sync()</div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;  {</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <span class="comment">// setg() sets eback, gptr, egptr</span></div>
+<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    this-&gt;setg(this-&gt;eback(), this-&gt;eback(), this-&gt;egptr());</div>
+<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordflow">return</span> overflow(EoF());</div>
+<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;  }</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00431"></a><span class="lineno"><a class="code" href="a00059.html#a55637c6a2fe0266ebbea046d0fda8276">  431</a></span>&#160;  <span class="keyword">virtual</span> pos_type seekoff(off_type offset,</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;                           seekdir dir,</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;                           openmode)</div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;  {</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <span class="keywordflow">return</span> AdjustEOF(m_Obj.cseek(<a class="code" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">largeobjectaccess::off_type</a>(offset), dir));</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;  }</div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div>
+<div class="line"><a name="l00438"></a><span class="lineno"><a class="code" href="a00059.html#a0e8942a1a6e76067bf4c2a07320550ab">  438</a></span>&#160;  <span class="keyword">virtual</span> pos_type seekpos(pos_type pos, openmode)</div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  {</div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keyword">const</span> <a class="code" href="a00060.html#aea8ca1d1275b9a68f8b991ef253e9067">largeobjectaccess::pos_type</a> newpos = m_Obj.cseek(</div>
+<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        <a class="code" href="a00060.html#acb1cfe19cef8d7b46ecddaa5f2231e9a">largeobjectaccess::off_type</a>(pos),</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        PGSTD::ios::beg);</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordflow">return</span> AdjustEOF(newpos);</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  }</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div>
+<div class="line"><a name="l00446"></a><span class="lineno"><a class="code" href="a00059.html#a4f43f50130c87e488d0d754816815db0">  446</a></span>&#160;  <span class="keyword">virtual</span> int_type overflow(int_type ch = EoF())</div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;  {</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    <span class="keywordtype">char</span> *<span class="keyword">const</span> pp = this-&gt;pptr();</div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <span class="keywordflow">if</span> (!pp) <span class="keywordflow">return</span> EoF();</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    <span class="keywordtype">char</span> *<span class="keyword">const</span> pb = this-&gt;pbase();</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    int_type res = 0;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;    <span class="keywordflow">if</span> (pp &gt; pb) res = int_type(AdjustEOF(m_Obj.cwrite(pb, pp-pb)));</div>
+<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    this-&gt;setp(m_P, m_P + m_BufSize);</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div>
+<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="comment">// Write that one more character, if it&#39;s there.</span></div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="keywordflow">if</span> (ch != EoF())</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    {</div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;      *this-&gt;pptr() = char(ch);</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;      this-&gt;pbump(1);</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    }</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <span class="keywordflow">return</span> res;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  }</div>
+<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
+<div class="line"><a name="l00465"></a><span class="lineno"><a class="code" href="a00059.html#ad2e5df2bff74fcc60e7d68a083426189">  465</a></span>&#160;  <span class="keyword">virtual</span> int_type underflow()</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  {</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <span class="keywordflow">if</span> (!this-&gt;gptr()) <span class="keywordflow">return</span> EoF();</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <span class="keywordtype">char</span> *<span class="keyword">const</span> eb = this-&gt;eback();</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keyword">const</span> int_type res(static_cast&lt;int_type&gt;(</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        AdjustEOF(m_Obj.cread(this-&gt;eback(), m_BufSize))));</div>
+<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    this-&gt;setg(eb, eb, eb + ((res==EoF()) ? 0 : res));</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="keywordflow">return</span> (!res || (res == EoF())) ? EoF() : *eb;</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  }</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <span class="keyword">static</span> int_type EoF() { <span class="keywordflow">return</span> traits_type::eof(); }</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> INTYPE&gt;</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  <span class="keyword">static</span> PGSTD::streampos AdjustEOF(INTYPE pos)</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        { <span class="keywordflow">return</span> (pos==-1) ? PGSTD::streampos(EoF()) : PGSTD::streampos(pos); }</div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  <span class="keywordtype">void</span> initialize(openmode mode)</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  {</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;    <span class="keywordflow">if</span> (mode &amp; PGSTD::ios::in)</div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    {</div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;      m_G = <span class="keyword">new</span> char_type[m_BufSize];</div>
+<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;      this-&gt;setg(m_G, m_G, m_G);</div>
+<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    }</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keywordflow">if</span> (mode &amp; PGSTD::ios::out)</div>
+<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    {</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;      m_P = <span class="keyword">new</span> char_type[m_BufSize];</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;      this-&gt;setp(m_P, m_P + m_BufSize);</div>
+<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    }</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;  }</div>
+<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;</div>
+<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;  <span class="keyword">const</span> size_type m_BufSize;</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;  largeobjectaccess m_Obj;</div>
+<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;</div>
+<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;  <span class="comment">// Get &amp; put buffers</span></div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;  char_type *m_G, *m_P;</div>
+<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;};</div>
+<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div>
+<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div>
+<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> CHAR=<span class="keywordtype">char</span>, <span class="keyword">typename</span> TRAITS=PGSTD::<span class="keywordtype">char</span>_traits&lt;CHAR&gt; &gt;</div>
+<div class="line"><a name="l00516"></a><span class="lineno"><a class="code" href="a00008.html">  516</a></span>&#160;  <span class="keyword">class </span><a class="code" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a> :</div>
+<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::basic_istream&lt;CHAR, TRAITS&gt;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::istream</div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor"></span>{</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::basic_istream&lt;CHAR, TRAITS&gt; super;</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::istream super;</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00530"></a><span class="lineno"><a class="code" href="a00008.html#ad94ea6936b6a5ee2983bdcbacdf364a9">  530</a></span>&#160;  <span class="keyword">typedef</span> CHAR <a class="code" href="a00008.html#ad94ea6936b6a5ee2983bdcbacdf364a9">char_type</a>;</div>
+<div class="line"><a name="l00531"></a><span class="lineno"><a class="code" href="a00008.html#af70c033d70d77ee3e4942112ad9e54c2">  531</a></span>&#160;  <span class="keyword">typedef</span> TRAITS <a class="code" href="a00008.html#af70c033d70d77ee3e4942112ad9e54c2">traits_type</a>;</div>
+<div class="line"><a name="l00532"></a><span class="lineno"><a class="code" href="a00008.html#a1cffaceb7db5daf482bcb7f73aeaa0b0">  532</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::int_type <a class="code" href="a00008.html#a1cffaceb7db5daf482bcb7f73aeaa0b0">int_type</a>;</div>
+<div class="line"><a name="l00533"></a><span class="lineno"><a class="code" href="a00008.html#a9b47ff8b4b3863983169e64b69cee6fa">  533</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::pos_type <a class="code" href="a00008.html#a9b47ff8b4b3863983169e64b69cee6fa">pos_type</a>;</div>
+<div class="line"><a name="l00534"></a><span class="lineno"><a class="code" href="a00008.html#a8ef4183e4700b8859a1f0950e6dff8ee">  534</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::off_type <a class="code" href="a00008.html#a8ef4183e4700b8859a1f0950e6dff8ee">off_type</a>;</div>
+<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div>
+<div class="line"><a name="l00542"></a><span class="lineno"><a class="code" href="a00008.html#a53f0bc4d9eed45617ae14bf553efa429">  542</a></span>&#160;  <a class="code" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;                  <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> O,</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;                  <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512) :                 <span class="comment">//[t57]</span></div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    super(0),</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    m_Buf(T, O, PGSTD::ios::in, BufSize)</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        { super::init(&amp;m_Buf); }</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;</div>
+<div class="line"><a name="l00555"></a><span class="lineno"><a class="code" href="a00008.html#af46e0f2cfe62a5c75b431e56065ad883">  555</a></span>&#160;  <a class="code" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;                  <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> O,</div>
+<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;                  <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512) :                 <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    super(0),</div>
+<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    m_Buf(T, O, PGSTD::ios::in, BufSize)</div>
+<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        { super::init(&amp;m_Buf); }</div>
+<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;</div>
+<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;  <a class="code" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf&lt;CHAR,TRAITS&gt;</a> m_Buf;</div>
+<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;};</div>
+<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div>
+<div class="line"><a name="l00566"></a><span class="lineno"><a class="code" href="a00174.html#ad07694cd816b68c7fc920a616daa8771">  566</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00008.html" title="Input stream that gets its data from a large object.">basic_ilostream&lt;char&gt;</a> <a class="code" href="a00174.html#ad07694cd816b68c7fc920a616daa8771">ilostream</a>;</div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;</div>
+<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;</div>
+<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> CHAR=<span class="keywordtype">char</span>, <span class="keyword">typename</span> TRAITS=PGSTD::<span class="keywordtype">char</span>_traits&lt;CHAR&gt; &gt;</div>
+<div class="line"><a name="l00579"></a><span class="lineno"><a class="code" href="a00010.html">  579</a></span>&#160;  <span class="keyword">class </span><a class="code" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a> :</div>
+<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::basic_ostream&lt;CHAR, TRAITS&gt;</div>
+<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::ostream</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;<span class="preprocessor"></span>{</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::basic_ostream&lt;CHAR, TRAITS&gt; super;</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::ostream super;</div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;<span class="preprocessor"></span><span class="keyword">public</span>:</div>
+<div class="line"><a name="l00592"></a><span class="lineno"><a class="code" href="a00010.html#a5c09652a33d59854940ef5ad36522bef">  592</a></span>&#160;  <span class="keyword">typedef</span> CHAR <a class="code" href="a00010.html#a5c09652a33d59854940ef5ad36522bef">char_type</a>;</div>
+<div class="line"><a name="l00593"></a><span class="lineno"><a class="code" href="a00010.html#afa10568556220285b8f77e6bc6a65c63">  593</a></span>&#160;  <span class="keyword">typedef</span> TRAITS <a class="code" href="a00010.html#afa10568556220285b8f77e6bc6a65c63">traits_type</a>;</div>
+<div class="line"><a name="l00594"></a><span class="lineno"><a class="code" href="a00010.html#a0e9bac94644a39ea5465d9b7aeba62dd">  594</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::int_type <a class="code" href="a00010.html#a0e9bac94644a39ea5465d9b7aeba62dd">int_type</a>;</div>
+<div class="line"><a name="l00595"></a><span class="lineno"><a class="code" href="a00010.html#a472b319febd6757f32a06541ecb5fd99">  595</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::pos_type <a class="code" href="a00010.html#a472b319febd6757f32a06541ecb5fd99">pos_type</a>;</div>
+<div class="line"><a name="l00596"></a><span class="lineno"><a class="code" href="a00010.html#acd6a237e073930d1c9b52de0c4cc9ba7">  596</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::off_type <a class="code" href="a00010.html#acd6a237e073930d1c9b52de0c4cc9ba7">off_type</a>;</div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;</div>
+<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;</div>
+<div class="line"><a name="l00604"></a><span class="lineno"><a class="code" href="a00010.html#a627ef8d2f00596a80104f81bac097f61">  604</a></span>&#160;  <a class="code" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                  <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> O,</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;                  <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512) :                 <span class="comment">//[t48]</span></div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    super(0),</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    m_Buf(T, O, PGSTD::ios::out, BufSize)</div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;        { super::init(&amp;m_Buf); }</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div>
+<div class="line"><a name="l00617"></a><span class="lineno"><a class="code" href="a00010.html#af5a32597bd7cf509cb8593daf9e5f0f1">  617</a></span>&#160;  <a class="code" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;                  <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> O,</div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;                  <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512) :                 <span class="comment">//[t57]</span></div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    super(0),</div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    m_Buf(T, O, PGSTD::ios::out, BufSize)</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;        { super::init(&amp;m_Buf); }</div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div>
+<div class="line"><a name="l00624"></a><span class="lineno"><a class="code" href="a00010.html#a514945ec9aeaa6bdd455f21ccd9d3876">  624</a></span>&#160;  ~<a class="code" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream</a>()</div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;  {</div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;    {</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="preprocessor"></span>      m_Buf.pubsync(); m_Buf.pubsync();</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;<span class="preprocessor"></span>      m_Buf.sync(); m_Buf.sync();</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;<span class="preprocessor"></span>    }</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <span class="keywordflow">catch</span> (<span class="keyword">const</span> PGSTD::exception &amp;e)</div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;    {</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;      m_Buf.process_notice(e.what());</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    }</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;  }</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;  <a class="code" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf&lt;CHAR,TRAITS&gt;</a> m_Buf;</div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;};</div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;</div>
+<div class="line"><a name="l00644"></a><span class="lineno"><a class="code" href="a00174.html#a9a79c907a65843b9d4887ccbb44d5b1b">  644</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00010.html" title="Output stream that writes data back to a large object.">basic_olostream&lt;char&gt;</a> <a class="code" href="a00174.html#a9a79c907a65843b9d4887ccbb44d5b1b">olostream</a>;</div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;</div>
+<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div>
+<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;</div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> CHAR=<span class="keywordtype">char</span>, <span class="keyword">typename</span> TRAITS=PGSTD::<span class="keywordtype">char</span>_traits&lt;CHAR&gt; &gt;</div>
+<div class="line"><a name="l00657"></a><span class="lineno"><a class="code" href="a00009.html">  657</a></span>&#160;  <span class="keyword">class </span><a class="code" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a> :</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::basic_iostream&lt;CHAR, TRAITS&gt;</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="preprocessor"></span>    <span class="keyword">public</span> PGSTD::iostream</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="preprocessor"></span>{</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::basic_iostream&lt;CHAR, TRAITS&gt; super;</div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="preprocessor"></span>  <span class="keyword">typedef</span> PGSTD::iostream super;</div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00671"></a><span class="lineno"><a class="code" href="a00009.html#a6defd7dc017956dcda572ff9d54b394d">  671</a></span>&#160;  <span class="keyword">typedef</span> CHAR <a class="code" href="a00009.html#a6defd7dc017956dcda572ff9d54b394d">char_type</a>;</div>
+<div class="line"><a name="l00672"></a><span class="lineno"><a class="code" href="a00009.html#ac41b5c92c32c7d99a86e887d8fc9f33e">  672</a></span>&#160;  <span class="keyword">typedef</span> TRAITS <a class="code" href="a00009.html#ac41b5c92c32c7d99a86e887d8fc9f33e">traits_type</a>;</div>
+<div class="line"><a name="l00673"></a><span class="lineno"><a class="code" href="a00009.html#a7d45a1d6dc270b8a793a5e3cde0fb2c3">  673</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::int_type <a class="code" href="a00009.html#a7d45a1d6dc270b8a793a5e3cde0fb2c3">int_type</a>;</div>
+<div class="line"><a name="l00674"></a><span class="lineno"><a class="code" href="a00009.html#a411cd2fbec4a9f5bfa07030d8a77b482">  674</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::pos_type <a class="code" href="a00009.html#a411cd2fbec4a9f5bfa07030d8a77b482">pos_type</a>;</div>
+<div class="line"><a name="l00675"></a><span class="lineno"><a class="code" href="a00009.html#a94b75418ccf0801a3f7fd62d3f0897d7">  675</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> traits_type::off_type <a class="code" href="a00009.html#a94b75418ccf0801a3f7fd62d3f0897d7">off_type</a>;</div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;</div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;</div>
+<div class="line"><a name="l00683"></a><span class="lineno"><a class="code" href="a00009.html#a82775c94f45b87a6b9e082900d2d9d2b">  683</a></span>&#160;  <a class="code" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;                 <a class="code" href="a00058.html" title="Identity of a large object.">largeobject</a> O,</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;                 <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512) :                  <span class="comment">//[t59]</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    super(0),</div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    m_Buf(T, O, PGSTD::ios::in | PGSTD::ios::out, BufSize)</div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;        { super::init(&amp;m_Buf); }</div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;</div>
+<div class="line"><a name="l00696"></a><span class="lineno"><a class="code" href="a00009.html#a60e982e6fba23c8067404af0a4f5d05a">  696</a></span>&#160;  <a class="code" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>(<a class="code" href="a00032.html">dbtransaction</a> &amp;T,</div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;                 <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a> O,</div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;                 <a class="code" href="a00058.html#a546f724f294272c84c85ab4b4b415419">largeobject::size_type</a> BufSize=512) :                  <span class="comment">//[t59]</span></div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    super(0),</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    m_Buf(T, O, PGSTD::ios::in | PGSTD::ios::out, BufSize)</div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        { super::init(&amp;m_Buf); }</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;</div>
+<div class="line"><a name="l00703"></a><span class="lineno"><a class="code" href="a00009.html#a57d98a1321d8f5d00027810bb811025c">  703</a></span>&#160;  ~<a class="code" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream</a>()</div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  {</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keywordflow">try</span></div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    {</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_STREAMBUF</span></div>
+<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;<span class="preprocessor"></span>      m_Buf.pubsync(); m_Buf.pubsync();</div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="preprocessor"></span>      m_Buf.sync(); m_Buf.sync();</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;<span class="preprocessor"></span>    }</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="keywordflow">catch</span> (<span class="keyword">const</span> PGSTD::exception &amp;e)</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    {</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;      m_Buf.process_notice(e.what());</div>
+<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    }</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;  }</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;</div>
+<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;  <a class="code" href="a00059.html" title="Streambuf to use large objects in standard I/O streams.">largeobject_streambuf&lt;CHAR,TRAITS&gt;</a> m_Buf;</div>
+<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;};</div>
+<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;</div>
+<div class="line"><a name="l00723"></a><span class="lineno"><a class="code" href="a00174.html#a368340378e939373681ad2e39781fc8b">  723</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="a00009.html" title="Stream that reads and writes a large object.">basic_lostream&lt;char&gt;</a> <a class="code" href="a00174.html#a368340378e939373681ad2e39781fc8b">lostream</a>;</div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;} <span class="comment">// namespace pqxx</span></div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;</div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>largeobject.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00143.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00143.html
--- 3.1-1.1/doc/html/Reference/a00143.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00143.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: notify-listen.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>notify-listen.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;pqxx/notify-listen&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-notify-listener.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for notify-listen.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00293.png" border="0" usemap="#notify-listen.cxx_map" alt=""></center>
-<map name="notify-listen.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00143_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00143_source.html
--- 3.1-1.1/doc/html/Reference/a00143_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00143_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: libpq-forward.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00143_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">libpq-forward.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/libpq-forward.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      Minimal forward declarations of libpq types needed in libpqxx headers</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *      DO NOT INCLUDE THIS FILE when building client programs.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Copyright (c) 2005, 2006, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;{</div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">struct </span>pg_conn;</div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">struct </span>pg_result;</div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">struct </span>pgNotify;</div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
+<div class="line"><a name="l00030"></a><span class="lineno"><a class="code" href="a00191.html">   30</a></span>&#160;<span class="keyword">namespace </span>pq</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;{</div>
+<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">   32</a></span>&#160;<span class="keyword">typedef</span> pg_conn <a class="code" href="a00191.html#aa7251e3df7b906603e5fcbfc5eab7e96">PGconn</a>;</div>
+<div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="a00191.html#aec5eba614488069860669d19ca92cab6">   33</a></span>&#160;<span class="keyword">typedef</span> pg_result <a class="code" href="a00191.html#aec5eba614488069860669d19ca92cab6">PGresult</a>;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="a00191.html#aa10dada34a84f2ba5e3a61b18a6a62a6">   34</a></span>&#160;<span class="keyword">typedef</span> pgNotify <a class="code" href="a00191.html#aa10dada34a84f2ba5e3a61b18a6a62a6">PGnotify</a>;</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="code" href="a00191.html#a5022064e73ebf3b79673d9d616a31b55">   35</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="a00191.html#a5022064e73ebf3b79673d9d616a31b55">PQnoticeProcessor</a>)(<span class="keywordtype">void</span> *, <span class="keyword">const</span> <span class="keywordtype">char</span> *);</div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;}</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;}</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398">   40</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="a00174.html#a75d772887273790d3d96a4a62fd5f398" title="PostgreSQL database row identifier.">oid</a>;</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>libpq-forward.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00144.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00144.html
--- 3.1-1.1/doc/html/Reference/a00144.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00144.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: notify-listen.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>notify-listen.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/connection_base&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for notify-listen.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00294.png" border="0" usemap="#notify-listen.hxx_map" alt=""></center>
-<map name="notify-listen.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="804,84,1025,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00234.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00058.html">pqxx::notify_listener</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00145.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00145.html
--- 3.1-1.1/doc/html/Reference/a00145.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00145.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: performance.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>performance.hxx File Reference</h1>
-<p>
-<a href="a00235.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00145_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00145_source.html
--- 3.1-1.1/doc/html/Reference/a00145_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00145_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: nontransaction.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00145_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">nontransaction.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/nontransaction.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::nontransaction class.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   pqxx::nontransaction provides nontransactional database access</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/nontransaction instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2002-2008, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_NONTRANSACTION</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_NONTRANSACTION</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;pqxx/connection_base&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;pqxx/result&quot;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;pqxx/transaction_base&quot;</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">/* Methods tested in eg. self-test program test001 are marked with &quot;//[t1]&quot;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;{</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="a00063.html">   62</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00063.html">nontransaction</a> : <span class="keyword">public</span> <a class="code" href="a00107.html">transaction_base</a></div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;{</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="a00063.html#a8ed8b2f6aa96cef8508c84ee5369b390">   71</a></span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00063.html">nontransaction</a>(<a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;C,</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;                          <span class="keyword">const</span> PGSTD::string &amp;Name=PGSTD::string()) :  <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    namedclass(<span class="stringliteral">&quot;nontransaction&quot;</span>, Name), <a class="code" href="a00107.html">transaction_base</a>(C) { Begin(); }</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="a00063.html">nontransaction</a>();                                            <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> do_begin() {}                                            <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keyword">virtual</span> result do_exec(<span class="keyword">const</span> <span class="keywordtype">char</span> C[]);                               <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> do_commit() {}                                           <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> do_abort() {}                                            <span class="comment">//[t14]</span></div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;};</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;} <span class="comment">// namespace pqxx</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>nontransaction.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00146.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00146.html
--- 3.1-1.1/doc/html/Reference/a00146.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00146.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pipeline.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>pipeline.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/dbtransaction&quot;</code><br>
-<code>#include &quot;pqxx/pipeline&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-pipeline.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/result-creation.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for pipeline.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00295.png" border="0" usemap="#pipeline.cxx_map" alt=""></center>
-<map name="pipeline.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#b2d765a56fa950bbed586a3df9191384">pqxxassert</a>(ARG)</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="b2d765a56fa950bbed586a3df9191384"></a><!-- doxytag: member="pipeline.cxx::pqxxassert" ref="b2d765a56fa950bbed586a3df9191384" args="(ARG)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define pqxxassert          </td>
-          <td>(</td>
-          <td class="paramtype">ARG&nbsp;</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-
-<p>Referenced by <a class="el" href="a00236.html#l00107">pqxx::pipeline::complete()</a>, and <a class="el" href="a00236.html#l00079">pqxx::pipeline::insert()</a>.</p>
-
-</div>
-</div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00147.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00147.html
--- 3.1-1.1/doc/html/Reference/a00147.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00147.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: pipeline.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>pipeline.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;map&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;pqxx/transaction_base&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for pipeline.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00296.png" border="0" usemap="#pipeline.hxx_map" alt=""></center>
-<map name="pipeline.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="961,84,1183,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00237.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html">pqxx::pipeline</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Processes several queries in FIFO manner, optimized for high throughput.  <a href="a00062.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>pqxx::pipeline::Query</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>pqxx::pipeline::getquery</b></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00147_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00147_source.html
--- 3.1-1.1/doc/html/Reference/a00147_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00147_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,143 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: notify-listen.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00147_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">notify-listen.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/notify-listen.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::notify_listener functor interface.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   pqxx::notify_listener describes a notification to wait on, and what it does</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/notify-listen instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2001-2008, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_NOTIFY_LISTEN</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_NOTIFY_LISTEN</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;pqxx/connection_base&quot;</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">/* Methods tested in eg. self-test program test001 are marked with &quot;//[t1]&quot;</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;{</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="a00066.html">   59</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT PQXX_NOVTABLE <a class="code" href="a00066.html">notify_listener</a> :</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keyword">public</span> PGSTD::unary_function&lt;int, void&gt;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;{</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <a class="code" href="a00066.html">notify_listener</a>(<a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;C, <span class="keyword">const</span> PGSTD::string &amp;N);          <span class="comment">//[t4]</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="a00066.html">notify_listener</a>() <span class="keywordflow">throw</span> ();                                  <span class="comment">//[t4]</span></div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"><a class="code" href="a00066.html#a61fecb70ec917b3403dff4228b69a61a">   72</a></span>&#160;  <span class="keyword">const</span> PGSTD::string &amp;<a class="code" href="a00066.html#a61fecb70ec917b3403dff4228b69a61a">name</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_Name; }                  <span class="comment">//[t4]</span></div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> operator()(<span class="keywordtype">int</span> be_pid) =0;                               <span class="comment">//[t4]</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00085"></a><span class="lineno"><a class="code" href="a00066.html#a183d105d5bd011d45843526004bc0f40">   85</a></span>&#160;  <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;<a class="code" href="a00066.html#a183d105d5bd011d45843526004bc0f40">Conn</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> conn(); }             <span class="comment">//[t23]</span></div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div>
+<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="a00066.html#a9b6ca1f8939f82c391fecb7082364ec7">   88</a></span>&#160;  <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;<a class="code" href="a00066.html#a9b6ca1f8939f82c391fecb7082364ec7" title="Get the connection that this listener listens on.">conn</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_conn; }             <span class="comment">//[t23]</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="a00066.html">notify_listener</a>(<span class="keyword">const</span> <a class="code" href="a00066.html">notify_listener</a> &amp;);</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <a class="code" href="a00066.html">notify_listener</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="a00066.html">notify_listener</a> &amp;);</div>
+<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;m_conn;</div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  PGSTD::string m_Name;</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;};</div>
+<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;}</div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span> </div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>notify-listen.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00148.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00148.html
--- 3.1-1.1/doc/html/Reference/a00148.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00148.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: prepared_statement.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>prepared_statement.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/connection_base&quot;</code><br>
-<code>#include &quot;pqxx/prepared_statement&quot;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;pqxx/transaction_base&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-prepare-declaration.hxx&quot;</code><br>
-<code>#include &quot;pqxx/internal/gates/connection-prepare-invocation.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for prepared_statement.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00297.png" border="0" usemap="#prepared_statement.cxx_map" alt=""></center>
-<map name="prepared_statement.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00148_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00148_source.html
--- 3.1-1.1/doc/html/Reference/a00148_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00148_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: performance.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00148_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">performance.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/performance.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      performance features documentation</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Documentation only: libpqxx performance features.</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE; it&#39;s here only to provide documentation.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>performance.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00149.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00149.html
--- 3.1-1.1/doc/html/Reference/a00149.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00149.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: prepared_statement.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>prepared_statement.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/internal/statement_parameters.hxx&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for prepared_statement.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00298.png" border="0" usemap="#prepared_statement.hxx_map" alt=""></center>
-<map name="prepared_statement.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="924,84,1145,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00239.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html">pqxx::prepare</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00190.html">pqxx::prepare::internal</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">pqxx::prepare::declaration</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper class for declaring parameters to prepared statements.  <a href="a00026.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html">pqxx::prepare::invocation</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper class for passing parameters to, and executing, prepared statements.  <a href="a00047.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">pqxx::prepare::internal::prepared_def</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal representation of a prepared statement definition.  <a href="a00069.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">pqxx::prepare::internal::prepared_def::param</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parameter definition.  <a href="a00070.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00036.html">pqxx::prepare::internal::get_sqltype</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Utility functor: get prepared-statement parameter's SQL type string.  <a href="a00036.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">pqxx::prepare::param_treatment</a> { <a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3a56d31ec162bdafd79c310a5219868ae">pqxx::prepare::treat_binary</a>, 
-<a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef30b9178cb2051d7f786e6fc811cb970f1">pqxx::prepare::treat_string</a>, 
-<a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef311f475cfe4247cf864d5f2a16479e07c">pqxx::prepare::treat_bool</a>, 
-<a class="el" href="a00189.html#c17c76a56c23b370ce055beef0a1eef3cdbb3ce0007d8eb54aef302455e1903a">pqxx::prepare::treat_direct</a>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of treatment of a particular parameter to a prepared statement.  <a href="a00189.html#c17c76a56c23b370ce055beef0a1eef3">More...</a><br></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00150.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00150.html
--- 3.1-1.1/doc/html/Reference/a00150.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00150.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: result.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>result.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;cstdlib&gt;</code><br>
-<code>#include &lt;cstring&gt;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;libpq-fe.h&quot;</code><br>
-<code>#include &quot;pqxx/except&quot;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for result.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00299.png" border="0" usemap="#result.cxx_map" alt=""></center>
-<map name="result.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#db5b6eb8a69a17c4b8a281b4c0aefc48">pqxx::internal::freemem_result_data</a> (const result_data *)  throw ()</td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00150_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00150_source.html
--- 3.1-1.1/doc/html/Reference/a00150_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00150_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,238 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: pipeline.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00150_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">pipeline.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/pipeline.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definition of the pqxx::pipeline class.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   Throughput-optimized query manager</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/pipeline instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2003-2008, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_PIPELINE</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_PIPELINE</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_LIMITS</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;limits&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;pqxx/transaction_base&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/* Methods tested in eg. self-test program test001 are marked with &quot;//[t1]&quot;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="a00071.html">   58</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00071.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a> : <span class="keyword">public</span> <a class="code" href="a00108.html">internal::transactionfocus</a></div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;{</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">   61</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00071.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a>(<a class="code" href="a00107.html">transaction_base</a> &amp;,</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="keyword">const</span> PGSTD::string &amp;Name=PGSTD::string());                       <span class="comment">//[t69]</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  ~<a class="code" href="a00071.html" title="Processes several queries in FIFO manner, optimized for high throughput.">pipeline</a>() throw ();</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;  <a class="code" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a> insert(const PGSTD::<span class="keywordtype">string</span> &amp;);                               <span class="comment">//[t69]</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  <span class="keywordtype">void</span> complete();                                                      <span class="comment">//[t71]</span></div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  <span class="keywordtype">void</span> flush();                                                         <span class="comment">//[t70]</span></div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordtype">void</span> cancel();</div>
+<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  <span class="keywordtype">bool</span> is_finished(<a class="code" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a>) const;                                     <span class="comment">//[t71]</span></div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div>
+<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div>
+<div class="line"><a name="l00114"></a><span class="lineno"><a class="code" href="a00071.html#a19c508710d0025993e41512f23de56be">  114</a></span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> retrieve(<a class="code" href="a00071.html#ab53d0c0294ef3c3c7147be2ab55bab0e">query_id</a> qid)                                         <span class="comment">//[t71]</span></div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        { <span class="keywordflow">return</span> <a class="code" href="a00071.html#a19c508710d0025993e41512f23de56be" title="Retrieve result for given query.">retrieve</a>(m_queries.find(qid)).second; }</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  PGSTD::pair&lt;query_id, result&gt; retrieve();                             <span class="comment">//[t69]</span></div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="a00071.html#a5f5fe658349dcd9aed9c19faccf23ea4">  121</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="a00071.html#a5f5fe658349dcd9aed9c19faccf23ea4">empty</a>() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_queries.empty(); }             <span class="comment">//[t69]</span></div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="keywordtype">int</span> retain(<span class="keywordtype">int</span> retain_max=2);                                         <span class="comment">//[t70]</span></div>
+<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div>
+<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;  <span class="keywordtype">void</span> resume();                                                        <span class="comment">//[t70]</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keyword">class </span>PQXX_PRIVATE Query</div>
+<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  {</div>
+<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keyword">explicit</span> Query(<span class="keyword">const</span> PGSTD::string &amp;q) : m_query(q), m_res() {}</div>
+<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keyword">const</span> result &amp;get_result() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_res; }</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordtype">void</span> set_result(<span class="keyword">const</span> result &amp;r) <span class="keywordflow">throw</span> () { m_res = r; }</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="keyword">const</span> PGSTD::string &amp;get_query() <span class="keyword">const</span> throw () { <span class="keywordflow">return</span> m_query; }</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    PGSTD::string m_query;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    result m_res;</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  };</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="keyword">typedef</span> PGSTD::map&lt;query_id,Query&gt; QueryMap;</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keyword">struct </span>getquery:PGSTD::unary_function&lt;QueryMap::const_iterator,PGSTD::string&gt;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  {</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    getquery(){}        <span class="comment">// Silences bogus warning in some gcc versions</span></div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    PGSTD::string operator()(QueryMap::const_iterator i)<span class="keyword"> const</span></div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;<span class="keyword">        </span>{ <span class="keywordflow">return</span> i-&gt;second.get_query(); }</div>
+<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  };</div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  <span class="keywordtype">void</span> attach();</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="keywordtype">void</span> detach();</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">static</span> query_id qid_limit() throw ()</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  {</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="preprocessor">#if defined(PQXX_HAVE_LIMITS)</span></div>
+<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="preprocessor"></span>    <span class="keywordflow">return</span> PGSTD::numeric_limits&lt;query_id&gt;::max();</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor"></span>    <span class="keywordflow">return</span> LONG_MAX;</div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor"></span>  }</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  query_id PQXX_PRIVATE generate_id();</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="keywordtype">bool</span> have_pending() <span class="keyword">const</span> throw ()</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        { <span class="keywordflow">return</span> m_issuedrange.second != m_issuedrange.first; }</div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE issue();</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keywordtype">void</span> set_error_at(query_id qid) <span class="keywordflow">throw</span> () { <span class="keywordflow">if</span> (qid &lt; m_error) m_error = qid; }</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE internal_error(<span class="keyword">const</span> PGSTD::string &amp;err)</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">throw</span> (PGSTD::logic_error);</div>
+<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="keywordtype">bool</span> PQXX_PRIVATE obtain_result(<span class="keywordtype">bool</span> expect_none=<span class="keyword">false</span>);</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE obtain_dummy();</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE get_further_available_results();</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE check_end_results();</div>
+<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE receive_if_available();</div>
+<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="keywordtype">void</span> PQXX_PRIVATE receive(pipeline::QueryMap::const_iterator stop);</div>
+<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  PGSTD::pair&lt;pipeline::query_id, result&gt;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    retrieve(pipeline::QueryMap::iterator);</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div>
+<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  QueryMap m_queries;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  PGSTD::pair&lt;QueryMap::iterator,QueryMap::iterator&gt; m_issuedrange;</div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordtype">int</span> m_retain;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="keywordtype">int</span> m_num_waiting;</div>
+<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  query_id m_q_id;</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div>
+<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  <span class="keywordtype">bool</span> m_dummy_pending;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  query_id m_error;</div>
+<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  pipeline(<span class="keyword">const</span> pipeline &amp;);</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  pipeline &amp;operator=(<span class="keyword">const</span> pipeline &amp;);</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;};</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
+<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;} <span class="comment">// namespace</span></div>
+<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;</div>
+<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>pipeline.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00151.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00151.html
--- 3.1-1.1/doc/html/Reference/a00151.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00151.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,112 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: result.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>result.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;pqxx/except&quot;</code><br>
-<code>#include &quot;pqxx/strconv&quot;</code><br>
-<code>#include &quot;pqxx/util&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for result.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00300.png" border="0" usemap="#result.hxx_map" alt=""></center>
-<map name="result.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="1071,84,1292,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00241.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html">pqxx::internal</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html">pqxx::internal::gate</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">pqxx::internal::result_data</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Information shared between all copies of a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="a00083.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">pqxx::result</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query or command <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="a00076.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">pqxx::result::tuple</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference to one row in a <a class="el" href="a00076.html" title="Query or command result set.">result</a>.  <a href="a00082.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">pqxx::result::field</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reference to a <a class="el" href="a00081.html" title="Reference to a field in a result set.">field</a> in a <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="a00081.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">pqxx::result::const_iterator</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Iterator for rows (tuples) in a query <a class="el" href="a00076.html" title="Query or command result set.">result</a> set.  <a href="a00078.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">pqxx::result::const_reverse_iterator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">pqxx::result::const_fielditerator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">pqxx::result::const_reverse_fielditerator</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">pqxx::field_streambuf&lt; CHAR, TRAITS &gt;</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00004.html">pqxx::basic_fieldstream&lt; CHAR, TRAITS &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input stream that gets its data from a <a class="el" href="a00076.html" title="Query or command result set.">result</a> field.  <a href="a00004.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_fieldstream&lt; char &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#82a9c2e4bb780869117bbe794ea24616">pqxx::fieldstream</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00186.html#db5b6eb8a69a17c4b8a281b4c0aefc48">pqxx::internal::freemem_result_data</a> (const result_data *)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename CHAR&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::basic_ostream&lt; CHAR &gt; &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#4862a69f3838347efd76437479fa8c8d">pqxx::operator&lt;&lt;</a> (std::basic_ostream&lt; CHAR &gt; &amp;S, const <a class="el" href="a00081.html">pqxx::result::field</a> &amp;F)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write a <a class="el" href="a00076.html" title="Query or command result set.">result</a> field to any type of stream.  <a href="#4862a69f3838347efd76437479fa8c8d"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#8497c178f87e7f5116f3ad8d16340426">pqxx::from_string</a> (const result::field &amp;F, T &amp;Obj)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a field's string contents to another type.  <a href="#8497c178f87e7f5116f3ad8d16340426"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#8b689595eb3d992d460b76eacddcb85b">pqxx::to_string</a> (const result::field &amp;Obj)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a field to a string.  <a href="#8b689595eb3d992d460b76eacddcb85b"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#d1b083fd562e5b5acd6d6a9b8c0e86f6">pqxx::result::field::to&lt; std::string &gt;</a> (std::string &amp;Obj) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specialization: <code>to(string &amp;)</code>.  <a href="#d1b083fd562e5b5acd6d6a9b8c0e86f6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#a4ec237f59e6a0088e0a3954525f394b">pqxx::operator+</a> (result::const_iterator::difference_type o, result::const_iterator i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result::const_reverse_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#e1befc9c1082b5135ebfa9138ca700c9">pqxx::operator+</a> (result::const_reverse_iterator::difference_type n, const result::const_reverse_iterator &amp;i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result::const_fielditerator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html#70cffee20ec5634e1794f9519fea6027">pqxx::operator+</a> (result::const_fielditerator::difference_type o, result::const_fielditerator i)</td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00152.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00152.html
--- 3.1-1.1/doc/html/Reference/a00152.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00152.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: robusttransaction.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>robusttransaction.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &lt;stdexcept&gt;</code><br>
-<code>#include &quot;pqxx/connection_base&quot;</code><br>
-<code>#include &quot;pqxx/result&quot;</code><br>
-<code>#include &quot;pqxx/robusttransaction&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for robusttransaction.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00301.png" border="0" usemap="#robusttransaction.cxx_map" alt=""></center>
-<map name="robusttransaction.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00152_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00152_source.html
--- 3.1-1.1/doc/html/Reference/a00152_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00152_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,223 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: prepared_statement.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00152_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">prepared_statement.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/prepared_statement.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      Helper classes for defining and executing prepared statements</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   See the connection_base hierarchy for more about prepared statements</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * Copyright (c) 2006-2009, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef PQXX_H_PREPARED_STATEMENT</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_PREPARED_STATEMENT</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;pqxx/internal/statement_parameters.hxx&quot;</span></div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">class </span>connection_base;</div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">class </span>transaction_base;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">class </span>result;</div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div>
+<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="a00192.html">   34</a></span>&#160;<span class="keyword">namespace </span>prepare</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;{</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
+<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3">  141</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a></div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;{</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3aa56d31ec162bdafd79c310a5219868ae">  144</a></span>&#160;  <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3aa56d31ec162bdafd79c310a5219868ae" title="Pass as raw, binary bytes.">treat_binary</a>,</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3a0b9178cb2051d7f786e6fc811cb970f1">  146</a></span>&#160;  <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3a0b9178cb2051d7f786e6fc811cb970f1" title="Escape special characters and add quotes.">treat_string</a>,</div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3a11f475cfe4247cf864d5f2a16479e07c">  148</a></span>&#160;  <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3a11f475cfe4247cf864d5f2a16479e07c" title="Represent as named Boolean value.">treat_bool</a>,</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a">  150</a></span>&#160;  <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a" title="Include directly in SQL without conversion (e.g. for numeric types).">treat_direct</a></div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;};</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div>
+<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="a00033.html">  163</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">declaration</a></div>
+<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;{</div>
+<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">declaration</a>(<a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;, <span class="keyword">const</span> PGSTD::string &amp;statement);</div>
+<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
+<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keyword">const</span> <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">declaration</a> &amp;</div>
+<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  operator()(<span class="keyword">const</span> PGSTD::string &amp;sqltype, <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a>=<a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a" title="Include directly in SQL without conversion (e.g. for numeric types).">treat_direct</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="keyword">const</span> <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">declaration</a> &amp;etc(<a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a>=<a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3acdbb3ce0007d8eb54aef302455e1903a" title="Include directly in SQL without conversion (e.g. for numeric types).">treat_direct</a>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">declaration</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="a00033.html" title="Helper class for declaring parameters to prepared statements.">declaration</a> &amp;);</div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <a class="code" href="a00023.html" title="connection_base abstract base class; represents a connection to a database.">connection_base</a> &amp;m_home;</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keyword">const</span> PGSTD::string m_statement;</div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;};</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="a00055.html">  192</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> : internal::statement_parameters</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;{</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a>(<a class="code" href="a00107.html">transaction_base</a> &amp;, <span class="keyword">const</span> PGSTD::string &amp;statement);</div>
+<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <a class="code" href="a00084.html" title="Query or command result set.">result</a> exec() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div>
+<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="keywordtype">bool</span> exists() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="code" href="a00055.html#a10e6e640885617f52bf43d9e59477424">  204</a></span>&#160;  <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;<a class="code" href="a00055.html#a10e6e640885617f52bf43d9e59477424" title="Pass null parameter.">operator()</a>() { add_param(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div>
+<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
+<div class="line"><a name="l00210"></a><span class="lineno"><a class="code" href="a00055.html#a38c217d6210b26006af97dc23a4c014e">  210</a></span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;operator()(<span class="keyword">const</span> T &amp;v)</div>
+<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        { add_param(v); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
+<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div>
+<div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="a00055.html#a7d1afea38e1c822c02560331b82d8dfe">  218</a></span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;operator()(<span class="keyword">const</span> T &amp;v, <span class="keywordtype">bool</span> nonnull)</div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        { add_param(v, nonnull); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="code" href="a00055.html#afe3111c309189f822255744df4fa8bff">  240</a></span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;operator()(T *v, <span class="keywordtype">bool</span> nonnull=<span class="keyword">true</span>)</div>
+<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        { add_param(v, nonnull); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div>
+<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div>
+<div class="line"><a name="l00248"></a><span class="lineno"><a class="code" href="a00055.html#ac0b4fbda217ac490ed72c923d02cdef3">  248</a></span>&#160;  <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;operator()(<span class="keyword">const</span> <span class="keywordtype">char</span> *v, <span class="keywordtype">bool</span> nonnull=<span class="keyword">true</span>)</div>
+<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        { add_param(v, nonnull); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
+<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div>
+<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;);</div>
+<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div>
+<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <a class="code" href="a00107.html">transaction_base</a> &amp;m_home;</div>
+<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="keyword">const</span> PGSTD::string m_statement;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  PGSTD::vector&lt;PGSTD::string&gt; m_values;</div>
+<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  PGSTD::vector&lt;bool&gt; m_nonnull;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <a class="code" href="a00055.html" title="Helper class for passing parameters to, and executing, prepared statements.">invocation</a> &amp;setparam(<span class="keyword">const</span> PGSTD::string &amp;, <span class="keywordtype">bool</span> nonnull);</div>
+<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;};</div>
+<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div>
+<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="code" href="a00193.html">  264</a></span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;{</div>
+<div class="line"><a name="l00267"></a><span class="lineno"><a class="code" href="a00078.html">  267</a></span>&#160;<span class="keyword">struct </span>PQXX_LIBEXPORT <a class="code" href="a00078.html" title="Internal representation of a prepared statement definition.">prepared_def</a></div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;{</div>
+<div class="line"><a name="l00270"></a><span class="lineno"><a class="code" href="a00069.html">  270</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="a00069.html" title="Parameter definition.">param</a></div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  {</div>
+<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="a00069.html#a2848e4f145eee99ab06cb4608e19b0a9">  272</a></span>&#160;    PGSTD::string <a class="code" href="a00069.html#a2848e4f145eee99ab06cb4608e19b0a9">sqltype</a>;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"><a class="code" href="a00069.html#a4c84b43298291ae805af849cf07604ce">  273</a></span>&#160;    <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a> <a class="code" href="a00069.html#a4c84b43298291ae805af849cf07604ce">treatment</a>;</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <a class="code" href="a00069.html" title="Parameter definition.">param</a>(<span class="keyword">const</span> PGSTD::string &amp;SQLtype, <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a>);</div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  };</div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;</div>
+<div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="a00078.html#a7b418648fe35168c261073cae42da08e">  279</a></span>&#160;  PGSTD::string <a class="code" href="a00078.html#a7b418648fe35168c261073cae42da08e" title="Text of prepared query.">definition</a>;</div>
+<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="a00078.html#a1093d2bc0481226a7903deef02519bbe">  281</a></span>&#160;  PGSTD::vector&lt;param&gt; <a class="code" href="a00078.html#a1093d2bc0481226a7903deef02519bbe" title="Parameter list.">parameters</a>;</div>
+<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="a00078.html#a11ef3d1042c1711d30b6e376f4b77dc5">  283</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="a00078.html#a11ef3d1042c1711d30b6e376f4b77dc5" title="Has this prepared statement been prepared in the current session?">registered</a>;</div>
+<div class="line"><a name="l00285"></a><span class="lineno"><a class="code" href="a00078.html#a50b426f1be8afc41b445286c470f153d">  285</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="a00078.html#a50b426f1be8afc41b445286c470f153d" title="Is this definition complete?">complete</a>;</div>
+<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div>
+<div class="line"><a name="l00288"></a><span class="lineno"><a class="code" href="a00078.html#a2c16c7e47fd8cb084fc159dbb57d5b35">  288</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="a00078.html#a2c16c7e47fd8cb084fc159dbb57d5b35" title="Does this statement accept variable arguments, as declared with etc()?">varargs</a>;</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div>
+<div class="line"><a name="l00291"></a><span class="lineno"><a class="code" href="a00078.html#a7e5954889d74c7d595c95eef1d8bff6e">  291</a></span>&#160;  <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a> <a class="code" href="a00078.html#a7e5954889d74c7d595c95eef1d8bff6e" title="How should parameters after the last declared one be treated?">varargs_treatment</a>;</div>
+<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
+<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  <a class="code" href="a00078.html" title="Internal representation of a prepared statement definition.">prepared_def</a>();</div>
+<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  <span class="keyword">explicit</span> <a class="code" href="a00078.html" title="Internal representation of a prepared statement definition.">prepared_def</a>(<span class="keyword">const</span> PGSTD::string &amp;);</div>
+<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;</div>
+<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  <span class="keywordtype">void</span> addparam(<span class="keyword">const</span> PGSTD::string &amp;sqltype, <a class="code" href="a00192.html#ac17c76a56c23b370ce055beef0a1eef3" title="Type of treatment of a particular parameter to a prepared statement.">param_treatment</a>);</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;};</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
+<div class="line"><a name="l00300"></a><span class="lineno"><a class="code" href="a00044.html">  300</a></span>&#160;<span class="keyword">struct </span>PQXX_PRIVATE <a class="code" href="a00044.html" title="Utility functor: get prepared-statement parameter&#39;s SQL type string.">get_sqltype</a></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;{</div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="code" href="a00044.html#acad22f00993bc1d160276a9d732ecd2b">  302</a></span>&#160;  <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IT&gt; <span class="keyword">const</span> PGSTD::string &amp;operator()(IT i)</div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;  {</div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;    <span class="keywordflow">return</span> i-&gt;sqltype;</div>
+<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  }</div>
+<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;};</div>
+<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div>
+<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;} <span class="comment">// namespace pqxx::prepare::internal</span></div>
+<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;} <span class="comment">// namespace pqxx::prepare</span></div>
+<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;} <span class="comment">// namespace pqxx</span></div>
+<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;</div>
+<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-post.hxx&quot;</span></div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_3d7cbfaf9a6edea0a348c9e21a88d076.html">pqxx</a></li><li class="navelem"><b>prepared_statement.hxx</b></li>
+    <li class="footer">Generated on Sun Jan 20 2013 12:57:21 for libpqxx by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.2 </li>
+  </ul>
+</div>
+</body>
+</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00153.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00153.html
--- 3.1-1.1/doc/html/Reference/a00153.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00153.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: robusttransaction.hxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_376890ee274b7851fe28a526d9bec299.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_8b656dd09d514fc7a365d0e090a1d05e.html">pqxx</a>
-  </div>
-</div>
-<div class="contents">
-<h1>robusttransaction.hxx File Reference</h1><code>#include &quot;<a class="el" href="a00210.html">pqxx/compiler-public.hxx</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00208.html">pqxx/compiler-internal-pre.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/dbtransaction&quot;</code><br>
-<code>#include &quot;<a class="el" href="a00207.html">pqxx/compiler-internal-post.hxx</a>&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for robusttransaction.hxx:</div>
-<div class="dynsection">
-<p><center><img src="a00302.png" border="0" usemap="#robusttransaction.hxx_map" alt=""></center>
-<map name="robusttransaction.hxx_map">
-<area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="180,84,356,111"><area shape="rect" href="a00118.html" title="pqxx/compiler&#45;internal&#45;pre.hxx" alt="" coords="380,84,593,111"><area shape="rect" href="a00117.html" title="pqxx/compiler&#45;internal&#45;post.hxx" alt="" coords="785,84,1007,111"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="5,162,211,188"></map>
-</div>
-
-<p>
-<a href="a00243.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00171.html">pqxx</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00008.html">pqxx::basic_robusttransaction</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html">pqxx::robusttransaction&lt; ISOLATIONLEVEL &gt;</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Slightly slower, better-fortified version of <a class="el" href="a00104.html" title="Standard back-end transaction, templatized on isolation level.">transaction</a>.  <a href="a00084.html#_details">More...</a><br></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00154.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00154.html
--- 3.1-1.1/doc/html/Reference/a00154.html	2011-05-04 13:13:41.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00154.html	1970-01-01 00:00:00.000000000 +0000
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>libpqxx: statement_parameters.cxx File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.5 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
-      <li><a href="modules.html"><span>Modules</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="classes.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_ecb83b3cf2b4ce63c98c233be4618c4a.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>statement_parameters.cxx File Reference</h1><code>#include &quot;<a class="el" href="a00209.html">pqxx/compiler-internal.hxx</a>&quot;</code><br>
-<code>#include &quot;pqxx/util&quot;</code><br>
-<code>#include &quot;pqxx/internal/statement_parameters.hxx&quot;</code><br>
-
-<p>
-<div class="dynheader">
-Include dependency graph for statement_parameters.cxx:</div>
-<div class="dynsection">
-<p><center><img src="a00303.png" border="0" usemap="#statement_parameters.cxx_map" alt=""></center>
-<map name="statement_parameters.cxx_map">
-<area shape="rect" href="a00119.html" title="pqxx/compiler&#45;internal.hxx" alt="" coords="352,84,539,111"><area shape="rect" href="a00122.html" title="pqxx/config&#45;internal&#45;compiler.h" alt="" coords="5,161,221,188"><area shape="rect" href="a00123.html" title="pqxx/config&#45;internal&#45;libpq.h" alt="" coords="245,161,437,188"><area shape="rect" href="a00120.html" title="pqxx/compiler&#45;public.hxx" alt="" coords="461,161,637,188"><area shape="rect" href="a00124.html" title="pqxx/config&#45;public&#45;compiler.h" alt="" coords="287,239,492,265"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Feb 15 18:22:44 2010 for libpqxx by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
-</body>
-</html>
diff -pruN 3.1-1.1/doc/html/Reference/a00154_source.html 1:3.1.1-0ubuntu4/doc/html/Reference/a00154_source.html
--- 3.1-1.1/doc/html/Reference/a00154_source.html	1970-01-01 00:00:00.000000000 +0000
+++ 1:3.1.1-0ubuntu4/doc/html/Reference/a00154_source.html	2013-01-20 05:57:21.000000000 +0000
@@ -0,0 +1,941 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>libpqxx: result.hxx Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">libpqxx
+   &#160;<span id="projectnumber">3.1.1</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1.2 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('a00154_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">result.hxx</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   FILE</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *      pqxx/result.hxx</span></div>
+<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   DESCRIPTION</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *      definitions for the pqxx::result class and support classes.</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *   pqxx::result represents the set of result tuples from a database query</span></div>
+<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *   DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/result instead.</span></div>
+<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * Copyright (c) 2001-2013, Jeroen T. Vermeulen &lt;jtv@xs4all.nl&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * See COPYING for copyright license.  If you did not receive a file called</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * COPYING with this source code, please notify the distributor of this mistake,</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * or contact the author.</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *-------------------------------------------------------------------------</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#ifndef PQXX_H_RESULT</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define PQXX_H_RESULT</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-public.hxx&quot;</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;pqxx/compiler-internal-pre.hxx&quot;</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifdef PQXX_HAVE_IOS</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;ios&gt;</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;pqxx/except&quot;</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;pqxx/strconv&quot;</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;pqxx/util&quot;</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">/* Methods tested in eg. self-test program test001 are marked with &quot;//[t1]&quot;</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// TODO: Support SQL arrays</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">namespace </span>pqxx</div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;{</div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">class </span>result;</div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">namespace </span>internal</div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;{</div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="keyword">class </span>sql_cursor;</div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div>
+<div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="a00085.html">   49</a></span>&#160;<span class="keyword">struct </span>PQXX_PRIVATE <a class="code" href="a00085.html" title="Information shared between all copies of a result set.">result_data</a></div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;{</div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"><a class="code" href="a00085.html#a0bbee9d3a58999269eee962760410d84">   55</a></span>&#160;  <a class="code" href="a00191.html#aec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *<a class="code" href="a00085.html#a0bbee9d3a58999269eee962760410d84" title="Underlying libpq-managed result set.">data</a>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
+<div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="a00085.html#a3bdb1a6958a07cacd033ab39abc89295">   58</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="a00085.html#a3bdb1a6958a07cacd033ab39abc89295" title="Frontend/backend protocol version.">protocol</a>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div>
+<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="a00085.html#aeab2796c6969955a896b67d88d13afdd">   61</a></span>&#160;  PGSTD::string <a class="code" href="a00085.html#aeab2796c6969955a896b67d88d13afdd" title="Query string that yielded this result.">query</a>;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
+<div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="a00085.html#ac7f36cd7d3afbe419ad40276faf2db8f">   63</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="a00085.html#ac7f36cd7d3afbe419ad40276faf2db8f">encoding_code</a>;</div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="comment">// TODO: Locking for result copy-construction etc. also goes here</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  <a class="code" href="a00085.html" title="Information shared between all copies of a result set.">result_data</a>();</div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;  <a class="code" href="a00085.html" title="Information shared between all copies of a result set.">result_data</a>(<a class="code" href="a00191.html#aec5eba614488069860669d19ca92cab6">pqxx::internal::pq::PGresult</a> *,</div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;                <span class="keywordtype">int</span> protocol,</div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;                <span class="keyword">const</span> PGSTD::string &amp;,</div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;                <span class="keywordtype">int</span> encoding_code);</div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  ~<a class="code" href="a00085.html" title="Information shared between all copies of a result set.">result_data</a>();</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;};</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="keywordtype">void</span> PQXX_LIBEXPORT <a class="code" href="a00189.html#adb5b6eb8a69a17c4b8a281b4c0aefc48">freemem_result_data</a>(<span class="keyword">const</span> <a class="code" href="a00085.html" title="Information shared between all copies of a result set.">result_data</a> *) throw ();</div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;namespace internal</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;{</div>
+<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">namespace </span>gate</div>
+<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;{</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="keyword">class </span>result_connection;</div>
+<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">class </span>result_creation;</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="keyword">class </span>result_sql_cursor;</div>
+<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;} <span class="comment">// namespace internal::gate</span></div>
+<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;} <span class="comment">// namespace internal</span></div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
+<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div>
+<div class="line"><a name="l00111"></a><span class="lineno"><a class="code" href="a00084.html">  111</a></span>&#160;<span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00084.html" title="Query or command result set.">result</a> :</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <span class="keyword">private</span> <a class="code" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">internal::PQAlloc</a>&lt;</div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        const internal::result_data, internal::freemem_result_data&gt;</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;{</div>
+<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00076.html" title="Reference-counted smart pointer to libpq-allocated object.">internal::PQAlloc</a>&lt;</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keyword">const</span> <a class="code" href="a00085.html" title="Information shared between all copies of a result set.">internal::result_data</a>, <a class="code" href="a00189.html#adb5b6eb8a69a17c4b8a281b4c0aefc48">internal::freemem_result_data</a>&gt; <a class="code" href="a00076.html">super</a>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <span class="keyword">class </span><a class="code" href="a00026.html" title="Iterator for rows (tuples) in a query result set.">const_iterator</a>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">class </span><a class="code" href="a00025.html">const_fielditerator</a>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="keyword">class </span><a class="code" href="a00027.html">const_reverse_fielditerator</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;  <span class="keyword">class </span><a class="code" href="a00110.html" title="Reference to one row in a result.">tuple</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">  122</a></span>&#160;  <span class="keyword">class </span><a class="code" href="a00041.html" title="Reference to a field in a result set.">field</a>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00084.html#a9e02bbf1126802fd7fd64df989e03940">size_type</a>;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">  124</a></span>&#160;  <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">long</span> <a class="code" href="a00084.html#abec7f7f4d7ed030f38b2a123b632b818">difference_type</a>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">  125</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00110.html" title="Reference to one row in a result.">tuple</a> <a class="code" href="a00084.html#a164e5a080d9969d55b3fed9f2c137ce8">reference</a>;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="code" href="a00084.html#a16732cbff5bf11cefd68471577344551">  126</a></span>&#160;  <span class="keyword">typedef</span> <a class="code" href="a00026.html" title="Iterator for rows (tuples) in a query result set.">const_iterator</a> <a class="code" href="a00084.html#a16732cbff5bf11cefd68471577344551">pointer</a>;</div>
+<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="a00110.html">  140</a></span>&#160;  <span class="keyword">class </span>PQXX_LIBEXPORT <a class="code" href="a00110.html" title="Reference to one row in a result.">tuple</a></div>
+<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  {</div>
+<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">  143</a></span>&#160;    <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="a00110.html#a04ab738e7b02c3e4c0abc3b36b05b105">size_type</a>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="code" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">  144</a></span>&#160;    <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="a00110.html#ae8abaddcc9a8eeea270407617a0575ca">difference_type</a>;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">  145</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="a00025.html">const_fielditerator</a> <a class="code" href="a00110.html#acd1cad6b3eb306521f7284bb53e86382">const_iterator</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="a00110.html#ad37cf4380d4b70d7f2e4ad64a7bae40d">  146</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="a00025.html">const_iterator</a> <a class="code" href="a00110.html#ad37cf4380d4b70d7f2e4ad64a7bae40d">iterator</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">  147</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="a00041.html" title="Reference to a field in a result set.">field</a> <a class="code" href="a00110.html#a3d6b3ef88e36e1122d48d47c533d2282">reference</a>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"><a class="code" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">  148</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="a00025.html">const_fielditerator</a> <a class="code" href="a00110.html#a7f004c2ae584e59e06c4f94064ac2b4a">pointer</a>;</div>
+<div class="line"><a name="l00149"></a><span class="lineno"><a class="code" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">  149</a></span>&#160;    <span class="keyword">typedef</span> <a class="code" href="a00027.html">const_reverse_fielditerator</a> <a class="code" href="a00110.html#ad9505721c6c5e0ef30f4219acb984c32">const_reverse_iterator</a>;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"><a class="code" href="a00110.html#a30192c24c9670837b9fd0c2aa9c258ce">  150</a></span>&#160;    <spa