View previous topic :: View next topic
|
Author |
Message |
weibiao
New User
Joined: 08 Jun 2008 Posts: 5 Location: China
|
|
|
|
In the index CI, there are two kinds of pointer: vertical and horizontal
pointer. The horizontal pointer point to the next same level index record.
When start browse a KSDS file, the horizontal pointer is very efficient to find the next SSI for readnext command. But when use readprev command to read file in descending order, there isn't any pointer that point to the previous SSI in the index CI.
So anyone know how readprev work? Return to the higher index level to find the previous SSI?
Thanks a lot! |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
And if the previous key is located in the same data CI, what do you think will happen?
You are attempting to WAY oversimplify a very complex subject. And a subject that no one, other than IBM employees, are likely to be able to precisely answer. Why does it matter to you? |
|
Back to top |
|
|
weibiao
New User
Joined: 08 Jun 2008 Posts: 5 Location: China
|
|
|
|
It's easy to get the previous key that is located in the same data/index CI. But can not find out any answer from the VSAM redbook for VSAM to get the previous key the located in different index CI.
One that I can assume is that CICS will put the higher index CI in a queue or stack, when readprev would read the previous key that located in previous SSI, it will read from the queue or stack to get the higher index CI, which will have a pointer pointed to the previous SSI.
Is there any IBM employees in this forum that can answer my question? Thanks! |
|
Back to top |
|
|
weibiao
New User
Joined: 08 Jun 2008 Posts: 5 Location: China
|
|
|
|
Hi Peter, thanks a lot.
I have read this book before. But can not found any answer. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
If you want an answer from IBM, you should send a request to IBM.
Your technical support people will have the contact info. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
VSAM uses an inverted index (B+ tree), depending on the number of index buffers that tree will be loaded in memory for fast searching. Reverse searching is probably done by using sideways links.
There is a lot of literature about B+ trees to get an idea how searching
is accomplished.
Im not sure if IBM is going to tell you about the inner workings of their
software. Beside that why bother? I didnt see any problem in your post
about readprev, only the fact that you wanted to know how something
is done. |
|
Back to top |
|
|
|