Thread: standard_conforming_strings

standard_conforming_strings

From
Robert Haas
Date:
On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus <josh@agliodbs.com> wrote:
>> An actual plan here might look like "let's flip it before 9.1alpha1
>> so we can get some alpha testing cycles on it" ...
>
> "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing
> cycles on it."

Should we do this?  Patch attached.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

Attachment

Re: standard_conforming_strings

From
Bruce Momjian
Date:
Robert Haas wrote:
> On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus <josh@agliodbs.com> wrote:
> >> An actual plan here might look like "let's flip it before 9.1alpha1
> >> so we can get some alpha testing cycles on it" ...
> >
> > "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing
> > cycles on it."
> 
> Should we do this?  Patch attached.

+1

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + None of us is going to be here forever. +


Re: standard_conforming_strings

From
Tom Lane
Date:
Robert Haas <robertmhaas@gmail.com> writes:
> On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus <josh@agliodbs.com> wrote:
> An actual plan here might look like "let's flip it before 9.1alpha1
> so we can get some alpha testing cycles on it" ...
>> 
>> "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing
>> cycles on it."

> Should we do this?  Patch attached.

I'm still scared to death of the security implications, but if we don't
do it now, when will be a better time?  Might as well try it and see
what breaks.  Note there had better be a large compatibility warning in
the alpha release notes, and we had better pester driver authors to test
with 9.1alpha1 as soon as it's out.
        regards, tom lane


Re: standard_conforming_strings

From
Richard Huxton
Date:
On 14/07/10 15:48, Robert Haas wrote:
> On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus<josh@agliodbs.com>  wrote:
>>> An actual plan here might look like "let's flip it before 9.1alpha1
>>> so we can get some alpha testing cycles on it" ...
>>
>> "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing
>> cycles on it."
>
> Should we do this?  Patch attached.

Any reason not to add a line to the 9.0 docs/release notes saying 
"WARNING: The PGDG currently plan to change this setting's default in 9.1"?

--   Richard Huxton  Archonet Ltd


Re: standard_conforming_strings

From
Robert Haas
Date:
On Jul 15, 2010, at 12:30 AM, Richard Huxton <dev@archonet.com> wrote:
> On 14/07/10 15:48, Robert Haas wrote:
>> On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus<josh@agliodbs.com>  wrote:
>>>> An actual plan here might look like "let's flip it before 9.1alpha1
>>>> so we can get some alpha testing cycles on it" ...
>>>
>>> "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing
>>> cycles on it."
>>
>> Should we do this?  Patch attached.
>
> Any reason not to add a line to the 9.0 docs/release notes saying "WARNING: The PGDG currently plan to change this
setting'sdefault in 9.1"? 

Well, mostly that we could change our mind if it makes too big a boom.  And it's not as if we could go back and update
everyone'sdocs after-the-fact. I agree we need some press, but the docs are not the right vehicle. 

...Robert

Re: standard_conforming_strings

From
Tom Lane
Date:
Robert Haas <robertmhaas@gmail.com> writes:
> On Jul 15, 2010, at 12:30 AM, Richard Huxton <dev@archonet.com> wrote:
>> Any reason not to add a line to the 9.0 docs/release notes saying "WARNING: The PGDG currently plan to change this
setting'sdefault in 9.1"?
 

> Well, mostly that we could change our mind if it makes too big a boom.
> And it's not as if we could go back and update everyone's docs
> after-the-fact.

Yeah.  Our track record for predicting in the version-N docs what
changes will be made in version N+1 is spectacularly bad; we should
not try that here, even if the change is being made before 9.0 actually
goes final.  There is already a statement that the default will change
"in a future release", and that seems sufficient to me.
        regards, tom lane


Re: standard_conforming_strings

From
Peter Eisentraut
Date:
On ons, 2010-07-14 at 10:48 -0400, Robert Haas wrote:
> On Fri, Jan 29, 2010 at 10:02 PM, Josh Berkus <josh@agliodbs.com> wrote:
> >> An actual plan here might look like "let's flip it before 9.1alpha1
> >> so we can get some alpha testing cycles on it" ...
> >
> > "Hey, let's flip it in 9.1 CF 1, so that we can have some alpha testing
> > cycles on it."
> 
> Should we do this?  Patch attached.

I think there are two ways we can do this, seeing that most appear to be
in favor of doing it in the first place:  Either we just flip the
default, make a note in the release notes, and see what happens.  Or we
spend some time now and make, say, a list of driver versions and
application versions that work with standard_conforming_strings = on,
and then decide based on that, and also make that list a public resource
for packagers etc.



Re: standard_conforming_strings

From
"David E. Wheeler"
Date:
On Jul 18, 2010, at 1:35 AM, Peter Eisentraut wrote:

> I think there are two ways we can do this, seeing that most appear to be
> in favor of doing it in the first place:  Either we just flip the
> default, make a note in the release notes, and see what happens.  Or we
> spend some time now and make, say, a list of driver versions and
> application versions that work with standard_conforming_strings = on,
> and then decide based on that, and also make that list a public resource
> for packagers etc.

Do both. Turn them on, then make a list and inform driver maintainers who need to update. They've got a year, after
all.

Best,

David




Re: standard_conforming_strings

From
Tom Lane
Date:
"David E. Wheeler" <david@kineticode.com> writes:
> On Jul 18, 2010, at 1:35 AM, Peter Eisentraut wrote:
>> I think there are two ways we can do this, seeing that most appear to be
>> in favor of doing it in the first place:  Either we just flip the
>> default, make a note in the release notes, and see what happens.  Or we
>> spend some time now and make, say, a list of driver versions and
>> application versions that work with standard_conforming_strings = on,
>> and then decide based on that, and also make that list a public resource
>> for packagers etc.

> Do both. Turn them on, then make a list and inform driver maintainers who need to update. They've got a year, after
all.

Yeah.  If we wait for driver authors to do something, we'll never make
this change at all.  The idea of committing it now is to give them a
shove, *and* enough time to respond.
        regards, tom lane


Re: standard_conforming_strings

From
Peter Eisentraut
Date:
On sön, 2010-07-18 at 09:42 -0700, David E. Wheeler wrote:
> On Jul 18, 2010, at 1:35 AM, Peter Eisentraut wrote:
> 
> > I think there are two ways we can do this, seeing that most appear to be
> > in favor of doing it in the first place:  Either we just flip the
> > default, make a note in the release notes, and see what happens.  Or we
> > spend some time now and make, say, a list of driver versions and
> > application versions that work with standard_conforming_strings = on,
> > and then decide based on that, and also make that list a public resource
> > for packagers etc.
> 
> Do both. Turn them on, then make a list and inform driver maintainers who need to update. They've got a year, after
all.

Here we go then:
http://wiki.postgresql.org/wiki/Standard_conforming_strings




Re: standard_conforming_strings

From
Robert Haas
Date:
On Mon, Jul 19, 2010 at 5:04 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> On sön, 2010-07-18 at 09:42 -0700, David E. Wheeler wrote:
>> On Jul 18, 2010, at 1:35 AM, Peter Eisentraut wrote:
>>
>> > I think there are two ways we can do this, seeing that most appear to be
>> > in favor of doing it in the first place:  Either we just flip the
>> > default, make a note in the release notes, and see what happens.  Or we
>> > spend some time now and make, say, a list of driver versions and
>> > application versions that work with standard_conforming_strings = on,
>> > and then decide based on that, and also make that list a public resource
>> > for packagers etc.
>>
>> Do both. Turn them on, then make a list and inform driver maintainers who need to update. They've got a year, after
all.
>
> Here we go then:
> http://wiki.postgresql.org/wiki/Standard_conforming_strings

Looks like a good start.  We might want to make an "open items for
9.1" page and, as a first such open item, add a link to this page.

Since it seems we have consensus, I will commit the patch.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


Re: standard_conforming_strings

From
Robert Haas
Date:
On Mon, Jul 19, 2010 at 8:32 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Mon, Jul 19, 2010 at 5:04 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
>> On sön, 2010-07-18 at 09:42 -0700, David E. Wheeler wrote:
>>> On Jul 18, 2010, at 1:35 AM, Peter Eisentraut wrote:
>>>
>>> > I think there are two ways we can do this, seeing that most appear to be
>>> > in favor of doing it in the first place:  Either we just flip the
>>> > default, make a note in the release notes, and see what happens.  Or we
>>> > spend some time now and make, say, a list of driver versions and
>>> > application versions that work with standard_conforming_strings = on,
>>> > and then decide based on that, and also make that list a public resource
>>> > for packagers etc.
>>>
>>> Do both. Turn them on, then make a list and inform driver maintainers who need to update. They've got a year, after
all.
>>
>> Here we go then:
>> http://wiki.postgresql.org/wiki/Standard_conforming_strings
>
> Looks like a good start.  We might want to make an "open items for
> 9.1" page and, as a first such open item, add a link to this page.
>
> Since it seems we have consensus, I will commit the patch.

So it turns out that (at least) the hstore and ECPG regression tests
depend on the default setting of standard_conforming_strings.  I have
taken a crack at fixing this...

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


Re: standard_conforming_strings

From
Marko Kreen
Date:
On 7/20/10, Peter Eisentraut <peter_e@gmx.net> wrote:
> On sön, 2010-07-18 at 09:42 -0700, David E. Wheeler wrote:
>  > On Jul 18, 2010, at 1:35 AM, Peter Eisentraut wrote:
>  >
>  > > I think there are two ways we can do this, seeing that most appear to be
>  > > in favor of doing it in the first place:  Either we just flip the
>  > > default, make a note in the release notes, and see what happens.  Or we
>  > > spend some time now and make, say, a list of driver versions and
>  > > application versions that work with standard_conforming_strings = on,
>  > > and then decide based on that, and also make that list a public resource
>  > > for packagers etc.
>  >
>  > Do both. Turn them on, then make a list and inform driver maintainers who need to update. They've got a year,
afterall. 
>
>
> Here we go then:
>  http://wiki.postgresql.org/wiki/Standard_conforming_strings

There is two sorts of support:

1. Detect stdstr on startup and use that setting.

2. Detect online changes to stdstr and follow them.

AFAICS psycopg does not support 2).  Should we care about that?

There are probably other drivers with partial support.

--
marko


Re: standard_conforming_strings

From
Peter Eisentraut
Date:
On tis, 2010-07-20 at 13:31 +0300, Marko Kreen wrote:
> >  http://wiki.postgresql.org/wiki/Standard_conforming_strings
> 
> There is two sorts of support:
> 
> 1. Detect stdstr on startup and use that setting.
> 
> 2. Detect online changes to stdstr and follow them.
> 
> AFAICS psycopg does not support 2).  Should we care about that?
> 
> There are probably other drivers with partial support.

I think a driver could also just use E'' when it sees a backslash in the
string.