[PATCH] Cleanup of GUC units code

Started by Marko Kreenover 17 years ago74 messageshackers
Jump to latest
#1Marko Kreen
markokr@gmail.com

Current GUC units code has 2 problems:

- It requires case-sensiteive representation of units ("kB").
As the main point of units is to make configuring easier,
requiring byte-exact typing makes them unnecessarily fragile.

- In attempt to preserve maximum range of values for INT64_IS_BUSTED
systems, the code is written rather non-obvious way.

Attached patch replaces per-unit custom code with lookup table,
where each unit is represented as multiplier of base unit.
And it compares unit names case-insensitivaly.

It sacrifices some range on INT64_IS_BUSTED systems, but as the only promise
we offer them is that "Postgres may compile" I don't see it as problem.

In case people like the case-sensitivity, it can be restored and the patch
applied as plain cleanup.

Attachments:

units-full-cleanup.patchtext/plain; charset=utf-8; name=units-full-cleanup.patchDownload+261-160
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Marko Kreen (#1)
Re: [PATCH] Cleanup of GUC units code

Marko Kreen <markokr@gmail.com> writes:

- In attempt to preserve maximum range of values for INT64_IS_BUSTED
systems, the code is written rather non-obvious way.

I do not personally object a bit to making the units comparisons
case-insensitive (I think it's mainly Peter who wants to be strict
about it). I don't think there are any other good ideas in this
patch, however, and exposing ourselves to intermediate overflows in
the name of simplicity is definitely not one.

regards, tom lane

#3Marko Kreen
markokr@gmail.com
In reply to: Tom Lane (#2)
Re: [PATCH] Cleanup of GUC units code

On 9/1/08, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Marko Kreen <markokr@gmail.com> writes:

- In attempt to preserve maximum range of values for INT64_IS_BUSTED
systems, the code is written rather non-obvious way.

I do not personally object a bit to making the units comparisons
case-insensitive (I think it's mainly Peter who wants to be strict
about it). I don't think there are any other good ideas in this
patch, however, and exposing ourselves to intermediate overflows in
the name of simplicity is definitely not one.

For all practical purposes, the overflow is insignificant when int64
works. I'll look if I can avoid it on INT64_IS_BUSTED case.

In the meantime, here is simple patch for case-insensivity.

--
marko

Attachments:

units.nocase.difftext/x-diff; name=units.nocase.diffDownload+8-8
#4Peter Eisentraut
peter_e@gmx.net
In reply to: Marko Kreen (#3)
Re: [PATCH] Cleanup of GUC units code

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB
and Mb to mean the same thing is insane.

#5Bruce Momjian
bruce@momjian.us
In reply to: Peter Eisentraut (#4)
Re: [PATCH] Cleanup of GUC units code

Peter Eisentraut <peter_e@gmx.net> writes:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB and Mb to
mean the same thing is insane.

Because you think some user will be trying to specify their shared_buffers in
bits?

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's RemoteDBA services!

#6Marko Kreen
markokr@gmail.com
In reply to: Peter Eisentraut (#4)
Re: [PATCH] Cleanup of GUC units code

On 9/2/08, Peter Eisentraut <peter_e@gmx.net> wrote:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB and Mb
to mean the same thing is insane.

How would the docs for that look like? And anyway, what is wrong with
Mb for megabytes? mB may be slightly weird but if some user likes it,
I see no reason to reject it.

You do realize that misspelling unit name can cause downtime of several
minutes instead of couple seconds? We can easily do restart in couple of
seconds but the restart, look logs, launch editor, find value, change,
save, restart cycle will take quite a lot more. Why should we increase
the chance that any config edit causes problems?

Secondly, humans don't have byte-exact memory, instead they generalize
and deduce (eg. from nearby parameters). Thus remembering "KB, MB, GB"
or "kb, mb, gb" is easier than remembering "kB, MB, GB". Also remembering
"ms, s, m, h, d" is easier than "ms, s, min, h, d". (I'm not proposing 'm'
for minutes, just noting, that as we shouldn't ever introduce 'month' unit
for core config values, the 'm' as minutes is preferable for 'min'.)

Thirdly, please don't use "standard units" argument, unless you plan to
propose use of "KiB, MiB, GiB" at the same moment. The units will be
remembered as units-for-postgresql.conf. It is good if they conform to
user expectations, but it's even more important they are easy to remember.

Fourth, for the same reason, it is preferable the amount of units
accepted stays small. Again, to be easily rememberable. This
also kills any chance "mb" can be confused with "milli-bits".

If any extension/module wants to use any other units or full-SI,
it can but that should not extend to core config values. Again,
to reduce chance for confusion.

So, are there any other arguments for keeping current behaviour?

--
marko

#7Peter Eisentraut
peter_e@gmx.net
In reply to: Bruce Momjian (#5)
Re: [PATCH] Cleanup of GUC units code

Gregory Stark wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB and Mb to
mean the same thing is insane.

Because you think some user will be trying to specify their shared_buffers in
bits?

My concern is that this information does not stay in the configuration
files. It will invariably leak out into whitepapers, presentations,
product documentation, and before long there will be confusion about why
you can't stuff N Mb over an N Mb connection. I am not making this up.

Mb does not add any typing ease (as "KB" might) or readability (as "sec"
might), and there is no respectable source that will claim it is an
acceptable alias for MB.

#8Marko Kreen
markokr@gmail.com
In reply to: Peter Eisentraut (#7)
Re: [PATCH] Cleanup of GUC units code

On 9/2/08, Peter Eisentraut <peter_e@gmx.net> wrote:

Gregory Stark wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB

and Mb to

mean the same thing is insane.

Because you think some user will be trying to specify their shared_buffers

in

bits?

My concern is that this information does not stay in the configuration
files. It will invariably leak out into whitepapers, presentations, product
documentation, and before long there will be confusion about why you can't
stuff N Mb over an N Mb connection. I am not making this up.

Uh. So you want force "proper" units in presentations at the price
of everyday admin operations? Does not seem like a sensible tradeoff.

--
marko

#9Bruce Momjian
bruce@momjian.us
In reply to: Marko Kreen (#8)
Re: [PATCH] Cleanup of GUC units code

"Marko Kreen" <markokr@gmail.com> writes:

Uh. So you want force "proper" units in presentations at the price
of everyday admin operations? Does not seem like a sensible tradeoff.

It didn't to anyone else when Peter wrote the current version either, but as
the person willing to actually do the work and write the code Peter got to
make the decision. Nobody else stepped up to do the work to change it and we
can't exactly force Peter to do work he doesn't agree with. The current
version is unquestionably better than what came before where you had to
specify some things in units of Postgres blocks, for example.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's RemoteDBA services!

#10Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#9)
Re: [PATCH] Cleanup of GUC units code

Gregory Stark <stark@enterprisedb.com> writes:

"Marko Kreen" <markokr@gmail.com> writes:

Uh. So you want force "proper" units in presentations at the price
of everyday admin operations? Does not seem like a sensible tradeoff.

It didn't to anyone else when Peter wrote the current version either, but as
the person willing to actually do the work and write the code Peter got to
make the decision. Nobody else stepped up to do the work to change it and we
can't exactly force Peter to do work he doesn't agree with.

It's not that, in my mind: it's that Peter feels more strongly about it
than the rest of us. This proposal has come up before and he's
successfully argued it down each time. He does have a point about there
being some potential for confusion; and the arguments on the other side
are not much better than "I'm lazy". Being lazy myself, I'd prefer a
case insensitive implementation; but I don't feel strongly enough about
it to want to override Peter's opinion.

regards, tom lane

#11Asko Oja
ascoja@gmail.com
In reply to: Tom Lane (#10)
Re: [PATCH] Cleanup of GUC units code

Anything that will reduce potential downtime should be way to go.
To me it seems that Peter uses the loudest voice and others just don't care
enough.
Using kB for kilobyte seems quite alien and confusing. I have not noticed
that to be used in software i use in my everyday work and could not find any
either with quick search.

On Wed, Sep 3, 2008 at 12:15 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Show quoted text

Gregory Stark <stark@enterprisedb.com> writes:

"Marko Kreen" <markokr@gmail.com> writes:

Uh. So you want force "proper" units in presentations at the price
of everyday admin operations? Does not seem like a sensible tradeoff.

It didn't to anyone else when Peter wrote the current version either, but

as

the person willing to actually do the work and write the code Peter got

to

make the decision. Nobody else stepped up to do the work to change it and

we

can't exactly force Peter to do work he doesn't agree with.

It's not that, in my mind: it's that Peter feels more strongly about it
than the rest of us. This proposal has come up before and he's
successfully argued it down each time. He does have a point about there
being some potential for confusion; and the arguments on the other side
are not much better than "I'm lazy". Being lazy myself, I'd prefer a
case insensitive implementation; but I don't feel strongly enough about
it to want to override Peter's opinion.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#12Tom Lane
tgl@sss.pgh.pa.us
In reply to: Asko Oja (#11)
Re: [PATCH] Cleanup of GUC units code

"Asko Oja" <ascoja@gmail.com> writes:

Anything that will reduce potential downtime should be way to go.

That argument didn't seem to me to be worth the electrons to rebut,
but now that someone else has repeated it, maybe I should. It's
ludicrous to claim that allowing case insensitivity here will make
any noticeable improvement in downtime, as there are far more ways
to screw up your config file than this one. (A config file test mode,
such as was discussed a few weeks ago, *would* help, but this won't.)
In the light of Peter's argument about confusion, one could even
argue that admins putting in wrong values because they got confused
about the meaning of the units is a downtime risk in itself.

regards, tom lane

#13Marko Kreen
markokr@gmail.com
In reply to: Tom Lane (#10)
Re: [PATCH] Cleanup of GUC units code

On 9/3/08, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Gregory Stark <stark@enterprisedb.com> writes:

"Marko Kreen" <markokr@gmail.com> writes:

Uh. So you want force "proper" units in presentations at the price
of everyday admin operations? Does not seem like a sensible tradeoff.

It didn't to anyone else when Peter wrote the current version either, but as
the person willing to actually do the work and write the code Peter got to
make the decision. Nobody else stepped up to do the work to change it and we
can't exactly force Peter to do work he doesn't agree with.

It's not that, in my mind: it's that Peter feels more strongly about it
than the rest of us. This proposal has come up before and he's
successfully argued it down each time. He does have a point about there
being some potential for confusion; and the arguments on the other side
are not much better than "I'm lazy". Being lazy myself, I'd prefer a
case insensitive implementation; but I don't feel strongly enough about
it to want to override Peter's opinion.

Um, being lazy is *the point* of units!? And being friendly to
newbies. Can there be any other reason for their existence?

--
marko

#14Marko Kreen
markokr@gmail.com
In reply to: Tom Lane (#12)
Re: [PATCH] Cleanup of GUC units code

On 9/3/08, Tom Lane <tgl@sss.pgh.pa.us> wrote:

"Asko Oja" <ascoja@gmail.com> writes:

Anything that will reduce potential downtime should be way to go.

That argument didn't seem to me to be worth the electrons to rebut,
but now that someone else has repeated it, maybe I should. It's
ludicrous to claim that allowing case insensitivity here will make
any noticeable improvement in downtime, as there are far more ways
to screw up your config file than this one. (A config file test mode,
such as was discussed a few weeks ago, *would* help, but this won't.)
In the light of Peter's argument about confusion, one could even
argue that admins putting in wrong values because they got confused
about the meaning of the units is a downtime risk in itself.

How can the meaning of "gb", "mb", "kb" be uncertain?

But currently writing "kb" *will* load database with wrong values.

--
marko

#15Heikki Linnakangas
heikki.linnakangas@enterprisedb.com
In reply to: Marko Kreen (#6)
Re: [PATCH] Cleanup of GUC units code

Marko Kreen wrote:

On 9/2/08, Peter Eisentraut <peter_e@gmx.net> wrote:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB and Mb
to mean the same thing is insane.

How would the docs for that look like? And anyway, what is wrong with
Mb for megabytes?

I doesn't seem completely unreasonable to me that we'd want to express
something in megabits/second in the future. For example, instead of
vacuum_cost_delay, it would be cool to specify a bandwidth allowance.
Megabits/second is a completely reasonable unit for that. Or a limit on
network bandwidth.

FWIW, I don't feel very strongly either way. I'm more than happy with
the status quo. The hint in the error message very clearly spells out
what the valid values are, so it's immediately clear what you need to
fix if you get that wrong.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

#16Asko Oja
ascoja@gmail.com
In reply to: Heikki Linnakangas (#15)
Re: [PATCH] Cleanup of GUC units code

On Wed, Sep 3, 2008 at 11:20 AM, Heikki Linnakangas <
heikki.linnakangas@enterprisedb.com> wrote:

Marko Kreen wrote:

On 9/2/08, Peter Eisentraut <peter_e@gmx.net> wrote:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB and
Mb
to mean the same thing is insane.

How would the docs for that look like? And anyway, what is wrong with
Mb for megabytes?

From infamous wikipedia: A *megabit* is a unit of information<http://en.wikipedia.org/wiki/Information&gt;or computer storage, abbreviated

*Mbit* (or *Mb*).
To me playing with case of acronyms and even depending on it seems more
insane. It would make much more sense to have case insensitive set of
acronyms and (thanks Tom for pointing out) some sanity checks when
configuration is loaded to notify user when wrong ones are used for some
context.

I doesn't seem completely unreasonable to me that we'd want to express
something in megabits/second in the future. For example, instead of
vacuum_cost_delay, it would be cool to specify a bandwidth allowance.
Megabits/second is a completely reasonable unit for that. Or a limit on
network bandwidth.

There are less confusing (better) acronyms kbit/s and mbit/s available for
that.

FWIW, I don't feel very strongly either way. I'm more than happy with the
status quo. The hint in the error message very clearly spells out what the
valid values are, so it's immediately clear what you need to fix if you get
that wrong.

Is the database down during that time?

Show quoted text

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#17Marko Kreen
markokr@gmail.com
In reply to: Heikki Linnakangas (#15)
Re: [PATCH] Cleanup of GUC units code

On 9/3/08, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote:

Marko Kreen wrote:

On 9/2/08, Peter Eisentraut <peter_e@gmx.net> wrote:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB

and Mb

to mean the same thing is insane.

How would the docs for that look like? And anyway, what is wrong with
Mb for megabytes?

I doesn't seem completely unreasonable to me that we'd want to express
something in megabits/second in the future. For example, instead of
vacuum_cost_delay, it would be cool to specify a bandwidth allowance.
Megabits/second is a completely reasonable unit for that. Or a limit on
network bandwidth.

While it sounds theoretically useful, as a UI it's combines worst
from both worlds. You now can confuse user with both case-sensitivity
and unit-mixup. Even if we keep the current case-sensitivity, we should
set policy that units that differ only with case will never be accepted.

And the best way to set the policy in stone would be to make
units case-insensitive.

I like Asko's proposal of 'kbit/s' and 'mbit/s' for those - clear
and no chance of confusion.

FWIW, I don't feel very strongly either way. I'm more than happy with the
status quo. The hint in the error message very clearly spells out what the
valid values are, so it's immediately clear what you need to fix if you get
that wrong.

Well, the problem is that while database may come up with wrong values,
it may be unusable for actual loads, until admin browses the logs,
re-edits the config file and finally restarts in again.

--
marko

#18Hannu Krosing
hannu@tm.ee
In reply to: Peter Eisentraut (#7)
Re: [PATCH] Cleanup of GUC units code

On Tue, 2008-09-02 at 16:50 +0300, Peter Eisentraut wrote:

Gregory Stark wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Marko Kreen wrote:

In the meantime, here is simple patch for case-insensivity.

You might be able to talk me into accepting various unambiguous, common
alternative spellings of various units. But for instance allowing MB and Mb to
mean the same thing is insane.

Because you think some user will be trying to specify their shared_buffers in
bits?

If somebody wants then somebody can still claim that the units are
wrong, as SI specifies 1k = 1000 and 1M=1000000, etc

The binary "should" use IEC multipliers for kibi-, mebi-, tebi-, gibi-,
etc.

http://searchstorage.techtarget.com/sDefinition/0,,sid5_gci825099,00.html

So we could beat "correctness" into DBA-s by forcing them to write KiB
MiB and so on for things that they have always written kb and mb (unless
they are communication engineers, in which case they may be used to
writing these as kB and MB)

My concern is that this information does not stay in the configuration
files. It will invariably leak out into whitepapers, presentations,
product documentation, and before long there will be confusion about why
you can't stuff N Mb over an N Mb connection.

You can't even put N Mbits of data in one sec over N Mbits/sec
connection as there is some overhead from all protocol levels.

Clueless people will also be confused about why they can't fit 1Mbyte of
CVS data into a 1Mbyte database file or why you can't store 1024 MB of
data on a 1GB disk.

I am not making this up.

Is there anything in conf files that can be reasonably specified in
bits ?

Mb does not add any typing ease (as "KB" might) or readability (as "sec"
might), and there is no respectable source that will claim it is an
acceptable alias for MB.

Are you really afraid that someone would want to use mb to mean
millibits ?

As SQL is generally case insensitive, it is quite surprising to most
people that GUC units are not.

-----------------
Hannu

#19Joshua D. Drake
jd@commandprompt.com
In reply to: Hannu Krosing (#18)
Re: [PATCH] Cleanup of GUC units code

Hannu Krosing wrote:

On Tue, 2008-09-02 at 16:50 +0300, Peter Eisentraut wrote:

Gregory Stark wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Are you really afraid that someone would want to use mb to mean
millibits ?

As SQL is generally case insensitive, it is quite surprising to most
people that GUC units are not.

We have had this discussion before, I even submitted a patch to make
them case insensitive. In retrospect I was wrong to submit that patch.
SQL may be case insensitive but units are not. MB != Mb != mb , I don't
think we should encourage in any way for users to do the wrong thing.

Sincerely,

Joshua D. Drake

#20Bruce Momjian
bruce@momjian.us
In reply to: Joshua D. Drake (#19)
Re: [PATCH] Cleanup of GUC units code

I don't think worrying about the message we send to users is
reasonable. We can take responsibilty for the messages we output but
punishing our users to teach them a lesson is being actively user-
hostile

greg

On 3 Sep 2008, at 15:52, "Joshua D. Drake" <jd@commandprompt.com> wrote:

Show quoted text

Hannu Krosing wrote:

On Tue, 2008-09-02 at 16:50 +0300, Peter Eisentraut wrote:

Gregory Stark wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Are you really afraid that someone would want to use mb to mean
millibits ?
As SQL is generally case insensitive, it is quite surprising to most
people that GUC units are not.

We have had this discussion before, I even submitted a patch to make
them case insensitive. In retrospect I was wrong to submit that
patch. SQL may be case insensitive but units are not. MB != Mb !=
mb , I don't think we should encourage in any way for users to do
the wrong thing.

Sincerely,

Joshua D. Drake

#21Joshua D. Drake
jd@commandprompt.com
In reply to: Bruce Momjian (#20)
#22Hannu Krosing
hannu@tm.ee
In reply to: Joshua D. Drake (#19)
#23Hannu Krosing
hannu@tm.ee
In reply to: Joshua D. Drake (#21)
#24Joshua D. Drake
jd@commandprompt.com
In reply to: Hannu Krosing (#22)
#25Andrew Sullivan
ajs@commandprompt.com
In reply to: Hannu Krosing (#23)
#26Hannu Krosing
hannu@tm.ee
In reply to: Joshua D. Drake (#24)
#27Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Hannu Krosing (#26)
#28Andrew Sullivan
ajs@commandprompt.com
In reply to: Alvaro Herrera (#27)
#29Bruce Momjian
bruce@momjian.us
In reply to: Joshua D. Drake (#21)
#30Joshua D. Drake
jd@commandprompt.com
In reply to: Bruce Momjian (#29)
#31Greg Sabino Mullane
greg@turnstep.com
In reply to: Marko Kreen (#6)
#32Hannu Krosing
hannu@tm.ee
In reply to: Alvaro Herrera (#27)
#33Joshua D. Drake
jd@commandprompt.com
In reply to: Hannu Krosing (#32)
#34Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Hannu Krosing (#32)
#35Hannu Krosing
hannu@tm.ee
In reply to: Joshua D. Drake (#30)
#36Joshua D. Drake
jd@commandprompt.com
In reply to: Hannu Krosing (#35)
#37Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Hannu Krosing (#35)
#38Robert Treat
xzilla@users.sourceforge.net
In reply to: Joshua D. Drake (#33)
#39Hannu Krosing
hannu@tm.ee
In reply to: Alvaro Herrera (#37)
#40Dimitri Fontaine
dimitri@2ndQuadrant.fr
In reply to: Robert Treat (#38)
#41Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Hannu Krosing (#39)
#42Andrew Sullivan
ajs@commandprompt.com
In reply to: Hannu Krosing (#35)
#43Steve Atkins
steve@blighty.com
In reply to: Andrew Sullivan (#42)
#44Hannu Krosing
hannu@tm.ee
In reply to: Andrew Sullivan (#42)
#45Andrew Sullivan
ajs@commandprompt.com
In reply to: Steve Atkins (#43)
#46Simon Riggs
simon@2ndQuadrant.com
In reply to: Asko Oja (#16)
#47Tom Lane
tgl@sss.pgh.pa.us
In reply to: Simon Riggs (#46)
#48Bruce Momjian
bruce@momjian.us
In reply to: Simon Riggs (#46)
#49Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#48)
#50Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#49)
#51tomas@tuxteam.de
tomas@tuxteam.de
In reply to: Bruce Momjian (#50)
#52Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#50)
#53Greg Sabino Mullane
greg@turnstep.com
In reply to: Tom Lane (#49)
#54Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Greg Sabino Mullane (#53)
#55Bruce Momjian
bruce@momjian.us
In reply to: Greg Sabino Mullane (#53)
#56Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#55)
#57Bruce Momjian
bruce@momjian.us
In reply to: Alvaro Herrera (#56)
#58Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#57)
#59Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#58)
#60Korry Douglas
korry.douglas@enterprisedb.com
In reply to: Andrew Sullivan (#45)
#61Ron Mayer
rm_pg@cheapcomplexdevices.com
In reply to: Marko Kreen (#6)
#62Joshua D. Drake
jd@commandprompt.com
In reply to: Alvaro Herrera (#56)
#63Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#52)
#64Robert Haas
robertmhaas@gmail.com
In reply to: Peter Eisentraut (#63)
#65Hannu Krosing
hannu@tm.ee
In reply to: Andrew Sullivan (#45)
#66Greg Smith
gsmith@gregsmith.com
In reply to: Robert Haas (#64)
#67Tom Lane
tgl@sss.pgh.pa.us
In reply to: Greg Smith (#66)
#68Greg Smith
gsmith@gregsmith.com
In reply to: Tom Lane (#67)
#69Robert Haas
robertmhaas@gmail.com
In reply to: Greg Smith (#66)
#70Ron Mayer
rm_pg@cheapcomplexdevices.com
In reply to: Robert Haas (#69)
#71Robert Haas
robertmhaas@gmail.com
In reply to: Ron Mayer (#70)
#72Peter Eisentraut
peter_e@gmx.net
In reply to: Robert Haas (#69)
#73Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#72)
#74Robert Haas
robertmhaas@gmail.com
In reply to: Peter Eisentraut (#72)