Wed Jun 30 06:51:10 PDT 2010
- Previous message: [Slony1-patches] fix for bug #120
- Next message: [Slony1-patches] bug 118 patch
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This fixes bug # 118 - subscribing to a set with an inherited table where the inheriting table has a lower tab_id than the parent table deletes all of the data in the parent table --- src/backend/slony1_funcs.sql | 2 +- src/backend/slony1_funcs.v83.sql | 15 +++++++++++++++ src/backend/slony1_funcs.v84.sql | 10 ++++++++++ 3 files changed, 26 insertions(+), 1 deletions(-) diff --git a/src/backend/slony1_funcs.sql b/src/backend/slony1_funcs.sql index 684800a..e6b83f1 100644 --- a/src/backend/slony1_funcs.sql +++ b/src/backend/slony1_funcs.sql @@ -5597,7 +5597,7 @@ begin -- Try using truncate to empty the table and fallback to -- delete on error. -- ---- - execute 'truncate ' || @NAMESPACE at .slon_quote_input(v_tab_fqname); + perform @NAMESPACE at .TruncateOnlyTable(v_tab_fqname); raise notice 'truncate of % succeeded', v_tab_fqname; -- ---- -- Setting pg_class.relhasindex to false will cause copy not to diff --git a/src/backend/slony1_funcs.v83.sql b/src/backend/slony1_funcs.v83.sql index df81002..17c43b3 100644 --- a/src/backend/slony1_funcs.v83.sql +++ b/src/backend/slony1_funcs.v83.sql @@ -52,3 +52,18 @@ end;$$ language plpgsql; comment on function @NAMESPACE at .ShouldSlonyVacuumTable (name, name) is 'returns false if autovacuum handles vacuuming of the table, or if the table does not exist; returns true if Slony-I should manage it'; + + + + +create or replace function @NAMESPACE at .TruncateOnlyTable ( name) returns void as +$$ +begin + execute 'truncate '|| @NAMESPACE at .slon_quote_input($1); +end; +$$ +LANGUAGE plpgsql; + + +comment on function @NAMESPACE at .TruncateOnlyTable(name) is +'Calls TRUNCATE with out specifying ONLY, syntax supported in version 8.3'; diff --git a/src/backend/slony1_funcs.v84.sql b/src/backend/slony1_funcs.v84.sql index 0914c30..42e2dcb 100644 --- a/src/backend/slony1_funcs.v84.sql +++ b/src/backend/slony1_funcs.v84.sql @@ -53,3 +53,13 @@ end;$$ language plpgsql; comment on function @NAMESPACE at .ShouldSlonyVacuumTable (name, name) is 'returns false if autovacuum handles vacuuming of the table, or if the table does not exist; returns true if Slony-I should manage it'; +create or replace function @NAMESPACE at .TruncateOnlyTable ( name) returns void as +$$ +begin + execute 'truncate only '|| @NAMESPACE at .slon_quote_input($1); +end; +$$ +LANGUAGE plpgsql; + +comment on function @NAMESPACE at .TruncateOnlyTable(name) is +'Calls TRUNCATE ONLY, syntax supported in version >= 8.4'; -- 1.6.3.3 --------------050106020309070109050906--
- Previous message: [Slony1-patches] fix for bug #120
- Next message: [Slony1-patches] bug 118 patch
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-patches mailing list