Обсуждение: Slony Issue Fix in pgAdmin

Поиск
Список
Период
Сортировка

Slony Issue Fix in pgAdmin

От
Neel Patel
Дата:
Hi Dave,

Please find the attached patch file for fix of below slony issue in pgAdmin.

Steps to reproduce:-

- Install PostgreSQL 9.3 and Slony version 2.2.0.
- Open pgAdmin
- Create new Schema and give cluster name in "Use Slony" option.
- Click OK and below error will come.


##################################################################

ERROR: function _edb_cluster.ddlscript_prepare(integer, integer) does not exist
LINE 1: SELECT _edb_cluster.ddlscript_prepare(1, -1);

##################################################################


Solution:- 

As we are using ddlscript_prepare() statement to replicate the new schema to slave and from new Slony version 2.2.0 this function no more supported and removed so as per the document we have to use ddlcapture() method instead of ddlscript_prepare(). Also ddlscript_complete() method arguments got changed so that also fixed.

Please review it and let me know for any modifications.

Thanks,
Neel Patel
Вложения

Re: Slony Issue Fix in pgAdmin

От
Dave Page
Дата:
Hi

On Tue, Sep 24, 2013 at 12:24 PM, Neel Patel
<neel.patel@enterprisedb.com> wrote:
> Hi Dave,
>
> Please find the attached patch file for fix of below slony issue in pgAdmin.
>
> Steps to reproduce:-
>
> - Install PostgreSQL 9.3 and Slony version 2.2.0.
> - Open pgAdmin
> - Create new Schema and give cluster name in "Use Slony" option.
> - Click OK and below error will come.
>
>
> ##################################################################
>
> ERROR: function _edb_cluster.ddlscript_prepare(integer, integer) does not
> exist
> LINE 1: SELECT _edb_cluster.ddlscript_prepare(1, -1);
>
> ##################################################################
>
>
> Solution:-
>
> As we are using ddlscript_prepare() statement to replicate the new schema to
> slave and from new Slony version 2.2.0 this function no more supported and
> removed so as per the document we have to use ddlcapture() method instead of
> ddlscript_prepare(). Also ddlscript_complete() method arguments got changed
> so that also fixed.
>
> Please review it and let me know for any modifications.

This seems wrong to me:

if (data->majorVer >= 2 && data->minorVer >= 2)

We'll get the old query with Slony 3.0 and 3.1 I think.

--
Dave Page
Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake


Re: Slony Issue Fix in pgAdmin

От
Neel Patel
Дата:
Hi Dave,

Thanks for the comment.

We changed the logic as below.

if ((data->majorVer == 2 && data->minorVer >= 2) || (data->majorVer > 2))
{
      // Execute new query
}
else
{
     // Execute old query
}

Please find the updated patch file in attachment and let me know for comments.

Thanks,
Neel Patel


On Wed, Sep 25, 2013 at 7:50 PM, Dave Page <dave.page@enterprisedb.com> wrote:
Hi

On Tue, Sep 24, 2013 at 12:24 PM, Neel Patel
<neel.patel@enterprisedb.com> wrote:
> Hi Dave,
>
> Please find the attached patch file for fix of below slony issue in pgAdmin.
>
> Steps to reproduce:-
>
> - Install PostgreSQL 9.3 and Slony version 2.2.0.
> - Open pgAdmin
> - Create new Schema and give cluster name in "Use Slony" option.
> - Click OK and below error will come.
>
>
> ##################################################################
>
> ERROR: function _edb_cluster.ddlscript_prepare(integer, integer) does not
> exist
> LINE 1: SELECT _edb_cluster.ddlscript_prepare(1, -1);
>
> ##################################################################
>
>
> Solution:-
>
> As we are using ddlscript_prepare() statement to replicate the new schema to
> slave and from new Slony version 2.2.0 this function no more supported and
> removed so as per the document we have to use ddlcapture() method instead of
> ddlscript_prepare(). Also ddlscript_complete() method arguments got changed
> so that also fixed.
>
> Please review it and let me know for any modifications.

This seems wrong to me:

if (data->majorVer >= 2 && data->minorVer >= 2)

We'll get the old query with Slony 3.0 and 3.1 I think.

--
Dave Page
Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

Вложения

Re: Slony Issue Fix in pgAdmin

От
Dave Page
Дата:
Thanks, applied for 1.18.1+.

On Thu, Sep 26, 2013 at 9:01 AM, Neel Patel <neel.patel@enterprisedb.com> wrote:
> Hi Dave,
>
> Thanks for the comment.
>
> We changed the logic as below.
>
> if ((data->majorVer == 2 && data->minorVer >= 2) || (data->majorVer > 2))
> {
>       // Execute new query
> }
> else
> {
>      // Execute old query
> }
>
> Please find the updated patch file in attachment and let me know for
> comments.
>
> Thanks,
> Neel Patel
>
>
> On Wed, Sep 25, 2013 at 7:50 PM, Dave Page <dave.page@enterprisedb.com>
> wrote:
>>
>> Hi
>>
>> On Tue, Sep 24, 2013 at 12:24 PM, Neel Patel
>> <neel.patel@enterprisedb.com> wrote:
>> > Hi Dave,
>> >
>> > Please find the attached patch file for fix of below slony issue in
>> > pgAdmin.
>> >
>> > Steps to reproduce:-
>> >
>> > - Install PostgreSQL 9.3 and Slony version 2.2.0.
>> > - Open pgAdmin
>> > - Create new Schema and give cluster name in "Use Slony" option.
>> > - Click OK and below error will come.
>> >
>> >
>> > ##################################################################
>> >
>> > ERROR: function _edb_cluster.ddlscript_prepare(integer, integer) does
>> > not
>> > exist
>> > LINE 1: SELECT _edb_cluster.ddlscript_prepare(1, -1);
>> >
>> > ##################################################################
>> >
>> >
>> > Solution:-
>> >
>> > As we are using ddlscript_prepare() statement to replicate the new
>> > schema to
>> > slave and from new Slony version 2.2.0 this function no more supported
>> > and
>> > removed so as per the document we have to use ddlcapture() method
>> > instead of
>> > ddlscript_prepare(). Also ddlscript_complete() method arguments got
>> > changed
>> > so that also fixed.
>> >
>> > Please review it and let me know for any modifications.
>>
>> This seems wrong to me:
>>
>> if (data->majorVer >= 2 && data->minorVer >= 2)
>>
>> We'll get the old query with Slony 3.0 and 3.1 I think.
>>
>> --
>> Dave Page
>> Chief Architect, Tools & Installers
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>
>



--
Dave Page
Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake


Re: Slony Issue Fix in pgAdmin

От
Neel Patel
Дата:
Thanks Dave.

Thanks,
Neel Patel


On Thu, Sep 26, 2013 at 2:42 PM, Dave Page <dave.page@enterprisedb.com> wrote:
Thanks, applied for 1.18.1+.

On Thu, Sep 26, 2013 at 9:01 AM, Neel Patel <neel.patel@enterprisedb.com> wrote:
> Hi Dave,
>
> Thanks for the comment.
>
> We changed the logic as below.
>
> if ((data->majorVer == 2 && data->minorVer >= 2) || (data->majorVer > 2))
> {
>       // Execute new query
> }
> else
> {
>      // Execute old query
> }
>
> Please find the updated patch file in attachment and let me know for
> comments.
>
> Thanks,
> Neel Patel
>
>
> On Wed, Sep 25, 2013 at 7:50 PM, Dave Page <dave.page@enterprisedb.com>
> wrote:
>>
>> Hi
>>
>> On Tue, Sep 24, 2013 at 12:24 PM, Neel Patel
>> <neel.patel@enterprisedb.com> wrote:
>> > Hi Dave,
>> >
>> > Please find the attached patch file for fix of below slony issue in
>> > pgAdmin.
>> >
>> > Steps to reproduce:-
>> >
>> > - Install PostgreSQL 9.3 and Slony version 2.2.0.
>> > - Open pgAdmin
>> > - Create new Schema and give cluster name in "Use Slony" option.
>> > - Click OK and below error will come.
>> >
>> >
>> > ##################################################################
>> >
>> > ERROR: function _edb_cluster.ddlscript_prepare(integer, integer) does
>> > not
>> > exist
>> > LINE 1: SELECT _edb_cluster.ddlscript_prepare(1, -1);
>> >
>> > ##################################################################
>> >
>> >
>> > Solution:-
>> >
>> > As we are using ddlscript_prepare() statement to replicate the new
>> > schema to
>> > slave and from new Slony version 2.2.0 this function no more supported
>> > and
>> > removed so as per the document we have to use ddlcapture() method
>> > instead of
>> > ddlscript_prepare(). Also ddlscript_complete() method arguments got
>> > changed
>> > so that also fixed.
>> >
>> > Please review it and let me know for any modifications.
>>
>> This seems wrong to me:
>>
>> if (data->majorVer >= 2 && data->minorVer >= 2)
>>
>> We'll get the old query with Slony 3.0 and 3.1 I think.
>>
>> --
>> Dave Page
>> Chief Architect, Tools & Installers
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>
>



--
Dave Page
Chief Architect, Tools & Installers
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake