public inbox for [email protected]
help / color / mirror / Atom feedRow vs. tuple
7+ messages / 4 participants
[nested] [flat]
* Row vs. tuple
@ 2003-03-15 00:37 Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Re: Row vs. tuple Tom Lane <[email protected]>
0 siblings, 1 reply; 7+ messages in thread
From: Peter Eisentraut @ 2003-03-15 00:37 UTC (permalink / raw)
To: pgsql-docs
In some places the documentation uses the term "tuple" to mean "row
version" (in the MVCC sense). This choice of terms is puzzling me; where
does it come from? In the literature available to me, the term "tuple" is
used as the mathematical equivalent of "row", meaning that
table/row/column parallels relation/tuple/attribute. This terminology is
also used in other parts of PostgreSQL. For example, libpq and derived
interfaces use "tuple" in function names to refer to rows. Should we not
make this usage consistent? I suggest we use "row version" when we mean
row version, which will also make things clearer to less experienced
users.
--
Peter Eisentraut [email protected]
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: Row vs. tuple
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
@ 2003-03-15 01:06 ` Tom Lane <[email protected]>
2003-03-15 21:03 ` Re: Row vs. tuple Sean Chittenden <[email protected]>
2003-03-21 10:04 ` Re: Row vs. tuple Peter Eisentraut <[email protected]>
0 siblings, 2 replies; 7+ messages in thread
From: Tom Lane @ 2003-03-15 01:06 UTC (permalink / raw)
To: Peter Eisentraut <[email protected]>; +Cc: pgsql-docs
Peter Eisentraut <[email protected]> writes:
> In some places the documentation uses the term "tuple" to mean "row
> version" (in the MVCC sense). This choice of terms is puzzling me; where
> does it come from? In the literature available to me, the term "tuple" is
> used as the mathematical equivalent of "row", meaning that
> table/row/column parallels relation/tuple/attribute.
Well, "row version" isn't a particularly standard term either. I'd
prefer a one-word term. I think that the use of "tuple" for this can be
traced back to the Berkeley code.
I concede that it's not standard usage anyplace else ... but the whole
concept of row versions isn't real standard in most DBs.
(Anyone know what Oracle calls 'em?)
regards, tom lane
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: Row vs. tuple
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Re: Row vs. tuple Tom Lane <[email protected]>
@ 2003-03-15 21:03 ` Sean Chittenden <[email protected]>
2003-03-15 21:31 ` Re: Row vs. tuple Tom Lane <[email protected]>
1 sibling, 1 reply; 7+ messages in thread
From: Sean Chittenden @ 2003-03-15 21:03 UTC (permalink / raw)
To: Tom Lane <[email protected]>; +Cc: Peter Eisentraut <[email protected]>; pgsql-docs
> > In some places the documentation uses the term "tuple" to mean
> > "row version" (in the MVCC sense). This choice of terms is
> > puzzling me; where does it come from? In the literature available
> > to me, the term "tuple" is used as the mathematical equivalent of
> > "row", meaning that table/row/column parallels
> > relation/tuple/attribute.
>
> Well, "row version" isn't a particularly standard term either. I'd
> prefer a one-word term. I think that the use of "tuple" for this can be
> traced back to the Berkeley code.
How about: s/(row|tuple)/record/
A "record" is a much less theoretical/mathematical term that I've had
good success in using when describing basic table theory to lay
people. Seems easier to grasp on the uptake than a row (rows are
confused with columns if you're not familiar with databases, math, or
matrices. "Do rows go vertically or horizontally?") or tuple
(heavily mathematical term or term used in DB theory, but no where
else). A record, on the other hand, is something that everyone has a
conceptual picture of. -sc
--
Sean Chittenden
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: Row vs. tuple
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Re: Row vs. tuple Tom Lane <[email protected]>
2003-03-15 21:03 ` Re: Row vs. tuple Sean Chittenden <[email protected]>
@ 2003-03-15 21:31 ` Tom Lane <[email protected]>
2003-03-16 04:35 ` Re: Row vs. tuple Sean Chittenden <[email protected]>
2003-03-25 21:01 ` Re: Row vs. tuple Hannu Krosing <[email protected]>
0 siblings, 2 replies; 7+ messages in thread
From: Tom Lane @ 2003-03-15 21:31 UTC (permalink / raw)
To: Sean Chittenden <[email protected]>; +Cc: Peter Eisentraut <[email protected]>; pgsql-docs
Sean Chittenden <[email protected]> writes:
> How about: s/(row|tuple)/record/
We do need two different terms: eliminating the distinction between a
row and a version of a row is not going to improve matters.
I have nothing against the word "record", but it doesn't seem to help
clarify this distinction ...
regards, tom lane
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: Row vs. tuple
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Re: Row vs. tuple Tom Lane <[email protected]>
2003-03-15 21:03 ` Re: Row vs. tuple Sean Chittenden <[email protected]>
2003-03-15 21:31 ` Re: Row vs. tuple Tom Lane <[email protected]>
@ 2003-03-16 04:35 ` Sean Chittenden <[email protected]>
1 sibling, 0 replies; 7+ messages in thread
From: Sean Chittenden @ 2003-03-16 04:35 UTC (permalink / raw)
To: Tom Lane <[email protected]>; +Cc: Peter Eisentraut <[email protected]>; pgsql-docs
> > How about: s/(row|tuple)/record/
>
> We do need two different terms: eliminating the distinction between
> a row and a version of a row is not going to improve matters.
>
> I have nothing against the word "record", but it doesn't seem to
> help clarify this distinction ...
Well, if you want to get cognitive, "old record" likely carries a more
explicit and easy to understand mental picture than "old tuple" or
"version of a row." I guess the same phrasing could apply to tuple or
row, but record has historically seemed like the easiest term for
people to grasp.
(new|old)? (record|row|tuple)
It's not a one word zinger, but (new|old)? is just a description for
the entity that the mind has an understanding or conceptupal picture
of. -sc
--
Sean Chittenden
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: Row vs. tuple
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Re: Row vs. tuple Tom Lane <[email protected]>
2003-03-15 21:03 ` Re: Row vs. tuple Sean Chittenden <[email protected]>
2003-03-15 21:31 ` Re: Row vs. tuple Tom Lane <[email protected]>
@ 2003-03-25 21:01 ` Hannu Krosing <[email protected]>
1 sibling, 0 replies; 7+ messages in thread
From: Hannu Krosing @ 2003-03-25 21:01 UTC (permalink / raw)
To: Tom Lane <[email protected]>; +Cc: Sean Chittenden <[email protected]>; Peter Eisentraut <[email protected]>; pgsql-docs
Tom Lane kirjutas L, 15.03.2003 kell 23:31:
> Sean Chittenden <[email protected]> writes:
> > How about: s/(row|tuple)/record/
>
> We do need two different terms: eliminating the distinction between a
> row and a version of a row is not going to improve matters.
For me "row version" is a nice, self-explaining term. There is very
little chance that you will misake it for anything else, from whatever
culture (math,db,bean-counting,hardware hacking,...) you come from.
Tuple and record are both already loaded with several different and
contradicting meanings.
> I have nothing against the word "record", but it doesn't seem to help
> clarify this distinction ...
True.
-----------
Hannu
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: Row vs. tuple
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Re: Row vs. tuple Tom Lane <[email protected]>
@ 2003-03-21 10:04 ` Peter Eisentraut <[email protected]>
1 sibling, 0 replies; 7+ messages in thread
From: Peter Eisentraut @ 2003-03-21 10:04 UTC (permalink / raw)
To: Tom Lane <[email protected]>; +Cc: pgsql-docs
Tom Lane writes:
> Well, "row version" isn't a particularly standard term either. I'd
> prefer a one-word term.
I think "row version" is the only logical and self-explanatory term that
can be derived from "row" and "multiversion concurrency control". And
even though it's two words, it's just as short as most other terms we
could come up with. But more importantly, it should get the message
across to most users, while most other suggestions would simply be another
ambiguous word.
> (Anyone know what Oracle calls 'em?)
I don't think Oracle really has this concept, because their
multiversioning is not implemented with a nonoverwriting storage manager.
--
Peter Eisentraut [email protected]
^ permalink raw reply [nested|flat] 7+ messages in thread
end of thread, other threads:[~2003-03-25 21:01 UTC | newest]
Thread overview: 7+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2003-03-15 00:37 Row vs. tuple Peter Eisentraut <[email protected]>
2003-03-15 01:06 ` Tom Lane <[email protected]>
2003-03-15 21:03 ` Sean Chittenden <[email protected]>
2003-03-15 21:31 ` Tom Lane <[email protected]>
2003-03-16 04:35 ` Sean Chittenden <[email protected]>
2003-03-25 21:01 ` Hannu Krosing <[email protected]>
2003-03-21 10:04 ` Peter Eisentraut <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox