File slony1-1.2.16-1.2.17rc.diff of Package slony1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/RELEASE new/slony1-1.2.17-rc/RELEASE
--- old/slony1-1.2.16/RELEASE 2009-04-30 18:39:29.000000000 +0200
+++ new/slony1-1.2.17-rc/RELEASE 2009-07-29 00:21:00.000000000 +0200
@@ -1,4 +1,26 @@
-$Id: RELEASE,v 1.1.2.34 2009-04-30 16:39:29 cbbrowne Exp $
+$Id: RELEASE,v 1.1.2.37 2009-07-28 22:21:00 cbbrowne Exp $
+Release 1.2.17
+
+- Apply changes to logshipper that went into the 2.0 branch but not
+ 1.2
+
+- Change minimum debugging level to -1 to allow suppressing logging
+
+- Bug #92 - compression of event numbers had a bug where events >
+ 2^31-1 would overflow the "int" value
+
+- Fix to race condition where file descriptor copies were being made at
+ the wrong time in the scheduler
+
+- Establish compatibility with PostgreSQL 8.4:
+
+ - autovac data is on pg_class rather than pg_autovacuum
+
+ - Need to use GetActiveSnapshot() rather than expecting to have
+ SerializableSnapshot in the backend
+
+ - createdb needs to copy from template0 to ensure it can match locales
+
Release 1.2.16
- Fix to configure.ac to make it compatible with latest version (2.63)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/config/acx_libpq.m4 new/slony1-1.2.17-rc/config/acx_libpq.m4
--- old/slony1-1.2.16/config/acx_libpq.m4 2007-11-22 23:51:04.000000000 +0100
+++ new/slony1-1.2.17-rc/config/acx_libpq.m4 2009-07-23 20:30:04.000000000 +0200
@@ -387,6 +387,15 @@
AC_MSG_RESULT([yes, and it takes $ac_cv_typenameTypeId_args arguments])
fi
+AC_MSG_CHECKING(for GetActiveSnapshot)
+AC_EGREP_HEADER(GetActiveSnapshot,
+ utils/snapmgr.h,
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GETACTIVESNAPSHOT)],
+ AC_MSG_RESULT(no)
+)
+
+
AC_MSG_CHECKING(for standard_conforming_strings)
if test -z "$ac_cv_standard_conforming_strings"; then
AC_EGREP_HEADER(standard_conforming_strings,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/config.h.in new/slony1-1.2.17-rc/config.h.in
--- old/slony1-1.2.16/config.h.in 2009-04-30 18:20:52.000000000 +0200
+++ new/slony1-1.2.17-rc/config.h.in 2009-07-23 20:30:04.000000000 +0200
@@ -6,14 +6,14 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: config.h.in,v 1.17.2.16 2009-04-30 16:20:52 cbbrowne Exp $
+ * $Id: config.h.in,v 1.17.2.18 2009-07-23 18:30:04 wieck Exp $
* ----------
*/
#ifndef SLONY_I_CONFIG_H
#define SLONY_I_CONFIG_H
-#define SLONY_I_VERSION_STRING "1.2.16"
-#define SLONY_I_VERSION_STRING_DEC 1,2,16
+#define SLONY_I_VERSION_STRING "1.2.17"
+#define SLONY_I_VERSION_STRING_DEC 1,2,17
#ifndef PG_VERSION_MAJOR
#define PG_VERSION_MAJOR 0
@@ -99,6 +99,8 @@
#define GetTopTransactionId() GetCurrentTransactionId()
#endif
+/* For PostgreSQL 8.4 and up we need to use GetActiveSnapshot() */
+#undef HAVE_GETACTIVESNAPSHOT
/* Set to 1 if we have POSIX signals */
#undef HAVE_POSIX_SIGNALS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/configure new/slony1-1.2.17-rc/configure
--- old/slony1-1.2.16/configure 2009-05-09 00:04:27.000000000 +0200
+++ new/slony1-1.2.17-rc/configure 2009-07-29 22:34:01.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for postgresql-slony1 1.2.16.
+# Generated by GNU Autoconf 2.63 for postgresql-slony1 1.2.17_RC.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -594,8 +594,8 @@
# Identity of this package.
PACKAGE_NAME='postgresql-slony1'
PACKAGE_TARNAME='postgresql-slony1'
-PACKAGE_VERSION='1.2.16'
-PACKAGE_STRING='postgresql-slony1 1.2.16'
+PACKAGE_VERSION='1.2.17_RC'
+PACKAGE_STRING='postgresql-slony1 1.2.17_RC'
PACKAGE_BUGREPORT=''
ac_unique_file="src"
@@ -1328,7 +1328,7 @@
# 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 postgresql-slony1 1.2.16 to adapt to many kinds of systems.
+\`configure' configures postgresql-slony1 1.2.17_RC to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1394,7 +1394,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of postgresql-slony1 1.2.16:";;
+ short | recursive ) echo "Configuration of postgresql-slony1 1.2.17_RC:";;
esac
cat <<\_ACEOF
@@ -1502,7 +1502,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-postgresql-slony1 configure 1.2.16
+postgresql-slony1 configure 1.2.17_RC
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1516,7 +1516,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by postgresql-slony1 $as_me 1.2.16, which was
+It was created by postgresql-slony1 $as_me 1.2.17_RC, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -8348,6 +8348,34 @@
$as_echo "yes, and it takes $ac_cv_typenameTypeId_args arguments" >&6; }
fi
+{ $as_echo "$as_me:$LINENO: checking for GetActiveSnapshot" >&5
+$as_echo_n "checking for GetActiveSnapshot... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <utils/snapmgr.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "GetActiveSnapshot" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETACTIVESNAPSHOT 1
+_ACEOF
+
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f conftest*
+
+
+
{ $as_echo "$as_me:$LINENO: checking for standard_conforming_strings" >&5
$as_echo_n "checking for standard_conforming_strings... " >&6; }
if test -z "$ac_cv_standard_conforming_strings"; then
@@ -11583,7 +11611,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by postgresql-slony1 $as_me 1.2.16, which was
+This file was extended by postgresql-slony1 $as_me 1.2.17_RC, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -11642,7 +11670,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-postgresql-slony1 config.status 1.2.16
+postgresql-slony1 config.status 1.2.17_RC
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/configure.ac new/slony1-1.2.17-rc/configure.ac
--- old/slony1-1.2.16/configure.ac 2009-04-30 18:18:41.000000000 +0200
+++ new/slony1-1.2.17-rc/configure.ac 2009-04-30 18:18:41.000000000 +0200
@@ -11,7 +11,7 @@
#
# Process this file with autoconf to produce a configure script.
# ----------
-m4_define([SLONREL_VERSION], esyscmd([echo "$Name: REL_1_2_16 $" | \
+m4_define([SLONREL_VERSION], esyscmd([echo "$Name: REL_1_2_17_RC $" | \
sed -e 's/\:\ REL_//' -e 's/\$//g' -e 's/_/./g' -e 's/\./\_/3' \
-e 's/\ //g' -e s/\:/`date +HEAD_%Y%m%d`/ | tr -d '\n']))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/backend/slony1_funcs.c new/slony1-1.2.17-rc/src/backend/slony1_funcs.c
--- old/slony1-1.2.16/src/backend/slony1_funcs.c 2007-11-22 23:51:04.000000000 +0100
+++ new/slony1-1.2.17-rc/src/backend/slony1_funcs.c 2009-07-23 20:30:04.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2005, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: slony1_funcs.c,v 1.53.2.3 2007-11-22 22:51:04 cbbrowne Exp $
+ * $Id: slony1_funcs.c,v 1.53.2.4 2009-07-23 18:30:04 wieck Exp $
* ----------------------------------------------------------------------
*/
@@ -21,11 +21,15 @@
#include "commands/trigger.h"
#include "commands/async.h"
#include "catalog/pg_operator.h"
+#include "catalog/pg_type.h"
#include "access/xact.h"
#include "access/transam.h"
#include "utils/builtins.h"
#include "utils/elog.h"
#include "utils/guc.h"
+#ifdef HAVE_GETACTIVESNAPSHOT
+#include "utils/snapmgr.h"
+#endif
#ifdef HAVE_TYPCACHE
#include "utils/typcache.h"
#else
@@ -147,6 +151,9 @@
int i;
int64 retval;
bool isnull;
+#ifdef HAVE_GETACTIVESNAPSHOT
+ Snapshot SerializableSnapshot = GetActiveSnapshot();
+#endif
if (SerializableSnapshot == NULL)
elog(ERROR, "Slony-I: SerializableSnapshot is NULL in createEvent()");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/backend/slony1_funcs.sql new/slony1-1.2.17-rc/src/backend/slony1_funcs.sql
--- old/slony1-1.2.16/src/backend/slony1_funcs.sql 2009-04-30 18:20:27.000000000 +0200
+++ new/slony1-1.2.17-rc/src/backend/slony1_funcs.sql 2009-07-08 22:46:02.000000000 +0200
@@ -6,7 +6,7 @@
-- Copyright (c) 2003-2004, PostgreSQL Global Development Group
-- Author: Jan Wieck, Afilias USA INC.
--
--- $Id: slony1_funcs.sql,v 1.98.2.34 2009-04-30 16:20:27 cbbrowne Exp $
+-- $Id: slony1_funcs.sql,v 1.98.2.35 2009-07-08 20:46:02 cbbrowne Exp $
-- ----------------------------------------------------------------------
-- **********************************************************************
@@ -430,7 +430,7 @@
returns int4
as '
begin
- return 16;
+ return 17;
end;
' language plpgsql;
comment on function @NAMESPACE@.slonyVersionPatchlevel () is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slon/cleanup_thread.c new/slony1-1.2.17-rc/src/slon/cleanup_thread.c
--- old/slony1-1.2.16/src/slon/cleanup_thread.c 2007-08-22 23:20:23.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slon/cleanup_thread.c 2009-07-29 00:19:38.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: cleanup_thread.c,v 1.33.2.4 2007-08-22 21:20:23 cbbrowne Exp $
+ * $Id: cleanup_thread.c,v 1.33.2.5 2009-07-28 22:19:38 cbbrowne Exp $
*-------------------------------------------------------------------------
*/
@@ -302,11 +302,22 @@
sprintf(tstring, table_list[t], rtcfg_namespace);
if (a_vac==1)
{
- slon_mkquery(&query3,"select (case when pga.enabled ISNULL THEN true ELSE pga.enabled END) "
- "from \"pg_catalog\".pg_namespace PGN, \"pg_catalog\".pg_class PGC LEFT OUTER JOIN "
- "\"pg_catalog\".pg_autovacuum pga ON (PGC.oid = pga.vacrelid) where PGC.relnamespace = PGN.oid "
- "and %s.slon_quote_input('%s')=%s.slon_quote_brute(PGN.nspname) || '.' || %s.slon_quote_brute(PGC.relname);",
- rtcfg_namespace,tstring, rtcfg_namespace, rtcfg_namespace);
+ if (conn->pg_version < 80400) {
+ slon_mkquery(&query3,"select (case when pga.enabled ISNULL THEN true ELSE pga.enabled END) "
+ "from \"pg_catalog\".pg_namespace PGN, \"pg_catalog\".pg_class PGC LEFT OUTER JOIN "
+ "\"pg_catalog\".pg_autovacuum pga ON (PGC.oid = pga.vacrelid) where PGC.relnamespace = PGN.oid "
+ "and %s.slon_quote_input('%s')=%s.slon_quote_brute(PGN.nspname) || '.' || %s.slon_quote_brute(PGC.relname);",
+ rtcfg_namespace,tstring, rtcfg_namespace, rtcfg_namespace);
+
+ } else {
+ /* PostgreSQL 8.4 */
+ slon_mkquery (&query3,
+ "select coalesce ('autovacuum_enabled=on' = any(reloptions), 't'::boolean) "
+ "from \"pg_catalog\".pg_class pgc, \"pg_catalog\".pg_namespace pgn "
+ "where pgc.relnamespace = pgn.oid and %s.slon_quote_input('%s')= "
+ " %s.slon_quote_brute(PGN.nspname) || '.' || %s.slon_quote_brute(PGC.relname);",
+ rtcfg_namespace,tstring, rtcfg_namespace, rtcfg_namespace);
+ }
res = PQexec(dbconn, dstring_data(&query3));
if (PQresultStatus(res) != PGRES_TUPLES_OK) /* query error */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slon/conf-file.c new/slony1-1.2.17-rc/src/slon/conf-file.c
--- old/slony1-1.2.16/src/slon/conf-file.c 2009-05-09 00:07:19.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slon/conf-file.c 2009-07-29 22:35:05.000000000 +0200
@@ -1,5 +1,6 @@
+#line 2 "conf-file.c"
-#line 3 "<stdout>"
+#line 4 "conf-file.c"
#define YY_INT_ALIGNED short int
@@ -503,9 +504,9 @@
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
-#line 1 "src/slon/conf-file.l"
+#line 1 "conf-file.l"
/* Scanner for slon config file */
-#line 4 "src/slon/conf-file.l"
+#line 4 "conf-file.l"
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
@@ -543,7 +544,7 @@
/* prototype, so compiler is happy with our high warnings setting */
int SLON_yylex(void);
char *SLON_scanstr(char *);
-#line 547 "<stdout>"
+#line 548 "conf-file.c"
#define INITIAL 0
@@ -728,10 +729,10 @@
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 67 "src/slon/conf-file.l"
+#line 67 "conf-file.l"
-#line 735 "<stdout>"
+#line 736 "conf-file.c"
if ( !(yy_init) )
{
@@ -813,70 +814,70 @@
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 69 "src/slon/conf-file.l"
+#line 69 "conf-file.l"
ConfigFileLineno++; return SLON_EOL;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 70 "src/slon/conf-file.l"
+#line 70 "conf-file.l"
/* eat whitespace */
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 71 "src/slon/conf-file.l"
+#line 71 "conf-file.l"
/* eat comment */
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 73 "src/slon/conf-file.l"
+#line 73 "conf-file.l"
return SLON_ID;
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 74 "src/slon/conf-file.l"
+#line 74 "conf-file.l"
return SLON_QUALIFIED_ID;
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 75 "src/slon/conf-file.l"
+#line 75 "conf-file.l"
return SLON_STRING;
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 76 "src/slon/conf-file.l"
+#line 76 "conf-file.l"
return SLON_UNQUOTED_STRING;
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 77 "src/slon/conf-file.l"
+#line 77 "conf-file.l"
return SLON_ESCAPED_STRING;
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 78 "src/slon/conf-file.l"
+#line 78 "conf-file.l"
return SLON_INTEGER;
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 79 "src/slon/conf-file.l"
+#line 79 "conf-file.l"
return SLON_REAL;
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 80 "src/slon/conf-file.l"
+#line 80 "conf-file.l"
return SLON_EQUALS;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 82 "src/slon/conf-file.l"
+#line 82 "conf-file.l"
return SLON_FERROR;
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 84 "src/slon/conf-file.l"
+#line 84 "conf-file.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 880 "<stdout>"
+#line 881 "conf-file.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@@ -1834,7 +1835,7 @@
#define YYTABLES_NAME "yytables"
-#line 84 "src/slon/conf-file.l"
+#line 84 "conf-file.l"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slon/confoptions.c new/slony1-1.2.17-rc/src/slon/confoptions.c
--- old/slony1-1.2.16/src/slon/confoptions.c 2007-02-02 21:23:46.000000000 +0100
+++ new/slony1-1.2.17-rc/src/slon/confoptions.c 2009-07-20 18:43:40.000000000 +0200
@@ -560,7 +560,7 @@
},
&slon_log_level,
4,
- 0,
+ -1,
4
},
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slon/dbutils.c new/slony1-1.2.17-rc/src/slon/dbutils.c
--- old/slony1-1.2.16/src/slon/dbutils.c 2006-12-06 10:46:09.000000000 +0100
+++ new/slony1-1.2.17-rc/src/slon/dbutils.c 2009-07-21 00:30:47.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: dbutils.c,v 1.23.2.4 2006-12-06 09:46:09 xfade Exp $
+ * $Id: dbutils.c,v 1.23.2.5 2009-07-20 22:30:47 cbbrowne Exp $
* ----------------------------------------------------------------------
*/
@@ -478,6 +478,12 @@
dstring_append(dsp, buf);
fmt++;
break;
+
+ case 'L':
+ sprintf(buf, "%lld", va_arg(ap, int));
+ dstring_append(dsp, buf);
+ fmt++;
+ break;
default:
dstring_addchar(dsp, '%');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slon/remote_worker.c new/slony1-1.2.17-rc/src/slon/remote_worker.c
--- old/slony1-1.2.16/src/slon/remote_worker.c 2008-09-09 23:30:25.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slon/remote_worker.c 2009-07-21 00:30:47.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: remote_worker.c,v 1.124.2.35 2008-09-09 21:30:25 cbbrowne Exp $
+ * $Id: remote_worker.c,v 1.124.2.37 2009-07-20 22:30:47 cbbrowne Exp $
*-------------------------------------------------------------------------
*/
@@ -5873,7 +5873,7 @@
compress_actionseq(const char *ssy_actionlist, SlonDString * action_subquery)
{
int state;
- int curr_number,
+ long long curr_number,
curr_min,
curr_max;
int curr_digit;
@@ -6021,7 +6021,7 @@
if (state == COLLECTING_DIGITS)
{
/* Finished another number... Fold it into the ranges... */
- slon_log(SLON_DEBUG4, "Finished number: %d\n", curr_number);
+ slon_log(SLON_DEBUG4, "Finished number: %lld\n", curr_number);
/*
* If we haven't a range, then the range is the current
@@ -6072,16 +6072,16 @@
}
if (curr_max == curr_min)
{
- slon_log(SLON_DEBUG4, "simple entry - %d\n", curr_max);
+ slon_log(SLON_DEBUG4, "simple entry - %lld\n", curr_max);
slon_appendquery(action_subquery,
- " log_actionseq <> '%d' ", curr_max);
+ " log_actionseq <> '%L' ", curr_max);
}
else
{
- slon_log(SLON_DEBUG4, "between entry - %d %d\n",
+ slon_log(SLON_DEBUG4, "between entry - %lld %lld\n",
curr_min, curr_max);
slon_appendquery(action_subquery,
- " log_actionseq not between '%d' and '%d' ",
+ " log_actionseq not between '%L' and '%L' ",
curr_min, curr_max);
}
curr_min = curr_number;
@@ -6107,16 +6107,16 @@
}
if (curr_max == curr_min)
{
- slon_log(SLON_DEBUG4, "simple entry - %d\n", curr_max);
+ slon_log(SLON_DEBUG4, "simple entry - %lld\n", curr_max);
slon_appendquery(action_subquery,
- " log_actionseq <> '%d' ", curr_max);
+ " log_actionseq <> '%L' ", curr_max);
}
else
{
- slon_log(SLON_DEBUG4, "between entry - %d %d\n",
+ slon_log(SLON_DEBUG4, "between entry - %lld %lld\n",
curr_min, curr_max);
slon_appendquery(action_subquery,
- " log_actionseq not between '%d' and '%d' ",
+ " log_actionseq not between '%L' and '%L' ",
curr_min, curr_max);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slon/scheduler.c new/slony1-1.2.17-rc/src/slon/scheduler.c
--- old/slony1-1.2.16/src/slon/scheduler.c 2006-10-27 22:09:56.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slon/scheduler.c 2009-06-10 17:02:40.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: scheduler.c,v 1.24.2.2 2006-10-27 20:09:56 cbbrowne Exp $
+ * $Id: scheduler.c,v 1.24.2.3 2009-06-10 15:02:40 wieck Exp $
* ----------------------------------------------------------------------
*/
@@ -425,19 +425,6 @@
struct timeval timeout;
/*
- * Make copies of the file descriptor sets for select(2)
- */
- FD_ZERO(&rfds);
- FD_ZERO(&wfds);
- for (i = 0; i < sched_numfd; i++)
- {
- if (FD_ISSET(i, &sched_fdset_read))
- FD_SET(i, &rfds);
- if (FD_ISSET(i, &sched_fdset_write))
- FD_SET(i, &wfds);
- }
-
- /*
* Check if any of the connections in the wait queue have reached
* their timeout. While doing so, we also remember the closest timeout
* in the future.
@@ -529,6 +516,19 @@
}
/*
+ * Make copies of the file descriptor sets for select(2)
+ */
+ FD_ZERO(&rfds);
+ FD_ZERO(&wfds);
+ for (i = 0; i < sched_numfd; i++)
+ {
+ if (FD_ISSET(i, &sched_fdset_read))
+ FD_SET(i, &rfds);
+ if (FD_ISSET(i, &sched_fdset_write))
+ FD_SET(i, &wfds);
+ }
+
+ /*
* Do the select(2) while unlocking the master lock.
*/
pthread_mutex_unlock(&sched_master_lock);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slonik/parser.c new/slony1-1.2.17-rc/src/slonik/parser.c
--- old/slony1-1.2.16/src/slonik/parser.c 2009-05-09 00:07:19.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slonik/parser.c 2009-07-29 22:35:15.000000000 +0200
@@ -68,7 +68,7 @@
/* Copy the first part of user declarations. */
/* Line 189 of yacc.c */
-#line 1 "src/slonik/parser.y"
+#line 1 "parser.y"
/*-------------------------------------------------------------------------
* parser.y
@@ -363,7 +363,7 @@
{
/* Line 214 of yacc.c */
-#line 106 "src/slonik/parser.y"
+#line 106 "parser.y"
int32 ival;
char *str;
@@ -1889,7 +1889,7 @@
case 2:
/* Line 1455 of yacc.c */
-#line 267 "src/slonik/parser.y"
+#line 267 "parser.y"
{
parser_script = (SlonikScript *)
malloc(sizeof(SlonikScript));
@@ -1905,7 +1905,7 @@
case 3:
/* Line 1455 of yacc.c */
-#line 280 "src/slonik/parser.y"
+#line 280 "parser.y"
{
(yyval.str) = (yyvsp[(5) - (6)].str);
}
@@ -1914,21 +1914,21 @@
case 4:
/* Line 1455 of yacc.c */
-#line 286 "src/slonik/parser.y"
+#line 286 "parser.y"
{ (yyval.adm_info) = (yyvsp[(1) - (1)].adm_info); }
break;
case 5:
/* Line 1455 of yacc.c */
-#line 288 "src/slonik/parser.y"
+#line 288 "parser.y"
{ (yyvsp[(1) - (2)].adm_info)->next = (yyvsp[(2) - (2)].adm_info); (yyval.adm_info) = (yyvsp[(1) - (2)].adm_info); }
break;
case 6:
/* Line 1455 of yacc.c */
-#line 292 "src/slonik/parser.y"
+#line 292 "parser.y"
{
SlonikAdmInfo *new;
@@ -1949,35 +1949,35 @@
case 7:
/* Line 1455 of yacc.c */
-#line 310 "src/slonik/parser.y"
+#line 310 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 8:
/* Line 1455 of yacc.c */
-#line 312 "src/slonik/parser.y"
+#line 312 "parser.y"
{ (yyvsp[(1) - (2)].statement)->next = (yyvsp[(2) - (2)].statement); (yyval.statement) = (yyvsp[(1) - (2)].statement); }
break;
case 9:
/* Line 1455 of yacc.c */
-#line 316 "src/slonik/parser.y"
+#line 316 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 10:
/* Line 1455 of yacc.c */
-#line 318 "src/slonik/parser.y"
+#line 318 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 11:
/* Line 1455 of yacc.c */
-#line 323 "src/slonik/parser.y"
+#line 323 "parser.y"
{
SlonikStmt_try *new;
@@ -1998,7 +1998,7 @@
case 12:
/* Line 1455 of yacc.c */
-#line 340 "src/slonik/parser.y"
+#line 340 "parser.y"
{
SlonikStmt_try *new;
@@ -2020,7 +2020,7 @@
case 13:
/* Line 1455 of yacc.c */
-#line 358 "src/slonik/parser.y"
+#line 358 "parser.y"
{
SlonikStmt_try *new;
@@ -2042,7 +2042,7 @@
case 14:
/* Line 1455 of yacc.c */
-#line 376 "src/slonik/parser.y"
+#line 376 "parser.y"
{
SlonikStmt_try *new;
@@ -2063,7 +2063,7 @@
case 15:
/* Line 1455 of yacc.c */
-#line 392 "src/slonik/parser.y"
+#line 392 "parser.y"
{
SlonikStmt_try *new;
@@ -2083,273 +2083,273 @@
case 16:
/* Line 1455 of yacc.c */
-#line 409 "src/slonik/parser.y"
+#line 409 "parser.y"
{ (yyval.statement) = (yyvsp[(4) - (5)].statement); }
break;
case 17:
/* Line 1455 of yacc.c */
-#line 412 "src/slonik/parser.y"
+#line 412 "parser.y"
{ (yyval.statement) = (yyvsp[(4) - (5)].statement); }
break;
case 18:
/* Line 1455 of yacc.c */
-#line 416 "src/slonik/parser.y"
+#line 416 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 19:
/* Line 1455 of yacc.c */
-#line 418 "src/slonik/parser.y"
+#line 418 "parser.y"
{ (yyvsp[(1) - (2)].statement)->next = (yyvsp[(2) - (2)].statement); (yyval.statement) = (yyvsp[(1) - (2)].statement); }
break;
case 20:
/* Line 1455 of yacc.c */
-#line 422 "src/slonik/parser.y"
+#line 422 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 21:
/* Line 1455 of yacc.c */
-#line 424 "src/slonik/parser.y"
+#line 424 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 22:
/* Line 1455 of yacc.c */
-#line 426 "src/slonik/parser.y"
+#line 426 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 23:
/* Line 1455 of yacc.c */
-#line 428 "src/slonik/parser.y"
+#line 428 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 24:
/* Line 1455 of yacc.c */
-#line 430 "src/slonik/parser.y"
+#line 430 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 25:
/* Line 1455 of yacc.c */
-#line 432 "src/slonik/parser.y"
+#line 432 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 26:
/* Line 1455 of yacc.c */
-#line 434 "src/slonik/parser.y"
+#line 434 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 27:
/* Line 1455 of yacc.c */
-#line 436 "src/slonik/parser.y"
+#line 436 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 28:
/* Line 1455 of yacc.c */
-#line 438 "src/slonik/parser.y"
+#line 438 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 29:
/* Line 1455 of yacc.c */
-#line 440 "src/slonik/parser.y"
+#line 440 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 30:
/* Line 1455 of yacc.c */
-#line 442 "src/slonik/parser.y"
+#line 442 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 31:
/* Line 1455 of yacc.c */
-#line 444 "src/slonik/parser.y"
+#line 444 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 32:
/* Line 1455 of yacc.c */
-#line 446 "src/slonik/parser.y"
+#line 446 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 33:
/* Line 1455 of yacc.c */
-#line 448 "src/slonik/parser.y"
+#line 448 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 34:
/* Line 1455 of yacc.c */
-#line 450 "src/slonik/parser.y"
+#line 450 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 35:
/* Line 1455 of yacc.c */
-#line 452 "src/slonik/parser.y"
+#line 452 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 36:
/* Line 1455 of yacc.c */
-#line 454 "src/slonik/parser.y"
+#line 454 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 37:
/* Line 1455 of yacc.c */
-#line 456 "src/slonik/parser.y"
+#line 456 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 38:
/* Line 1455 of yacc.c */
-#line 458 "src/slonik/parser.y"
+#line 458 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 39:
/* Line 1455 of yacc.c */
-#line 460 "src/slonik/parser.y"
+#line 460 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 40:
/* Line 1455 of yacc.c */
-#line 462 "src/slonik/parser.y"
+#line 462 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 41:
/* Line 1455 of yacc.c */
-#line 464 "src/slonik/parser.y"
+#line 464 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 42:
/* Line 1455 of yacc.c */
-#line 466 "src/slonik/parser.y"
+#line 466 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 43:
/* Line 1455 of yacc.c */
-#line 468 "src/slonik/parser.y"
+#line 468 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 44:
/* Line 1455 of yacc.c */
-#line 470 "src/slonik/parser.y"
+#line 470 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 45:
/* Line 1455 of yacc.c */
-#line 472 "src/slonik/parser.y"
+#line 472 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 46:
/* Line 1455 of yacc.c */
-#line 474 "src/slonik/parser.y"
+#line 474 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 47:
/* Line 1455 of yacc.c */
-#line 476 "src/slonik/parser.y"
+#line 476 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 48:
/* Line 1455 of yacc.c */
-#line 478 "src/slonik/parser.y"
+#line 478 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 49:
/* Line 1455 of yacc.c */
-#line 480 "src/slonik/parser.y"
+#line 480 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 50:
/* Line 1455 of yacc.c */
-#line 482 "src/slonik/parser.y"
+#line 482 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 51:
/* Line 1455 of yacc.c */
-#line 484 "src/slonik/parser.y"
+#line 484 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 52:
/* Line 1455 of yacc.c */
-#line 486 "src/slonik/parser.y"
+#line 486 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 53:
/* Line 1455 of yacc.c */
-#line 488 "src/slonik/parser.y"
+#line 488 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 54:
/* Line 1455 of yacc.c */
-#line 490 "src/slonik/parser.y"
+#line 490 "parser.y"
{ yyerrok;
(yyval.statement) = (yyvsp[(1) - (2)].statement); }
break;
@@ -2357,21 +2357,21 @@
case 55:
/* Line 1455 of yacc.c */
-#line 493 "src/slonik/parser.y"
+#line 493 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 56:
/* Line 1455 of yacc.c */
-#line 495 "src/slonik/parser.y"
+#line 495 "parser.y"
{ (yyval.statement) = (yyvsp[(1) - (1)].statement); }
break;
case 57:
/* Line 1455 of yacc.c */
-#line 499 "src/slonik/parser.y"
+#line 499 "parser.y"
{
SlonikStmt_echo *new;
@@ -2391,7 +2391,7 @@
case 58:
/* Line 1455 of yacc.c */
-#line 516 "src/slonik/parser.y"
+#line 516 "parser.y"
{
SlonikStmt_exit *new;
@@ -2411,7 +2411,7 @@
case 59:
/* Line 1455 of yacc.c */
-#line 533 "src/slonik/parser.y"
+#line 533 "parser.y"
{
SlonikStmt_restart_node *new;
@@ -2431,21 +2431,21 @@
case 60:
/* Line 1455 of yacc.c */
-#line 550 "src/slonik/parser.y"
+#line 550 "parser.y"
{ (yyval.ival) = strtol(yytext, NULL, 10); }
break;
case 61:
/* Line 1455 of yacc.c */
-#line 552 "src/slonik/parser.y"
+#line 552 "parser.y"
{ (yyval.ival) = -(yyvsp[(2) - (2)].ival); }
break;
case 62:
/* Line 1455 of yacc.c */
-#line 556 "src/slonik/parser.y"
+#line 556 "parser.y"
{
SlonikStmt *new;
@@ -2463,7 +2463,7 @@
case 63:
/* Line 1455 of yacc.c */
-#line 571 "src/slonik/parser.y"
+#line 571 "parser.y"
{
SlonikStmt_init_cluster *new;
statement_option opt[] = {
@@ -2494,7 +2494,7 @@
case 64:
/* Line 1455 of yacc.c */
-#line 599 "src/slonik/parser.y"
+#line 599 "parser.y"
{
SlonikStmt_store_node *new;
statement_option opt[] = {
@@ -2529,7 +2529,7 @@
case 65:
/* Line 1455 of yacc.c */
-#line 631 "src/slonik/parser.y"
+#line 631 "parser.y"
{
SlonikStmt_drop_node *new;
statement_option opt[] = {
@@ -2560,7 +2560,7 @@
case 66:
/* Line 1455 of yacc.c */
-#line 659 "src/slonik/parser.y"
+#line 659 "parser.y"
{
SlonikStmt_failed_node *new;
statement_option opt[] = {
@@ -2591,7 +2591,7 @@
case 67:
/* Line 1455 of yacc.c */
-#line 687 "src/slonik/parser.y"
+#line 687 "parser.y"
{
SlonikStmt_uninstall_node *new;
statement_option opt[] = {
@@ -2620,7 +2620,7 @@
case 68:
/* Line 1455 of yacc.c */
-#line 713 "src/slonik/parser.y"
+#line 713 "parser.y"
{
SlonikStmt_store_path *new;
statement_option opt[] = {
@@ -2655,7 +2655,7 @@
case 69:
/* Line 1455 of yacc.c */
-#line 745 "src/slonik/parser.y"
+#line 745 "parser.y"
{
SlonikStmt_drop_path *new;
statement_option opt[] = {
@@ -2688,7 +2688,7 @@
case 70:
/* Line 1455 of yacc.c */
-#line 775 "src/slonik/parser.y"
+#line 775 "parser.y"
{
SlonikStmt_store_listen *new;
statement_option opt[] = {
@@ -2721,7 +2721,7 @@
case 71:
/* Line 1455 of yacc.c */
-#line 805 "src/slonik/parser.y"
+#line 805 "parser.y"
{
SlonikStmt_drop_listen *new;
statement_option opt[] = {
@@ -2754,7 +2754,7 @@
case 72:
/* Line 1455 of yacc.c */
-#line 835 "src/slonik/parser.y"
+#line 835 "parser.y"
{
SlonikStmt_create_set *new;
statement_option opt[] = {
@@ -2787,7 +2787,7 @@
case 73:
/* Line 1455 of yacc.c */
-#line 865 "src/slonik/parser.y"
+#line 865 "parser.y"
{
SlonikStmt_drop_set *new;
statement_option opt[] = {
@@ -2818,7 +2818,7 @@
case 74:
/* Line 1455 of yacc.c */
-#line 893 "src/slonik/parser.y"
+#line 893 "parser.y"
{
SlonikStmt_merge_set *new;
statement_option opt[] = {
@@ -2851,7 +2851,7 @@
case 75:
/* Line 1455 of yacc.c */
-#line 923 "src/slonik/parser.y"
+#line 923 "parser.y"
{
SlonikStmt_table_add_key *new;
statement_option opt[] = {
@@ -2882,7 +2882,7 @@
case 76:
/* Line 1455 of yacc.c */
-#line 951 "src/slonik/parser.y"
+#line 951 "parser.y"
{
SlonikStmt_set_add_table *new;
statement_option opt[] = {
@@ -2923,7 +2923,7 @@
case 77:
/* Line 1455 of yacc.c */
-#line 989 "src/slonik/parser.y"
+#line 989 "parser.y"
{
SlonikStmt_set_add_sequence *new;
statement_option opt[] = {
@@ -2960,7 +2960,7 @@
case 78:
/* Line 1455 of yacc.c */
-#line 1023 "src/slonik/parser.y"
+#line 1023 "parser.y"
{
SlonikStmt_set_drop_table *new;
statement_option opt[] = {
@@ -2989,7 +2989,7 @@
case 79:
/* Line 1455 of yacc.c */
-#line 1049 "src/slonik/parser.y"
+#line 1049 "parser.y"
{
SlonikStmt_set_drop_sequence *new;
statement_option opt[] = {
@@ -3020,7 +3020,7 @@
case 80:
/* Line 1455 of yacc.c */
-#line 1077 "src/slonik/parser.y"
+#line 1077 "parser.y"
{
SlonikStmt_set_move_table *new;
statement_option opt[] = {
@@ -3051,7 +3051,7 @@
case 81:
/* Line 1455 of yacc.c */
-#line 1105 "src/slonik/parser.y"
+#line 1105 "parser.y"
{
SlonikStmt_set_move_sequence *new;
statement_option opt[] = {
@@ -3084,7 +3084,7 @@
case 82:
/* Line 1455 of yacc.c */
-#line 1135 "src/slonik/parser.y"
+#line 1135 "parser.y"
{
SlonikStmt_store_trigger *new;
statement_option opt[] = {
@@ -3117,7 +3117,7 @@
case 83:
/* Line 1455 of yacc.c */
-#line 1165 "src/slonik/parser.y"
+#line 1165 "parser.y"
{
SlonikStmt_drop_trigger *new;
statement_option opt[] = {
@@ -3150,7 +3150,7 @@
case 84:
/* Line 1455 of yacc.c */
-#line 1195 "src/slonik/parser.y"
+#line 1195 "parser.y"
{
SlonikStmt_subscribe_set *new;
statement_option opt[] = {
@@ -3185,7 +3185,7 @@
case 85:
/* Line 1455 of yacc.c */
-#line 1227 "src/slonik/parser.y"
+#line 1227 "parser.y"
{
SlonikStmt_unsubscribe_set *new;
statement_option opt[] = {
@@ -3216,7 +3216,7 @@
case 86:
/* Line 1455 of yacc.c */
-#line 1255 "src/slonik/parser.y"
+#line 1255 "parser.y"
{
SlonikStmt_lock_set *new;
statement_option opt[] = {
@@ -3247,7 +3247,7 @@
case 87:
/* Line 1455 of yacc.c */
-#line 1283 "src/slonik/parser.y"
+#line 1283 "parser.y"
{
SlonikStmt_unlock_set *new;
statement_option opt[] = {
@@ -3278,7 +3278,7 @@
case 88:
/* Line 1455 of yacc.c */
-#line 1311 "src/slonik/parser.y"
+#line 1311 "parser.y"
{
SlonikStmt_move_set *new;
statement_option opt[] = {
@@ -3311,7 +3311,7 @@
case 89:
/* Line 1455 of yacc.c */
-#line 1341 "src/slonik/parser.y"
+#line 1341 "parser.y"
{
SlonikStmt_ddl_script *new;
statement_option opt[] = {
@@ -3347,7 +3347,7 @@
case 90:
/* Line 1455 of yacc.c */
-#line 1374 "src/slonik/parser.y"
+#line 1374 "parser.y"
{
SlonikStmt_update_functions *new;
statement_option opt[] = {
@@ -3376,7 +3376,7 @@
case 91:
/* Line 1455 of yacc.c */
-#line 1399 "src/slonik/parser.y"
+#line 1399 "parser.y"
{
SlonikStmt_repair_config *new;
statement_option opt[] = {
@@ -3410,7 +3410,7 @@
case 92:
/* Line 1455 of yacc.c */
-#line 1430 "src/slonik/parser.y"
+#line 1430 "parser.y"
{
SlonikStmt_wait_event *new;
statement_option opt[] = {
@@ -3445,7 +3445,7 @@
case 93:
/* Line 1455 of yacc.c */
-#line 1462 "src/slonik/parser.y"
+#line 1462 "parser.y"
{
SlonikStmt_switch_log *new;
statement_option opt[] = {
@@ -3474,7 +3474,7 @@
case 94:
/* Line 1455 of yacc.c */
-#line 1488 "src/slonik/parser.y"
+#line 1488 "parser.y"
{
SlonikStmt_sync *new;
statement_option opt[] = {
@@ -3503,7 +3503,7 @@
case 95:
/* Line 1455 of yacc.c */
-#line 1514 "src/slonik/parser.y"
+#line 1514 "parser.y"
{
SlonikStmt_sleep *new;
statement_option opt[] = {
@@ -3532,35 +3532,35 @@
case 96:
/* Line 1455 of yacc.c */
-#line 1540 "src/slonik/parser.y"
+#line 1540 "parser.y"
{ (yyval.opt_list) = NULL; }
break;
case 97:
/* Line 1455 of yacc.c */
-#line 1542 "src/slonik/parser.y"
+#line 1542 "parser.y"
{ (yyval.opt_list) = (yyvsp[(2) - (4)].opt_list); }
break;
case 98:
/* Line 1455 of yacc.c */
-#line 1546 "src/slonik/parser.y"
+#line 1546 "parser.y"
{ (yyval.opt_list) = (yyvsp[(1) - (1)].opt_list); }
break;
case 99:
/* Line 1455 of yacc.c */
-#line 1548 "src/slonik/parser.y"
+#line 1548 "parser.y"
{ (yyvsp[(1) - (3)].opt_list)->next = (yyvsp[(3) - (3)].opt_list); (yyval.opt_list) = (yyvsp[(1) - (3)].opt_list); }
break;
case 100:
/* Line 1455 of yacc.c */
-#line 1552 "src/slonik/parser.y"
+#line 1552 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_ID;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3570,7 +3570,7 @@
case 101:
/* Line 1455 of yacc.c */
-#line 1557 "src/slonik/parser.y"
+#line 1557 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_BACKUP_NODE;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3580,7 +3580,7 @@
case 102:
/* Line 1455 of yacc.c */
-#line 1562 "src/slonik/parser.y"
+#line 1562 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_EVENT_NODE;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3590,7 +3590,7 @@
case 103:
/* Line 1455 of yacc.c */
-#line 1567 "src/slonik/parser.y"
+#line 1567 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_SERVER;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3600,7 +3600,7 @@
case 104:
/* Line 1455 of yacc.c */
-#line 1572 "src/slonik/parser.y"
+#line 1572 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_CLIENT;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3610,7 +3610,7 @@
case 105:
/* Line 1455 of yacc.c */
-#line 1577 "src/slonik/parser.y"
+#line 1577 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_ORIGIN;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3620,7 +3620,7 @@
case 106:
/* Line 1455 of yacc.c */
-#line 1582 "src/slonik/parser.y"
+#line 1582 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_OLD_ORIGIN;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3630,7 +3630,7 @@
case 107:
/* Line 1455 of yacc.c */
-#line 1587 "src/slonik/parser.y"
+#line 1587 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_NEW_ORIGIN;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3640,7 +3640,7 @@
case 108:
/* Line 1455 of yacc.c */
-#line 1592 "src/slonik/parser.y"
+#line 1592 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_NEW_SET;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3650,7 +3650,7 @@
case 109:
/* Line 1455 of yacc.c */
-#line 1597 "src/slonik/parser.y"
+#line 1597 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_RECEIVER;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3660,7 +3660,7 @@
case 110:
/* Line 1455 of yacc.c */
-#line 1602 "src/slonik/parser.y"
+#line 1602 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_PROVIDER;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3670,7 +3670,7 @@
case 111:
/* Line 1455 of yacc.c */
-#line 1607 "src/slonik/parser.y"
+#line 1607 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_CONNRETRY;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3680,7 +3680,7 @@
case 112:
/* Line 1455 of yacc.c */
-#line 1612 "src/slonik/parser.y"
+#line 1612 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_COMMENT;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3690,7 +3690,7 @@
case 113:
/* Line 1455 of yacc.c */
-#line 1617 "src/slonik/parser.y"
+#line 1617 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_CONNINFO;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3700,7 +3700,7 @@
case 114:
/* Line 1455 of yacc.c */
-#line 1622 "src/slonik/parser.y"
+#line 1622 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_SET_ID;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3710,7 +3710,7 @@
case 115:
/* Line 1455 of yacc.c */
-#line 1627 "src/slonik/parser.y"
+#line 1627 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_ADD_ID;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3720,7 +3720,7 @@
case 116:
/* Line 1455 of yacc.c */
-#line 1632 "src/slonik/parser.y"
+#line 1632 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_NODE_ID;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3730,7 +3730,7 @@
case 117:
/* Line 1455 of yacc.c */
-#line 1637 "src/slonik/parser.y"
+#line 1637 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_TAB_ID;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3740,7 +3740,7 @@
case 118:
/* Line 1455 of yacc.c */
-#line 1642 "src/slonik/parser.y"
+#line 1642 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_TRIG_NAME;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3750,7 +3750,7 @@
case 119:
/* Line 1455 of yacc.c */
-#line 1647 "src/slonik/parser.y"
+#line 1647 "parser.y"
{
(yyvsp[(5) - (5)].opt_list)->opt_code = O_FQNAME;
(yyval.opt_list) = (yyvsp[(5) - (5)].opt_list);
@@ -3760,7 +3760,7 @@
case 120:
/* Line 1455 of yacc.c */
-#line 1652 "src/slonik/parser.y"
+#line 1652 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_USE_KEY;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3770,7 +3770,7 @@
case 121:
/* Line 1455 of yacc.c */
-#line 1657 "src/slonik/parser.y"
+#line 1657 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3788,7 +3788,7 @@
case 122:
/* Line 1455 of yacc.c */
-#line 1670 "src/slonik/parser.y"
+#line 1670 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_FORWARD;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3798,7 +3798,7 @@
case 123:
/* Line 1455 of yacc.c */
-#line 1675 "src/slonik/parser.y"
+#line 1675 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_FILENAME;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3808,7 +3808,7 @@
case 124:
/* Line 1455 of yacc.c */
-#line 1680 "src/slonik/parser.y"
+#line 1680 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3826,7 +3826,7 @@
case 125:
/* Line 1455 of yacc.c */
-#line 1693 "src/slonik/parser.y"
+#line 1693 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_WAIT_CONFIRMED;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3836,7 +3836,7 @@
case 126:
/* Line 1455 of yacc.c */
-#line 1698 "src/slonik/parser.y"
+#line 1698 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3854,7 +3854,7 @@
case 127:
/* Line 1455 of yacc.c */
-#line 1711 "src/slonik/parser.y"
+#line 1711 "parser.y"
{
(yyvsp[(4) - (4)].opt_list)->opt_code = O_WAIT_ON;
(yyval.opt_list) = (yyvsp[(4) - (4)].opt_list);
@@ -3864,7 +3864,7 @@
case 128:
/* Line 1455 of yacc.c */
-#line 1716 "src/slonik/parser.y"
+#line 1716 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_TIMEOUT;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3874,7 +3874,7 @@
case 129:
/* Line 1455 of yacc.c */
-#line 1721 "src/slonik/parser.y"
+#line 1721 "parser.y"
{
(yyvsp[(5) - (5)].opt_list)->opt_code = O_EXECUTE_ONLY_ON;
(yyval.opt_list) = (yyvsp[(5) - (5)].opt_list);
@@ -3884,7 +3884,7 @@
case 130:
/* Line 1455 of yacc.c */
-#line 1726 "src/slonik/parser.y"
+#line 1726 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_SPOOLNODE;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3894,7 +3894,7 @@
case 131:
/* Line 1455 of yacc.c */
-#line 1731 "src/slonik/parser.y"
+#line 1731 "parser.y"
{
(yyvsp[(3) - (3)].opt_list)->opt_code = O_SECONDS;
(yyval.opt_list) = (yyvsp[(3) - (3)].opt_list);
@@ -3904,7 +3904,7 @@
case 132:
/* Line 1455 of yacc.c */
-#line 1738 "src/slonik/parser.y"
+#line 1738 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3921,7 +3921,7 @@
case 133:
/* Line 1455 of yacc.c */
-#line 1752 "src/slonik/parser.y"
+#line 1752 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3938,7 +3938,7 @@
case 134:
/* Line 1455 of yacc.c */
-#line 1766 "src/slonik/parser.y"
+#line 1766 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3955,7 +3955,7 @@
case 135:
/* Line 1455 of yacc.c */
-#line 1778 "src/slonik/parser.y"
+#line 1778 "parser.y"
{
option_list *new;
new = (option_list *)malloc(sizeof(option_list));
@@ -3972,7 +3972,7 @@
case 142:
/* Line 1455 of yacc.c */
-#line 1802 "src/slonik/parser.y"
+#line 1802 "parser.y"
{
(yyval.ival) = strtol(yytext, NULL, 10);
}
@@ -3981,7 +3981,7 @@
case 143:
/* Line 1455 of yacc.c */
-#line 1808 "src/slonik/parser.y"
+#line 1808 "parser.y"
{
char *ret;
@@ -3996,7 +3996,7 @@
case 144:
/* Line 1455 of yacc.c */
-#line 1820 "src/slonik/parser.y"
+#line 1820 "parser.y"
{
char *ret;
@@ -4011,7 +4011,7 @@
case 145:
/* Line 1455 of yacc.c */
-#line 1832 "src/slonik/parser.y"
+#line 1832 "parser.y"
{ (yyval.ival) = yylineno; }
break;
@@ -4230,7 +4230,7 @@
/* Line 1675 of yacc.c */
-#line 1835 "src/slonik/parser.y"
+#line 1835 "parser.y"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slonik/scan.c new/slony1-1.2.17-rc/src/slonik/scan.c
--- old/slony1-1.2.16/src/slonik/scan.c 2009-05-09 00:07:19.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slonik/scan.c 2009-07-29 22:35:15.000000000 +0200
@@ -1,5 +1,6 @@
+#line 2 "scan.c"
-#line 3 "<stdout>"
+#line 4 "scan.c"
#define YY_INT_ALIGNED short int
@@ -807,8 +808,8 @@
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
-#line 1 "src/slonik/scan.l"
-#line 2 "src/slonik/scan.l"
+#line 1 "scan.l"
+#line 2 "scan.l"
/*-------------------------------------------------------------------------
* scan.l
*
@@ -850,7 +851,7 @@
quoted_ident (\"[^\"]*\")+
identifier ({ident_start}{ident_cont}*|{quoted_ident})
*/
-#line 854 "<stdout>"
+#line 855 "scan.c"
#define INITIAL 0
#define incl 1
@@ -1038,14 +1039,14 @@
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 60 "src/slonik/scan.l"
+#line 60 "scan.l"
char *start_charpos = NULL;
BEGIN(INITIAL);
-#line 1049 "<stdout>"
+#line 1050 "scan.c"
if ( !(yy_init) )
{
@@ -1141,399 +1142,399 @@
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
-#line 66 "src/slonik/scan.l"
+#line 66 "scan.l"
{ BEGIN(incl); }
YY_BREAK
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 67 "src/slonik/scan.l"
+#line 67 "scan.l"
{ BEGIN(define); }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 69 "src/slonik/scan.l"
+#line 69 "scan.l"
{ return K_ADD; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 70 "src/slonik/scan.l"
+#line 70 "scan.l"
{ return K_ADMIN; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 71 "src/slonik/scan.l"
+#line 71 "scan.l"
{ return K_ALL; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 72 "src/slonik/scan.l"
+#line 72 "scan.l"
{ return K_BACKUP; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 73 "src/slonik/scan.l"
+#line 73 "scan.l"
{ return K_CLIENT; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 74 "src/slonik/scan.l"
+#line 74 "scan.l"
{ return K_CLUSTER; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 75 "src/slonik/scan.l"
+#line 75 "scan.l"
{ return K_COMMENT; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 76 "src/slonik/scan.l"
+#line 76 "scan.l"
{ return K_CONFIG; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 77 "src/slonik/scan.l"
+#line 77 "scan.l"
{ return K_CONFIRMED; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 78 "src/slonik/scan.l"
+#line 78 "scan.l"
{ return K_CONNINFO; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 79 "src/slonik/scan.l"
+#line 79 "scan.l"
{ return K_CONNRETRY; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 80 "src/slonik/scan.l"
+#line 80 "scan.l"
{ return K_CREATE; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 81 "src/slonik/scan.l"
+#line 81 "scan.l"
{ return K_DROP; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 82 "src/slonik/scan.l"
+#line 82 "scan.l"
{ return K_ECHO; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 83 "src/slonik/scan.l"
+#line 83 "scan.l"
{ return K_ERROR; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 84 "src/slonik/scan.l"
+#line 84 "scan.l"
{ return K_EVENT; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 85 "src/slonik/scan.l"
+#line 85 "scan.l"
{ return K_EXECUTE; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 86 "src/slonik/scan.l"
+#line 86 "scan.l"
{ return K_EXIT; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 87 "src/slonik/scan.l"
+#line 87 "scan.l"
{ return K_FAILOVER; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 88 "src/slonik/scan.l"
+#line 88 "scan.l"
{ return K_FALSE; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 89 "src/slonik/scan.l"
+#line 89 "scan.l"
{ return K_FILENAME; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 90 "src/slonik/scan.l"
+#line 90 "scan.l"
{ return K_FOR; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 91 "src/slonik/scan.l"
+#line 91 "scan.l"
{ return K_FORWARD; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 92 "src/slonik/scan.l"
+#line 92 "scan.l"
{ return K_FULL; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 93 "src/slonik/scan.l"
+#line 93 "scan.l"
{ return K_FULL; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 94 "src/slonik/scan.l"
+#line 94 "scan.l"
{ return K_FUNCTIONS; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 95 "src/slonik/scan.l"
+#line 95 "scan.l"
{ return K_ID; }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 96 "src/slonik/scan.l"
+#line 96 "scan.l"
{ return K_INIT; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 97 "src/slonik/scan.l"
+#line 97 "scan.l"
{ return K_KEY; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 98 "src/slonik/scan.l"
+#line 98 "scan.l"
{ return K_LISTEN; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 99 "src/slonik/scan.l"
+#line 99 "scan.l"
{ return K_LOCK; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 100 "src/slonik/scan.l"
+#line 100 "scan.l"
{ return K_LOG; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 101 "src/slonik/scan.l"
+#line 101 "scan.l"
{ return K_MERGE; }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 102 "src/slonik/scan.l"
+#line 102 "scan.l"
{ return K_MOVE; }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 103 "src/slonik/scan.l"
+#line 103 "scan.l"
{ return K_NAME; }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 104 "src/slonik/scan.l"
+#line 104 "scan.l"
{ return K_NEW; }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 105 "src/slonik/scan.l"
+#line 105 "scan.l"
{ return K_NO; }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 106 "src/slonik/scan.l"
+#line 106 "scan.l"
{ return K_NODE; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 107 "src/slonik/scan.l"
+#line 107 "scan.l"
{ return K_OFF; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 108 "src/slonik/scan.l"
+#line 108 "scan.l"
{ return K_OLD; }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 109 "src/slonik/scan.l"
+#line 109 "scan.l"
{ return K_ON; }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 110 "src/slonik/scan.l"
+#line 110 "scan.l"
{ return K_ONLY; }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 111 "src/slonik/scan.l"
+#line 111 "scan.l"
{ return K_ORIGIN; }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 112 "src/slonik/scan.l"
+#line 112 "scan.l"
{ return K_PATH; }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 113 "src/slonik/scan.l"
+#line 113 "scan.l"
{ return K_PROVIDER; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 114 "src/slonik/scan.l"
+#line 114 "scan.l"
{ return K_QUALIFIED; }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 115 "src/slonik/scan.l"
+#line 115 "scan.l"
{ return K_RECEIVER; }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 116 "src/slonik/scan.l"
+#line 116 "scan.l"
{ return K_REPAIR; }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 117 "src/slonik/scan.l"
+#line 117 "scan.l"
{ return K_RESTART; }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 118 "src/slonik/scan.l"
+#line 118 "scan.l"
{ return K_SCRIPT; }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 119 "src/slonik/scan.l"
+#line 119 "scan.l"
{ return K_SECONDS; }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 120 "src/slonik/scan.l"
+#line 120 "scan.l"
{ return K_SEQUENCE; }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 121 "src/slonik/scan.l"
+#line 121 "scan.l"
{ return K_SERIAL; }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 122 "src/slonik/scan.l"
+#line 122 "scan.l"
{ return K_SERVER; }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 123 "src/slonik/scan.l"
+#line 123 "scan.l"
{ return K_SET; }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 124 "src/slonik/scan.l"
+#line 124 "scan.l"
{ return K_SLEEP; }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 125 "src/slonik/scan.l"
+#line 125 "scan.l"
{ return K_SPOOLNODE; }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 126 "src/slonik/scan.l"
+#line 126 "scan.l"
{ return K_STORE; }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 127 "src/slonik/scan.l"
+#line 127 "scan.l"
{ return K_SUBSCRIBE; }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 128 "src/slonik/scan.l"
+#line 128 "scan.l"
{ return K_SUCCESS; }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 129 "src/slonik/scan.l"
+#line 129 "scan.l"
{ return K_SWITCH; }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 130 "src/slonik/scan.l"
+#line 130 "scan.l"
{ return K_SYNC; }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 131 "src/slonik/scan.l"
+#line 131 "scan.l"
{ return K_TABLE; }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 132 "src/slonik/scan.l"
+#line 132 "scan.l"
{ return K_TIMEOUT; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 133 "src/slonik/scan.l"
+#line 133 "scan.l"
{ return K_TRIGGER; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 134 "src/slonik/scan.l"
+#line 134 "scan.l"
{ return K_TRUE; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 135 "src/slonik/scan.l"
+#line 135 "scan.l"
{ return K_TRY; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 136 "src/slonik/scan.l"
+#line 136 "scan.l"
{ return K_UNINSTALL; }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 137 "src/slonik/scan.l"
+#line 137 "scan.l"
{ return K_UNLOCK; }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 138 "src/slonik/scan.l"
+#line 138 "scan.l"
{ return K_UNSUBSCRIBE; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 139 "src/slonik/scan.l"
+#line 139 "scan.l"
{ return K_UPDATE; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 140 "src/slonik/scan.l"
+#line 140 "scan.l"
{ return K_YES; }
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 141 "src/slonik/scan.l"
+#line 141 "scan.l"
{ return K_WAIT; }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 143 "src/slonik/scan.l"
+#line 143 "scan.l"
{ return T_NUMBER; }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 144 "src/slonik/scan.l"
+#line 144 "scan.l"
{ return T_IDENT; }
YY_BREAK
case 78:
/* rule 78 can match eol */
YY_RULE_SETUP
-#line 146 "src/slonik/scan.l"
+#line 146 "scan.l"
;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 148 "src/slonik/scan.l"
+#line 148 "scan.l"
{
start_charpos = yytext;
BEGIN(IN_STRING);
@@ -1541,22 +1542,22 @@
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 152 "src/slonik/scan.l"
+#line 152 "scan.l"
{ }
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 153 "src/slonik/scan.l"
+#line 153 "scan.l"
{ }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 154 "src/slonik/scan.l"
+#line 154 "scan.l"
{ }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 155 "src/slonik/scan.l"
+#line 155 "scan.l"
{
yyleng += (yytext - start_charpos) - 2;
yytext = start_charpos + 1;
@@ -1567,18 +1568,18 @@
case 84:
/* rule 84 can match eol */
YY_RULE_SETUP
-#line 161 "src/slonik/scan.l"
+#line 161 "scan.l"
{}
YY_BREAK
case 85:
/* rule 85 can match eol */
YY_RULE_SETUP
-#line 163 "src/slonik/scan.l"
+#line 163 "scan.l"
{ addSymbol( yytext ); BEGIN(INITIAL); }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 165 "src/slonik/scan.l"
+#line 165 "scan.l"
{
char * value = getSymbol( yytext );
@@ -1592,7 +1593,7 @@
case 87:
/* rule 87 can match eol */
YY_RULE_SETUP
-#line 175 "src/slonik/scan.l"
+#line 175 "scan.l"
{
char * fileName = strdup( yytext + 1 ); /* Skip '<' */
@@ -1616,7 +1617,7 @@
case YY_STATE_EOF(incl):
case YY_STATE_EOF(define):
case YY_STATE_EOF(IN_STRING):
-#line 194 "src/slonik/scan.l"
+#line 194 "scan.l"
{
if( yy_buffer == NULL )
yyterminate();
@@ -1626,20 +1627,20 @@
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 201 "src/slonik/scan.l"
+#line 201 "scan.l"
;
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 203 "src/slonik/scan.l"
+#line 203 "scan.l"
{ return yytext[0]; }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 205 "src/slonik/scan.l"
+#line 205 "scan.l"
ECHO;
YY_BREAK
-#line 1643 "<stdout>"
+#line 1644 "scan.c"
case YY_END_OF_BUFFER:
{
@@ -2606,7 +2607,7 @@
#define YYTABLES_NAME "yytables"
-#line 205 "src/slonik/scan.l"
+#line 205 "scan.l"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slonik/y.tab.h new/slony1-1.2.17-rc/src/slonik/y.tab.h
--- old/slony1-1.2.16/src/slonik/y.tab.h 1970-01-01 01:00:00.000000000 +0100
+++ new/slony1-1.2.17-rc/src/slonik/y.tab.h 2009-07-29 22:35:15.000000000 +0200
@@ -0,0 +1,226 @@
+
+/* A Bison parser, made by GNU Bison 2.4.1. */
+
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ K_ADD = 258,
+ K_ADMIN = 259,
+ K_ALL = 260,
+ K_BACKUP = 261,
+ K_CLIENT = 262,
+ K_CLUSTER = 263,
+ K_CLUSTERNAME = 264,
+ K_COMMENT = 265,
+ K_CONFIRMED = 266,
+ K_CONFIG = 267,
+ K_CONNINFO = 268,
+ K_CONNRETRY = 269,
+ K_CREATE = 270,
+ K_DROP = 271,
+ K_ECHO = 272,
+ K_ERROR = 273,
+ K_EVENT = 274,
+ K_EXECUTE = 275,
+ K_EXIT = 276,
+ K_FAILOVER = 277,
+ K_FALSE = 278,
+ K_FILENAME = 279,
+ K_FOR = 280,
+ K_FORWARD = 281,
+ K_FULL = 282,
+ K_FUNCTIONS = 283,
+ K_ID = 284,
+ K_INIT = 285,
+ K_KEY = 286,
+ K_LISTEN = 287,
+ K_LOCK = 288,
+ K_LOG = 289,
+ K_MERGE = 290,
+ K_MOVE = 291,
+ K_NAME = 292,
+ K_NEW = 293,
+ K_NO = 294,
+ K_NODE = 295,
+ K_OFF = 296,
+ K_OLD = 297,
+ K_ON = 298,
+ K_ONLY = 299,
+ K_ORIGIN = 300,
+ K_PATH = 301,
+ K_PROVIDER = 302,
+ K_QUALIFIED = 303,
+ K_RECEIVER = 304,
+ K_REPAIR = 305,
+ K_RESTART = 306,
+ K_SCRIPT = 307,
+ K_SECONDS = 308,
+ K_SEQUENCE = 309,
+ K_SERIAL = 310,
+ K_SERVER = 311,
+ K_SET = 312,
+ K_SPOOLNODE = 313,
+ K_STORE = 314,
+ K_SUBSCRIBE = 315,
+ K_SUCCESS = 316,
+ K_SWITCH = 317,
+ K_TABLE = 318,
+ K_TIMEOUT = 319,
+ K_TRIGGER = 320,
+ K_TRUE = 321,
+ K_TRY = 322,
+ K_UNINSTALL = 323,
+ K_UNLOCK = 324,
+ K_UNSUBSCRIBE = 325,
+ K_UPDATE = 326,
+ K_YES = 327,
+ K_WAIT = 328,
+ K_SYNC = 329,
+ K_SLEEP = 330,
+ T_IDENT = 331,
+ T_LITERAL = 332,
+ T_NUMBER = 333
+ };
+#endif
+/* Tokens. */
+#define K_ADD 258
+#define K_ADMIN 259
+#define K_ALL 260
+#define K_BACKUP 261
+#define K_CLIENT 262
+#define K_CLUSTER 263
+#define K_CLUSTERNAME 264
+#define K_COMMENT 265
+#define K_CONFIRMED 266
+#define K_CONFIG 267
+#define K_CONNINFO 268
+#define K_CONNRETRY 269
+#define K_CREATE 270
+#define K_DROP 271
+#define K_ECHO 272
+#define K_ERROR 273
+#define K_EVENT 274
+#define K_EXECUTE 275
+#define K_EXIT 276
+#define K_FAILOVER 277
+#define K_FALSE 278
+#define K_FILENAME 279
+#define K_FOR 280
+#define K_FORWARD 281
+#define K_FULL 282
+#define K_FUNCTIONS 283
+#define K_ID 284
+#define K_INIT 285
+#define K_KEY 286
+#define K_LISTEN 287
+#define K_LOCK 288
+#define K_LOG 289
+#define K_MERGE 290
+#define K_MOVE 291
+#define K_NAME 292
+#define K_NEW 293
+#define K_NO 294
+#define K_NODE 295
+#define K_OFF 296
+#define K_OLD 297
+#define K_ON 298
+#define K_ONLY 299
+#define K_ORIGIN 300
+#define K_PATH 301
+#define K_PROVIDER 302
+#define K_QUALIFIED 303
+#define K_RECEIVER 304
+#define K_REPAIR 305
+#define K_RESTART 306
+#define K_SCRIPT 307
+#define K_SECONDS 308
+#define K_SEQUENCE 309
+#define K_SERIAL 310
+#define K_SERVER 311
+#define K_SET 312
+#define K_SPOOLNODE 313
+#define K_STORE 314
+#define K_SUBSCRIBE 315
+#define K_SUCCESS 316
+#define K_SWITCH 317
+#define K_TABLE 318
+#define K_TIMEOUT 319
+#define K_TRIGGER 320
+#define K_TRUE 321
+#define K_TRY 322
+#define K_UNINSTALL 323
+#define K_UNLOCK 324
+#define K_UNSUBSCRIBE 325
+#define K_UPDATE 326
+#define K_YES 327
+#define K_WAIT 328
+#define K_SYNC 329
+#define K_SLEEP 330
+#define T_IDENT 331
+#define T_LITERAL 332
+#define T_NUMBER 333
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+/* Line 1676 of yacc.c */
+#line 106 "parser.y"
+
+ int32 ival;
+ char *str;
+ option_list *opt_list;
+ SlonikAdmInfo *adm_info;
+ SlonikStmt *statement;
+
+
+
+/* Line 1676 of yacc.c */
+#line 218 "y.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+extern YYSTYPE yylval;
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slony_logshipper/scan.l new/slony1-1.2.17-rc/src/slony_logshipper/scan.l
--- old/slony1-1.2.16/src/slony_logshipper/scan.l 2008-05-13 23:40:28.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slony_logshipper/scan.l 2009-07-07 17:00:16.000000000 +0200
@@ -7,7 +7,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: scan.l,v 1.1.2.2 2008-05-13 21:40:28 cbbrowne Exp $
+ * $Id: scan.l,v 1.1.2.3 2009-07-07 15:00:16 cbbrowne Exp $
*-------------------------------------------------------------------------
*/
@@ -173,6 +173,7 @@
break;
}
*cp++ = c;
+ *cp++ = c;
len+=2;
continue;
}
@@ -189,6 +190,7 @@
if (c == '\'')
{
*cp++ = c;
+ *cp++ = c;
len+=2;
continue;
}
@@ -242,6 +244,7 @@
break;
}
*cp++ = c;
+ *cp++ = c;
len+=2;
continue;
}
@@ -258,6 +261,7 @@
if (c == '\'')
{
*cp++ = c;
+ *cp++ = c;
len+=2;
continue;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/slony_logshipper/slony_logshipper.c new/slony1-1.2.17-rc/src/slony_logshipper/slony_logshipper.c
--- old/slony1-1.2.16/src/slony_logshipper/slony_logshipper.c 2007-09-08 16:21:40.000000000 +0200
+++ new/slony1-1.2.17-rc/src/slony_logshipper/slony_logshipper.c 2009-07-08 22:37:39.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: slony_logshipper.c,v 1.1.2.1 2007-09-08 14:21:40 wieck Exp $
+ * $Id: slony_logshipper.c,v 1.1.2.2 2009-07-08 20:37:39 cbbrowne Exp $
*-------------------------------------------------------------------------
*/
@@ -47,6 +47,7 @@
/*
* Global data
*/
+int rescan_interval = 0;
int parse_errors = 0;
int opt_quiet = 0;
char *destinationfname = NULL;
@@ -134,7 +135,7 @@
* Parse commandline options
*
*/
- while ((opt = getopt(argc, (char **)argv, "hvqcflrtTw")) != EOF)
+ while ((opt = getopt(argc, (char **)argv, "hvqcflrtTws:")) != EOF)
{
switch (opt)
{
@@ -178,6 +179,10 @@
case 'w':
opt_nowait = 1;
break;
+
+ case 's':
+ rescan_interval = atoi(optarg);
+ break;
default:
fprintf(stderr, "unknown option '%c'\n", opt);
@@ -311,7 +316,7 @@
break;
default: if (!opt_quiet)
- printf("logshipper deamon created - pid = %d\n",
+ printf("logshipper daemon created - pid = %d\n",
pid);
return 0;
}
@@ -365,6 +370,19 @@
if (rc == 0)
break;
+ if (rc == -2)
+ {
+ archscan_sort = NULL;
+ errlog(LOG_INFO, "Queue is empty. Going to rescan in %d seconds\n", rescan_interval);
+ sleep(rescan_interval);
+ if (archscan(optind, argc, (char **)argv) < 0)
+ {
+ return -1;
+ }
+ errlog(LOG_INFO, "Archive dir scanned\n");
+ continue;
+ }
+
if (rc < 0)
{
return -1;
@@ -1172,6 +1190,7 @@
" (use with caution)\n"
" -f stay in foreground (don't daemonize)\n"
" -w enter smart shutdown mode immediately\n"
+ " -s indicate (integer value) rescan interval\n"
"\n");
exit(1);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/src/xxid/xxid.c new/slony1-1.2.17-rc/src/xxid/xxid.c
--- old/slony1-1.2.16/src/xxid/xxid.c 2007-05-15 00:04:49.000000000 +0200
+++ new/slony1-1.2.17-rc/src/xxid/xxid.c 2009-07-23 20:30:04.000000000 +0200
@@ -6,7 +6,7 @@
* Copyright (c) 2003-2004, PostgreSQL Global Development Group
* Author: Jan Wieck, Afilias USA INC.
*
- * $Id: xxid.c,v 1.12.2.3 2007-05-14 22:04:49 wieck Exp $
+ * $Id: xxid.c,v 1.12.2.4 2009-07-23 18:30:04 wieck Exp $
*-------------------------------------------------------------------------
*/
@@ -18,6 +18,9 @@
#include "access/xact.h"
#include "access/transam.h"
#include "executor/spi.h"
+#ifdef HAVE_GETACTIVESNAPSHOT
+#include "utils/snapmgr.h"
+#endif
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
@@ -233,6 +236,10 @@
Datum
_Slony_I_getMinXid(PG_FUNCTION_ARGS)
{
+#ifdef HAVE_GETACTIVESNAPSHOT
+ Snapshot SerializableSnapshot = GetActiveSnapshot();
+#endif
+
if (SerializableSnapshot == NULL)
elog(ERROR, "Slony-I: SerializableSnapshot is NULL in getMinXid()");
@@ -246,6 +253,9 @@
Datum
_Slony_I_getMaxXid(PG_FUNCTION_ARGS)
{
+#ifdef HAVE_GETACTIVESNAPSHOT
+ Snapshot SerializableSnapshot = GetActiveSnapshot();
+#endif
if (SerializableSnapshot == NULL)
elog(ERROR, "Slony-I: SerializableSnapshot is NULL in getMaxXid()");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/slony1-1.2.16/tests/run_test.sh new/slony1-1.2.17-rc/tests/run_test.sh
--- old/slony1-1.2.16/tests/run_test.sh 2008-03-07 20:00:14.000000000 +0100
+++ new/slony1-1.2.17-rc/tests/run_test.sh 2009-07-29 00:20:48.000000000 +0200
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Id: run_test.sh,v 1.11.2.3 2008-03-07 19:00:14 cbbrowne Exp $
+# $Id: run_test.sh,v 1.11.2.4 2009-07-28 22:20:48 cbbrowne Exp $
pgbindir=${PGBINDIR:-"/usr/local/pgsql/bin"}
numerrors=0
@@ -257,9 +257,9 @@
if [ -n "${db}" -a "${host}" -a "${user}" ]; then
status "creating origin DB: $user -h $host -U $user -p $port $db"
- $pgbindir/createdb -O $user -h $host -U $user -p $port --encoding $ENCODING $db 1> ${mktmp}/createdb.${originnode} 2> ${mktmp}/createdb.${originnode}
+ $pgbindir/createdb -O $user -h $host -U $user -p $port --encoding $ENCODING -T template0 $db 1> ${mktmp}/createdb.${originnode} 2> ${mktmp}/createdb.${originnode}
if [ $? -ne 0 ]; then
- err 3 "An error occured trying to $pgbindir/createdb -O $user -h $host -U $user -p $port --encoding $ENCODING $db, ${mktmp}/createdb.${originnode} for details"
+ err 3 "An error occured trying to $pgbindir/createdb -O $user -h $host -U $user -p $port --encoding $ENCODING -T template0 $db, ${mktmp}/createdb.${originnode} for details"
fi
else
err 3 "No db '${db}' or host '${host}' or user '${user}' or port '${port}' specified"
@@ -292,7 +292,7 @@
if [ -n "${db}" -a "${host}" -a "${user}" -a "${port}" ]; then
if [ ${alias} -ne ${originnode} ]; then
status "creating subscriber ${alias} DB: $user -h $host -U $user -p $port $db"
- $pgbindir/createdb -O $user -h $host -U $user -p $port --encoding $ENCODING $db 1> ${mktmp}/createdb.${alias} 2> ${mktmp}/createdb.${alias}
+ $pgbindir/createdb -O $user -h $host -U $user -p $port --encoding $ENCODING -T template0 $db 1> ${mktmp}/createdb.${alias} 2> ${mktmp}/createdb.${alias}
status "add plpgsql to subscriber"
$pgbindir/createlang -h $host -U $user -p $port plpgsql $db
status "loading subscriber ${alias} DB from $odb"