Message-Id: <10565.112694@fatcity.com> From: "Thapliyal, Deepak" Date: Fri, 21 Jul 2000 15:01:44 -0700 Subject: RE: Cursors and result sets Linda, as per my understanding .. as soon as you open a cursor .. oracle will generate a read consistant result set for u. you then start fetching records one at a time. After some time has passed since u opened the curor, assume that some one else changes a record "X" and commits it. also assume that this record "X" is part of ur result set and it has not yet been read by ur cursor. when its time for ur cursor to read record "X", read consistancy makes oracle aware that this record "X" was changed by someone, since the time the cursor was opened. Oracle will then go to the rbs and read the original record "X" from there, sans the new changes. btw, if oracle does not find the original record "X" in the rbs cause some third person used the inactive rbs extent containing record "X", then u will be greeted by the ora-**** snapshot too old error!! note that behaviour is inspite of the fact that someone else already commited. logic .. the commit happened after oracle had already generated ur read consistant set. hth in clearing the atleast a couple cowebs u had related to this topic. please correct me gurus if this sounds like greek .. deepAk PS: i remember a very good book by steve bobrowski explaining this concept very nicely with diagrams and all. -----Original Message----- From: Linda Hagedorn [mailto:Linda@pets.com] Sent: Friday, July 21, 2000 3:09 PM To: Multiple recipients of list ORACLE-L Subject: Cursors and result sets Hello, Do cursors read rows directly from the database (thus including any rows which were inserted into the table after the cursor was first opened), or do they create a list of rowid's and retrieve the rows one by one (thus skipping any rows which were inserted into the table after the rowid result set was created)? Any referral to doc is appreciated. Thanks, Linda Hagedorn -- Author: Linda Hagedorn INET: Linda@pets.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru@fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).