MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » July 2008

Re: SQL - RRN() not in order



fixed

Terrence,

I agree (and am very conscious of) with the fact that the only way to guarantee a result ordered is with the ORDER BY clause.

That said, what I don't really understand is SQL using an index for reporting the RRN(). One would imagine that kind of things would be better doing a table scan.

Regards,

Luis Rodriguez

IBM Certified Systems Expert
eServer i5 iSeries Technical Solutions


--- On Sat, 7/26/08, midrange-l-request@xxxxxxxxxxxx <midrange-l-request@xxxxxxxxxxxx> wrote:

------------------------------

message: 2
date: Sat, 26 Jul 2008 00:13:35 -0400
from: Terrence Enger <tenger@xxxxxxxxxxxxxxxx>
subject: Re: SQL - RRN() not in order

Let me remind people--I confess, myself included--that if
you want
results in a specific order, you must specify that order
explicitly.
Even selecting from a keyed logical does not guarantee any
particular
sequence.

This is hard to remember because it so often happens that
the system
will choose a strategy which returns rows in the
"right" order by
accident. Sigh!

Cheers,
Terry.


On Fri, 2008-07-25 at 07:10 -0700, Luis Rodriguez wrote:
Hi List,

Running some tests (V5R3) I found this strange (at
least for me) results with SQL RRN:
(FILE is a (DDS) file with no index and zero deleted
records)

Select RRN(file) from FILE;
...........................
RRN ( file )
20
471
73
382
593
.
.
.
88
89
90
91
609

Select RRN(file), file.* from FILE;
..................................
RRN ( file ) (Fields...)
1 xxxxx
2 xxxxx
3 xxxxx
4 xxxxx
5 xxxxx
6 xxxxx
etc.

Even this sorts the output by RRN():
Select RRN(file) from FILE WHERE RRN(file) < 700;

Running the sentence under debug (STRDBG) shows that
SQL decided to use an index (LF).

My question is: Why does RRN() needs an index?.
Moreover, the selected index is a join file(3 Files!!)

This is not giving any problem for me right now,
I'm just curious why this is so.

Any ideas?



Regards,

Luis Rodriguez










Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact