Thread: PATCH: Fail to restore table/function, if it has special characters.

PATCH: Fail to restore table/function, if it has special characters.

From
Ashesh Vashi
Date:

Hi Dave,

The restore option of a table/function will fail, if the function name contains special characters (i.e. test"xyz)
Please find the patch to resolve the issue for both the trunk and 1_10_0_PATCHES branch.

--
Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company
Attachment

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Dave Page
Date:
On Mon, Mar 15, 2010 at 2:10 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
>
> Hi Dave,
> The restore option of a table/function will fail, if the function name
> contains special characters (i.e. test"xyz)
> Please find the patch to resolve the issue for both the trunk and
> 1_10_0_PATCHES branch.

Hi,

Why the refactoring? That's certainly not desired on the 1.10 branch,
and should be justified (and applied consistently in other related
dialogues) if we want to include it for 1.12.

/D

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
PG East Conference: http://www.enterprisedb.com/community/nav-pg-east-2010.do

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Ashesh Vashi
Date:
Please find the updated patches.


On Mon, Mar 15, 2010 at 8:17 PM, Dave Page <dave.page@enterprisedb.com> wrote:
On Mon, Mar 15, 2010 at 2:10 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
>
> Hi Dave,
> The restore option of a table/function will fail, if the function name
> contains special characters (i.e. test"xyz)
> Please find the patch to resolve the issue for both the trunk and
> 1_10_0_PATCHES branch.

Hi,

Why the refactoring? That's certainly not desired on the 1.10 branch,
and should be justified (and applied consistently in other related
dialogues) if we want to include it for 1.12.

/D

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
PG East Conference: http://www.enterprisedb.com/community/nav-pg-east-2010.do

Attachment

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Dave Page
Date:
Thanks, applied.

On Tue, Mar 16, 2010 at 9:38 AM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Please find the updated patches.
>
>
> On Mon, Mar 15, 2010 at 8:17 PM, Dave Page <dave.page@enterprisedb.com>
> wrote:
>>
>> On Mon, Mar 15, 2010 at 2:10 PM, Ashesh Vashi
>> <ashesh.vashi@enterprisedb.com> wrote:
>> >
>> > Hi Dave,
>> > The restore option of a table/function will fail, if the function name
>> > contains special characters (i.e. test"xyz)
>> > Please find the patch to resolve the issue for both the trunk and
>> > 1_10_0_PATCHES branch.
>>
>> Hi,
>>
>> Why the refactoring? That's certainly not desired on the 1.10 branch,
>> and should be justified (and applied consistently in other related
>> dialogues) if we want to include it for 1.12.
>>
>> /D
>>
>> --
>> Dave Page
>> EnterpriseDB UK: http://www.enterprisedb.com
>> PG East Conference:
>> http://www.enterprisedb.com/community/nav-pg-east-2010.do
>
>



--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
PG East Conference: http://www.enterprisedb.com/community/nav-pg-east-2010.do

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Ashesh Vashi
Date:
Hi,

The bug was also there for the windows. :-(
I had to modify the commandLineCleanOption function to resolve the issue and to make it platform-independent.

Please find the attached patch for the same.

I have made changes in the following files as described:
* include/utils/misc.h
- Changed the definition of the "commandLineCleanOption" function
* utils/misc.cpp
- Changed the "commandLineCleanOption" function to make it work on any platform.
/**
 * FUNCTION: commandLineCleanOption
 * INPUTS:
 *       option       - input string needs to be reformatted
 *       schemaObject - Is this an object related to schema?
 * PURPOSE:
 *  - Fixup a (double-quoted) string for use on the command line
 *
 *    1. Schema objects needs three (slash & double-quote) combination
 *       instead of a double-quote to be used as a command-line option
 *    2. Options other than the schema objects needs (slash & double-quote)
 *       combination instead of a double-quote to be used as a command-line
 *       option.
 *
 *    i.e. CASE: Dump a table named em"p and database name tes"t having username
 *         xy\z. The command-line arguments for these values will be as below:
 *
 *         pg_dump --username "xy\\z" --table public."em\"\"\"p" "tes\"t"
 */
The above comments says everything about its implementation.
* frm/frmBackup.cpp
* frm/frmBackupGlobals.cpp
* frm/frmBackupServer.cpp
* frm/frmRestore.cpp

Dave,

In order the solve this issue on 1_10_PATCHES branch, we may need to do the similar refactoring.
Is it ok?
If yes, I can share the patch for the same.

--

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company

Attachment

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Dave Page
Date:
On Thu, Mar 18, 2010 at 2:19 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Hi,
> The bug was also there for the windows. :-(
> I had to modify the commandLineCleanOption function to resolve the issue and
> to make it platform-independent.
>
> Please find the attached patch for the same.
> I have made changes in the following files as described:
> * include/utils/misc.h
> - Changed the definition of the "commandLineCleanOption" function
> * utils/misc.cpp
> - Changed the "commandLineCleanOption" function to make it work on any
> platform.
> /**
>  * FUNCTION: commandLineCleanOption
>  * INPUTS:
>  *       option       - input string needs to be reformatted
>  *       schemaObject - Is this an object related to schema?
>  * PURPOSE:
>  *  - Fixup a (double-quoted) string for use on the command line
>  *
>  *    1. Schema objects needs three (slash & double-quote) combination
>  *       instead of a double-quote to be used as a command-line option
>  *    2. Options other than the schema objects needs (slash & double-quote)
>  *       combination instead of a double-quote to be used as a command-line
>  *       option.
>  *
>  *    i.e. CASE: Dump a table named em"p and database name tes"t having
> username
>  *         xy\z. The command-line arguments for these values will be as
> below:
>  *
>  *         pg_dump --username "xy\\z" --table public."em\"\"\"p" "tes\"t"
>  */
> The above comments says everything about its implementation.
> * frm/frmBackup.cpp
> * frm/frmBackupGlobals.cpp
> * frm/frmBackupServer.cpp
> * frm/frmRestore.cpp
> Dave,
> In order the solve this issue on 1_10_PATCHES branch, we may need to do the
> similar refactoring.
> Is it ok?
> If yes, I can share the patch for the same.

Please do.


--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
PG East Conference: http://www.enterprisedb.com/community/nav-pg-east-2010.do

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Ashesh Vashi
Date:

Please find the attached patch for REL_1_10_PATCHES branches and updated patch for the trunk (with few tab characters to 4 spaces.)

--

Ashesh Vashi
EnterpriseDB INDIA: Enterprise Postgres Company

On Thu, Mar 18, 2010 at 8:02 PM, Dave Page <dave.page@enterprisedb.com> wrote:
On Thu, Mar 18, 2010 at 2:19 PM, Ashesh Vashi
> Hi,
> The bug was also there for the windows. :-(
> I had to modify the commandLineCleanOption function to resolve the issue and
> to make it platform-independent.
>
> Please find the attached patch for the same.
> I have made changes in the following files as described:
> * include/utils/misc.h
> - Changed the definition of the "commandLineCleanOption" function
> * utils/misc.cpp
> - Changed the "commandLineCleanOption" function to make it work on any
> platform.
> /**
>  * FUNCTION: commandLineCleanOption
>  * INPUTS:
>  *       option       - input string needs to be reformatted
>  *       schemaObject - Is this an object related to schema?
>  * PURPOSE:
>  *  - Fixup a (double-quoted) string for use on the command line
>  *
>  *    1. Schema objects needs three (slash & double-quote) combination
>  *       instead of a double-quote to be used as a command-line option
>  *    2. Options other than the schema objects needs (slash & double-quote)
>  *       combination instead of a double-quote to be used as a command-line
>  *       option.
>  *
>  *    i.e. CASE: Dump a table named em"p and database name tes"t having
> username
>  *         xy\z. The command-line arguments for these values will be as
> below:
>  *
>  *         pg_dump --username "xy\\z" --table public."em\"\"\"p" "tes\"t"
>  */
> The above comments says everything about its implementation.
> * frm/frmBackup.cpp
> * frm/frmBackupGlobals.cpp
> * frm/frmBackupServer.cpp
> * frm/frmRestore.cpp
> Dave,
> In order the solve this issue on 1_10_PATCHES branch, we may need to do the
> similar refactoring.
> Is it ok?
> If yes, I can share the patch for the same.

Please do.

Attachment

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Dave Page
Date:
On Fri, Mar 19, 2010 at 6:10 AM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
>
> Please find the attached patch for REL_1_10_PATCHES branches and updated
> patch for the trunk (with few tab characters to 4 spaces.)

I'd be surprised if this works - past experience of fixing this stuff
in similar areas tells me that using the same quoting rules on Windows
and *nix are quite different.

What platforms did you test on?

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
PG East Conference: http://www.enterprisedb.com/community/nav-pg-east-2010.do

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Ashesh Vashi
Date:
I tested on Windows XP SP2, Ubuntu 9.10 32 bit & Mac OSX 10.5 Intel.

On Fri, Mar 19, 2010 at 3:21 PM, Dave Page <dpage@pgadmin.org> wrote:
On Fri, Mar 19, 2010 at 6:10 AM, Ashesh Vashi
> Please find the attached patch for REL_1_10_PATCHES branches and updated
> patch for the trunk (with few tab characters to 4 spaces.)

I'd be surprised if this works - past experience of fixing this stuff
in similar areas tells me that using the same quoting rules on Windows
and *nix are quite different.

What platforms did you test on?

--

Re: PATCH: Fail to restore table/function, if it has special characters.

From
Dave Page
Date:
On Fri, Mar 19, 2010 at 9:56 AM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> I tested on Windows XP SP2, Ubuntu 9.10 32 bit & Mac OSX 10.5 Intel.

Hmm, well it works for me too, so I'll eat my words and congratulate
you on finding a nice clean solution :-)

Thanks - applied.

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
PG East Conference: http://www.enterprisedb.com/community/nav-pg-east-2010.do