Re: Doubt in index scan code
От | Dave Cramer |
---|---|
Тема | Re: Doubt in index scan code |
Дата | |
Msg-id | E7832549-40CE-48BD-B3B0-4BC463F9F97F@fastcrypt.com обсуждение исходный текст |
Ответ на | Doubt in index scan code (Suresh <suiyengar@yahoo.com>) |
Ответы |
Stack depth exceeded error
|
Список | pgsql-hackers |
On 8-Mar-08, at 11:06 AM, Suresh wrote:
Hello all,since you have no order by clause in the query rows will be returned in the order they are found on the disc.
I have a custom code written inside postgres in an application we use.
The snippet is as below :
Here inner plan is an index scan.
scandesc = ((IndexScanState *)innerPlan)->iss_ScanDesc;
flag=index_getmulti(scandesc, &tidelm->tid, 1, &ret_tids);
Now consider a query like
explain select * from dept,manager where did=id ;
QUERY PLAN
---------------------------------------------------------------------------
Nested Loop (cost=0.00..269.09 rows=45 width=72)
-> seq scan on manager (cost=0.00..6.50 rows=45 width=36)
-> Index Scan using id1 on dept (cost=0.00..5.82 rows=1 width=36)
Index Cond: ("outer".did = dept.id)
Say seq scan retrieves did in the order 30,10, 20.. My doubt is in what order
will index_getmulti return tids. How does the scandesc work ?
Will it return the tids as firstly macthing inners for dept=30, then dept=10 ?
Dave
Please help me with this.
Thanks and regards,
Suresh
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
В списке pgsql-hackers по дате отправления: